Version Description
- fix to ensure scripts not enqueued unless required
Download this release
Release Info
Developer | fullworks |
Plugin | Stop User Enumeration |
Version | 1.3.15 |
Comparing to | |
See all releases |
Code changes from version 1.3.14 to 1.3.15
- admin/class-admin.php +60 -0
- admin/class-settings.php +19 -22
- bootstrap.php +6 -10
- frontend/class-frontend.php +5 -5
- frontend/js/frontend.js +4 -4
- includes/autoloader.php +3 -3
- includes/class-core.php +28 -16
- includes/class-i18n.php +0 -1
- includes/class-loader.php +9 -2
- includes/vendor/autoload.php +0 -7
- includes/vendor/cmb2-extensions/CHANGELOG.md +0 -5
- includes/vendor/cmb2-extensions/CONTRIBUTING.md +0 -46
- includes/vendor/cmb2-extensions/README.md +0 -60
- includes/vendor/cmb2-extensions/cmb2-tabs/cmb2-tabs.php +56 -54
- includes/vendor/cmb2-extensions/cmb2-tabs/css/tabs.css +2 -1
- includes/vendor/cmb2-extensions/cmb2-tabs/example-functions.php +26 -0
- includes/vendor/cmb2-extensions/cmb2-tabs/readme.txt +7 -8
- includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-horizontal.PNG +0 -0
- includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-mobile.PNG +0 -0
- includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-vertical.PNG +0 -0
- includes/vendor/cmb2-extensions/composer.json +0 -35
- includes/vendor/cmb2/CONTRIBUTING.md +0 -52
- includes/vendor/cmb2/css/cmb2-display.css.map +0 -7
- includes/vendor/cmb2/css/cmb2-front.css.map +0 -7
- includes/vendor/cmb2/css/cmb2.css.map +0 -7
- includes/vendor/cmb2/css/sass/cmb2-display.scss +0 -5
- includes/vendor/cmb2/css/sass/cmb2-front.scss +0 -6
- includes/vendor/cmb2/css/sass/cmb2.scss +0 -15
- includes/vendor/cmb2/css/sass/index.php +0 -2
- includes/vendor/cmb2/css/sass/partials/_collapsible_ui.scss +0 -52
- includes/vendor/cmb2/css/sass/partials/_context_metaboxes.scss +0 -107
- includes/vendor/cmb2/css/sass/partials/_display.scss +0 -34
- includes/vendor/cmb2/css/sass/partials/_front.scss +0 -52
- includes/vendor/cmb2/css/sass/partials/_jquery_ui.scss +0 -457
- includes/vendor/cmb2/css/sass/partials/_main_wrap.scss +0 -518
- includes/vendor/cmb2/css/sass/partials/_mixins.scss +0 -51
- includes/vendor/cmb2/css/sass/partials/_options-page.scss +0 -70
- includes/vendor/cmb2/css/sass/partials/_post_metaboxes.scss +0 -82
- includes/vendor/cmb2/css/sass/partials/_sidebar_placements.scss +0 -146
- includes/vendor/cmb2/css/sass/partials/index.php +0 -2
- includes/vendor/cmb2/example-functions.php +45 -6
- includes/vendor/cmb2/images/ui-icons_888888_256x240.png +0 -0
- includes/vendor/cmb2/includes/CMB2.php +57 -15
- includes/vendor/cmb2/includes/CMB2_Ajax.php +3 -3
- includes/vendor/cmb2/includes/CMB2_Base.php +20 -4
- includes/vendor/cmb2/includes/CMB2_Field.php +165 -69
- includes/vendor/cmb2/includes/CMB2_JS.php +46 -9
- includes/vendor/cmb2/includes/CMB2_Options_Hookup.php +60 -7
- includes/vendor/cmb2/includes/CMB2_Sanitize.php +6 -2
- includes/vendor/cmb2/includes/CMB2_Utils.php +42 -20
- includes/vendor/cmb2/includes/helper-functions.php +15 -0
- includes/vendor/cmb2/includes/shim/WP_REST_Controller.php +2 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Checkbox.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Colorpicker.php +28 -7
- includes/vendor/cmb2/includes/types/CMB2_Type_File_List.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Multicheck.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Oembed.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Taxonomy_Multicheck.php +1 -2
- includes/vendor/cmb2/includes/types/CMB2_Type_Text_Date.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Text_Datetime_Timestamp.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Text_Time.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Textarea_Code.php +1 -1
- includes/vendor/cmb2/includes/types/CMB2_Type_Wysiwyg.php +1 -1
- includes/vendor/cmb2/init.php +10 -10
- includes/vendor/cmb2/js/cmb2-wysiwyg.js +14 -3
- includes/vendor/cmb2/js/cmb2.js +39 -11
- includes/vendor/cmb2/js/cmb2.min.js +1 -1
- includes/vendor/cmb2/js/wp-color-picker-alpha.js +496 -0
- includes/vendor/cmb2/js/wp-color-picker-alpha.min.js +11 -0
- includes/vendor/cmb2/languages/cmb2-az.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-az.po +527 -0
- includes/vendor/cmb2/languages/cmb2-be.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-be.po +527 -0
- includes/vendor/cmb2/languages/cmb2-bg.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-bg.po +485 -0
- includes/vendor/cmb2/languages/cmb2-bg_BG.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-bg_BG.po +527 -0
- includes/vendor/cmb2/languages/cmb2-bn_BD.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-ca.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-ca.po +3 -3
- includes/vendor/cmb2/languages/cmb2-es_CO.po +527 -0
- includes/vendor/cmb2/languages/cmb2-es_ES.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-es_ES.po +530 -0
- includes/vendor/cmb2/languages/cmb2-es_MX.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-fa_IR.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-fa_IR.po +109 -100
- includes/vendor/cmb2/languages/cmb2-it_IT.mo +0 -0
- includes/vendor/cmb2/languages/cmb2-it_IT.po +204 -162
- includes/vendor/cmb2/languages/cmb2.pot +160 -151
- includes/vendor/cmb2/{CHANGELOG.md → readme.txt} +307 -128
- includes/vendor/composer/ClassLoader.php +0 -445
- includes/vendor/composer/LICENSE +0 -21
- includes/vendor/composer/autoload_classmap.php +0 -9
- includes/vendor/composer/autoload_namespaces.php +0 -10
- includes/vendor/composer/autoload_psr4.php +0 -9
- includes/vendor/composer/autoload_real.php +0 -52
- includes/vendor/composer/autoload_static.php +0 -26
- includes/vendor/composer/installed.json +0 -235
- includes/vendor/composer/installers/LICENSE +0 -19
- includes/vendor/composer/installers/README.md +0 -172
- includes/vendor/composer/installers/composer.json +0 -65
- includes/vendor/composer/installers/phpunit.xml.dist +0 -25
- includes/vendor/composer/installers/src/Composer/Installers/AglInstaller.php +0 -21
- includes/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php +0 -130
- includes/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +0 -21
- includes/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php +0 -21
- includes/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php +0 -12
- includes/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php +0 -21
- includes/vendor/composer/installers/src/Composer/Installers/Installer.php +0 -138
- includes/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php +0 -15
- includes/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php +0 -10
- includes/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php +0 -16
- includes/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php +0 -21
- includes/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php +0 -32
- includes/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php +0 -58
- includes/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php +0 -36
- includes/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php +0 -26
- includes/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php +0 -14
- includes/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php +0 -33
- includes/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php +0 -9
- includes/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php +0 -11
- includes/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php +0 -10
- includes/vendor/composer/installers/src/bootstrap.php +0 -13
- includes/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php +0 -46
- includes/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php +0 -349
- includes/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php +0 -48
- includes/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php +0 -64
- includes/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php +0 -64
- includes/vendor/composer/installers/tests/bootstrap.php +0 -4
- includes/vendor/freemius/wordpress-sdk/README.md +0 -253
- includes/vendor/freemius/wordpress-sdk/assets/css/admin/affiliation.css +1 -0
- includes/vendor/freemius/wordpress-sdk/assets/css/admin/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/assets/css/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/assets/img/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/assets/js/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/assets/scss/_mixins.scss +0 -13
- includes/vendor/freemius/wordpress-sdk/assets/scss/_vars.scss +0 -6
- includes/vendor/freemius/wordpress-sdk/assets/scss/admin/affiliation.scss +97 -0
- includes/vendor/freemius/wordpress-sdk/assets/scss/admin/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/assets/scss/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/composer.json +0 -10
- includes/vendor/freemius/wordpress-sdk/config.php +4 -1
- includes/vendor/freemius/wordpress-sdk/gulpfile.js +0 -139
- includes/vendor/freemius/wordpress-sdk/includes/class-freemius.php +1023 -347
- includes/vendor/freemius/wordpress-sdk/includes/class-fs-plugin-updater.php +12 -14
- includes/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-support-section.php +3 -3
- includes/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-upsell-control.php +2 -2
- includes/vendor/freemius/wordpress-sdk/includes/customizer/index.php +3 -0
- includes/vendor/freemius/wordpress-sdk/includes/debug/class-fs-debug-bar-panel.php +1 -1
- includes/vendor/freemius/wordpress-sdk/includes/debug/debug-bar-start.php +2 -2
- includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate-terms.php +128 -0
- includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate.php +84 -0
- includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-entity.php +3 -3
- includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin.php +21 -0
- includes/vendor/freemius/wordpress-sdk/includes/fs-core-functions.php +1118 -674
- includes/vendor/freemius/wordpress-sdk/includes/fs-essential-functions.php +3 -0
- includes/vendor/freemius/wordpress-sdk/includes/fs-plugin-info-dialog.php +98 -56
- includes/vendor/freemius/wordpress-sdk/includes/i18n.php +50 -2
- includes/vendor/freemius/wordpress-sdk/includes/l10n.php +0 -220
- includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-menu-manager.php +6 -5
- includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-cache-manager.php +6 -5
- includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-option-manager.php +58 -7
- includes/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusWordPress.php +26 -19
- includes/vendor/freemius/wordpress-sdk/languages/freemius-en.mo +0 -0
- includes/vendor/freemius/wordpress-sdk/languages/freemius-en.po +1520 -1368
- includes/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.mo +0 -0
- includes/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.po +2035 -0
- includes/vendor/freemius/wordpress-sdk/languages/freemius-he.mo +0 -0
- includes/vendor/freemius/wordpress-sdk/languages/freemius-he_IL.mo +0 -0
- includes/vendor/freemius/wordpress-sdk/languages/{freemius-he.po → freemius-he_IL.po} +1006 -795
admin/class-admin.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
/**
|
5 |
+
* The admin-specific functionality of the plugin.
|
6 |
+
*
|
7 |
+
* Defines the plugin name, version, and two examples hooks for how to
|
8 |
+
* enqueue the admin-specific stylesheet and JavaScript.
|
9 |
+
*
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Stop_User_Enumeration\Admin;
|
13 |
+
|
14 |
+
|
15 |
+
class Admin {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* The ID of this plugin.
|
19 |
+
*
|
20 |
+
*/
|
21 |
+
private $plugin_name;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* The version of this plugin.
|
25 |
+
*
|
26 |
+
*/
|
27 |
+
private $version;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Initialize the class and set its properties.
|
31 |
+
*
|
32 |
+
*/
|
33 |
+
public function __construct( $plugin_name, $version ) {
|
34 |
+
|
35 |
+
$this->plugin_name = $plugin_name;
|
36 |
+
$this->version = $version;
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
|
41 |
+
public function connect_message(
|
42 |
+
$message,
|
43 |
+
$user_first_name,
|
44 |
+
$plugin_title,
|
45 |
+
$user_login,
|
46 |
+
$site_link,
|
47 |
+
$freemius_link
|
48 |
+
) {
|
49 |
+
return sprintf(
|
50 |
+
__( 'Hi %1$s' ) . ',<br>' .
|
51 |
+
__( 'Never miss an important update -- opt-in to our security and feature updates notifications related to %2$s, and non-sensitive diagnostic tracking to help me improve %2$s sent via %5$s', 'plugin-name' ),
|
52 |
+
$user_first_name,
|
53 |
+
'<b>' . $plugin_title . '</b>',
|
54 |
+
'<b>' . $user_login . '</b>',
|
55 |
+
$site_link,
|
56 |
+
$freemius_link
|
57 |
+
);
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
admin/class-settings.php
CHANGED
@@ -37,12 +37,11 @@ class Settings {
|
|
37 |
*/
|
38 |
|
39 |
|
40 |
-
|
41 |
$options = array(
|
42 |
'id' => 'stop-user-enumeration_option_metabox',
|
43 |
'title' => esc_html__( 'Stop User Enumeration', 'stop-user-enumeration' ),
|
44 |
'tabs' => array(
|
45 |
-
'info'
|
46 |
'label' => __( 'info', 'stop-user-enumeration' ),
|
47 |
'icon' => 'dashicons-info',
|
48 |
),
|
@@ -83,58 +82,56 @@ class Settings {
|
|
83 |
|
84 |
$cmb_options->add_field( array(
|
85 |
|
86 |
-
'before'
|
87 |
-
'after_field'
|
88 |
<p>If a bot or user is caught scanning for user names they are denied access and their IP is logged</p>
|
89 |
<p>When you are viewing an admin page, the plugin does nothing, this is designed this way as it is assumed admin user have authority, bear this in mind when testing.</p><br>
|
90 |
<p>This plugin is best used in conjunction with a blocking tool to exclude the IP for longer. If you are on a VPS or dedicated server where you have root access you can install and configure <a href="https://www.fail2ban.org" target="_blank">fail2ban</a> or if you are on a shared host you can install <a href="https://wordpress.org/plugins/fullworks-firewall/" target="_blank">Fullworks Firewall</a> which does a very similar job, but requires no configuration to work automatically with Stop User Enumeration</a></p>', 'stop-user-enumeration' ),
|
91 |
-
'id'
|
92 |
-
'type'
|
93 |
'tab' => 'info',
|
94 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
95 |
) );
|
96 |
|
97 |
$cmb_options->add_field( array(
|
98 |
-
'name' => esc_html__('Stop REST API User calls','stop-user-enumeration'),
|
99 |
-
'desc' => esc_html__('WordPress allows anyone to find users by API call, by checking this box the calls will be restricted to logged in users only. Only untick this box if you need to allow unfettered API access to users','stop-user-enumeration'),
|
100 |
'id' => 'stop_rest_user',
|
101 |
'type' => 'checkbox',
|
102 |
-
'default' => $this->set_default_checkbox(true),
|
103 |
'tab' => 'settings',
|
104 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
105 |
) );
|
106 |
|
107 |
$cmb_options->add_field( array(
|
108 |
-
'name' => esc_html__('log attempts to AUTH LOG','stop-user-enumeration'),
|
109 |
-
'desc' => sprintf(esc_html__('Leave this ticked if you are using %1$sFail2Ban%2$s on your VPS to block attempts at enumeration.%3$s If you are not running Fail2Ban or on a shared host this does not need to be ticked, however it normally will not cause a problem being ticked.'
|
110 |
-
,'stop-user-enumeration'),
|
111 |
-
'<a href="http://www.fail2ban.org/wiki/index.php/Main_Page" target="_blank">','</a>','<br>'),
|
112 |
'id' => 'log_auth',
|
113 |
'type' => 'checkbox',
|
114 |
-
'default' => $this->set_default_checkbox(true),
|
115 |
'tab' => 'settings',
|
116 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
117 |
) );
|
118 |
|
119 |
$cmb_options->add_field( array(
|
120 |
-
'name' => esc_html__('Remove numbers from comment authors','stop-user-enumeration'),
|
121 |
-
'desc' => esc_html__('This plugin uses jQuery to remove any numbers from a comment author name, this is because numbers trigger enumeration checking. You can untick this if you do not use comments on your site or you use a different comment method than standard',
|
122 |
-
'stop-user-enumeration'),
|
123 |
'id' => 'comment_jquery',
|
124 |
'type' => 'checkbox',
|
125 |
-
'default' => $this->set_default_checkbox(true),
|
126 |
'tab' => 'settings',
|
127 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
128 |
) );
|
129 |
|
130 |
}
|
131 |
|
132 |
-
private function set_default_checkbox($default) {
|
133 |
// only return true if the option has never been set
|
134 |
-
|
135 |
-
return get_option($this->options_key,false)?'':( $default ? (string) $default : '' );
|
136 |
}
|
137 |
|
138 |
|
139 |
-
|
140 |
}
|
37 |
*/
|
38 |
|
39 |
|
|
|
40 |
$options = array(
|
41 |
'id' => 'stop-user-enumeration_option_metabox',
|
42 |
'title' => esc_html__( 'Stop User Enumeration', 'stop-user-enumeration' ),
|
43 |
'tabs' => array(
|
44 |
+
'info' => array(
|
45 |
'label' => __( 'info', 'stop-user-enumeration' ),
|
46 |
'icon' => 'dashicons-info',
|
47 |
),
|
82 |
|
83 |
$cmb_options->add_field( array(
|
84 |
|
85 |
+
'before' => '<h2>Information</h2>',
|
86 |
+
'after_field' => __( '<p>Stop User Enumeration detects attempts by malicious scanners to identify your users</p>
|
87 |
<p>If a bot or user is caught scanning for user names they are denied access and their IP is logged</p>
|
88 |
<p>When you are viewing an admin page, the plugin does nothing, this is designed this way as it is assumed admin user have authority, bear this in mind when testing.</p><br>
|
89 |
<p>This plugin is best used in conjunction with a blocking tool to exclude the IP for longer. If you are on a VPS or dedicated server where you have root access you can install and configure <a href="https://www.fail2ban.org" target="_blank">fail2ban</a> or if you are on a shared host you can install <a href="https://wordpress.org/plugins/fullworks-firewall/" target="_blank">Fullworks Firewall</a> which does a very similar job, but requires no configuration to work automatically with Stop User Enumeration</a></p>', 'stop-user-enumeration' ),
|
90 |
+
'id' => 'info_text',
|
91 |
+
'type' => 'title',
|
92 |
'tab' => 'info',
|
93 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
94 |
) );
|
95 |
|
96 |
$cmb_options->add_field( array(
|
97 |
+
'name' => esc_html__( 'Stop REST API User calls', 'stop-user-enumeration' ),
|
98 |
+
'desc' => esc_html__( 'WordPress allows anyone to find users by API call, by checking this box the calls will be restricted to logged in users only. Only untick this box if you need to allow unfettered API access to users', 'stop-user-enumeration' ),
|
99 |
'id' => 'stop_rest_user',
|
100 |
'type' => 'checkbox',
|
101 |
+
'default' => $this->set_default_checkbox( true ),
|
102 |
'tab' => 'settings',
|
103 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
104 |
) );
|
105 |
|
106 |
$cmb_options->add_field( array(
|
107 |
+
'name' => esc_html__( 'log attempts to AUTH LOG', 'stop-user-enumeration' ),
|
108 |
+
'desc' => sprintf( esc_html__( 'Leave this ticked if you are using %1$sFail2Ban%2$s on your VPS to block attempts at enumeration.%3$s If you are not running Fail2Ban or on a shared host this does not need to be ticked, however it normally will not cause a problem being ticked.'
|
109 |
+
, 'stop-user-enumeration' ),
|
110 |
+
'<a href="http://www.fail2ban.org/wiki/index.php/Main_Page" target="_blank">', '</a>', '<br>' ),
|
111 |
'id' => 'log_auth',
|
112 |
'type' => 'checkbox',
|
113 |
+
'default' => $this->set_default_checkbox( true ),
|
114 |
'tab' => 'settings',
|
115 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
116 |
) );
|
117 |
|
118 |
$cmb_options->add_field( array(
|
119 |
+
'name' => esc_html__( 'Remove numbers from comment authors', 'stop-user-enumeration' ),
|
120 |
+
'desc' => esc_html__( 'This plugin uses jQuery to remove any numbers from a comment author name, this is because numbers trigger enumeration checking. You can untick this if you do not use comments on your site or you use a different comment method than standard',
|
121 |
+
'stop-user-enumeration' ),
|
122 |
'id' => 'comment_jquery',
|
123 |
'type' => 'checkbox',
|
124 |
+
'default' => $this->set_default_checkbox( true ),
|
125 |
'tab' => 'settings',
|
126 |
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
127 |
) );
|
128 |
|
129 |
}
|
130 |
|
131 |
+
private function set_default_checkbox( $default ) {
|
132 |
// only return true if the option has never been set
|
133 |
+
return get_option( $this->options_key, false ) ? '' : ( $default ? (string) $default : '' );
|
|
|
134 |
}
|
135 |
|
136 |
|
|
|
137 |
}
|
bootstrap.php
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
|
|
|
3 |
namespace Stop_User_Enumeration;
|
4 |
// @TODO options for xforwarded
|
5 |
|
@@ -8,40 +9,35 @@ if ( ! defined( 'WPINC' ) ) {
|
|
8 |
die;
|
9 |
}
|
10 |
define( 'STOP_USER_ENUMERATION_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
11 |
-
define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.3.
|
12 |
|
13 |
// Include the autoloader so we can dynamically include the classes.
|
14 |
require_once( STOP_USER_ENUMERATION_PLUGIN_DIR . 'includes/autoloader.php' );
|
15 |
|
16 |
|
17 |
-
|
18 |
-
|
19 |
function run_stop_user_enumeration() {
|
20 |
/**
|
21 |
* Load freemius SDK
|
22 |
*/
|
23 |
-
$freemius
|
24 |
$freemiusSDK = $freemius->init();
|
25 |
// Signal that SDK was initiated.
|
26 |
do_action( 'sue_fs_loaded' );
|
27 |
|
28 |
|
29 |
-
$freemiusSDK->add_action('after_uninstall', array( '\Stop_User_Enumeration\Includes\Uninstall', 'uninstall' ));
|
30 |
|
31 |
/**
|
32 |
* The core plugin class that is used to define internationalization,
|
33 |
* admin-specific hooks, and public-facing site hooks.
|
34 |
*/
|
35 |
|
36 |
-
$plugin = new \Stop_User_Enumeration\Includes\Core($freemiusSDK);
|
37 |
$plugin->run();
|
38 |
|
39 |
}
|
40 |
-
run_stop_user_enumeration();
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
|
|
|
45 |
|
46 |
|
47 |
?>
|
1 |
<?php
|
2 |
|
3 |
+
|
4 |
namespace Stop_User_Enumeration;
|
5 |
// @TODO options for xforwarded
|
6 |
|
9 |
die;
|
10 |
}
|
11 |
define( 'STOP_USER_ENUMERATION_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
12 |
+
define( 'STOP_USER_ENUMERATION_PLUGIN_VERSION', '1.3.15' );
|
13 |
|
14 |
// Include the autoloader so we can dynamically include the classes.
|
15 |
require_once( STOP_USER_ENUMERATION_PLUGIN_DIR . 'includes/autoloader.php' );
|
16 |
|
17 |
|
|
|
|
|
18 |
function run_stop_user_enumeration() {
|
19 |
/**
|
20 |
* Load freemius SDK
|
21 |
*/
|
22 |
+
$freemius = new \Stop_User_Enumeration\Includes\Freemius_Config();
|
23 |
$freemiusSDK = $freemius->init();
|
24 |
// Signal that SDK was initiated.
|
25 |
do_action( 'sue_fs_loaded' );
|
26 |
|
27 |
|
28 |
+
$freemiusSDK->add_action( 'after_uninstall', array( '\Stop_User_Enumeration\Includes\Uninstall', 'uninstall' ) );
|
29 |
|
30 |
/**
|
31 |
* The core plugin class that is used to define internationalization,
|
32 |
* admin-specific hooks, and public-facing site hooks.
|
33 |
*/
|
34 |
|
35 |
+
$plugin = new \Stop_User_Enumeration\Includes\Core( $freemiusSDK );
|
36 |
$plugin->run();
|
37 |
|
38 |
}
|
|
|
|
|
|
|
|
|
39 |
|
40 |
+
run_stop_user_enumeration();
|
41 |
|
42 |
|
43 |
?>
|
frontend/class-frontend.php
CHANGED
@@ -37,7 +37,7 @@ class FrontEnd {
|
|
37 |
public function __construct( $plugin_name, $version ) {
|
38 |
|
39 |
$this->plugin_name = $plugin_name;
|
40 |
-
$this->version
|
41 |
|
42 |
}
|
43 |
|
@@ -66,7 +66,7 @@ class FrontEnd {
|
|
66 |
}
|
67 |
|
68 |
public function only_allow_logged_in_rest_access_to_users( $access ) {
|
69 |
-
if ( Core::sue_get_option( 'stop_rest_user','
|
70 |
if ( ( preg_match( '/users/', $_SERVER['REQUEST_URI'] ) !== 0 ) || ( isset( $_REQUEST['rest_route'] ) && ( preg_match( '/users/', $_REQUEST['rest_route'] ) !== 0 ) ) ) {
|
71 |
if ( ! is_user_logged_in() ) {
|
72 |
$this->sue_log();
|
@@ -84,11 +84,11 @@ class FrontEnd {
|
|
84 |
}
|
85 |
|
86 |
private function sue_log() {
|
87 |
-
$ip=sanitize_text_field( $_SERVER['REMOTE_ADDR'] );
|
88 |
-
if (is_plugin_active('fullworks-firewall/fullworks-firewall.php')){
|
89 |
do_action( 'fullworks_security_block_ip', $ip, 1, 'stop-user-enumeration' );
|
90 |
}
|
91 |
-
if
|
92 |
openlog( 'wordpress(' . sanitize_text_field( $_SERVER['HTTP_HOST'] ) . ')', LOG_NDELAY | LOG_PID, LOG_AUTH );
|
93 |
syslog( LOG_INFO, "Attempted user enumeration from " . $ip );
|
94 |
closelog();
|
37 |
public function __construct( $plugin_name, $version ) {
|
38 |
|
39 |
$this->plugin_name = $plugin_name;
|
40 |
+
$this->version = $version;
|
41 |
|
42 |
}
|
43 |
|
66 |
}
|
67 |
|
68 |
public function only_allow_logged_in_rest_access_to_users( $access ) {
|
69 |
+
if ( 'on' === Core::sue_get_option( 'stop_rest_user', 'off' ) ) {
|
70 |
if ( ( preg_match( '/users/', $_SERVER['REQUEST_URI'] ) !== 0 ) || ( isset( $_REQUEST['rest_route'] ) && ( preg_match( '/users/', $_REQUEST['rest_route'] ) !== 0 ) ) ) {
|
71 |
if ( ! is_user_logged_in() ) {
|
72 |
$this->sue_log();
|
84 |
}
|
85 |
|
86 |
private function sue_log() {
|
87 |
+
$ip = sanitize_text_field( $_SERVER['REMOTE_ADDR'] );
|
88 |
+
if ( is_plugin_active( 'fullworks-firewall/fullworks-firewall.php' ) ) {
|
89 |
do_action( 'fullworks_security_block_ip', $ip, 1, 'stop-user-enumeration' );
|
90 |
}
|
91 |
+
if ( 'on' === Core::sue_get_option( 'log_auth', 'off' ) ) {
|
92 |
openlog( 'wordpress(' . sanitize_text_field( $_SERVER['HTTP_HOST'] ) . ')', LOG_NDELAY | LOG_PID, LOG_AUTH );
|
93 |
syslog( LOG_INFO, "Attempted user enumeration from " . $ip );
|
94 |
closelog();
|
frontend/js/frontend.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
(function(
|
2 |
'use strict';
|
3 |
|
4 |
-
$(document).ready(function($) {
|
5 |
-
$(".comment-form input[name='author']").blur(function() {
|
6 |
$(this).val($(this).val().replace(/\d+/g, ''));
|
7 |
});
|
8 |
});
|
9 |
|
10 |
-
})(
|
1 |
+
(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
+
$(document).ready(function ($) {
|
5 |
+
$(".comment-form input[name='author']").blur(function () {
|
6 |
$(this).val($(this).val().replace(/\d+/g, ''));
|
7 |
});
|
8 |
});
|
9 |
|
10 |
+
})(jQuery);
|
includes/autoloader.php
CHANGED
@@ -19,7 +19,7 @@ function fullworks_Stop_User_Enumeration_autoload( $class_name ) {
|
|
19 |
|
20 |
// Do a reverse loop through $file_parts to build the path to the file.
|
21 |
$namespace = '';
|
22 |
-
for ( $i = count( $file_parts ) - 1; $i > 0; $i-- ) {
|
23 |
|
24 |
// Read the current component of the file part.
|
25 |
$current = strtolower( $file_parts[ $i ] );
|
@@ -50,7 +50,7 @@ function fullworks_Stop_User_Enumeration_autoload( $class_name ) {
|
|
50 |
}
|
51 |
|
52 |
// Now build a path to the file using mapping to the file location.
|
53 |
-
$filepath
|
54 |
$filepath .= $file_name;
|
55 |
|
56 |
// If the file exists in the specified path, then include it.
|
@@ -58,6 +58,6 @@ function fullworks_Stop_User_Enumeration_autoload( $class_name ) {
|
|
58 |
include_once( $filepath );
|
59 |
} else {
|
60 |
// changed to be translatable
|
61 |
-
wp_die(sprintf(__('The system file attempting to be loaded at %1$s does not exist.','
|
62 |
}
|
63 |
}
|
19 |
|
20 |
// Do a reverse loop through $file_parts to build the path to the file.
|
21 |
$namespace = '';
|
22 |
+
for ( $i = count( $file_parts ) - 1; $i > 0; $i -- ) {
|
23 |
|
24 |
// Read the current component of the file part.
|
25 |
$current = strtolower( $file_parts[ $i ] );
|
50 |
}
|
51 |
|
52 |
// Now build a path to the file using mapping to the file location.
|
53 |
+
$filepath = trailingslashit( dirname( dirname( __FILE__ ) ) . $namespace );
|
54 |
$filepath .= $file_name;
|
55 |
|
56 |
// If the file exists in the specified path, then include it.
|
58 |
include_once( $filepath );
|
59 |
} else {
|
60 |
// changed to be translatable
|
61 |
+
wp_die( sprintf( __( 'The system file attempting to be loaded at %1$s does not exist.', 'stop-user-enumeration' ), esc_html( $filepath ) ) );
|
62 |
}
|
63 |
}
|
includes/class-core.php
CHANGED
@@ -51,23 +51,15 @@ class Core {
|
|
51 |
* the public-facing side of the site.
|
52 |
*
|
53 |
*/
|
54 |
-
public function __construct( $
|
55 |
-
|
56 |
$this->plugin_name = 'stop-user-enumeration';
|
57 |
-
|
58 |
-
$this->
|
59 |
-
|
60 |
-
$this->freemiusSDK = $freemiusSDK;
|
61 |
-
|
62 |
-
$this->load_dependencies();
|
63 |
-
$this->set_locale();
|
64 |
-
$this->settings_pages();
|
65 |
-
$this->define_public_hooks();
|
66 |
|
67 |
// convert settings from legacy settings
|
68 |
if ( $opts = get_option( 'sue_settings_settings' ) ) {
|
69 |
$newopts = array(
|
70 |
-
'stop_rest_user'
|
71 |
'log_auth' => ( $opts['general_log_auth'] == 1 ) ? 'on' : '',
|
72 |
'comment_jquery' => ( $opts['general_comment_jquery'] == 1 ) ? 'on' : '',
|
73 |
);
|
@@ -76,6 +68,13 @@ class Core {
|
|
76 |
}
|
77 |
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
|
81 |
/**
|
@@ -130,12 +129,12 @@ class Core {
|
|
130 |
|
131 |
/**
|
132 |
* Register all of the hooks related to the admin area functionality
|
133 |
-
* of the plugin
|
134 |
*
|
135 |
*/
|
136 |
|
137 |
private function settings_pages() {
|
138 |
-
$settings = new Settings( $this->get_plugin_name(), $this->get_version(), $this->
|
139 |
|
140 |
$this->loader->add_action( 'cmb2_admin_init', $settings, 'register_settings' );
|
141 |
}
|
@@ -175,7 +174,7 @@ class Core {
|
|
175 |
* side of the site.
|
176 |
*/
|
177 |
$plugin_public = new FrontEnd( $this->get_plugin_name(), $this->get_version() );
|
178 |
-
if ( $this->sue_get_option( 'comment_jquery', '
|
179 |
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
|
180 |
}
|
181 |
|
@@ -185,10 +184,23 @@ class Core {
|
|
185 |
|
186 |
}
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
public static function sue_get_option( $key = '', $default = false ) {
|
189 |
if ( function_exists( 'cmb2_get_option' ) ) {
|
190 |
// Use cmb2_get_option as it passes through some key filters.
|
191 |
-
return cmb2_get_option( '
|
192 |
}
|
193 |
// Fallback to get_site_option if CMB2 is not loaded yet.
|
194 |
$opts = get_option( 'stop-user-enumeration', $default );
|
51 |
* the public-facing side of the site.
|
52 |
*
|
53 |
*/
|
54 |
+
public function __construct( $freemius ) {
|
|
|
55 |
$this->plugin_name = 'stop-user-enumeration';
|
56 |
+
$this->version = STOP_USER_ENUMERATION_PLUGIN_VERSION;
|
57 |
+
$this->freemius = $freemius;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
// convert settings from legacy settings
|
60 |
if ( $opts = get_option( 'sue_settings_settings' ) ) {
|
61 |
$newopts = array(
|
62 |
+
'stop_rest_user' => ( $opts['general_stop_rest_user'] == 1 ) ? 'on' : '',
|
63 |
'log_auth' => ( $opts['general_log_auth'] == 1 ) ? 'on' : '',
|
64 |
'comment_jquery' => ( $opts['general_comment_jquery'] == 1 ) ? 'on' : '',
|
65 |
);
|
68 |
}
|
69 |
|
70 |
|
71 |
+
$this->load_dependencies();
|
72 |
+
$this->set_locale();
|
73 |
+
$this->settings_pages();
|
74 |
+
$this->define_admin_hooks();
|
75 |
+
$this->define_public_hooks();
|
76 |
+
|
77 |
+
|
78 |
}
|
79 |
|
80 |
/**
|
129 |
|
130 |
/**
|
131 |
* Register all of the hooks related to the admin area functionality
|
132 |
+
* of the plugin./home/alan/Google/Projects/WordPressPlugins/get-directions-orig
|
133 |
*
|
134 |
*/
|
135 |
|
136 |
private function settings_pages() {
|
137 |
+
$settings = new Settings( $this->get_plugin_name(), $this->get_version(), $this->freemius );
|
138 |
|
139 |
$this->loader->add_action( 'cmb2_admin_init', $settings, 'register_settings' );
|
140 |
}
|
174 |
* side of the site.
|
175 |
*/
|
176 |
$plugin_public = new FrontEnd( $this->get_plugin_name(), $this->get_version() );
|
177 |
+
if ( 'on' === $this->sue_get_option( 'comment_jquery', 'off' ) ) {
|
178 |
$this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
|
179 |
}
|
180 |
|
184 |
|
185 |
}
|
186 |
|
187 |
+
private function define_admin_hooks() {
|
188 |
+
|
189 |
+
/**
|
190 |
+
* The class responsible for defining all actions that occur in the admin area.
|
191 |
+
*/
|
192 |
+
|
193 |
+
$plugin_admin = new Admin( $this->get_plugin_name(), $this->get_version() );
|
194 |
+
|
195 |
+
$this->freemius->add_filter( 'connect_message_on_update', array( $plugin_admin, 'connect_message' ), 10, 6 );
|
196 |
+
$this->freemius->add_filter( 'connect_message', array( $plugin_admin, 'connect_message' ), 10, 6 );
|
197 |
+
|
198 |
+
}
|
199 |
+
|
200 |
public static function sue_get_option( $key = '', $default = false ) {
|
201 |
if ( function_exists( 'cmb2_get_option' ) ) {
|
202 |
// Use cmb2_get_option as it passes through some key filters.
|
203 |
+
return cmb2_get_option( 'stop-user-enumeration', $key, $default );
|
204 |
}
|
205 |
// Fallback to get_site_option if CMB2 is not loaded yet.
|
206 |
$opts = get_option( 'stop-user-enumeration', $default );
|
includes/class-i18n.php
CHANGED
@@ -42,5 +42,4 @@ class i18n {
|
|
42 |
}
|
43 |
|
44 |
|
45 |
-
|
46 |
}
|
42 |
}
|
43 |
|
44 |
|
|
|
45 |
}
|
includes/class-loader.php
CHANGED
@@ -9,6 +9,7 @@
|
|
9 |
* run function to execute the list of actions and filters.
|
10 |
*
|
11 |
*/
|
|
|
12 |
namespace Stop_User_Enumeration\Includes;
|
13 |
|
14 |
class Loader {
|
@@ -78,11 +79,17 @@ class Loader {
|
|
78 |
public function run() {
|
79 |
|
80 |
foreach ( $this->filters as $hook ) {
|
81 |
-
add_filter( $hook['hook'], array(
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
foreach ( $this->actions as $hook ) {
|
85 |
-
add_action( $hook['hook'], array(
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
}
|
9 |
* run function to execute the list of actions and filters.
|
10 |
*
|
11 |
*/
|
12 |
+
|
13 |
namespace Stop_User_Enumeration\Includes;
|
14 |
|
15 |
class Loader {
|
79 |
public function run() {
|
80 |
|
81 |
foreach ( $this->filters as $hook ) {
|
82 |
+
add_filter( $hook['hook'], array(
|
83 |
+
$hook['component'],
|
84 |
+
$hook['callback']
|
85 |
+
), $hook['priority'], $hook['accepted_args'] );
|
86 |
}
|
87 |
|
88 |
foreach ( $this->actions as $hook ) {
|
89 |
+
add_action( $hook['hook'], array(
|
90 |
+
$hook['component'],
|
91 |
+
$hook['callback']
|
92 |
+
), $hook['priority'], $hook['accepted_args'] );
|
93 |
}
|
94 |
|
95 |
}
|
includes/vendor/autoload.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload.php @generated by Composer
|
4 |
-
|
5 |
-
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
-
|
7 |
-
return ComposerAutoloaderInit7cea7511504eb01ba01aef4ad46e80c8::getLoader();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2-extensions/CHANGELOG.md
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
# Changelog
|
2 |
-
All notable changes to this project will be documented in this file.
|
3 |
-
|
4 |
-
## 1.0.4
|
5 |
-
* Initial release with wordpress plugin and code clean up
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2-extensions/CONTRIBUTING.md
DELETED
@@ -1,46 +0,0 @@
|
|
1 |
-
# Contributing to CMB2
|
2 |
-
|
3 |
-
Thank you for your interest in contributing back to CMB2 Extensions. Please help us review your issues and/or merge your pull requests by following the below guidelines.
|
4 |
-
|
5 |
-
#### NOTE: The issues section is for bug reports and feature requests only.
|
6 |
-
_Support is not offered for this library, and the likelihood that the maintainers will respond is very low. If you need help, please use [stackoverflow](http://stackoverflow.com/search?q=cmb).
|
7 |
-
|
8 |
-
Before reporting a bug
|
9 |
-
---
|
10 |
-
1. Please review the [documentation](https://github.com/stackadroit/cmb2-extensions/wiki).
|
11 |
-
2. Search [issues](https://github.com/stackadroit/cmb2-extensions/issues) to see if the issue has been previously reported.
|
12 |
-
3. Install the trunk version of CMB2 and test there.
|
13 |
-
|
14 |
-
|
15 |
-
How to report a bug
|
16 |
-
---
|
17 |
-
1. Specify the version number for CMB2 Extensions.
|
18 |
-
3. Describe the problem in detail. Explain what happened, and what you expected would happen.
|
19 |
-
4. Provide a small test-case and a link to a [gist](https://gist.github.com/) containing your entire metabox registration code.
|
20 |
-
5. If helpful, include a screenshot. Annotate the screenshot for clarity.
|
21 |
-
|
22 |
-
|
23 |
-
How to contribute to CMB2 Extensions
|
24 |
-
---
|
25 |
-
All contributions welcome. If you would like to submit a pull request, please follow the steps below.
|
26 |
-
|
27 |
-
1. Make sure you have a GitHub account.
|
28 |
-
2. Fork the repository on GitHub.
|
29 |
-
3. **Check out the trunk version of CMB2 Extensions.** If you submit to the master branch, the PR will be closed with a link back to this document.
|
30 |
-
4. **Verify your issue still exists in the trunk branch.**
|
31 |
-
5. Make changes to your clone of the repository.
|
32 |
-
1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards).
|
33 |
-
2. If possible, and if applicable, please also add/update unit tests for your changes.
|
34 |
-
3. Please add documentation to any new functions, methods, actions and filters.
|
35 |
-
4. When committing, reference your issue (if present) and include a note about the fix.
|
36 |
-
6. [Submit a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
37 |
-
|
38 |
-
**Note:** You may gain more ground and avoid unecessary effort if you first open an issue with the proposed changes, but this step is not necessary.
|
39 |
-
|
40 |
-
|
41 |
-
Additional Resources
|
42 |
-
---
|
43 |
-
|
44 |
-
* [General GitHub Documentation](http://help.github.com/)
|
45 |
-
* [GitHub Pull Request documentation](http://help.github.com/send-pull-requests/)
|
46 |
-
* [PHPUnit Tests Guide](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2-extensions/README.md
DELETED
@@ -1,60 +0,0 @@
|
|
1 |
-
CMB2 Code Snippet Library
|
2 |
-
========================
|
3 |
-
|
4 |
-
This is a CMB2 Extension repository which help modify the default behavior of [CMB2](https://github.com/WebDevStudios/CMB2/) and extends it's functionality.
|
5 |
-
|
6 |
-
Extension are organized into categories (folders) and each Extension is placed in its own file with a name that describes what it does.
|
7 |
-
|
8 |
-
## Usage
|
9 |
-
You can view wiki page to usage and setup guide:
|
10 |
-
[Documentation](https://github.com/stackadroit/cmb2-extensions/wiki)
|
11 |
-
|
12 |
-
## CMB2 Tabs
|
13 |
-
CMB2 Tabs is an extenstion for [CMB2](https://github.com/WebDevStudios/CMB2/) which allow you to oragnize fields into tabs.
|
14 |
-
|
15 |
-
![cmb2 tabs](https://github.com/stackadroit/cmb2-extensions/raw/master/cmb2-tabs/screenshots/metabox-horizontal.PNG)
|
16 |
-
|
17 |
-
### Known Issues
|
18 |
-
|
19 |
-
* Tabs doesn’t work in group field.
|
20 |
-
|
21 |
-
### Example
|
22 |
-
```php
|
23 |
-
// Classic CMB2 declaration
|
24 |
-
$cmb = new_cmb2_box( array(
|
25 |
-
'id' => 'prefix-metabox-id',
|
26 |
-
'title' => __( 'Post Info' ),
|
27 |
-
'object_types' => array( 'post', ), // Post type
|
28 |
-
'tabs' => array(
|
29 |
-
'contact' => array(
|
30 |
-
'label' => __( 'Contact', 'cmb2' ),
|
31 |
-
//'show_on_cb' => 'yourprefix_show_if_front_page',
|
32 |
-
),
|
33 |
-
'social' => array(
|
34 |
-
'label' => __( 'Social Media', 'cmb2' ),
|
35 |
-
'icon' => 'dashicons-share', // Dashicon
|
36 |
-
),
|
37 |
-
),
|
38 |
-
'tab_style' => 'default',
|
39 |
-
) );
|
40 |
-
|
41 |
-
// Add new field
|
42 |
-
$cmb_demo->add_field( array(
|
43 |
-
'name' => esc_html__( 'Test Text Medium', 'cmb2' ),
|
44 |
-
'desc' => esc_html__( 'field description (optional)', 'cmb2' ),
|
45 |
-
'id' => $prefix . 'textmedium',
|
46 |
-
'type' => 'text_medium',
|
47 |
-
'tab' => 'contact',
|
48 |
-
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
49 |
-
) );
|
50 |
-
|
51 |
-
// Add new field
|
52 |
-
$cmb_demo->add_field( array(
|
53 |
-
'name' => esc_html__( 'Test Text Medium', 'cmb2' ),
|
54 |
-
'desc' => esc_html__( 'field description (optional)', 'cmb2' ),
|
55 |
-
'id' => $prefix . 'textmedium2',
|
56 |
-
'type' => 'text_medium',
|
57 |
-
'tab' => 'social',
|
58 |
-
'render_row_cb' => array( 'CMB2_Tabs', 'tabs_render_row_cb' ),
|
59 |
-
) );
|
60 |
-
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2-extensions/cmb2-tabs/cmb2-tabs.php
CHANGED
@@ -3,25 +3,25 @@
|
|
3 |
* CMB2 Tabs.
|
4 |
*
|
5 |
* @package WordPress\Plugins\CMB2 Tabs
|
6 |
-
* @author Team
|
7 |
-
* @link https://
|
8 |
-
* @version 1.0.
|
9 |
*
|
10 |
-
* @copyright 2017 Team
|
11 |
* @license http://creativecommons.org/licenses/GPL/2.0/ GNU General Public License, version 3 or higher
|
12 |
*
|
13 |
* @wordpress-plugin
|
14 |
* Plugin Name: CMB2 Tabs
|
15 |
* Plugin URI: https://github.com/stackadroit/cmb2-extensions
|
16 |
-
* Description: CMB2 Tabs is an
|
17 |
-
* Author: Team
|
18 |
-
* Author URI: https://
|
19 |
* Github Plugin URI: https://github.com/stackadroit/cmb2-extensions
|
20 |
* Github Branch: master
|
21 |
-
* Version: 1.0.
|
22 |
* License: GPL v3
|
23 |
*
|
24 |
-
* Copyright (C) 2017, Team
|
25 |
*
|
26 |
* GNU General Public License, Free Software Foundation <http://creativecommons.org/licenses/GPL/3.0/>
|
27 |
*
|
@@ -54,7 +54,7 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
54 |
*
|
55 |
* @category WordPress_Plugin
|
56 |
* @package CMB2 Tabs
|
57 |
-
* @author Team
|
58 |
* @license GPL-3.0+
|
59 |
* @link https://stackadroit.com
|
60 |
*/
|
@@ -66,7 +66,7 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
66 |
* @const int
|
67 |
* @since 1.0.0
|
68 |
*/
|
69 |
-
const PRIORITY =
|
70 |
|
71 |
/**
|
72 |
* Current version number
|
@@ -74,7 +74,7 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
74 |
* @const string
|
75 |
* @since 1.0.0
|
76 |
*/
|
77 |
-
const VERSION = '1.0.
|
78 |
|
79 |
/**
|
80 |
* The url which is used to load local resources
|
@@ -90,7 +90,7 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
90 |
* @var CMB2
|
91 |
* @since 1.0.0
|
92 |
*/
|
93 |
-
protected $cmb = '';
|
94 |
|
95 |
/**
|
96 |
* Indicate that the instance of the class is working on a meta box that has tabs or not
|
@@ -165,7 +165,11 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
165 |
echo '<div class="'.$class.'">';
|
166 |
|
167 |
// Current cmb2 instance
|
168 |
-
|
|
|
|
|
|
|
|
|
169 |
// Set 'true' to let us know that we're working on a meta box that has tabs
|
170 |
$this->active = true;
|
171 |
//setup style and script for tabs
|
@@ -293,60 +297,58 @@ if (!class_exists('CMB2_Tabs', false)) {
|
|
293 |
*/
|
294 |
public static function tabs_render_row_cb($field_args, $field)
|
295 |
{
|
296 |
-
|
297 |
// Ok, callback is good, let's run it and store the result.
|
298 |
ob_start();
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
$field->peform_param_callback('before_row');
|
311 |
-
|
312 |
-
printf("<div class=\"cmb-row %s\" data-fieldtype=\"%s\">\n", $field->row_classes(), $field->type());
|
313 |
-
|
314 |
-
if (!$field->args('show_names')) {
|
315 |
-
echo "\n\t<div class=\"cmb-td\">\n";
|
316 |
-
|
317 |
-
$field->peform_param_callback('label_cb');
|
318 |
-
|
319 |
-
} else {
|
320 |
-
|
321 |
-
if ($field->get_param_callback_result('label_cb')) {
|
322 |
-
echo '<div class="cmb-th">', $field->peform_param_callback('label_cb'), '</div>';
|
323 |
-
}
|
324 |
-
|
325 |
-
echo "\n\t<div class=\"cmb-td\">\n";
|
326 |
-
}
|
327 |
-
|
328 |
-
$field->peform_param_callback('before');
|
329 |
-
|
330 |
-
$types = new CMB2_Types($field);
|
331 |
-
$types->render();
|
332 |
|
333 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
|
335 |
-
echo "\n\t</div>\n</div>";
|
336 |
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
|
340 |
// Grab the result from the output buffer and store it.
|
341 |
$echoed = ob_get_clean();
|
342 |
-
|
343 |
$outer_html = $echoed ? $echoed : $returned;
|
344 |
-
|
345 |
-
$outer_html = apply_filters('cmb_output_html_row', $outer_html, $field_args, $field);
|
346 |
|
347 |
echo $outer_html;
|
|
|
|
|
348 |
}
|
349 |
|
|
|
350 |
/**
|
351 |
* Display tab navigation for meta box
|
352 |
* Note that: this public function is hooked to 'cmb2_after_form', when all fields are outputted
|
3 |
* CMB2 Tabs.
|
4 |
*
|
5 |
* @package WordPress\Plugins\CMB2 Tabs
|
6 |
+
* @author Team StackAdroit <stackstudio@stackadroit.com>
|
7 |
+
* @link https://stackadroit.com
|
8 |
+
* @version 1.0.6
|
9 |
*
|
10 |
+
* @copyright 2017 Team StackAdroit
|
11 |
* @license http://creativecommons.org/licenses/GPL/2.0/ GNU General Public License, version 3 or higher
|
12 |
*
|
13 |
* @wordpress-plugin
|
14 |
* Plugin Name: CMB2 Tabs
|
15 |
* Plugin URI: https://github.com/stackadroit/cmb2-extensions
|
16 |
+
* Description: CMB2 Tabs is an extension for CMB2 which allow you to organize fields into tabs.
|
17 |
+
* Author: Team StackAdroit <stackstudio@stackadroit.com>
|
18 |
+
* Author URI: https://stackadroit.com
|
19 |
* Github Plugin URI: https://github.com/stackadroit/cmb2-extensions
|
20 |
* Github Branch: master
|
21 |
+
* Version: 1.0.6
|
22 |
* License: GPL v3
|
23 |
*
|
24 |
+
* Copyright (C) 2017, Team StackAdroit - stackstudio@stackadroit.com
|
25 |
*
|
26 |
* GNU General Public License, Free Software Foundation <http://creativecommons.org/licenses/GPL/3.0/>
|
27 |
*
|
54 |
*
|
55 |
* @category WordPress_Plugin
|
56 |
* @package CMB2 Tabs
|
57 |
+
* @author Team StackAdroit
|
58 |
* @license GPL-3.0+
|
59 |
* @link https://stackadroit.com
|
60 |
*/
|
66 |
* @const int
|
67 |
* @since 1.0.0
|
68 |
*/
|
69 |
+
const PRIORITY = 99996;
|
70 |
|
71 |
/**
|
72 |
* Current version number
|
74 |
* @const string
|
75 |
* @since 1.0.0
|
76 |
*/
|
77 |
+
const VERSION = '1.0.6';
|
78 |
|
79 |
/**
|
80 |
* The url which is used to load local resources
|
90 |
* @var CMB2
|
91 |
* @since 1.0.0
|
92 |
*/
|
93 |
+
protected static $cmb = '';
|
94 |
|
95 |
/**
|
96 |
* Indicate that the instance of the class is working on a meta box that has tabs or not
|
165 |
echo '<div class="'.$class.'">';
|
166 |
|
167 |
// Current cmb2 instance
|
168 |
+
CMB2_Tabs::$cmb = $cmb;
|
169 |
+
|
170 |
+
// Add cmb2_tabs custome render callback to instance
|
171 |
+
CMB2_Field::$callable_fields[] = 'cmb2_tabs_render_row_cb';
|
172 |
+
|
173 |
// Set 'true' to let us know that we're working on a meta box that has tabs
|
174 |
$this->active = true;
|
175 |
//setup style and script for tabs
|
297 |
*/
|
298 |
public static function tabs_render_row_cb($field_args, $field)
|
299 |
{
|
300 |
+
|
301 |
// Ok, callback is good, let's run it and store the result.
|
302 |
ob_start();
|
303 |
+
|
304 |
+
if ( 'group' === $field_args['type'] ) {
|
305 |
+
self::tabs_render_group_row_cb($field_args, $field);
|
306 |
+
}else{
|
307 |
+
if ($field->args( 'cmb2_tabs_render_row_cb' )) {
|
308 |
+
CMB2_Tabs::$cmb->peform_param_callback( 'cmb2_tabs_render_row_cb' );
|
309 |
+
} else {
|
310 |
+
$field->render_field_callback();
|
311 |
+
}
|
312 |
+
}
|
313 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
|
315 |
+
// Grab the result from the output buffer and store it.
|
316 |
+
$echoed = ob_get_clean();
|
317 |
+
$outer_html = $echoed ? $echoed : $returned;
|
318 |
+
$outer_html = apply_filters('cmb_output_html_row', $outer_html, $field_args, $field);
|
319 |
+
echo $outer_html;
|
320 |
+
//return $field;
|
321 |
+
}
|
322 |
|
|
|
323 |
|
324 |
+
/**
|
325 |
+
* Modified CMB2 render row function to capture Group rows in a output string
|
326 |
+
*
|
327 |
+
* @since 1.0.5
|
328 |
+
*/
|
329 |
+
public static function tabs_render_group_row_cb($field_args, $field_group)
|
330 |
+
{
|
331 |
|
332 |
+
// Ok, callback is good, let's run it and store the result.
|
333 |
+
ob_start();
|
334 |
+
|
335 |
+
if ($field_group->args( 'cmb2_tabs_render_row_cb' )) {
|
336 |
+
CMB2_Tabs::$cmb->render_group_callback( 'cmb2_tabs_render_row_cb' );
|
337 |
+
} else {
|
338 |
+
CMB2_Tabs::$cmb->render_group_callback($field_args, $field_group);
|
339 |
+
}
|
340 |
|
341 |
// Grab the result from the output buffer and store it.
|
342 |
$echoed = ob_get_clean();
|
|
|
343 |
$outer_html = $echoed ? $echoed : $returned;
|
344 |
+
$outer_html = apply_filters('cmb_output_html_row', $outer_html, $field_args, $field_group);
|
|
|
345 |
|
346 |
echo $outer_html;
|
347 |
+
|
348 |
+
//return $field_group;
|
349 |
}
|
350 |
|
351 |
+
|
352 |
/**
|
353 |
* Display tab navigation for meta box
|
354 |
* Note that: this public function is hooked to 'cmb2_after_form', when all fields are outputted
|
includes/vendor/cmb2-extensions/cmb2-tabs/css/tabs.css
CHANGED
@@ -155,6 +155,7 @@ Helper
|
|
155 |
}
|
156 |
.cmb-tabs ul.cmb-tab-nav li a {
|
157 |
color: #555;
|
|
|
158 |
}
|
159 |
|
160 |
.cmb-tabs ul.cmb-tab-nav li.cmb-tab-active a {
|
@@ -288,4 +289,4 @@ Helper
|
|
288 |
.cmb-tabs .cmb-repeat-row .cmb-td {
|
289 |
width: auto;
|
290 |
}
|
291 |
-
}
|
155 |
}
|
156 |
.cmb-tabs ul.cmb-tab-nav li a {
|
157 |
color: #555;
|
158 |
+
border: 1px solid transparent;
|
159 |
}
|
160 |
|
161 |
.cmb-tabs ul.cmb-tab-nav li.cmb-tab-active a {
|
289 |
.cmb-tabs .cmb-repeat-row .cmb-td {
|
290 |
width: auto;
|
291 |
}
|
292 |
+
}
|
includes/vendor/cmb2-extensions/cmb2-tabs/example-functions.php
CHANGED
@@ -35,6 +35,7 @@ function cmb2_tabs_show_if_front_page($cmb) {
|
|
35 |
return true;
|
36 |
}
|
37 |
|
|
|
38 |
add_action('cmb2_admin_init', 'cmb2_tabs_register_demo_metabox');
|
39 |
|
40 |
/**
|
@@ -202,5 +203,30 @@ function cmb2_tabs_register_demo_metabox() {
|
|
202 |
'render_row_cb' => array('CMB2_Tabs', 'tabs_render_row_cb'),
|
203 |
));
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
|
35 |
return true;
|
36 |
}
|
37 |
|
38 |
+
|
39 |
add_action('cmb2_admin_init', 'cmb2_tabs_register_demo_metabox');
|
40 |
|
41 |
/**
|
203 |
'render_row_cb' => array('CMB2_Tabs', 'tabs_render_row_cb'),
|
204 |
));
|
205 |
|
206 |
+
/*******************GROUPS**************************/
|
207 |
+
$group_field_id = $cmb_tabs_demo->add_field( array(
|
208 |
+
'id' => 'wiki_test_repeat_group',
|
209 |
+
'type' => 'group',
|
210 |
+
'description' => __( 'Generates reusable form entries', 'cmb2_tabs' ),
|
211 |
+
'tab' => 'note',
|
212 |
+
'render_row_cb' => array('CMB2_Tabs', 'tabs_render_group_row_cb'),
|
213 |
+
// 'repeatable' => false, // use false if you want non-repeatable group
|
214 |
+
'options' => array(
|
215 |
+
'group_title' => __( 'Entry {#}', 'cmb2_tabs' ), // since version 1.1.4, {#} gets replaced by row number
|
216 |
+
'add_button' => __( 'Add Another Entry', 'cmb2_tabs' ),
|
217 |
+
'remove_button' => __( 'Remove Entry', 'cmb2_tabs' ),
|
218 |
+
'sortable' => true, // beta
|
219 |
+
// 'closed' => true, // true to have the groups closed by default
|
220 |
+
),
|
221 |
+
) );
|
222 |
+
|
223 |
+
// Id's for group's fields only need to be unique for the group. Prefix is not needed.
|
224 |
+
$cmb_tabs_demo->add_group_field( $group_field_id, array(
|
225 |
+
'name' => __( 'Entry Title', 'cmb2_tabs' ),
|
226 |
+
'id' => 'title',
|
227 |
+
'type' => 'text',
|
228 |
+
// 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
|
229 |
+
) );
|
230 |
+
|
231 |
}
|
232 |
|
includes/vendor/cmb2-extensions/cmb2-tabs/readme.txt
CHANGED
@@ -4,9 +4,9 @@ Donate link: http://stackadroit.com/
|
|
4 |
Tags: metaboxes, fields, tabs
|
5 |
Requires at least: 3.8.0
|
6 |
Tested up to: 4.7.2
|
7 |
-
Stable tag: 1.0.
|
8 |
-
License:
|
9 |
-
License URI: http://
|
10 |
|
11 |
|
12 |
CMB2 Tabs is an extenstion for CMB2 which allow you to oragnize fields into tabs.
|
@@ -44,11 +44,10 @@ Development occurs on Github, and all contributions welcome. [CONTRIBUT](https:/
|
|
44 |
|
45 |
FAQ's usually end up in the [github wiki](https://github.com/stackadroit/cmb2-extensions/wiki).
|
46 |
|
47 |
-
### Known Issues
|
48 |
-
|
49 |
-
* Tabs doesn’t work in group field.
|
50 |
-
|
51 |
== Changelog ==
|
52 |
|
53 |
= 1.0.2 beta 26.07.2017 =
|
54 |
-
* Error fix on plugin activation.
|
|
|
|
|
|
4 |
Tags: metaboxes, fields, tabs
|
5 |
Requires at least: 3.8.0
|
6 |
Tested up to: 4.7.2
|
7 |
+
Stable tag: 1.0.6
|
8 |
+
License: GPLv3
|
9 |
+
License URI: http://creativecommons.org/licenses/GPL/3.0/
|
10 |
|
11 |
|
12 |
CMB2 Tabs is an extenstion for CMB2 which allow you to oragnize fields into tabs.
|
44 |
|
45 |
FAQ's usually end up in the [github wiki](https://github.com/stackadroit/cmb2-extensions/wiki).
|
46 |
|
|
|
|
|
|
|
|
|
47 |
== Changelog ==
|
48 |
|
49 |
= 1.0.2 beta 26.07.2017 =
|
50 |
+
* Error fix on plugin activation.
|
51 |
+
|
52 |
+
= 1.0.6 beta 17.11.2017 =
|
53 |
+
* Fixed group field issues
|
includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-horizontal.PNG
DELETED
Binary file
|
includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-mobile.PNG
DELETED
Binary file
|
includes/vendor/cmb2-extensions/cmb2-tabs/screenshots/metabox-vertical.PNG
DELETED
Binary file
|
includes/vendor/cmb2-extensions/composer.json
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "stackadroit/cmb2-extensions",
|
3 |
-
"description": "This is a CMB2 Extension repository which help modify the default behavior of CMB2 and extends it's functionality.",
|
4 |
-
"license": "GPL-3.0+",
|
5 |
-
"authors": [
|
6 |
-
{
|
7 |
-
"name": "Praneeth Polu",
|
8 |
-
"email": "contact@polupraneeth.me",
|
9 |
-
"homepage": "https://github.com/polupraneeth/",
|
10 |
-
"role": "Developer"
|
11 |
-
},
|
12 |
-
{
|
13 |
-
"name": "Team StackThemes",
|
14 |
-
"email": "stackthemes@stackadroit.com",
|
15 |
-
"homepage": "https://github.com/stackadroit",
|
16 |
-
"role": "Developer"
|
17 |
-
}
|
18 |
-
],
|
19 |
-
"keywords": ["wordpress", "plugin", "metabox", "cmb2"],
|
20 |
-
"homepage": "https://github.com/stackadroit/cmb2-extensions",
|
21 |
-
"type": "wordpress-plugin",
|
22 |
-
"support": {
|
23 |
-
"issues": "https://github.com/stackadroit/cmb2-extensions/issues",
|
24 |
-
"source": "https://github.com/stackadroit/cmb2-extensions"
|
25 |
-
},
|
26 |
-
"require": {
|
27 |
-
"php": ">5.2.4"
|
28 |
-
},
|
29 |
-
"suggest": {
|
30 |
-
"composer/installers": "~1.0"
|
31 |
-
},
|
32 |
-
"require-dev": {
|
33 |
-
"phpunit/phpunit": "3.7.*"
|
34 |
-
}
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/CONTRIBUTING.md
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
# Contributing to CMB2
|
2 |
-
|
3 |
-
Thank you for your interest in contributing back to CMB2. Please help us review your issues and/or merge your pull requests by following the below guidelines.
|
4 |
-
|
5 |
-
#### NOTE: The issues section is for bug reports and feature requests only.
|
6 |
-
_Support is not offered for this library, and the likelihood that the maintainers will respond is very low. If you need help, please use [stackoverflow](http://stackoverflow.com/search?q=cmb), or the [wordpress.org plugin forums](http://wordpress.org/support/plugin/cmb2)._
|
7 |
-
|
8 |
-
Before reporting a bug
|
9 |
-
---
|
10 |
-
1. Please review the [documentation](https://github.com/CMB2/CMB2/wiki). Most questions revolve around the [field types](https://github.com/CMB2/CMB2/wiki/Field-Types), [field parameters](https://github.com/CMB2/CMB2/wiki/Field-Parameters), or are addressed in the [troubleshooting](https://github.com/CMB2/CMB2/wiki/Troubleshooting) section.
|
11 |
-
2. Search [issues](https://github.com/CMB2/CMB2/issues) to see if the issue has been previously reported.
|
12 |
-
3. Install the trunk version of CMB2 and test there.
|
13 |
-
|
14 |
-
|
15 |
-
How to report a bug
|
16 |
-
---
|
17 |
-
1. Specify the version number for both WordPress and CMB2.
|
18 |
-
3. Describe the problem in detail. Explain what happened, and what you expected would happen.
|
19 |
-
4. Provide a small test-case and a link to a [gist](https://gist.github.com/) containing your entire metabox registration code.
|
20 |
-
5. If helpful, include a screenshot. Annotate the screenshot for clarity.
|
21 |
-
|
22 |
-
|
23 |
-
How to contribute to CMB2
|
24 |
-
---
|
25 |
-
All contributions welcome. If you would like to submit a pull request, please follow the steps below.
|
26 |
-
|
27 |
-
1. Make sure you have a GitHub account.
|
28 |
-
2. Fork the repository on GitHub.
|
29 |
-
3. **Check out the trunk version of CMB2.** If you submit to the master branch, the PR will be closed with a link back to this document.
|
30 |
-
4. **Verify your issue still exists in the trunk branch.**
|
31 |
-
5. Make changes to your clone of the repository.
|
32 |
-
1. Please follow the [WordPress code standards](https://make.wordpress.org/core/handbook/coding-standards).
|
33 |
-
2. If possible, and if applicable, please also add/update unit tests for your changes.
|
34 |
-
3. Please add documentation to any new functions, methods, actions and filters.
|
35 |
-
4. When committing, reference your issue (if present) and include a note about the fix.
|
36 |
-
6. [Submit a pull request](https://help.github.com/articles/creating-a-pull-request/).
|
37 |
-
|
38 |
-
**Note:** You may gain more ground and avoid unecessary effort if you first open an issue with the proposed changes, but this step is not necessary.
|
39 |
-
|
40 |
-
Translations
|
41 |
-
---
|
42 |
-
If you are looking to provide language translation files, Please do so via [WP-Translations](http://wp-translations.org/project/cmb2/).
|
43 |
-
|
44 |
-
Additional Resources
|
45 |
-
---
|
46 |
-
|
47 |
-
* [CMB2 Documentation Wiki](https://github.com/CMB2/CMB2/wiki)
|
48 |
-
* [CMB2 Snippet Library](https://github.com/CMB2/CMB2-Snippet-Library)
|
49 |
-
* [CMB2 API Documentation](http://cmb2.io/api/)
|
50 |
-
* [General GitHub Documentation](http://help.github.com/)
|
51 |
-
* [GitHub Pull Request documentation](http://help.github.com/send-pull-requests/)
|
52 |
-
* [PHPUnit Tests Guide](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/cmb2-display.css.map
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"version": 3,
|
3 |
-
"mappings": "AAAA;;GAEG;ACFH;;GAEG;;AAGF,6BAAK;EACJ,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,GAAG;EACX,aAAa,EAAE,GAAG;EAClB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,GAAG;EACf,YAAY,EAAE,GAAG;;;;AAInB,UAAW;EACV,QAAQ,EAAE,MAAM;;;;AAGjB,kBAAmB;EAClB,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,IAAI;;;;AAGb,0BAA2B;EAC1B,OAAO,EAAE,MAAM;EACf,MAAM,EAAE,aAAa;;;;AAGtB,cAAe;EACd,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,IAAI",
|
4 |
-
"sources": ["sass/cmb2-display.scss","sass/partials/_display.scss"],
|
5 |
-
"names": [],
|
6 |
-
"file": "cmb2-display.css"
|
7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/cmb2-front.css.map
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"version": 3,
|
3 |
-
"mappings": ";AAAA;;GAEG;ACFH;;gEAEgE;;AAEhE,UAAW;EACV,MAAM,EAAE,CAAC;;;AAET;mBACS;EACR,SAAS,ECEK,IAAI;EDDlB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,GAAG;;;AAMZ,uCAAc;EACb,KAAK,EAAE,IAAI;;;AAIb,mBAAS;EACR,KAAK,EAAE,KAAK;;;AAEZ,sCAAqB;EACpB,WAAW,EChBE,sCAAsC;EDiBnD,WAAW,EAAE,IAAI;;;AAMlB,kEACkB;EACjB,KAAK,EAAE,KAAK;;;AAIb,gCAAkB;EACjB,KAAK,EAAE,IAAI;;;AAIZ,iCAAmB;EAClB,KAAK,EAAE,KAAK;;;AAIb,iCAAmB;EAClB,KAAK,EAAE,GAAG;;;AAGX,0BAAY;EACX,OAAO,EAAE,OAAO;;;AAIhB;;8CAES;EACR,WAAW,EAAE,IAAI;;;AAKpB,aAAG;EACF,MAAM,EAAE,CAAC;;;AAGV,aAAG;EACF,SAAS,EC5DK,IAAI;ED6DlB,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,WAAW;;;AAQpB,iBAAO;EACN,SAAS,ECvEK,IAAI;EDwElB,UAAU,EAAE,GAAG;;;AAGhB;yBACe;EACd,UAAU,ECtEI,OAAO;;;ADyEtB,8BAAoB;EACnB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,CAAC;;;AAGX,iCAAuB;EACtB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,CAAC;;;AAGX;4BACkB;EACjB,WAAW,EAAE,MAAM;;;AAGpB,qBAAW;EACV,MAAM,EAAE,4BAAgC;;;AAGzC,8BAAoB;EACnB,UAAU,EAAE,IAAI;;;AAGjB,oBAAU;EACT,KAAK,EAAE,GAAG;;;AAEV,6BAAS;EACR,KAAK,EAAE,IAAI;;;AAKb;gCACsB;EACrB,cAAc,EAAE,MAAM;;;AAGvB;+BACqB;EACpB,MAAM,EAAE,UAAU;;;AAGnB,mBAAS;EACR,MAAM,EAAE,CAAC;;;AAET,yBAAQ;EACP,OAAO,EAAE,EAAE;EACX,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAGZ,wDAAuC;EACtC,WAAW,EAAE,CAAC;EACd,cAAc,EAAE,GAAG;;;;AAMtB,aAAc;EACb,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,CAAC;;;AAIR;;;gEACQ;EACP,MAAM,EAAE,CAAC;;;;AAKZ,YAAa;EACZ,MAAM,EAAE,SAAS;;;;AAGlB;;mCAEoC;EACnC,MAAM,EAAE,CAAC;;;;AAGV;;kCAEmC;EAClC,aAAa,EAAE,CAAC;;;;AAGjB,wBAAyB;EACxB,MAAM,EAAE,iBAAqB;EAC7B,OAAO,EAAE,KAAK;;;AAEd,gCAAU;EACT,MAAM,EAAE,SAAS;;;;AAOnB,OAAQ;EACP,KAAK,ECnLU,OAAO;EDoLtB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,gBAAgB;EACzB,cAAc,EAAE,GAAG;EACnB,KAAK,EAAE,KAAK;;AAEZ,yBAAkC;;EATnC,OAAQ;IE3LP,SAAS,EAAE,KAAK;IAehB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;;;EAEX,aAAM;IACL,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,KAAK;;;;;AFiLtB,OAAQ;EACP,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,SAAS;EAClB,cAAc,EAAE,MAAM;;;;AAKtB,uBAAQ;EACP,OAAO,EAAE,CAAC;;;;AAIZ,aAAc;EACb,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,KAAK;;;;AAGf,iBAAkB;EACjB,KAAK,EAAE,IAAI;;;;AAGZ,eAAgB;EACf,cAAc,EAAE,GAAG;;;;AAGpB,eAAgB;EACf,UAAU,EAAE,KAAK;;;;AAGlB,iBAAkB;EACjB,OAAO,EAAE,IAAI;;;;AAId,iBAAkB;EACjB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,iBAAiC;;;AAEzC,yCAAwB;EACvB,QAAQ,EAAE,QAAQ;EAClB,iBAAiB,EAAE,EAAE;EAErB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,mBAAmB;EAC5B,aAAa,EAAE,eAAe;;;AAE9B,2DAAoB;EACnB,UAAU,EAAE,iBAAqB;;;AAGlC,gDAAS;EACR,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,KAAK;EAEd,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,QAAQ,EAAE,QAAQ;EAElB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EAEjB,KAAK,EC/PQ,OAAO;EDgQpB,UAAU,EAAE,MAAM;EAClB,YAAY,EAAE,iBAAqB;;;AAGpC,iDAAQ;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AAKZ,gCAAe;EACd,MAAM,EAAE,CAAC;;;AAET,uCAAS;EACR,OAAO,EAAE,EAAE;EACX,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,KAAK;EACd,WAAW,EAAE,IAAI;EACjB,gBAAgB,EAAE,SAAuB;;;AAI3C,iCAAgB;EACf,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,GAAG;EACV,QAAQ,EAAE,QAAQ;EAElB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,YAAY;EAErB,OAAO,EAAE,IAAI;;;AAEb,0DAAyB;EACxB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,OAAO;EAEpB,QAAQ,EAAE,MAAM;EAChB,QAAQ,EAAE,QAAQ;EAElB,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,QAAQ;;;AAEjB,iEAAS;EE3RX,OAAO,EF4RsB,GAAO;EE3RpC,WAAW,EAAE,WAAW;EACxB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;EACnB,YAAY,EAAE,MAAM;EACpB,cAAc,EAAE,IAAI;EACpB,WAAW,EAAE,CAAC;EACd,sBAAsB,EAAE,WAAW;EACnC,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;;;AFkRlB,uDAAsC;EACrC,OAAO,EAAE,KAAK;;;;AAOf,6BAAQ;EACP,OAAO,EAAE,GAAG;;;AAGb,sCAAiB;EAChB,gBAAgB,EChUF,OAAO;EDiUrB,OAAO,EAAE,kBAAkB;EAC3B,MAAM,EAAE,MAAM;EACd,UAAU,EAAE,KAAK;EACjB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;;;AAEhB,yCAAG;EACF,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,YAAY;;;AAGtB,8CAAQ;EACP,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAIb,oDAA+B;EEhW/B,SAAS,EAAE,KAAK;EAehB,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,GAAG;EACnB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;AAEX,0DAAM;EACL,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,KAAK;;;AF4UrB,qCAAgB;EACf,SAAS,EAAE,GAAG;EACd,YAAY,EAAE,GAAG;EACjB,eAAe,EAAE,IAAI;;;AAErB,gDAAW;EACV,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,KAAK;EACb,WAAW,EAAE,KAAK;EAClB,KAAK,EAAE,GAAG;;;AAEV,0EAA4B;EAC3B,WAAW,EAAE,KAAK;;;AAMrB,yCAAoB;EACnB,KAAK,EAAE,KAAK;;;;AAKd,0BAA2B;EAC1B,KAAK,ECnXU,OAAO;EDoXtB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,IAAI;;;;AAGlB,6BAA8B;EAC7B,KAAK,EC1XU,OAAO;ED2XtB,UAAU,EAAE,MAAM;;;;AAGnB,mBAAoB;EACnB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,IAAI;;;;AAGhB,cAAe;EACd,OAAO,EAAE,SAAS;;;;AAGnB,cAAe;EACd,OAAO,EAAE,YAAY;EACrB,aAAa,EAAE,IAAI;;;;AAGpB,2BAA4B;EAC3B,MAAM,EAAE,CAAC;;;;AAKT,8BAAY;EACX,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,MAAM;EACtB,YAAY,EAAE,IAAI;EAClB,KAAK,EAAE,IAAI;;;AAEX,kCAAI;EACH,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,IAAI;;;AAId;gCACc;EACb,UAAU,EC9ZI,OAAO;ED+ZrB,MAAM,EAAE,iBAAqB;EAC7B,aAAa,EAAE,GAAG;EAClB,kBAAkB,EAAE,GAAG;EACtB,MAAM,EAAE,UAAU;EACnB,OAAO,EAAE,GAAG;;;AAGb,gCAAc;EACb,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,KAAK;;;AAGjB,gEAA2B;EAC1B,QAAQ,EAAE,QAAQ;;;AAElB,kHAAyB;EACxB,UAAU,EAAE,6BAA6B;EACzC,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,IAAI;EACV,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,OAAO;EACpB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;;;AAOZ,uDAAyB;EACxB,GAAG,EAAE,IAAI;;;AAIX,0EAAqC;EACpC,MAAM,EAAE,OAAO;;;;AAKjB,kDAAmD;EAClD,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;EACtB,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;EACnB,UAAU,EAAE,CAAC;;;;AAGd,mBAAoB;EACnB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,GAAG;EACf,aAAa,EAAE,IAAI;;;AAEnB,uBAAI;EACH,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,IAAI;;;;AAIpB,oBAAqB;EACpB,MAAM,EAAE,CAAC;;;;AAGV,mBAAoB;EACnB,UAAU,EAAE,IAAI;;;;AAGjB,wBAAyB;EACxB,YAAY,EAAE,KAAK;;;AAGpB,yBAAkC;;EACjC;;mBAEkB;IACjB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;;;AGngBb;;gEAEgE;;AAChE,2BAA4B;EAC3B,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,UAAU,EAAE,KAAK;;;;AAGlB,uCAAwC;EACvC,YAAY,EAAE,KAAK;;;;AAKnB,oDAAW;EACV,MAAM,EAAE,CAAC;;;AAET,8GAA6B;EAC5B,OAAO,EAAE,OAAO;;;AAKhB,8GAAc;EACb,KAAK,EAAE,IAAI;;;AAKd,gDAAS;EACR,OAAO,EAAE,SAAS;EAClB,MAAM,EAAE,SAAS;;;AAEjB,sEAAW;EACV,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,QAAQ;;;AAIpB,gFAAyB;EACxB,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,IAAI;EACf,SAAS,EAAE,cAAc;;;AAG1B,gGAAiC;EAChC,cAAc,EAAE,CAAC;;;AAGlB,8CAAQ;EACP,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,QAAQ;;;AAIlB,8CAAQ;EACP,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,GAAG;;;AAGjB,kEAAkB;EACjB,KAAK,EAAE,GAAG;EACV,KAAK,EAAE,KAAK;;;AAGb;;wDACyC;EACxC,aAAa,EAAE,iBAAqB;;AAEpC,yBAAkC;;EAJnC;;0DACyC;IAIvC,aAAa,EAAE,CAAC;;;;AAIlB;;qCACsB;EACrB,WAAW,EAAE,KAAK;;;AC9EpB;;gEAEgE;AAEhE,uCAAuC;;AAIrC,sDAAS;EACR,OAAO,EAAE,OAAO;EAChB,OAAO,EAAE,YAAY;EACrB,IAAI,EAAE,uBAAuB;EAC7B,KAAK,EAAE,IAAI;EACX,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,eAAe,EAAE,eAAe;;;AAMhC,6DAAS;EACR,OAAO,EAAE,OAAO;;;;AAOpB,yBAA0B;EAEzB,aAAa,EAAE,IAAI;;;AAEnB,sDAA+B;EAC9B,UAAU,EAAE,IAAI;;;AAGjB,iDAA0B;EACzB,UAAU,EAAE,IAAI;;;AAGjB,kDAA2B;EAC1B,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,CAAC;;;AAGjB,8CAAuB;EAEtB,UAAU,EAAE,IAAI;;;AAEhB,qDAAO;EACN,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,GAAG;;;AAIlB,gCAAO;EACN,MAAM,EAAE,IAAI;;;;AAId,kBAAmB;EAElB,UAAU,EAAE,IAAI;;;AAEhB,6CAA6B;EAC5B,YAAY,EAAE,KAAK;EACnB,KAAK,EAAE,IAAI;;;AAKX,2DAAc;EACb,OAAO,EAAE,IAAI;;;AAIf,0BAAQ;EACP,OAAO,EAAE,QAAQ;EACjB,KAAK,EAAE,GAAG;;;AAGX,0BAAQ;EACP,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,CAAC;;;AAGX,2BAAS;EACR,aAAa,EAAE,IAAI;;;AAEnB,wCAAe;EACd,aAAa,EAAE,CAAC;;;AAMnB,8CAA8C;AAC9C,yCAA0C;;EAEzC,6CAA8C;IAC7C,YAAY,EAAE,CAAC;;;ACvGjB;;gEAEgE;;AAChE,kBAAmB;EAClB,SAAS,EAAE,MAAM;;;AAEjB,4BAAY;EACX,aAAa,EAAE,GAAG;;;AAGnB,2CAAyB;EACxB,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,IAAI;EAChB,UAAU,EJMI,OAAO;EILrB,MAAM,EAAE,iBAAqB;EAC7B,UAAU,EAAE,6BAA2B;;;AAEvC,qDAAU;EACT,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,OAAO;;;AAGrB,+DAAoB;EACnB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,SAAS;EAClB,WAAW,EAAE,KAAK;;AAElB,yBAAkC;;EALnC,+DAAoB;IAMlB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;;;;AAMjB,6CAA2B;EAC1B,UAAU,EAAE,GAAG;EACf,OAAO,EAAE,SAAS;EAClB,gBAAgB,EAAE,OAAO;;;AAEzB,iEAAoB;EACnB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;EAChB,cAAc,EAAE,SAAS;;;AAG1B,uEAA0B;EACzB,WAAW,EAAE,MAAM;;;AAKpB,uEAA+B;EAC9B,OAAO,EAAE,WAAW;;;AAGrB,wDAAgB;EACf,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;;;AAGjB,4EAAoC;EACnC,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,YAAY;;;ACjE/B;;gEAEgE;;AAEhE,mCAAoC;EACnC,MAAM,EAAE,CAAC;;;;AAMT;;kCAAoB;EACnB,SAAS,EAAE,KAAK;;;;AAKjB,0DAAa;EACZ,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,IAAI;;;;AAIf,YAAa;EACZ,OAAO,EAAE,IAAI;;;AACb,sBAAY;EACX,OAAO,EAAE,KAAK;;;AC1BhB;;gEAEgE;;AAO9D;uDAA6B;EAC5B,OAAO,EAAE,OAAO;;;AAKhB;iEAAqC;EACpC,KAAK,EAAE,IAAI;;;AAGZ;;yCAA0C;EACzC,WAAW,EAAE,CAAC;EACd,UAAU,EAAE,GAAG;EACf,OAAO,EAAE,KAAK;;;AAGf;gDAAkB;EACjB,SAAS,EAAE,GAAG;;;AACd;4EAA4B;EAC3B,OAAO,EAAE,KAAK;;;AAKjB;gCAAM;EACL,OAAO,EAAE,KAAK;EACd,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,OAAO;;;AAKlB;wBAAS;EACR,SAAS,EAAE,GAAG;;;AAGf;qCAAsB;EACrB,aAAa,EAAE,iBAAqB;;;AAGrC;iEAAkD;EACjD,aAAa,EAAE,CAAC;EAChB,aAAa,EAAE,MAAM;;;AAGtB;;;;;iCAEkB;EACjB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAGZ;+BAAgB;EACf,OAAO,EAAE,IAAI;;;AAGd;uBAAQ;EL9CR,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,GAAG;EACnB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;EK4CV,YAAY,EAAE,CAAC;EACf,aAAa,EAAE,CAAC;;;AL3CjB;6BAAM;EACL,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,KAAK;;;AAhBrB;6BAAM;EACL,SAAS,EDHK,IAAI;ECIlB,WAAW,EAAE,KAAK;;;AK0DlB;8CAAQ;EACP,WAAW,EAAE,CAAC;;;AAEf;gEAA0B;EACzB,OAAO,EAAE,CAAC;;;AAMX;wCAAQ;EACP,OAAO,EAAE,CAAC;;;AAKX;mEAA2B;EAC1B,UAAU,EAAE,GAAG;;;AAQf;;;oDAAI;EACH,SAAS,EAAE,GAAG;EAEd,MAAM,EAAE,IAAI;;;AAKf;gCAAiB;EAChB,OAAO,EAAE,MAAM;EACf,WAAW,EAAE,MAAM;;;AAGpB;yCAA0B;EACzB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,OAAO;;;AAKhB;;;4DAC0B;EACzB,WAAW,EAAE,MAAM;EACnB,OAAO,EAAE,MAAM;;;AAIjB;kDAAmC;EAClC,cAAc,EAAE,KAAK;;;AAGtB;mCAAoB;EACnB,SAAS,EAAE,KAAK;EAChB,UAAU,EAAE,MAAM;;;AAGnB;+BAAgB;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,CAAC;;;AAGlB;mCAAoB;EACnB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;;;;AC7IjB,wBAAW;EACV,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,OAAO;EACf,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,QAAQ;;;AAClB,+BAAS;EACR,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,yBAAyB;EAC/B,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,QAAQ;EACjB,GAAG,EAAE,CAAC;EACN,QAAQ,EAAE,QAAQ;EAClB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,eAAe,EAAE,eAAe;;;AAMhC,+CAAS;EACR,OAAO,EAAE,OAAO;;;AAKnB,2EAA8D;EAC7D,kBAAkB,EAAE,eAAe;EACnC,UAAU,EAAE,eAAe;EAC3B,MAAM,EAAE,eAAe;EACvB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,IAAI;EACT,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,EAAE;;;AACX,2FAAkB;EACjB,MAAM,EAAE,OAAO;EACf,KAAK,EPvBQ,IAAI;EOwBjB,OAAO,EAAE,CAAC;;;AACV,iGAAQ;EACP,KAAK,EP3BO,IAAI;;;AQpBpB;;;;;;;;;;;;GAYG;;AAEH,uCAAwC;EACvC,MAAM,EAAC,EAAE;;;;AAQV,yDAA0D;EACzD,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,qBAAqB,EAAE,CAAC;EACxB,kBAAkB,EAAE,CAAC;EACrB,aAAa,EAAE,CAAC;EAChB,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,iBAAiB;EACzB,UAAU,EAAE,IAAI;EAChB,kBAAkB,EAAE,8BAA8B;EAClD,UAAU,EAAE,8BAA8B;EAC1C,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EA6KX,0BAA0B;;;AA3K1B,6DAAE;EACD,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,uBAAuB;EACpC,qBAAqB,EAAE,CAAC;EACxB,kBAAkB,EAAE,CAAC;EACrB,aAAa,EAAE,CAAC;;;AAGjB,qEAAM;EACL,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,IAAI;EACZ,eAAe,EAAE,QAAQ;;;AAG1B;;kDACsB;EACrB,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;;;AAGpB,qIAAsC;EACrC,UAAU,EAAE,WAAW;EACvB,YAAY,EAAE,WAAW;EACzB,MAAM,EAAE,OAAO;;;AAGhB,mGAAqB;EACpB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,MAAM;EACf,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;;AAElB,iHAAO;EACN,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;;;AAIrB;;gDACoB;EACnB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;;;AAGZ;;+DACmC;EAClC,MAAM,EAAE,IAAI;;;AAGb;;sDAC0B;EACzB,IAAI,EAAE,CAAC;;;AAGR;;sDAC0B;EACzB,KAAK,EAAE,CAAC;;;AAGT;;qDACyB;EACxB,OAAO,EAAE,IAAI;;;AAGd,iGAAoB;EACnB,KAAK,EAAE,IAAI;;;AAGZ,iGAAoB;EACnB,KAAK,EAAE,KAAK;;;AAGb;;uDAC2B;EAC1B,IAAI,EAAE,4BAA4B;EAClC,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,IAAI;EACX,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;;AAGb,+GAA2B;EAC1B,OAAO,EAAE,OAAO;;;AAGjB,+GAA2B;EAC1B,OAAO,EAAE,OAAO;;;AAGjB;;6DACiC;EAChC,OAAO,EAAE,GAAG;;;AAGb;;sDAC0B;EACzB,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,WAAW;EACvB,YAAY,EAAE,WAAW;EACzB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;AACX;;6DAAO;EACN,KAAK,EAAE,IAAI;;;AAIb,qEAAM;EACL,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;;;AAChB,2EAAG;EACF,WAAW,EAAE,MAAM;;;AAIrB,+DAAG;EACF,OAAO,EAAE,IAAI;;;AAGd,+DAAG;EACF,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,iBAAkB;;;AAG3B,mHAA6B;EAC5B,MAAM,EAAE,WAAW;;;AAGpB,6GAA0B;EACzB,gBAAgB,EA7JR,OAAO;EA8Jf,MAAM,EAAE,iBAAkB;;;AAC1B,qJAAsB;EACrB,kBAAkB,EAAE,wCAAwC;EAC5D,eAAe,EAAE,wCAAwC;EACzD,UAAU,EAAE,wCAAwC;;;AAItD,uGAAuB;EACtB,gBAAgB,EAAE,OAAO;;;AAG1B,mHAA6B;EAC5B,UAAU,EAAE,OAAO;;;AAGpB,mGAAqB;EACpB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAClB,eAAe,EAAE,IAAI;EACrB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,QAAQ;EACjB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,IAAI;;;AAGZ,uIAAuC;EACtC,OAAO,EAAE,GAAG;;;AAIb;;kDACsB;EACrB,UAAU,EAhMA,OAAO;;;AAmMlB,qEAAM;EACL,UAAU,EAnMA,OAAO;;;AAsMlB,kMAAwC;EACvC,UAAU,EAtMI,OAAO;EAuMrB,KAAK,EAAE,IAAI;;;AAGZ,+FAAmB;EAClB,SAAS,EAAE,IAAI;;;AACf,qGAAG;EACF,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,MAAM;;;AACf,2GAAG;EACF,KAAK,EAAE,IAAI;EACX,KAAK,EAAC,IAAI;EACV,OAAO,EAAE,SAAS;;;AAEnB,2GAAG;EACF,MAAM,EAAE,eAAe;;;AACvB,yHAAO;EACN,KAAK,EAAE,IAAI;;;AAKd,uJAA4B;EAC3B,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;;;AAEhB,oXAAmC;EAClC,OAAO,EAAE,UAAU;EACnB,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,GAAG;EACvB,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,gBAAgB;;;;AAS1B;;qEACsB;EACrB,UAAU,EAlPD,OAAO;;;AAqPjB,2GAAM;EACL,UAAU,EArPD,OAAO;;;AAwPjB,qIAAmB;EAClB,UAAU,EAxPG,OAAO;EAyPpB,KAAK,EAAE,IAAI;;;;AAMZ;;oEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,yGAAM;EACL,UAAU,EAAE,OAAO;;;AAQnB,0QAAkC;EACjC,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;AAGZ,2IAAsB;EACrB,UAAU,EAAE,IAAI;;;;AAQlB;;sEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,6GAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,uIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;yEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,mHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,6IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;wEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,iHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,2IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;qEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,2GAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,qIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;;;uFAEsC;EACrC,UAAU,EAAE,OAAO;;;AAGpB,yGAAG;EACF,YAAY,EAAE,OAAO;EACrB,UAAU,EAAE,OAAO;;;AAGpB,yIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;qEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB;;yEAC0B;EACzB,KAAK,EAAE,IAAI;;;AAGZ,2GAAM;EACL,UAAU,EAAE,IAAI;;;AAGjB;;;;;;0EAG2B;EAC1B,KAAK,EAAE,IAAI;;;AAIX,8QAAkC;EACjC,UAAU,EAAE,IAAI;;;AAGjB,6IAAsB;EACrB,UAAU,EAAE,IAAI;;;;AAOlB;;6EACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,2HAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,qJAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;wEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,iHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,2IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;ACncd;;GAEG;;ACJH,eAAgB;EACf,OAAO,EAAE,IAAI;;;;AAGd,wBAAyB;EACxB,QAAQ,EAAE,QAAQ;;;AAElB,yCAAiB;EAChB,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,UAAU,EAAE,KAAK;;;AAGlB,2BAAG;EACF,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,GAAG;;;;AAOjB,iDAA8B;EAC7B,YAAY,EAAE,KAAK;;;AAGpB,qDAAkC;EACjC,YAAY,EAAE,IAAI;;;;AAKpB,mCAAoC;EACnC,KAAK,EAAE,CAAC;EACR,QAAQ,EAAE,QAAQ;;;;AAGnB,YAAa;EACZ,UAAU,EAAE,2CAA2C;EACvD,uBAAuB,EAAE,SAAS;EAClC,eAAe,EAAE,SAAS;EAC1B,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,KAAK;EACZ,cAAc,EAAE,MAAM;EACtB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,iBAAiB;EACzB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,UAAU",
|
4 |
-
"sources": ["sass/cmb2.scss","sass/partials/_main_wrap.scss","sass/partials/_variables.scss","sass/partials/_mixins.scss","sass/partials/_post_metaboxes.scss","sass/partials/_context_metaboxes.scss","sass/partials/_options-page.scss","sass/partials/_misc.scss","sass/partials/_sidebar_placements.scss","sass/partials/_collapsible_ui.scss","sass/partials/_jquery_ui.scss","sass/cmb2-front.scss","sass/partials/_front.scss"],
|
5 |
-
"names": [],
|
6 |
-
"file": "cmb2-front.css"
|
7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/cmb2.css.map
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"version": 3,
|
3 |
-
"mappings": ";AAAA;;GAEG;ACFH;;gEAEgE;;AAEhE,UAAW;EACV,MAAM,EAAE,CAAC;;;AAET;mBACS;EACR,SAAS,ECEK,IAAI;EDDlB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,GAAG;;;AAMZ,uCAAc;EACb,KAAK,EAAE,IAAI;;;AAIb,mBAAS;EACR,KAAK,EAAE,KAAK;;;AAEZ,sCAAqB;EACpB,WAAW,EChBE,sCAAsC;EDiBnD,WAAW,EAAE,IAAI;;;AAMlB,kEACkB;EACjB,KAAK,EAAE,KAAK;;;AAIb,gCAAkB;EACjB,KAAK,EAAE,IAAI;;;AAIZ,iCAAmB;EAClB,KAAK,EAAE,KAAK;;;AAIb,iCAAmB;EAClB,KAAK,EAAE,GAAG;;;AAGX,0BAAY;EACX,OAAO,EAAE,OAAO;;;AAIhB;;8CAES;EACR,WAAW,EAAE,IAAI;;;AAKpB,aAAG;EACF,MAAM,EAAE,CAAC;;;AAGV,aAAG;EACF,SAAS,EC5DK,IAAI;ED6DlB,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,WAAW;;;AAQpB,iBAAO;EACN,SAAS,ECvEK,IAAI;EDwElB,UAAU,EAAE,GAAG;;;AAGhB;yBACe;EACd,UAAU,ECtEI,OAAO;;;ADyEtB,8BAAoB;EACnB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,CAAC;;;AAGX,iCAAuB;EACtB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,CAAC;;;AAGX;4BACkB;EACjB,WAAW,EAAE,MAAM;;;AAGpB,qBAAW;EACV,MAAM,EAAE,4BAAgC;;;AAGzC,8BAAoB;EACnB,UAAU,EAAE,IAAI;;;AAGjB,oBAAU;EACT,KAAK,EAAE,GAAG;;;AAEV,6BAAS;EACR,KAAK,EAAE,IAAI;;;AAKb;gCACsB;EACrB,cAAc,EAAE,MAAM;;;AAGvB;+BACqB;EACpB,MAAM,EAAE,UAAU;;;AAGnB,mBAAS;EACR,MAAM,EAAE,CAAC;;;AAET,yBAAQ;EACP,OAAO,EAAE,EAAE;EACX,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAGZ,wDAAuC;EACtC,WAAW,EAAE,CAAC;EACd,cAAc,EAAE,GAAG;;;;AAMtB,aAAc;EACb,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,CAAC;;;AAIR;;;gEACQ;EACP,MAAM,EAAE,CAAC;;;;AAKZ,YAAa;EACZ,MAAM,EAAE,SAAS;;;;AAGlB;;mCAEoC;EACnC,MAAM,EAAE,CAAC;;;;AAGV;;kCAEmC;EAClC,aAAa,EAAE,CAAC;;;;AAGjB,wBAAyB;EACxB,MAAM,EAAE,iBAAqB;EAC7B,OAAO,EAAE,KAAK;;;AAEd,gCAAU;EACT,MAAM,EAAE,SAAS;;;;AAOnB,OAAQ;EACP,KAAK,ECnLU,OAAO;EDoLtB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,gBAAgB;EACzB,cAAc,EAAE,GAAG;EACnB,KAAK,EAAE,KAAK;;AAEZ,yBAAkC;;EATnC,OAAQ;IE3LP,SAAS,EAAE,KAAK;IAehB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;;;EAEX,aAAM;IACL,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,KAAK;;;;;AFiLtB,OAAQ;EACP,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,SAAS;EAClB,cAAc,EAAE,MAAM;;;;AAKtB,uBAAQ;EACP,OAAO,EAAE,CAAC;;;;AAIZ,aAAc;EACb,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,KAAK;;;;AAGf,iBAAkB;EACjB,KAAK,EAAE,IAAI;;;;AAGZ,eAAgB;EACf,cAAc,EAAE,GAAG;;;;AAGpB,eAAgB;EACf,UAAU,EAAE,KAAK;;;;AAGlB,iBAAkB;EACjB,OAAO,EAAE,IAAI;;;;AAId,iBAAkB;EACjB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,iBAAiC;;;AAEzC,yCAAwB;EACvB,QAAQ,EAAE,QAAQ;EAClB,iBAAiB,EAAE,EAAE;EAErB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,mBAAmB;EAC5B,aAAa,EAAE,eAAe;;;AAE9B,2DAAoB;EACnB,UAAU,EAAE,iBAAqB;;;AAGlC,gDAAS;EACR,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,KAAK;EAEd,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,QAAQ,EAAE,QAAQ;EAElB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EAEjB,KAAK,EC/PQ,OAAO;EDgQpB,UAAU,EAAE,MAAM;EAClB,YAAY,EAAE,iBAAqB;;;AAGpC,iDAAQ;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;;AAKZ,gCAAe;EACd,MAAM,EAAE,CAAC;;;AAET,uCAAS;EACR,OAAO,EAAE,EAAE;EACX,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,KAAK;EACb,OAAO,EAAE,KAAK;EACd,WAAW,EAAE,IAAI;EACjB,gBAAgB,EAAE,SAAuB;;;AAI3C,iCAAgB;EACf,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,GAAG;EACV,QAAQ,EAAE,QAAQ;EAElB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,YAAY;EAErB,OAAO,EAAE,IAAI;;;AAEb,0DAAyB;EACxB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,OAAO;EAEpB,QAAQ,EAAE,MAAM;EAChB,QAAQ,EAAE,QAAQ;EAElB,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,QAAQ;;;AAEjB,iEAAS;EE3RX,OAAO,EF4RsB,GAAO;EE3RpC,WAAW,EAAE,WAAW;EACxB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;EACnB,YAAY,EAAE,MAAM;EACpB,cAAc,EAAE,IAAI;EACpB,WAAW,EAAE,CAAC;EACd,sBAAsB,EAAE,WAAW;EACnC,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,CAAC;EACd,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;;;AFkRlB,uDAAsC;EACrC,OAAO,EAAE,KAAK;;;;AAOf,6BAAQ;EACP,OAAO,EAAE,GAAG;;;AAGb,sCAAiB;EAChB,gBAAgB,EChUF,OAAO;EDiUrB,OAAO,EAAE,kBAAkB;EAC3B,MAAM,EAAE,MAAM;EACd,UAAU,EAAE,KAAK;EACjB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;;;AAEhB,yCAAG;EACF,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,YAAY;;;AAGtB,8CAAQ;EACP,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAIb,oDAA+B;EEhW/B,SAAS,EAAE,KAAK;EAehB,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,GAAG;EACnB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;AAEX,0DAAM;EACL,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,KAAK;;;AF4UrB,qCAAgB;EACf,SAAS,EAAE,GAAG;EACd,YAAY,EAAE,GAAG;EACjB,eAAe,EAAE,IAAI;;;AAErB,gDAAW;EACV,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,KAAK;EACb,WAAW,EAAE,KAAK;EAClB,KAAK,EAAE,GAAG;;;AAEV,0EAA4B;EAC3B,WAAW,EAAE,KAAK;;;AAMrB,yCAAoB;EACnB,KAAK,EAAE,KAAK;;;;AAKd,0BAA2B;EAC1B,KAAK,ECnXU,OAAO;EDoXtB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,IAAI;;;;AAGlB,6BAA8B;EAC7B,KAAK,EC1XU,OAAO;ED2XtB,UAAU,EAAE,MAAM;;;;AAGnB,mBAAoB;EACnB,MAAM,EAAE,SAAS;EACjB,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,IAAI;;;;AAGhB,cAAe;EACd,OAAO,EAAE,SAAS;;;;AAGnB,cAAe;EACd,OAAO,EAAE,YAAY;EACrB,aAAa,EAAE,IAAI;;;;AAGpB,2BAA4B;EAC3B,MAAM,EAAE,CAAC;;;;AAKT,8BAAY;EACX,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,MAAM;EACtB,YAAY,EAAE,IAAI;EAClB,KAAK,EAAE,IAAI;;;AAEX,kCAAI;EACH,SAAS,EAAE,KAAK;EAChB,MAAM,EAAE,IAAI;;;AAId;gCACc;EACb,UAAU,EC9ZI,OAAO;ED+ZrB,MAAM,EAAE,iBAAqB;EAC7B,aAAa,EAAE,GAAG;EAClB,kBAAkB,EAAE,GAAG;EACtB,MAAM,EAAE,UAAU;EACnB,OAAO,EAAE,GAAG;;;AAGb,gCAAc;EACb,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,KAAK;;;AAGjB,gEAA2B;EAC1B,QAAQ,EAAE,QAAQ;;;AAElB,kHAAyB;EACxB,UAAU,EAAE,6BAA6B;EACzC,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,IAAI;EACV,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,OAAO;EACpB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;;;AAOZ,uDAAyB;EACxB,GAAG,EAAE,IAAI;;;AAIX,0EAAqC;EACpC,MAAM,EAAE,OAAO;;;;AAKjB,kDAAmD;EAClD,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;EACtB,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,IAAI;EACnB,UAAU,EAAE,CAAC;;;;AAGd,mBAAoB;EACnB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,GAAG;EACf,aAAa,EAAE,IAAI;;;AAEnB,uBAAI;EACH,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,IAAI;;;;AAIpB,oBAAqB;EACpB,MAAM,EAAE,CAAC;;;;AAGV,mBAAoB;EACnB,UAAU,EAAE,IAAI;;;;AAGjB,wBAAyB;EACxB,YAAY,EAAE,KAAK;;;AAGpB,yBAAkC;;EACjC;;mBAEkB;IACjB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;;;AGngBb;;gEAEgE;;AAChE,2BAA4B;EAC3B,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,UAAU,EAAE,KAAK;;;;AAGlB,uCAAwC;EACvC,YAAY,EAAE,KAAK;;;;AAKnB,oDAAW;EACV,MAAM,EAAE,CAAC;;;AAET,8GAA6B;EAC5B,OAAO,EAAE,OAAO;;;AAKhB,8GAAc;EACb,KAAK,EAAE,IAAI;;;AAKd,gDAAS;EACR,OAAO,EAAE,SAAS;EAClB,MAAM,EAAE,SAAS;;;AAEjB,sEAAW;EACV,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,QAAQ;;;AAIpB,gFAAyB;EACxB,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,IAAI;EACf,SAAS,EAAE,cAAc;;;AAG1B,gGAAiC;EAChC,cAAc,EAAE,CAAC;;;AAGlB,8CAAQ;EACP,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,QAAQ;;;AAIlB,8CAAQ;EACP,aAAa,EAAE,CAAC;EAChB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,GAAG;;;AAGjB,kEAAkB;EACjB,KAAK,EAAE,GAAG;EACV,KAAK,EAAE,KAAK;;;AAGb;;wDACyC;EACxC,aAAa,EAAE,iBAAqB;;AAEpC,yBAAkC;;EAJnC;;0DACyC;IAIvC,aAAa,EAAE,CAAC;;;;AAIlB;;qCACsB;EACrB,WAAW,EAAE,KAAK;;;AC9EpB;;gEAEgE;AAEhE,uCAAuC;;AAIrC,sDAAS;EACR,OAAO,EAAE,OAAO;EAChB,OAAO,EAAE,YAAY;EACrB,IAAI,EAAE,uBAAuB;EAC7B,KAAK,EAAE,IAAI;EACX,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,eAAe,EAAE,eAAe;;;AAMhC,6DAAS;EACR,OAAO,EAAE,OAAO;;;;AAOpB,yBAA0B;EAEzB,aAAa,EAAE,IAAI;;;AAEnB,sDAA+B;EAC9B,UAAU,EAAE,IAAI;;;AAGjB,iDAA0B;EACzB,UAAU,EAAE,IAAI;;;AAGjB,kDAA2B;EAC1B,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,CAAC;;;AAGjB,8CAAuB;EAEtB,UAAU,EAAE,IAAI;;;AAEhB,qDAAO;EACN,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,GAAG;;;AAIlB,gCAAO;EACN,MAAM,EAAE,IAAI;;;;AAId,kBAAmB;EAElB,UAAU,EAAE,IAAI;;;AAEhB,6CAA6B;EAC5B,YAAY,EAAE,KAAK;EACnB,KAAK,EAAE,IAAI;;;AAKX,2DAAc;EACb,OAAO,EAAE,IAAI;;;AAIf,0BAAQ;EACP,OAAO,EAAE,QAAQ;EACjB,KAAK,EAAE,GAAG;;;AAGX,0BAAQ;EACP,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,CAAC;;;AAGX,2BAAS;EACR,aAAa,EAAE,IAAI;;;AAEnB,wCAAe;EACd,aAAa,EAAE,CAAC;;;AAMnB,8CAA8C;AAC9C,yCAA0C;;EAEzC,6CAA8C;IAC7C,YAAY,EAAE,CAAC;;;ACvGjB;;gEAEgE;;AAChE,kBAAmB;EAClB,SAAS,EAAE,MAAM;;;AAEjB,4BAAY;EACX,aAAa,EAAE,GAAG;;;AAGnB,2CAAyB;EACxB,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,IAAI;EAChB,UAAU,EJMI,OAAO;EILrB,MAAM,EAAE,iBAAqB;EAC7B,UAAU,EAAE,6BAA2B;;;AAEvC,qDAAU;EACT,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,OAAO;;;AAGrB,+DAAoB;EACnB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,SAAS;EAClB,WAAW,EAAE,KAAK;;AAElB,yBAAkC;;EALnC,+DAAoB;IAMlB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;;;;AAMjB,6CAA2B;EAC1B,UAAU,EAAE,GAAG;EACf,OAAO,EAAE,SAAS;EAClB,gBAAgB,EAAE,OAAO;;;AAEzB,iEAAoB;EACnB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;EAChB,cAAc,EAAE,SAAS;;;AAG1B,uEAA0B;EACzB,WAAW,EAAE,MAAM;;;AAKpB,uEAA+B;EAC9B,OAAO,EAAE,WAAW;;;AAGrB,wDAAgB;EACf,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;;;AAGjB,4EAAoC;EACnC,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,YAAY;;;ACjE/B;;gEAEgE;;AAEhE,mCAAoC;EACnC,MAAM,EAAE,CAAC;;;;AAMT;;kCAAoB;EACnB,SAAS,EAAE,KAAK;;;;AAKjB,0DAAa;EACZ,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,IAAI;;;;AAIf,YAAa;EACZ,OAAO,EAAE,IAAI;;;AACb,sBAAY;EACX,OAAO,EAAE,KAAK;;;AC1BhB;;gEAEgE;;AAO9D;uDAA6B;EAC5B,OAAO,EAAE,OAAO;;;AAKhB;iEAAqC;EACpC,KAAK,EAAE,IAAI;;;AAGZ;;yCAA0C;EACzC,WAAW,EAAE,CAAC;EACd,UAAU,EAAE,GAAG;EACf,OAAO,EAAE,KAAK;;;AAGf;gDAAkB;EACjB,SAAS,EAAE,GAAG;;;AACd;4EAA4B;EAC3B,OAAO,EAAE,KAAK;;;AAKjB;gCAAM;EACL,OAAO,EAAE,KAAK;EACd,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,OAAO;;;AAKlB;wBAAS;EACR,SAAS,EAAE,GAAG;;;AAGf;qCAAsB;EACrB,aAAa,EAAE,iBAAqB;;;AAGrC;iEAAkD;EACjD,aAAa,EAAE,CAAC;EAChB,aAAa,EAAE,MAAM;;;AAGtB;;;;;iCAEkB;EACjB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;;;AAGZ;+BAAgB;EACf,OAAO,EAAE,IAAI;;;AAGd;uBAAQ;EL9CR,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,GAAG;EACnB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;EK4CV,YAAY,EAAE,CAAC;EACf,aAAa,EAAE,CAAC;;;AL3CjB;6BAAM;EACL,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,KAAK;;;AAhBrB;6BAAM;EACL,SAAS,EDHK,IAAI;ECIlB,WAAW,EAAE,KAAK;;;AK0DlB;8CAAQ;EACP,WAAW,EAAE,CAAC;;;AAEf;gEAA0B;EACzB,OAAO,EAAE,CAAC;;;AAMX;wCAAQ;EACP,OAAO,EAAE,CAAC;;;AAKX;mEAA2B;EAC1B,UAAU,EAAE,GAAG;;;AAQf;;;oDAAI;EACH,SAAS,EAAE,GAAG;EAEd,MAAM,EAAE,IAAI;;;AAKf;gCAAiB;EAChB,OAAO,EAAE,MAAM;EACf,WAAW,EAAE,MAAM;;;AAGpB;yCAA0B;EACzB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,OAAO;;;AAKhB;;;4DAC0B;EACzB,WAAW,EAAE,MAAM;EACnB,OAAO,EAAE,MAAM;;;AAIjB;kDAAmC;EAClC,cAAc,EAAE,KAAK;;;AAGtB;mCAAoB;EACnB,SAAS,EAAE,KAAK;EAChB,UAAU,EAAE,MAAM;;;AAGnB;+BAAgB;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,CAAC;;;AAGlB;mCAAoB;EACnB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;;;;AC7IjB,wBAAW;EACV,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,OAAO;EACf,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,QAAQ;;;AAClB,+BAAS;EACR,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,yBAAyB;EAC/B,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,QAAQ;EACjB,GAAG,EAAE,CAAC;EACN,QAAQ,EAAE,QAAQ;EAClB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,eAAe,EAAE,eAAe;;;AAMhC,+CAAS;EACR,OAAO,EAAE,OAAO;;;AAKnB,2EAA8D;EAC7D,kBAAkB,EAAE,eAAe;EACnC,UAAU,EAAE,eAAe;EAC3B,MAAM,EAAE,eAAe;EACvB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,IAAI;EACT,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE,EAAE;;;AACX,2FAAkB;EACjB,MAAM,EAAE,OAAO;EACf,KAAK,EPvBQ,IAAI;EOwBjB,OAAO,EAAE,CAAC;;;AACV,iGAAQ;EACP,KAAK,EP3BO,IAAI;;;AQpBpB;;;;;;;;;;;;GAYG;;AAEH,uCAAwC;EACvC,MAAM,EAAC,EAAE;;;;AAQV,yDAA0D;EACzD,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,qBAAqB,EAAE,CAAC;EACxB,kBAAkB,EAAE,CAAC;EACrB,aAAa,EAAE,CAAC;EAChB,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,iBAAiB;EACzB,UAAU,EAAE,IAAI;EAChB,kBAAkB,EAAE,8BAA8B;EAClD,UAAU,EAAE,8BAA8B;EAC1C,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EA6KX,0BAA0B;;;AA3K1B,6DAAE;EACD,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,uBAAuB;EACpC,qBAAqB,EAAE,CAAC;EACxB,kBAAkB,EAAE,CAAC;EACrB,aAAa,EAAE,CAAC;;;AAGjB,qEAAM;EACL,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,IAAI;EACZ,eAAe,EAAE,QAAQ;;;AAG1B;;kDACsB;EACrB,gBAAgB,EAAE,IAAI;EACtB,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;;;AAGpB,qIAAsC;EACrC,UAAU,EAAE,WAAW;EACvB,YAAY,EAAE,WAAW;EACzB,MAAM,EAAE,OAAO;;;AAGhB,mGAAqB;EACpB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,MAAM;EACf,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,MAAM;;;AAElB,iHAAO;EACN,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;;;AAIrB;;gDACoB;EACnB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;;;AAGZ;;+DACmC;EAClC,MAAM,EAAE,IAAI;;;AAGb;;sDAC0B;EACzB,IAAI,EAAE,CAAC;;;AAGR;;sDAC0B;EACzB,KAAK,EAAE,CAAC;;;AAGT;;qDACyB;EACxB,OAAO,EAAE,IAAI;;;AAGd,iGAAoB;EACnB,KAAK,EAAE,IAAI;;;AAGZ,iGAAoB;EACnB,KAAK,EAAE,KAAK;;;AAGb;;uDAC2B;EAC1B,IAAI,EAAE,4BAA4B;EAClC,YAAY,EAAE,GAAG;EACjB,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,IAAI;EACX,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;;AAGb,+GAA2B;EAC1B,OAAO,EAAE,OAAO;;;AAGjB,+GAA2B;EAC1B,OAAO,EAAE,OAAO;;;AAGjB;;6DACiC;EAChC,OAAO,EAAE,GAAG;;;AAGb;;sDAC0B;EACzB,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,WAAW;EACvB,YAAY,EAAE,WAAW;EACzB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;;;AACX;;6DAAO;EACN,KAAK,EAAE,IAAI;;;AAIb,qEAAM;EACL,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;;;AAChB,2EAAG;EACF,WAAW,EAAE,MAAM;;;AAIrB,+DAAG;EACF,OAAO,EAAE,IAAI;;;AAGd,+DAAG;EACF,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,iBAAkB;;;AAG3B,mHAA6B;EAC5B,MAAM,EAAE,WAAW;;;AAGpB,6GAA0B;EACzB,gBAAgB,EA7JR,OAAO;EA8Jf,MAAM,EAAE,iBAAkB;;;AAC1B,qJAAsB;EACrB,kBAAkB,EAAE,wCAAwC;EAC5D,eAAe,EAAE,wCAAwC;EACzD,UAAU,EAAE,wCAAwC;;;AAItD,uGAAuB;EACtB,gBAAgB,EAAE,OAAO;;;AAG1B,mHAA6B;EAC5B,UAAU,EAAE,OAAO;;;AAGpB,mGAAqB;EACpB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAClB,eAAe,EAAE,IAAI;EACrB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,QAAQ;EACjB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,IAAI;;;AAGZ,uIAAuC;EACtC,OAAO,EAAE,GAAG;;;AAIb;;kDACsB;EACrB,UAAU,EAhMA,OAAO;;;AAmMlB,qEAAM;EACL,UAAU,EAnMA,OAAO;;;AAsMlB,kMAAwC;EACvC,UAAU,EAtMI,OAAO;EAuMrB,KAAK,EAAE,IAAI;;;AAGZ,+FAAmB;EAClB,SAAS,EAAE,IAAI;;;AACf,qGAAG;EACF,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,MAAM;;;AACf,2GAAG;EACF,KAAK,EAAE,IAAI;EACX,KAAK,EAAC,IAAI;EACV,OAAO,EAAE,SAAS;;;AAEnB,2GAAG;EACF,MAAM,EAAE,eAAe;;;AACvB,yHAAO;EACN,KAAK,EAAE,IAAI;;;AAKd,uJAA4B;EAC3B,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;;;AAEhB,oXAAmC;EAClC,OAAO,EAAE,UAAU;EACnB,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,GAAG;EACvB,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,gBAAgB;;;;AAS1B;;qEACsB;EACrB,UAAU,EAlPD,OAAO;;;AAqPjB,2GAAM;EACL,UAAU,EArPD,OAAO;;;AAwPjB,qIAAmB;EAClB,UAAU,EAxPG,OAAO;EAyPpB,KAAK,EAAE,IAAI;;;;AAMZ;;oEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,yGAAM;EACL,UAAU,EAAE,OAAO;;;AAQnB,0QAAkC;EACjC,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;AAGZ,2IAAsB;EACrB,UAAU,EAAE,IAAI;;;;AAQlB;;sEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,6GAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,uIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;yEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,mHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,6IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;wEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,iHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,2IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;qEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,2GAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,qIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;;;uFAEsC;EACrC,UAAU,EAAE,OAAO;;;AAGpB,yGAAG;EACF,YAAY,EAAE,OAAO;EACrB,UAAU,EAAE,OAAO;;;AAGpB,yIAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;qEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB;;yEAC0B;EACzB,KAAK,EAAE,IAAI;;;AAGZ,2GAAM;EACL,UAAU,EAAE,IAAI;;;AAGjB;;;;;;0EAG2B;EAC1B,KAAK,EAAE,IAAI;;;AAIX,8QAAkC;EACjC,UAAU,EAAE,IAAI;;;AAGjB,6IAAsB;EACrB,UAAU,EAAE,IAAI;;;;AAOlB;;6EACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,2HAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,qJAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI;;;;AAMZ;;wEACsB;EACrB,UAAU,EAAE,OAAO;;;AAGpB,iHAAM;EACL,UAAU,EAAE,OAAO;;;AAGpB,2IAAmB;EAClB,UAAU,EAAE,OAAO;EACnB,KAAK,EAAE,IAAI",
|
4 |
-
"sources": ["sass/cmb2.scss","sass/partials/_main_wrap.scss","sass/partials/_variables.scss","sass/partials/_mixins.scss","sass/partials/_post_metaboxes.scss","sass/partials/_context_metaboxes.scss","sass/partials/_options-page.scss","sass/partials/_misc.scss","sass/partials/_sidebar_placements.scss","sass/partials/_collapsible_ui.scss","sass/partials/_jquery_ui.scss"],
|
5 |
-
"names": [],
|
6 |
-
"file": "cmb2.css"
|
7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/cmb2-display.scss
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* CMB2 Styling
|
3 |
-
*/
|
4 |
-
|
5 |
-
@import "partials/display";
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/cmb2-front.scss
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
@import "cmb2.scss";
|
2 |
-
|
3 |
-
/**
|
4 |
-
* CMB2 Frontend
|
5 |
-
*/
|
6 |
-
@import "partials/front";
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/cmb2.scss
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* CMB2 Styling
|
3 |
-
*/
|
4 |
-
|
5 |
-
@import "partials/variables";
|
6 |
-
@import "partials/mixins";
|
7 |
-
|
8 |
-
@import "partials/main_wrap";
|
9 |
-
@import "partials/post_metaboxes";
|
10 |
-
@import "partials/context_metaboxes";
|
11 |
-
@import "partials/options-page";
|
12 |
-
@import "partials/misc";
|
13 |
-
@import "partials/sidebar_placements";
|
14 |
-
@import "partials/collapsible_ui";
|
15 |
-
@import "partials/jquery_ui";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/index.php
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Silence is golden
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_collapsible_ui.scss
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
.cmb2-metabox {
|
2 |
-
.cmbhandle {
|
3 |
-
color: #aaa;
|
4 |
-
float: right;
|
5 |
-
width: 27px;
|
6 |
-
height: 30px;
|
7 |
-
cursor: pointer;
|
8 |
-
right: -1em;
|
9 |
-
position: relative;
|
10 |
-
&:before {
|
11 |
-
content: '\f142';
|
12 |
-
right: 12px;
|
13 |
-
font: normal 20px/1 'dashicons';
|
14 |
-
speak: none;
|
15 |
-
display: inline-block;
|
16 |
-
padding: 8px 10px;
|
17 |
-
top: 0;
|
18 |
-
position: relative;
|
19 |
-
-webkit-font-smoothing: antialiased;
|
20 |
-
-moz-osx-font-smoothing: grayscale;
|
21 |
-
text-decoration: none !important;
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
.postbox.closed {
|
26 |
-
.cmbhandle {
|
27 |
-
&:before {
|
28 |
-
content: '\f140';
|
29 |
-
}
|
30 |
-
}
|
31 |
-
}
|
32 |
-
|
33 |
-
button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
34 |
-
-webkit-appearance: none !important;
|
35 |
-
background: none !important;
|
36 |
-
border: none !important;
|
37 |
-
position: absolute;
|
38 |
-
left: 0;
|
39 |
-
top: .5em;
|
40 |
-
line-height: 1em;
|
41 |
-
padding: 2px 6px 3px;
|
42 |
-
opacity: .5;
|
43 |
-
&:not([disabled]) {
|
44 |
-
cursor: pointer;
|
45 |
-
color: $dark-red;
|
46 |
-
opacity: 1;
|
47 |
-
&:hover {
|
48 |
-
color: $red;
|
49 |
-
}
|
50 |
-
}
|
51 |
-
}
|
52 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_context_metaboxes.scss
DELETED
@@ -1,107 +0,0 @@
|
|
1 |
-
/*--------------------------------------------------------------
|
2 |
-
Context Metaboxes
|
3 |
-
--------------------------------------------------------------*/
|
4 |
-
|
5 |
-
/* Metabox collapse arrow indicators */
|
6 |
-
.js .cmb2-postbox.context-box {
|
7 |
-
|
8 |
-
.toggle-indicator {
|
9 |
-
&:before {
|
10 |
-
content: "\f142";
|
11 |
-
display: inline-block;
|
12 |
-
font: normal 20px/1 dashicons;
|
13 |
-
speak: none;
|
14 |
-
-webkit-font-smoothing: antialiased;
|
15 |
-
-moz-osx-font-smoothing: grayscale;
|
16 |
-
text-decoration: none !important;
|
17 |
-
}
|
18 |
-
}
|
19 |
-
|
20 |
-
&.closed {
|
21 |
-
.toggle-indicator {
|
22 |
-
&:before {
|
23 |
-
content: "\f140";
|
24 |
-
}
|
25 |
-
}
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
29 |
-
|
30 |
-
.cmb2-postbox.context-box {
|
31 |
-
|
32 |
-
margin-bottom: 10px;
|
33 |
-
|
34 |
-
&.context-before_permalink-box {
|
35 |
-
margin-top: 10px;
|
36 |
-
}
|
37 |
-
|
38 |
-
&.context-after_title-box {
|
39 |
-
margin-top: 10px;
|
40 |
-
}
|
41 |
-
|
42 |
-
&.context-after_editor-box {
|
43 |
-
margin-top: 20px;
|
44 |
-
margin-bottom: 0;
|
45 |
-
}
|
46 |
-
|
47 |
-
&.context-form_top-box {
|
48 |
-
|
49 |
-
margin-top: 10px;
|
50 |
-
|
51 |
-
.hndle {
|
52 |
-
font-size: 14px;
|
53 |
-
padding: 8px 12px;
|
54 |
-
margin: 0;
|
55 |
-
line-height: 1.4;
|
56 |
-
}
|
57 |
-
}
|
58 |
-
|
59 |
-
.hndle {
|
60 |
-
cursor: auto;
|
61 |
-
}
|
62 |
-
}
|
63 |
-
|
64 |
-
.cmb2-context-wrap {
|
65 |
-
|
66 |
-
margin-top: 10px;
|
67 |
-
|
68 |
-
&.cmb2-context-wrap-form_top {
|
69 |
-
margin-right: 300px;
|
70 |
-
width: auto;
|
71 |
-
}
|
72 |
-
|
73 |
-
&.cmb2-context-wrap-no-title {
|
74 |
-
|
75 |
-
.cmb2-metabox {
|
76 |
-
padding: 10px;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
-
.cmb-th {
|
81 |
-
padding: 0 2% 0 0;
|
82 |
-
width: 18%;
|
83 |
-
}
|
84 |
-
|
85 |
-
.cmb-td {
|
86 |
-
width: 80%;
|
87 |
-
padding: 0;
|
88 |
-
}
|
89 |
-
|
90 |
-
.cmb-row {
|
91 |
-
margin-bottom: 10px;
|
92 |
-
|
93 |
-
&:last-of-type {
|
94 |
-
margin-bottom: 0;
|
95 |
-
}
|
96 |
-
}
|
97 |
-
|
98 |
-
}
|
99 |
-
|
100 |
-
/* one column on the post write/edit screen */
|
101 |
-
@media only screen and (max-width: 850px) {
|
102 |
-
|
103 |
-
.cmb2-context-wrap.cmb2-context-wrap-form_top {
|
104 |
-
margin-right: 0;
|
105 |
-
}
|
106 |
-
|
107 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_display.scss
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* CMB2 Styling
|
3 |
-
*/
|
4 |
-
|
5 |
-
.cmb2-colorpicker-swatch {
|
6 |
-
span {
|
7 |
-
display: inline-block;
|
8 |
-
width: 1em;
|
9 |
-
height: 1em;
|
10 |
-
border-radius: 1em;
|
11 |
-
float: left;
|
12 |
-
margin-top: 3px;
|
13 |
-
margin-right: 2px;
|
14 |
-
}
|
15 |
-
}
|
16 |
-
|
17 |
-
.cmb2-code {
|
18 |
-
overflow: scroll;
|
19 |
-
}
|
20 |
-
|
21 |
-
.cmb-image-display {
|
22 |
-
max-width: 100%;
|
23 |
-
height: auto;
|
24 |
-
}
|
25 |
-
|
26 |
-
.cmb2-display-file-list li {
|
27 |
-
display: inline;
|
28 |
-
margin: 0 .5em .5em 0;
|
29 |
-
}
|
30 |
-
|
31 |
-
.cmb2-oembed * {
|
32 |
-
max-width: 100%;
|
33 |
-
height: auto;
|
34 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_front.scss
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
.closed .inside {
|
2 |
-
display: none;
|
3 |
-
}
|
4 |
-
|
5 |
-
.cmb-repeatable-grouping {
|
6 |
-
position: relative;
|
7 |
-
|
8 |
-
.cmb-group-title {
|
9 |
-
margin-left: -1em;
|
10 |
-
margin-right: -1em;
|
11 |
-
min-height: 1.5em;
|
12 |
-
}
|
13 |
-
|
14 |
-
h3 {
|
15 |
-
font-size: 14px;
|
16 |
-
padding: 8px 12px;
|
17 |
-
margin: 0;
|
18 |
-
line-height: 1.4;
|
19 |
-
}
|
20 |
-
|
21 |
-
}
|
22 |
-
|
23 |
-
.cmb-repeatable-group {
|
24 |
-
|
25 |
-
&.repeatable .cmb-group-title {
|
26 |
-
padding-left: 2.2em;
|
27 |
-
}
|
28 |
-
|
29 |
-
&.non-repeatable .cmb-group-title {
|
30 |
-
padding-left: 12px;
|
31 |
-
}
|
32 |
-
|
33 |
-
}
|
34 |
-
|
35 |
-
.cmb-type-group .cmb-row .cmbhandle {
|
36 |
-
right: 0;
|
37 |
-
position: absolute;
|
38 |
-
}
|
39 |
-
|
40 |
-
.cmb-spinner {
|
41 |
-
background: url(/wp-admin/images/spinner.gif) no-repeat;
|
42 |
-
-webkit-background-size: 20px 20px;
|
43 |
-
background-size: 20px 20px;
|
44 |
-
display: none;
|
45 |
-
float: right;
|
46 |
-
vertical-align: middle;
|
47 |
-
opacity: 0.7;
|
48 |
-
filter: alpha(opacity=70);
|
49 |
-
width: 20px;
|
50 |
-
height: 20px;
|
51 |
-
margin: 4px 10px 0;
|
52 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_jquery_ui.scss
DELETED
@@ -1,457 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* jQuery UI CSS Framework 1.8.16
|
3 |
-
*
|
4 |
-
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
5 |
-
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6 |
-
* http://jquery.org/license
|
7 |
-
*
|
8 |
-
* http://docs.jquery.com/UI/Theming/API
|
9 |
-
*
|
10 |
-
* WordPress Styles adopted from "jQuery UI Datepicker CSS for WordPress"
|
11 |
-
* https://github.com/stuttter/wp-datepicker-styling
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
|
15 |
-
* html .cmb2-element.ui-helper-clearfix {
|
16 |
-
height:1%;
|
17 |
-
}
|
18 |
-
|
19 |
-
$weekend: #f4f4f4;
|
20 |
-
$freshblue: #00a0d2;
|
21 |
-
$freshdark: #32373c;
|
22 |
-
$freshdarkblue: #0073aa;
|
23 |
-
|
24 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
25 |
-
padding: 0;
|
26 |
-
margin: 0;
|
27 |
-
-webkit-border-radius: 0;
|
28 |
-
-moz-border-radius: 0;
|
29 |
-
border-radius: 0;
|
30 |
-
background-color: #fff;
|
31 |
-
border: 1px solid #dfdfdf;
|
32 |
-
border-top: none;
|
33 |
-
-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
|
34 |
-
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
|
35 |
-
min-width: 17em;
|
36 |
-
width: auto;
|
37 |
-
|
38 |
-
* {
|
39 |
-
padding: 0;
|
40 |
-
font-family: "Open Sans", sans-serif;
|
41 |
-
-webkit-border-radius: 0;
|
42 |
-
-moz-border-radius: 0;
|
43 |
-
border-radius: 0;
|
44 |
-
}
|
45 |
-
|
46 |
-
table {
|
47 |
-
font-size: 13px;
|
48 |
-
margin: 0;
|
49 |
-
border: none;
|
50 |
-
border-collapse: collapse;
|
51 |
-
}
|
52 |
-
|
53 |
-
.ui-widget-header,
|
54 |
-
.ui-datepicker-header {
|
55 |
-
background-image: none;
|
56 |
-
border: none;
|
57 |
-
color: #fff;
|
58 |
-
font-weight: normal;
|
59 |
-
}
|
60 |
-
|
61 |
-
.ui-datepicker-header .ui-state-hover {
|
62 |
-
background: transparent;
|
63 |
-
border-color: transparent;
|
64 |
-
cursor: pointer;
|
65 |
-
}
|
66 |
-
|
67 |
-
.ui-datepicker-title {
|
68 |
-
margin: 0;
|
69 |
-
padding: 10px 0;
|
70 |
-
color: #fff;
|
71 |
-
font-size: 14px;
|
72 |
-
line-height: 14px;
|
73 |
-
text-align: center;
|
74 |
-
|
75 |
-
select {
|
76 |
-
margin-top: -8px;
|
77 |
-
margin-bottom: -8px;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
.ui-datepicker-prev,
|
82 |
-
.ui-datepicker-next {
|
83 |
-
position: relative;
|
84 |
-
top: 0;
|
85 |
-
height: 34px;
|
86 |
-
width: 34px;
|
87 |
-
}
|
88 |
-
|
89 |
-
.ui-state-hover.ui-datepicker-prev,
|
90 |
-
.ui-state-hover.ui-datepicker-next {
|
91 |
-
border: none;
|
92 |
-
}
|
93 |
-
|
94 |
-
.ui-datepicker-prev,
|
95 |
-
.ui-datepicker-prev-hover {
|
96 |
-
left: 0;
|
97 |
-
}
|
98 |
-
|
99 |
-
.ui-datepicker-next,
|
100 |
-
.ui-datepicker-next-hover {
|
101 |
-
right: 0;
|
102 |
-
}
|
103 |
-
|
104 |
-
.ui-datepicker-next span,
|
105 |
-
.ui-datepicker-prev span {
|
106 |
-
display: none;
|
107 |
-
}
|
108 |
-
|
109 |
-
.ui-datepicker-prev {
|
110 |
-
float: left;
|
111 |
-
}
|
112 |
-
|
113 |
-
.ui-datepicker-next {
|
114 |
-
float: right;
|
115 |
-
}
|
116 |
-
|
117 |
-
.ui-datepicker-prev:before,
|
118 |
-
.ui-datepicker-next:before {
|
119 |
-
font: normal 20px/34px 'dashicons';
|
120 |
-
padding-left: 7px;
|
121 |
-
color: #fff;
|
122 |
-
speak: none;
|
123 |
-
-webkit-font-smoothing: antialiased;
|
124 |
-
-moz-osx-font-smoothing: grayscale;
|
125 |
-
width: 34px;
|
126 |
-
height: 34px;
|
127 |
-
}
|
128 |
-
|
129 |
-
.ui-datepicker-prev:before {
|
130 |
-
content: '\f341';
|
131 |
-
}
|
132 |
-
|
133 |
-
.ui-datepicker-next:before {
|
134 |
-
content: '\f345';
|
135 |
-
}
|
136 |
-
|
137 |
-
.ui-datepicker-prev-hover:before,
|
138 |
-
.ui-datepicker-next-hover:before {
|
139 |
-
opacity: 0.7;
|
140 |
-
}
|
141 |
-
|
142 |
-
select.ui-datepicker-month,
|
143 |
-
select.ui-datepicker-year {
|
144 |
-
width: 33%;
|
145 |
-
background: transparent;
|
146 |
-
border-color: transparent;
|
147 |
-
box-shadow: none;
|
148 |
-
color: #fff;
|
149 |
-
option {
|
150 |
-
color: #333;
|
151 |
-
}
|
152 |
-
}
|
153 |
-
|
154 |
-
thead {
|
155 |
-
color: #fff;
|
156 |
-
font-weight: 600;
|
157 |
-
th {
|
158 |
-
font-weight: normal;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
th {
|
163 |
-
padding: 10px;
|
164 |
-
}
|
165 |
-
|
166 |
-
td {
|
167 |
-
padding: 0;
|
168 |
-
border: 1px solid $weekend;
|
169 |
-
}
|
170 |
-
|
171 |
-
td.ui-datepicker-other-month {
|
172 |
-
border: transparent;
|
173 |
-
}
|
174 |
-
|
175 |
-
td.ui-datepicker-week-end {
|
176 |
-
background-color: $weekend;
|
177 |
-
border: 1px solid $weekend;
|
178 |
-
&.ui-datepicker-today {
|
179 |
-
-webkit-box-shadow: inset 0px 0px 1px 0px rgba(0, 0, 0, 0.1);
|
180 |
-
-moz-box-shadow: inset 0px 0px 1px 0px rgba(0, 0, 0, 0.1);
|
181 |
-
box-shadow: inset 0px 0px 1px 0px rgba(0, 0, 0, 0.1);
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
td.ui-datepicker-today {
|
186 |
-
background-color: #f0f0c0;
|
187 |
-
}
|
188 |
-
|
189 |
-
td.ui-datepicker-current-day {
|
190 |
-
background: #bbdd88;
|
191 |
-
}
|
192 |
-
|
193 |
-
td .ui-state-default {
|
194 |
-
background: transparent;
|
195 |
-
border: none;
|
196 |
-
text-align: center;
|
197 |
-
text-decoration: none;
|
198 |
-
width: auto;
|
199 |
-
display: block;
|
200 |
-
padding: 5px 10px;
|
201 |
-
font-weight: normal;
|
202 |
-
color: #444;
|
203 |
-
}
|
204 |
-
|
205 |
-
td.ui-state-disabled .ui-state-default {
|
206 |
-
opacity: 0.5;
|
207 |
-
}
|
208 |
-
|
209 |
-
/* Default Color Scheme */
|
210 |
-
.ui-widget-header,
|
211 |
-
.ui-datepicker-header {
|
212 |
-
background: $freshblue;
|
213 |
-
}
|
214 |
-
|
215 |
-
thead {
|
216 |
-
background: $freshdark;
|
217 |
-
}
|
218 |
-
|
219 |
-
td .ui-state-hover, td .ui-state-active {
|
220 |
-
background: $freshdarkblue;
|
221 |
-
color: #fff;
|
222 |
-
}
|
223 |
-
|
224 |
-
.ui-timepicker-div {
|
225 |
-
font-size: 14px;
|
226 |
-
dl {
|
227 |
-
text-align: left;
|
228 |
-
padding: 0 .6em;
|
229 |
-
dt {
|
230 |
-
float: left;
|
231 |
-
clear:left;
|
232 |
-
padding: 0 0 0 5px;
|
233 |
-
}
|
234 |
-
dd {
|
235 |
-
margin: 0 10px 10px 40%;
|
236 |
-
select {
|
237 |
-
width: 100%;
|
238 |
-
}
|
239 |
-
}
|
240 |
-
}
|
241 |
-
|
242 |
-
+ .ui-datepicker-buttonpane {
|
243 |
-
padding: .6em;
|
244 |
-
text-align: left;
|
245 |
-
|
246 |
-
.button-primary, .button-secondary {
|
247 |
-
padding: 0 10px 1px;
|
248 |
-
-webkit-border-radius: 3px;
|
249 |
-
-moz-border-radius: 3px;
|
250 |
-
border-radius: 3px;
|
251 |
-
margin: 0 .6em .4em .4em;
|
252 |
-
}
|
253 |
-
|
254 |
-
}
|
255 |
-
}
|
256 |
-
|
257 |
-
}
|
258 |
-
.admin-color-fresh {
|
259 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
260 |
-
.ui-widget-header,
|
261 |
-
.ui-datepicker-header {
|
262 |
-
background: $freshblue;
|
263 |
-
}
|
264 |
-
|
265 |
-
thead {
|
266 |
-
background: $freshdark;
|
267 |
-
}
|
268 |
-
|
269 |
-
td .ui-state-hover {
|
270 |
-
background: $freshdarkblue;
|
271 |
-
color: #fff;
|
272 |
-
}
|
273 |
-
}
|
274 |
-
}
|
275 |
-
.admin-color-blue {
|
276 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
277 |
-
.ui-widget-header,
|
278 |
-
.ui-datepicker-header {
|
279 |
-
background: #52accc;
|
280 |
-
}
|
281 |
-
|
282 |
-
thead {
|
283 |
-
background: #4796b3;
|
284 |
-
}
|
285 |
-
|
286 |
-
// td .ui-state-hover {
|
287 |
-
// background: #096484;
|
288 |
-
// }
|
289 |
-
|
290 |
-
td {
|
291 |
-
.ui-state-hover, .ui-state-active {
|
292 |
-
background: #096484;
|
293 |
-
color: #fff;
|
294 |
-
}
|
295 |
-
|
296 |
-
&.ui-datepicker-today {
|
297 |
-
background: #eee;
|
298 |
-
}
|
299 |
-
}
|
300 |
-
|
301 |
-
}
|
302 |
-
}
|
303 |
-
.admin-color-coffee {
|
304 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
305 |
-
.ui-widget-header,
|
306 |
-
.ui-datepicker-header {
|
307 |
-
background: #59524c;
|
308 |
-
}
|
309 |
-
|
310 |
-
thead {
|
311 |
-
background: #46403c;
|
312 |
-
}
|
313 |
-
|
314 |
-
td .ui-state-hover {
|
315 |
-
background: #c7a589;
|
316 |
-
color: #fff;
|
317 |
-
}
|
318 |
-
}
|
319 |
-
}
|
320 |
-
.admin-color-ectoplasm {
|
321 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
322 |
-
.ui-widget-header,
|
323 |
-
.ui-datepicker-header {
|
324 |
-
background: #523f6d;
|
325 |
-
}
|
326 |
-
|
327 |
-
thead {
|
328 |
-
background: #413256;
|
329 |
-
}
|
330 |
-
|
331 |
-
td .ui-state-hover {
|
332 |
-
background: #a3b745;
|
333 |
-
color: #fff;
|
334 |
-
}
|
335 |
-
}
|
336 |
-
}
|
337 |
-
.admin-color-midnight {
|
338 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
339 |
-
.ui-widget-header,
|
340 |
-
.ui-datepicker-header {
|
341 |
-
background: #363b3f;
|
342 |
-
}
|
343 |
-
|
344 |
-
thead {
|
345 |
-
background: #26292c;
|
346 |
-
}
|
347 |
-
|
348 |
-
td .ui-state-hover {
|
349 |
-
background: #e14d43;
|
350 |
-
color: #fff;
|
351 |
-
}
|
352 |
-
}
|
353 |
-
}
|
354 |
-
.admin-color-ocean {
|
355 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
356 |
-
.ui-widget-header,
|
357 |
-
.ui-datepicker-header {
|
358 |
-
background: #738e96;
|
359 |
-
}
|
360 |
-
|
361 |
-
thead {
|
362 |
-
background: #627c83;
|
363 |
-
}
|
364 |
-
|
365 |
-
td .ui-state-hover {
|
366 |
-
background: #9ebaa0;
|
367 |
-
color: #fff;
|
368 |
-
}
|
369 |
-
}
|
370 |
-
}
|
371 |
-
.admin-color-sunrise {
|
372 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
373 |
-
.ui-widget-header,
|
374 |
-
.ui-datepicker-header,
|
375 |
-
.ui-datepicker-header .ui-state-hover {
|
376 |
-
background: #cf4944;
|
377 |
-
}
|
378 |
-
|
379 |
-
th {
|
380 |
-
border-color: #be3631;
|
381 |
-
background: #be3631;
|
382 |
-
}
|
383 |
-
|
384 |
-
td .ui-state-hover {
|
385 |
-
background: #dd823b;
|
386 |
-
color: #fff;
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
.admin-color-light {
|
391 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
392 |
-
.ui-widget-header,
|
393 |
-
.ui-datepicker-header {
|
394 |
-
background: #e5e5e5;
|
395 |
-
}
|
396 |
-
|
397 |
-
select.ui-datepicker-month,
|
398 |
-
select.ui-datepicker-year {
|
399 |
-
color: #555;
|
400 |
-
}
|
401 |
-
|
402 |
-
thead {
|
403 |
-
background: #888;
|
404 |
-
}
|
405 |
-
|
406 |
-
.ui-datepicker-title,
|
407 |
-
td .ui-state-default,
|
408 |
-
.ui-datepicker-prev:before,
|
409 |
-
.ui-datepicker-next:before {
|
410 |
-
color: #555;
|
411 |
-
}
|
412 |
-
|
413 |
-
td {
|
414 |
-
.ui-state-hover, .ui-state-active {
|
415 |
-
background: #ccc;
|
416 |
-
}
|
417 |
-
|
418 |
-
&.ui-datepicker-today {
|
419 |
-
background: #eee;
|
420 |
-
}
|
421 |
-
}
|
422 |
-
}
|
423 |
-
}
|
424 |
-
.admin-color-bbp-evergreen {
|
425 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
426 |
-
.ui-widget-header,
|
427 |
-
.ui-datepicker-header {
|
428 |
-
background: #56b274;
|
429 |
-
}
|
430 |
-
|
431 |
-
thead {
|
432 |
-
background: #36533f;
|
433 |
-
}
|
434 |
-
|
435 |
-
td .ui-state-hover {
|
436 |
-
background: #446950;
|
437 |
-
color: #fff;
|
438 |
-
}
|
439 |
-
}
|
440 |
-
}
|
441 |
-
.admin-color-bbp-mint {
|
442 |
-
.cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
|
443 |
-
.ui-widget-header,
|
444 |
-
.ui-datepicker-header {
|
445 |
-
background: #4ca26a;
|
446 |
-
}
|
447 |
-
|
448 |
-
thead {
|
449 |
-
background: #4f6d59;
|
450 |
-
}
|
451 |
-
|
452 |
-
td .ui-state-hover {
|
453 |
-
background: #5fb37c;
|
454 |
-
color: #fff;
|
455 |
-
}
|
456 |
-
}
|
457 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_main_wrap.scss
DELETED
@@ -1,518 +0,0 @@
|
|
1 |
-
/*--------------------------------------------------------------
|
2 |
-
Main Wrap
|
3 |
-
--------------------------------------------------------------*/
|
4 |
-
|
5 |
-
.cmb2-wrap {
|
6 |
-
margin: 0;
|
7 |
-
|
8 |
-
input,
|
9 |
-
textarea {
|
10 |
-
font-size: $font-size;
|
11 |
-
max-width: 100%;
|
12 |
-
padding: 5px;
|
13 |
-
|
14 |
-
}
|
15 |
-
|
16 |
-
input[type=text] {
|
17 |
-
|
18 |
-
&.cmb2-oembed {
|
19 |
-
width: 100%;
|
20 |
-
}
|
21 |
-
}
|
22 |
-
|
23 |
-
textarea {
|
24 |
-
width: 500px;
|
25 |
-
|
26 |
-
&.cmb2-textarea-code {
|
27 |
-
font-family: $font-mono;
|
28 |
-
line-height: 16px;
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
input {
|
33 |
-
|
34 |
-
&.cmb2-text-small,
|
35 |
-
&.cmb2-timepicker {
|
36 |
-
width: 100px;
|
37 |
-
// margin-right: 15px
|
38 |
-
}
|
39 |
-
|
40 |
-
&.cmb2-text-money {
|
41 |
-
width: 90px;
|
42 |
-
// margin-right: 15px
|
43 |
-
}
|
44 |
-
|
45 |
-
&.cmb2-text-medium {
|
46 |
-
width: 230px;
|
47 |
-
// margin-right: 15px
|
48 |
-
}
|
49 |
-
|
50 |
-
&.cmb2-upload-file {
|
51 |
-
width: 65%;
|
52 |
-
}
|
53 |
-
|
54 |
-
&.ed_button {
|
55 |
-
padding: 2px 4px;
|
56 |
-
}
|
57 |
-
|
58 |
-
&:not([type="hidden"]) {
|
59 |
-
+ input,
|
60 |
-
+ .button-secondary,
|
61 |
-
+ select {
|
62 |
-
margin-left: 20px;
|
63 |
-
}
|
64 |
-
}
|
65 |
-
}
|
66 |
-
|
67 |
-
ul {
|
68 |
-
margin: 0;
|
69 |
-
}
|
70 |
-
|
71 |
-
li {
|
72 |
-
font-size: $font-size;
|
73 |
-
line-height: 16px;
|
74 |
-
margin: 1px 0 5px 0;
|
75 |
-
}
|
76 |
-
|
77 |
-
// .cmb-field-list .cmb-field-list {
|
78 |
-
// padding-top:5px;
|
79 |
-
// margin: 0;
|
80 |
-
// }
|
81 |
-
|
82 |
-
select {
|
83 |
-
font-size: $font-size;
|
84 |
-
margin-top: 3px;
|
85 |
-
}
|
86 |
-
|
87 |
-
input:focus,
|
88 |
-
textarea:focus {
|
89 |
-
background: $light-yellow;
|
90 |
-
}
|
91 |
-
|
92 |
-
input[type="radio"] {
|
93 |
-
margin: 0 5px 0 0;
|
94 |
-
padding: 0
|
95 |
-
}
|
96 |
-
|
97 |
-
input[type="checkbox"] {
|
98 |
-
margin: 0 5px 0 0;
|
99 |
-
padding: 0;
|
100 |
-
}
|
101 |
-
|
102 |
-
button,
|
103 |
-
.button-secondary {
|
104 |
-
white-space: nowrap;
|
105 |
-
}
|
106 |
-
|
107 |
-
.mceLayout {
|
108 |
-
border: 1px solid $light-gray !important;
|
109 |
-
}
|
110 |
-
|
111 |
-
.mceIframeContainer {
|
112 |
-
background: #fff;
|
113 |
-
}
|
114 |
-
|
115 |
-
.meta_mce {
|
116 |
-
width: 97%;
|
117 |
-
|
118 |
-
textarea {
|
119 |
-
width: 100%;
|
120 |
-
}
|
121 |
-
}
|
122 |
-
|
123 |
-
// Color picker
|
124 |
-
.wp-color-result,
|
125 |
-
.wp-picker-input-wrap {
|
126 |
-
vertical-align: middle;
|
127 |
-
}
|
128 |
-
|
129 |
-
.wp-color-result,
|
130 |
-
.wp-picker-container {
|
131 |
-
margin: 0 10px 0 0;
|
132 |
-
}
|
133 |
-
|
134 |
-
.cmb-row {
|
135 |
-
margin: 0;
|
136 |
-
|
137 |
-
&:after {
|
138 |
-
content: '';
|
139 |
-
clear: both;
|
140 |
-
display: block;
|
141 |
-
width: 100%;
|
142 |
-
}
|
143 |
-
|
144 |
-
&.cmb-repeat .cmb2-metabox-description {
|
145 |
-
padding-top: 0;
|
146 |
-
padding-bottom: 1em;
|
147 |
-
}
|
148 |
-
}
|
149 |
-
|
150 |
-
}
|
151 |
-
|
152 |
-
.cmb2-metabox {
|
153 |
-
clear: both;
|
154 |
-
margin: 0;
|
155 |
-
|
156 |
-
> .cmb-row:first-of-type >,
|
157 |
-
.cmb-field-list > .cmb-row:first-of-type > {
|
158 |
-
.cmb-td,
|
159 |
-
.cmb-th {
|
160 |
-
border: 0;
|
161 |
-
}
|
162 |
-
}
|
163 |
-
}
|
164 |
-
|
165 |
-
.cmb-add-row {
|
166 |
-
margin: 1.8em 0 0;
|
167 |
-
}
|
168 |
-
|
169 |
-
.cmb-nested .cmb-td,
|
170 |
-
.cmb-repeatable-group .cmb-th,
|
171 |
-
.cmb-repeatable-group:first-of-type {
|
172 |
-
border: 0;
|
173 |
-
}
|
174 |
-
|
175 |
-
.cmb-row:last-of-type,
|
176 |
-
.cmb2-wrap .cmb-row:last-of-type,
|
177 |
-
.cmb-repeatable-group:last-of-type {
|
178 |
-
border-bottom: 0;
|
179 |
-
}
|
180 |
-
|
181 |
-
.cmb-repeatable-grouping {
|
182 |
-
border: 1px solid $light-gray;
|
183 |
-
padding: 0 1em;
|
184 |
-
|
185 |
-
&.cmb-row {
|
186 |
-
margin: 0 0 0.8em;
|
187 |
-
}
|
188 |
-
|
189 |
-
+ .cmb-repeatable-grouping {
|
190 |
-
}
|
191 |
-
}
|
192 |
-
|
193 |
-
.cmb-th {
|
194 |
-
color: $dark-gray;
|
195 |
-
float: left;
|
196 |
-
font-weight: 600;
|
197 |
-
line-height: 1.3;
|
198 |
-
padding: 20px 10px 20px 0;
|
199 |
-
vertical-align: top;
|
200 |
-
width: 200px;
|
201 |
-
|
202 |
-
@media (max-width: $mobile-break) {
|
203 |
-
@include fullth;
|
204 |
-
}
|
205 |
-
}
|
206 |
-
|
207 |
-
.cmb-td {
|
208 |
-
line-height: 1.3;
|
209 |
-
max-width: 100%;
|
210 |
-
padding: 15px 10px;
|
211 |
-
vertical-align: middle;
|
212 |
-
}
|
213 |
-
|
214 |
-
.cmb-type-title {
|
215 |
-
|
216 |
-
.cmb-td {
|
217 |
-
padding: 0;
|
218 |
-
}
|
219 |
-
}
|
220 |
-
|
221 |
-
.cmb-th label {
|
222 |
-
display: block;
|
223 |
-
padding: 5px 0;
|
224 |
-
}
|
225 |
-
|
226 |
-
.cmb-th + .cmb-td {
|
227 |
-
float: left;
|
228 |
-
}
|
229 |
-
|
230 |
-
.cmb-td .cmb-td {
|
231 |
-
padding-bottom: 1em;
|
232 |
-
}
|
233 |
-
|
234 |
-
.cmb-remove-row {
|
235 |
-
text-align: right;
|
236 |
-
}
|
237 |
-
|
238 |
-
.empty-row.hidden {
|
239 |
-
display: none;
|
240 |
-
}
|
241 |
-
|
242 |
-
// Repeatable fields styles
|
243 |
-
.cmb-repeat-table {
|
244 |
-
background-color: #fafafa;
|
245 |
-
border: 1px solid darken($light-gray, 3%);
|
246 |
-
|
247 |
-
.cmb-row.cmb-repeat-row {
|
248 |
-
position: relative;
|
249 |
-
counter-increment: el;
|
250 |
-
|
251 |
-
margin: 0;
|
252 |
-
padding: 10px 10px 10px 50px;
|
253 |
-
border-bottom: none !important; // Sometime, we need !important :).
|
254 |
-
|
255 |
-
& + .cmb-repeat-row {
|
256 |
-
border-top: solid 1px $light-gray;
|
257 |
-
}
|
258 |
-
|
259 |
-
&:before {
|
260 |
-
content: counter(el);
|
261 |
-
display: block;
|
262 |
-
|
263 |
-
top: 0;
|
264 |
-
left: 0;
|
265 |
-
position: absolute;
|
266 |
-
|
267 |
-
width: 35px;
|
268 |
-
height: 100%;
|
269 |
-
line-height: 35px;
|
270 |
-
|
271 |
-
color: $gray;
|
272 |
-
text-align: center;
|
273 |
-
border-right: solid 1px $light-gray;
|
274 |
-
}
|
275 |
-
|
276 |
-
.cmb-td {
|
277 |
-
margin: 0;
|
278 |
-
padding: 0;
|
279 |
-
}
|
280 |
-
|
281 |
-
}
|
282 |
-
|
283 |
-
+ .cmb-add-row {
|
284 |
-
margin: 0;
|
285 |
-
|
286 |
-
&:before {
|
287 |
-
content: '';
|
288 |
-
width: 1px;
|
289 |
-
height: 1.6em;
|
290 |
-
display: block;
|
291 |
-
margin-left: 17px;
|
292 |
-
background-color: darken($light-gray, 5%);
|
293 |
-
}
|
294 |
-
}
|
295 |
-
|
296 |
-
.cmb-remove-row {
|
297 |
-
top: 7px;
|
298 |
-
right: 7px;
|
299 |
-
position: absolute;
|
300 |
-
|
301 |
-
width: auto;
|
302 |
-
margin-left: 0;
|
303 |
-
padding: 0 !important; // Sometime, we need !important :).
|
304 |
-
|
305 |
-
display: none;
|
306 |
-
|
307 |
-
> .cmb-remove-row-button {
|
308 |
-
font-size: 20px;
|
309 |
-
text-indent: -1000px;
|
310 |
-
|
311 |
-
overflow: hidden;
|
312 |
-
position: relative;
|
313 |
-
|
314 |
-
height: auto;
|
315 |
-
line-height: 1;
|
316 |
-
padding: 0 10px 0;
|
317 |
-
|
318 |
-
&:before {
|
319 |
-
@include pseudo-dashicons("\f335");
|
320 |
-
}
|
321 |
-
}
|
322 |
-
}
|
323 |
-
|
324 |
-
.cmb-repeat-row:hover .cmb-remove-row {
|
325 |
-
display: block;
|
326 |
-
}
|
327 |
-
|
328 |
-
}
|
329 |
-
|
330 |
-
.cmb-repeatable-group {
|
331 |
-
|
332 |
-
.cmb-th {
|
333 |
-
padding: 5px;
|
334 |
-
}
|
335 |
-
|
336 |
-
.cmb-group-title {
|
337 |
-
background-color: $light-gray;
|
338 |
-
padding: 8px 12px 8px 2.2em;
|
339 |
-
margin: 0 -1em;
|
340 |
-
min-height: 1.5em;
|
341 |
-
font-size: 14px;
|
342 |
-
line-height: 1.4;
|
343 |
-
|
344 |
-
h4 {
|
345 |
-
border: 0;
|
346 |
-
margin: 0;
|
347 |
-
font-size: 1.2em;
|
348 |
-
font-weight: 500;
|
349 |
-
padding: 0.5em 0.75em;
|
350 |
-
}
|
351 |
-
|
352 |
-
.cmb-th {
|
353 |
-
display: block;
|
354 |
-
width: 100%;
|
355 |
-
}
|
356 |
-
}
|
357 |
-
|
358 |
-
.cmb-group-description .cmb-th {
|
359 |
-
@include fullth;
|
360 |
-
}
|
361 |
-
|
362 |
-
.cmb-shift-rows {
|
363 |
-
font-size: 1em;
|
364 |
-
margin-right: 1em;
|
365 |
-
text-decoration: none;
|
366 |
-
|
367 |
-
.dashicons {
|
368 |
-
font-size: 1.5em;
|
369 |
-
height: 1.5em;
|
370 |
-
line-height: 1.2em;
|
371 |
-
width: 1em;
|
372 |
-
|
373 |
-
&.dashicons-arrow-down-alt2 {
|
374 |
-
line-height: 1.3em;
|
375 |
-
|
376 |
-
}
|
377 |
-
}
|
378 |
-
}
|
379 |
-
|
380 |
-
.cmb2-upload-button {
|
381 |
-
float: right;
|
382 |
-
}
|
383 |
-
|
384 |
-
}
|
385 |
-
|
386 |
-
p.cmb2-metabox-description {
|
387 |
-
color: $gray;
|
388 |
-
font-style: italic;
|
389 |
-
margin: 0;
|
390 |
-
padding-top: .5em;
|
391 |
-
}
|
392 |
-
|
393 |
-
span.cmb2-metabox-description {
|
394 |
-
color: $gray;
|
395 |
-
font-style: italic;
|
396 |
-
}
|
397 |
-
|
398 |
-
.cmb2-metabox-title {
|
399 |
-
margin: 0 0 5px 0;
|
400 |
-
padding: 5px 0 0 0;
|
401 |
-
font-size: 14px;
|
402 |
-
}
|
403 |
-
|
404 |
-
.cmb-inline ul {
|
405 |
-
padding: 4px 0 0 0;
|
406 |
-
}
|
407 |
-
|
408 |
-
.cmb-inline li {
|
409 |
-
display: inline-block;
|
410 |
-
padding-right: 18px;
|
411 |
-
}
|
412 |
-
|
413 |
-
.cmb-type-textarea-code pre {
|
414 |
-
margin: 0;
|
415 |
-
}
|
416 |
-
|
417 |
-
.cmb2-media-status {
|
418 |
-
|
419 |
-
.img-status {
|
420 |
-
clear: none;
|
421 |
-
display: inline-block;
|
422 |
-
vertical-align: middle;
|
423 |
-
margin-right: 10px;
|
424 |
-
width: auto;
|
425 |
-
|
426 |
-
img {
|
427 |
-
max-width: 350px;
|
428 |
-
height: auto;
|
429 |
-
}
|
430 |
-
}
|
431 |
-
|
432 |
-
.img-status img,
|
433 |
-
.embed-status {
|
434 |
-
background: $white;
|
435 |
-
border: 1px solid $light-gray;
|
436 |
-
border-radius: 2px;
|
437 |
-
-moz-border-radius: 2px;
|
438 |
-
margin: 15px 0 0 0;
|
439 |
-
padding: 5px;
|
440 |
-
}
|
441 |
-
|
442 |
-
.embed-status {
|
443 |
-
float: left;
|
444 |
-
max-width: 800px;
|
445 |
-
}
|
446 |
-
|
447 |
-
.img-status, .embed-status {
|
448 |
-
position: relative;
|
449 |
-
|
450 |
-
.cmb2-remove-file-button {
|
451 |
-
background: url(../images/ico-delete.png);
|
452 |
-
height: 16px;
|
453 |
-
left: -5px;
|
454 |
-
position: absolute;
|
455 |
-
text-indent: -9999px;
|
456 |
-
top: -5px;
|
457 |
-
width: 16px;
|
458 |
-
}
|
459 |
-
|
460 |
-
}
|
461 |
-
|
462 |
-
.img-status {
|
463 |
-
|
464 |
-
.cmb2-remove-file-button {
|
465 |
-
top: 10px;
|
466 |
-
}
|
467 |
-
}
|
468 |
-
|
469 |
-
.img-status img, .file-status > span {
|
470 |
-
cursor: pointer;
|
471 |
-
}
|
472 |
-
|
473 |
-
}
|
474 |
-
|
475 |
-
.cmb-type-file-list .cmb2-media-status .img-status {
|
476 |
-
clear: none;
|
477 |
-
vertical-align: middle;
|
478 |
-
width: auto;
|
479 |
-
margin-right: 10px;
|
480 |
-
margin-bottom: 10px;
|
481 |
-
margin-top: 0;
|
482 |
-
}
|
483 |
-
|
484 |
-
.cmb-attach-list li {
|
485 |
-
clear: both;
|
486 |
-
display: inline-block;
|
487 |
-
width: 100%;
|
488 |
-
margin-top: 5px;
|
489 |
-
margin-bottom: 10px;
|
490 |
-
|
491 |
-
img {
|
492 |
-
cursor: move;
|
493 |
-
float: left;
|
494 |
-
margin-right: 10px;
|
495 |
-
}
|
496 |
-
}
|
497 |
-
|
498 |
-
.cmb2-remove-wrapper {
|
499 |
-
margin: 0;
|
500 |
-
}
|
501 |
-
|
502 |
-
.child-cmb2 .cmb-th {
|
503 |
-
text-align: left;
|
504 |
-
}
|
505 |
-
|
506 |
-
.cmb2-indented-hierarchy {
|
507 |
-
padding-left: 1.5em;
|
508 |
-
}
|
509 |
-
|
510 |
-
@media (max-width: $mobile-break) {
|
511 |
-
.cmb-th,
|
512 |
-
.cmb-td,
|
513 |
-
.cmb-th + .cmb-td {
|
514 |
-
display: block;
|
515 |
-
float: none;
|
516 |
-
width: 100%;
|
517 |
-
}
|
518 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_mixins.scss
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
//--------------------------------------------------------------
|
2 |
-
// Mixins
|
3 |
-
//--------------------------------------------------------------
|
4 |
-
|
5 |
-
@mixin fullth() {
|
6 |
-
font-size: 1.2em;
|
7 |
-
@include _fullth;
|
8 |
-
}
|
9 |
-
|
10 |
-
@mixin fullth_side() {
|
11 |
-
|
12 |
-
@include _fullth;
|
13 |
-
|
14 |
-
label {
|
15 |
-
font-size: $font-size;
|
16 |
-
line-height: 1.4em;
|
17 |
-
}
|
18 |
-
}
|
19 |
-
|
20 |
-
@mixin _fullth() {
|
21 |
-
display: block;
|
22 |
-
float: none;
|
23 |
-
padding-bottom: 1em;
|
24 |
-
text-align: left;
|
25 |
-
width: 100%;
|
26 |
-
|
27 |
-
label {
|
28 |
-
display: block;
|
29 |
-
margin-top: 0;
|
30 |
-
margin-bottom: 0.5em;
|
31 |
-
}
|
32 |
-
}
|
33 |
-
|
34 |
-
@mixin pseudo-dashicons( $glyph: "\f333" ) {
|
35 |
-
content: $glyph;
|
36 |
-
font-family: 'Dashicons';
|
37 |
-
speak: none;
|
38 |
-
font-weight: normal;
|
39 |
-
font-variant: normal;
|
40 |
-
text-transform: none;
|
41 |
-
line-height: 1;
|
42 |
-
-webkit-font-smoothing: antialiased;
|
43 |
-
margin: 0;
|
44 |
-
text-indent: 0;
|
45 |
-
position: absolute;
|
46 |
-
top: 0;
|
47 |
-
left: 0;
|
48 |
-
width: 100%;
|
49 |
-
height: 100%;
|
50 |
-
text-align: center;
|
51 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_options-page.scss
DELETED
@@ -1,70 +0,0 @@
|
|
1 |
-
/*--------------------------------------------------------------
|
2 |
-
Options page
|
3 |
-
--------------------------------------------------------------*/
|
4 |
-
.cmb2-options-page {
|
5 |
-
max-width: 1200px;
|
6 |
-
|
7 |
-
&.wrap > h2 {
|
8 |
-
margin-bottom: 1em;
|
9 |
-
}
|
10 |
-
|
11 |
-
.cmb2-metabox > .cmb-row {
|
12 |
-
padding: 1em;
|
13 |
-
margin-top: -1px;
|
14 |
-
background: $white;
|
15 |
-
border: 1px solid $light-gray;
|
16 |
-
box-shadow: 0 1px 1px rgba(black, 0.05);
|
17 |
-
|
18 |
-
> .cmb-th {
|
19 |
-
padding: 0;
|
20 |
-
font-weight: initial;
|
21 |
-
}
|
22 |
-
|
23 |
-
> .cmb-th + .cmb-td {
|
24 |
-
float: none;
|
25 |
-
padding: 0 0 0 1em;
|
26 |
-
margin-left: 200px;
|
27 |
-
|
28 |
-
@media (max-width: $mobile-break) {
|
29 |
-
padding: 0;
|
30 |
-
margin-left: 0;
|
31 |
-
}
|
32 |
-
}
|
33 |
-
}
|
34 |
-
|
35 |
-
// Title field style.
|
36 |
-
.cmb2-wrap .cmb-type-title {
|
37 |
-
margin-top: 1em;
|
38 |
-
padding: 0.6em 1em;
|
39 |
-
background-color: #fafafa;
|
40 |
-
|
41 |
-
.cmb2-metabox-title {
|
42 |
-
font-size: 12px;
|
43 |
-
margin-top: 0;
|
44 |
-
margin-bottom: 0;
|
45 |
-
text-transform: uppercase;
|
46 |
-
}
|
47 |
-
|
48 |
-
.cmb2-metabox-description {
|
49 |
-
padding-top: 0.25em;
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
.cmb-repeatable-group {
|
54 |
-
.cmb-group-description .cmb-th {
|
55 |
-
padding: 0 0 0.8em 0;
|
56 |
-
}
|
57 |
-
|
58 |
-
.cmb-group-name {
|
59 |
-
font-size: 16px;
|
60 |
-
margin-top: 0;
|
61 |
-
margin-bottom: 0;
|
62 |
-
}
|
63 |
-
|
64 |
-
.cmb-th > .cmb2-metabox-description {
|
65 |
-
font-weight: 400;
|
66 |
-
padding-bottom: 0 !important;
|
67 |
-
}
|
68 |
-
}
|
69 |
-
|
70 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_post_metaboxes.scss
DELETED
@@ -1,82 +0,0 @@
|
|
1 |
-
/*--------------------------------------------------------------
|
2 |
-
Post Metaboxes
|
3 |
-
--------------------------------------------------------------*/
|
4 |
-
#poststuff .cmb-group-title {
|
5 |
-
margin-left: -1em;
|
6 |
-
margin-right: -1em;
|
7 |
-
min-height: 1.5em;
|
8 |
-
}
|
9 |
-
|
10 |
-
#poststuff .repeatable .cmb-group-title {
|
11 |
-
padding-left: 2.2em;
|
12 |
-
}
|
13 |
-
|
14 |
-
.cmb2-postbox, .cmb-type-group {
|
15 |
-
|
16 |
-
.cmb2-wrap {
|
17 |
-
margin: 0;
|
18 |
-
|
19 |
-
> .cmb-field-list > .cmb-row {
|
20 |
-
padding: 1.8em 0;
|
21 |
-
}
|
22 |
-
|
23 |
-
input[type=text] {
|
24 |
-
|
25 |
-
&.cmb2-oembed {
|
26 |
-
width: 100%;
|
27 |
-
}
|
28 |
-
}
|
29 |
-
}
|
30 |
-
|
31 |
-
.cmb-row {
|
32 |
-
padding: 0 0 1.8em;
|
33 |
-
margin: 0 0 0.8em;
|
34 |
-
|
35 |
-
.cmbhandle {
|
36 |
-
right: -1em;
|
37 |
-
position: relative;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
.cmb-repeatable-grouping {
|
42 |
-
padding: 0 1em;
|
43 |
-
max-width: 100%;
|
44 |
-
min-width: 1px !important;
|
45 |
-
}
|
46 |
-
|
47 |
-
.cmb-repeatable-group > .cmb-row {
|
48 |
-
padding-bottom: 0;
|
49 |
-
}
|
50 |
-
|
51 |
-
.cmb-th {
|
52 |
-
width: 18%;
|
53 |
-
padding: 0 2% 0 0;
|
54 |
-
// text-align: right;
|
55 |
-
}
|
56 |
-
|
57 |
-
.cmb-td {
|
58 |
-
margin-bottom: 0;
|
59 |
-
padding: 0;
|
60 |
-
line-height: 1.3;
|
61 |
-
}
|
62 |
-
|
63 |
-
.cmb-th + .cmb-td {
|
64 |
-
width: 80%;
|
65 |
-
float: right;
|
66 |
-
}
|
67 |
-
|
68 |
-
.cmb-row:not(:last-of-type),
|
69 |
-
.cmb-repeatable-group:not(:last-of-type) {
|
70 |
-
border-bottom: 1px solid $light-gray;
|
71 |
-
|
72 |
-
@media (max-width: $mobile-break) {
|
73 |
-
border-bottom: 0;
|
74 |
-
}
|
75 |
-
}
|
76 |
-
|
77 |
-
.cmb-repeat-group-field,
|
78 |
-
.cmb-remove-field-row {
|
79 |
-
padding-top: 1.8em;
|
80 |
-
}
|
81 |
-
|
82 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/_sidebar_placements.scss
DELETED
@@ -1,146 +0,0 @@
|
|
1 |
-
/*--------------------------------------------------------------
|
2 |
-
Sidebar Placement Adjustments
|
3 |
-
--------------------------------------------------------------*/
|
4 |
-
|
5 |
-
.inner-sidebar,
|
6 |
-
#side-sortables {
|
7 |
-
|
8 |
-
.cmb2-wrap {
|
9 |
-
|
10 |
-
> .cmb-field-list > .cmb-row {
|
11 |
-
padding: 1.4em 0;
|
12 |
-
}
|
13 |
-
|
14 |
-
input {
|
15 |
-
|
16 |
-
&[type=text]:not( .wp-color-picker ) {
|
17 |
-
width: 100%;
|
18 |
-
}
|
19 |
-
|
20 |
-
+ input:not( .wp-picker-clear ), + select {
|
21 |
-
margin-left: 0;
|
22 |
-
margin-top: 1em;
|
23 |
-
display: block;
|
24 |
-
}
|
25 |
-
|
26 |
-
&.cmb2-text-money {
|
27 |
-
max-width: 70%;
|
28 |
-
+ .cmb2-metabox-description {
|
29 |
-
display: block;
|
30 |
-
}
|
31 |
-
}
|
32 |
-
}
|
33 |
-
|
34 |
-
label {
|
35 |
-
display: block;
|
36 |
-
font-weight: 700;
|
37 |
-
padding: 0 0 5px;
|
38 |
-
}
|
39 |
-
|
40 |
-
}
|
41 |
-
|
42 |
-
textarea {
|
43 |
-
max-width: 99%;
|
44 |
-
}
|
45 |
-
|
46 |
-
.cmb-repeatable-group {
|
47 |
-
border-bottom: 1px solid $light-gray;
|
48 |
-
}
|
49 |
-
|
50 |
-
.cmb-type-group > .cmb-td > .cmb-repeatable-group {
|
51 |
-
border-bottom: 0;
|
52 |
-
margin-bottom: -1.4em;
|
53 |
-
}
|
54 |
-
|
55 |
-
.cmb-th,
|
56 |
-
.cmb-td:not(.cmb-remove-row),
|
57 |
-
.cmb-th + .cmb-td {
|
58 |
-
width: 100%;
|
59 |
-
display: block;
|
60 |
-
float: none;
|
61 |
-
}
|
62 |
-
|
63 |
-
.closed .inside {
|
64 |
-
display: none;
|
65 |
-
}
|
66 |
-
|
67 |
-
.cmb-th {
|
68 |
-
@include fullth_side;
|
69 |
-
padding-left: 0;
|
70 |
-
padding-right: 0;
|
71 |
-
}
|
72 |
-
|
73 |
-
.cmb-group-description {
|
74 |
-
.cmb-th {
|
75 |
-
padding-top: 0;
|
76 |
-
}
|
77 |
-
.cmb2-metabox-description {
|
78 |
-
padding: 0;
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
.cmb-group-title {
|
83 |
-
// padding-bottom: 0;
|
84 |
-
.cmb-th {
|
85 |
-
padding: 0;
|
86 |
-
}
|
87 |
-
}
|
88 |
-
|
89 |
-
.cmb-repeatable-grouping {
|
90 |
-
+ .cmb-repeatable-grouping {
|
91 |
-
margin-top: 1em;
|
92 |
-
}
|
93 |
-
}
|
94 |
-
.cmb2-media-status {
|
95 |
-
|
96 |
-
.img-status,
|
97 |
-
.embed-status {
|
98 |
-
|
99 |
-
img {
|
100 |
-
max-width: 90%;
|
101 |
-
// width: auto;
|
102 |
-
height: auto;
|
103 |
-
}
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
.cmb2-list label {
|
108 |
-
display: inline;
|
109 |
-
font-weight: normal;
|
110 |
-
}
|
111 |
-
|
112 |
-
.cmb2-metabox-description {
|
113 |
-
display: block;
|
114 |
-
padding: 7px 0 0;
|
115 |
-
}
|
116 |
-
|
117 |
-
.cmb-type-checkbox {
|
118 |
-
|
119 |
-
.cmb-td label,
|
120 |
-
.cmb2-metabox-description {
|
121 |
-
font-weight: normal;
|
122 |
-
display: inline;
|
123 |
-
}
|
124 |
-
}
|
125 |
-
|
126 |
-
.cmb-row .cmb2-metabox-description {
|
127 |
-
padding-bottom: 1.8em;
|
128 |
-
}
|
129 |
-
|
130 |
-
.cmb2-metabox-title {
|
131 |
-
font-size: 1.2em;
|
132 |
-
font-style: italic;
|
133 |
-
}
|
134 |
-
|
135 |
-
.cmb-remove-row {
|
136 |
-
clear: both;
|
137 |
-
padding-top: 12px;
|
138 |
-
padding-bottom: 0;
|
139 |
-
}
|
140 |
-
|
141 |
-
.cmb2-upload-button {
|
142 |
-
clear: both;
|
143 |
-
margin-top: 12px;
|
144 |
-
}
|
145 |
-
|
146 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/cmb2/css/sass/partials/index.php
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
// Silence is golden
|
|
|
|
includes/vendor/cmb2/example-functions.php
CHANGED
@@ -24,9 +24,9 @@ if ( file_exists( dirname( __FILE__ ) . '/cmb2/init.php' ) ) {
|
|
24 |
/**
|
25 |
* Conditionally displays a metabox when used as a callback in the 'show_on_cb' cmb2_box parameter
|
26 |
*
|
27 |
-
* @param CMB2
|
28 |
*
|
29 |
-
* @return bool
|
30 |
*/
|
31 |
function yourprefix_show_if_front_page( $cmb ) {
|
32 |
// Don't show this metabox if it's not the front page template.
|
@@ -39,9 +39,9 @@ function yourprefix_show_if_front_page( $cmb ) {
|
|
39 |
/**
|
40 |
* Conditionally displays a field when used as a callback in the 'show_on_cb' field parameter
|
41 |
*
|
42 |
-
* @param CMB2_Field
|
43 |
*
|
44 |
-
* @return bool
|
45 |
*/
|
46 |
function yourprefix_hide_if_no_cats( $field ) {
|
47 |
// Don't show this field if not in the cats category.
|
@@ -91,8 +91,8 @@ function yourprefix_display_text_small_column( $field_args, $field ) {
|
|
91 |
/**
|
92 |
* Conditionally displays a message if the $post_id is 2
|
93 |
*
|
94 |
-
* @param array
|
95 |
-
* @param CMB2_Field
|
96 |
*/
|
97 |
function yourprefix_before_row_if_2( $field_args, $field ) {
|
98 |
if ( 2 == $field->object_id ) {
|
@@ -260,6 +260,9 @@ function yourprefix_register_demo_metabox() {
|
|
260 |
'id' => $prefix . 'colorpicker',
|
261 |
'type' => 'colorpicker',
|
262 |
'default' => '#ffffff',
|
|
|
|
|
|
|
263 |
// 'attributes' => array(
|
264 |
// 'data-colorpicker' => json_encode( array(
|
265 |
// 'palettes' => array( '#3dd0cc', '#ff834c', '#4fa2c0', '#0bc991', ),
|
@@ -666,6 +669,7 @@ function yourprefix_register_theme_options_metabox() {
|
|
666 |
// 'display_cb' => false, // Override the options-page form output (CMB2_Hookup::options_page_output()).
|
667 |
// 'save_button' => esc_html__( 'Save Theme Options', 'cmb2' ), // The text for the options-page save button. Defaults to 'Save'.
|
668 |
// 'disable_settings_errors' => true, // On settings pages (not options-general.php sub-pages), allows disabling.
|
|
|
669 |
) );
|
670 |
|
671 |
/**
|
@@ -683,6 +687,41 @@ function yourprefix_register_theme_options_metabox() {
|
|
683 |
|
684 |
}
|
685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
/**
|
687 |
* Only show this box in the CMB2 REST API if the user is logged in.
|
688 |
*
|
24 |
/**
|
25 |
* Conditionally displays a metabox when used as a callback in the 'show_on_cb' cmb2_box parameter
|
26 |
*
|
27 |
+
* @param CMB2 $cmb CMB2 object.
|
28 |
*
|
29 |
+
* @return bool True if metabox should show
|
30 |
*/
|
31 |
function yourprefix_show_if_front_page( $cmb ) {
|
32 |
// Don't show this metabox if it's not the front page template.
|
39 |
/**
|
40 |
* Conditionally displays a field when used as a callback in the 'show_on_cb' field parameter
|
41 |
*
|
42 |
+
* @param CMB2_Field $field Field object.
|
43 |
*
|
44 |
+
* @return bool True if metabox should show
|
45 |
*/
|
46 |
function yourprefix_hide_if_no_cats( $field ) {
|
47 |
// Don't show this field if not in the cats category.
|
91 |
/**
|
92 |
* Conditionally displays a message if the $post_id is 2
|
93 |
*
|
94 |
+
* @param array $field_args Array of field parameters.
|
95 |
+
* @param CMB2_Field $field Field object.
|
96 |
*/
|
97 |
function yourprefix_before_row_if_2( $field_args, $field ) {
|
98 |
if ( 2 == $field->object_id ) {
|
260 |
'id' => $prefix . 'colorpicker',
|
261 |
'type' => 'colorpicker',
|
262 |
'default' => '#ffffff',
|
263 |
+
// 'options' => array(
|
264 |
+
// 'alpha' => true, // Make this a rgba color picker.
|
265 |
+
// ),
|
266 |
// 'attributes' => array(
|
267 |
// 'data-colorpicker' => json_encode( array(
|
268 |
// 'palettes' => array( '#3dd0cc', '#ff834c', '#4fa2c0', '#0bc991', ),
|
669 |
// 'display_cb' => false, // Override the options-page form output (CMB2_Hookup::options_page_output()).
|
670 |
// 'save_button' => esc_html__( 'Save Theme Options', 'cmb2' ), // The text for the options-page save button. Defaults to 'Save'.
|
671 |
// 'disable_settings_errors' => true, // On settings pages (not options-general.php sub-pages), allows disabling.
|
672 |
+
// 'message_cb' => 'yourprefix_options_page_message_callback',
|
673 |
) );
|
674 |
|
675 |
/**
|
687 |
|
688 |
}
|
689 |
|
690 |
+
/**
|
691 |
+
* Callback to define the optionss-saved message.
|
692 |
+
*
|
693 |
+
* @param CMB2 $cmb The CMB2 object.
|
694 |
+
* @param array $args {
|
695 |
+
* An array of message arguments
|
696 |
+
*
|
697 |
+
* @type bool $is_options_page Whether current page is this options page.
|
698 |
+
* @type bool $should_notify Whether options were saved and we should be notified.
|
699 |
+
* @type bool $is_updated Whether options were updated with save (or stayed the same).
|
700 |
+
* @type string $setting For add_settings_error(), Slug title of the setting to which
|
701 |
+
* this error applies.
|
702 |
+
* @type string $code For add_settings_error(), Slug-name to identify the error.
|
703 |
+
* Used as part of 'id' attribute in HTML output.
|
704 |
+
* @type string $message For add_settings_error(), The formatted message text to display
|
705 |
+
* to the user (will be shown inside styled `<div>` and `<p>` tags).
|
706 |
+
* Will be 'Settings updated.' if $is_updated is true, else 'Nothing to update.'
|
707 |
+
* @type string $type For add_settings_error(), Message type, controls HTML class.
|
708 |
+
* Accepts 'error', 'updated', '', 'notice-warning', etc.
|
709 |
+
* Will be 'updated' if $is_updated is true, else 'notice-warning'.
|
710 |
+
* }
|
711 |
+
*/
|
712 |
+
function yourprefix_options_page_message_callback( $cmb, $args ) {
|
713 |
+
if ( ! empty( $args['should_notify'] ) ) {
|
714 |
+
|
715 |
+
if ( $args['is_updated'] ) {
|
716 |
+
|
717 |
+
// Modify the updated message.
|
718 |
+
$args['message'] = sprintf( esc_html__( '%s — Updated!', 'cmb2' ), $cmb->prop( 'title' ) );
|
719 |
+
}
|
720 |
+
|
721 |
+
add_settings_error( $args['setting'], $args['code'], $args['message'], $args['type'] );
|
722 |
+
}
|
723 |
+
}
|
724 |
+
|
725 |
/**
|
726 |
* Only show this box in the CMB2 REST API if the user is logged in.
|
727 |
*
|
includes/vendor/cmb2/images/ui-icons_888888_256x240.png
ADDED
Binary file
|
includes/vendor/cmb2/includes/CMB2.php
CHANGED
@@ -110,6 +110,7 @@ class CMB2 extends CMB2_Base {
|
|
110 |
*/
|
111 |
|
112 |
// 'menu_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
|
|
|
113 |
'option_key' => '', // The actual option key and admin menu page slug.
|
114 |
'parent_slug' => '', // Used as first param in add_submenu_page().
|
115 |
'capability' => 'manage_options', // Cap required to view options-page.
|
@@ -428,31 +429,55 @@ class CMB2 extends CMB2_Base {
|
|
428 |
}
|
429 |
|
430 |
/**
|
431 |
-
* Render a
|
432 |
*
|
433 |
-
* @param array $args Array of field arguments for a group field parent.
|
434 |
* @return CMB2_Field|null Group field object.
|
435 |
*/
|
436 |
public function render_group( $args ) {
|
|
|
437 |
|
438 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
return;
|
440 |
}
|
441 |
|
442 |
-
$field_group =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
|
444 |
// If field is requesting to be conditionally shown.
|
445 |
if ( ! $field_group || ! $field_group->should_show() ) {
|
446 |
return;
|
447 |
}
|
448 |
|
449 |
-
$desc = $field_group->args( 'description' );
|
450 |
-
$label = $field_group->args( 'name' );
|
451 |
-
$group_val = (array) $field_group->value();
|
452 |
$field_group->index = 0;
|
453 |
|
454 |
$field_group->peform_param_callback( 'before_group' );
|
455 |
|
|
|
|
|
|
|
|
|
456 |
echo '<div class="cmb-row cmb-repeat-group-wrap ', esc_attr( $field_group->row_classes() ), '" data-fieldtype="group"><div class="cmb-td"><div data-groupid="', esc_attr( $field_group->id() ), '" id="', esc_attr( $field_group->id() ), '_repeat" ', $this->group_wrap_attributes( $field_group ), '>';
|
457 |
|
458 |
if ( $desc || $label ) {
|
@@ -1270,11 +1295,14 @@ class CMB2 extends CMB2_Base {
|
|
1270 |
* Get a field object
|
1271 |
*
|
1272 |
* @since 2.0.3
|
1273 |
-
* @param string|array|CMB2_Field $field
|
1274 |
-
* @param CMB2_Field|null $field_group
|
|
|
|
|
|
|
1275 |
* @return CMB2_Field|false CMB2_Field object (or false).
|
1276 |
*/
|
1277 |
-
public function get_field( $field, $field_group = null ) {
|
1278 |
if ( $field instanceof CMB2_Field ) {
|
1279 |
return $field;
|
1280 |
}
|
@@ -1291,7 +1319,8 @@ class CMB2 extends CMB2_Base {
|
|
1291 |
list( $field_id, $sub_field_id ) = $ids;
|
1292 |
|
1293 |
$index = implode( '', $ids ) . ( $field_group ? $field_group->index : '' );
|
1294 |
-
|
|
|
1295 |
return $this->fields[ $index ];
|
1296 |
}
|
1297 |
|
@@ -1411,6 +1440,18 @@ class CMB2 extends CMB2_Base {
|
|
1411 |
// Initiate oembed Ajax hooks.
|
1412 |
cmb2_ajax();
|
1413 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1414 |
}
|
1415 |
|
1416 |
if ( isset( $field['column'] ) && false !== $field['column'] ) {
|
@@ -1615,11 +1656,12 @@ class CMB2 extends CMB2_Base {
|
|
1615 |
* Handles metabox property callbacks, and passes this $cmb object as property.
|
1616 |
*
|
1617 |
* @since 2.2.3
|
1618 |
-
* @param callable $cb
|
1619 |
-
* @
|
|
|
1620 |
*/
|
1621 |
-
|
1622 |
-
return call_user_func( $cb, $this );
|
1623 |
}
|
1624 |
|
1625 |
/**
|
110 |
*/
|
111 |
|
112 |
// 'menu_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
|
113 |
+
'message_cb' => '', // Optionally define the options-save message (via a callback).
|
114 |
'option_key' => '', // The actual option key and admin menu page slug.
|
115 |
'parent_slug' => '', // Used as first param in add_submenu_page().
|
116 |
'capability' => 'manage_options', // Cap required to view options-page.
|
429 |
}
|
430 |
|
431 |
/**
|
432 |
+
* Render a group of fields.
|
433 |
*
|
434 |
+
* @param array|CMB2_Field $args Array of field arguments for a group field parent or the group parent field.
|
435 |
* @return CMB2_Field|null Group field object.
|
436 |
*/
|
437 |
public function render_group( $args ) {
|
438 |
+
$field_group = false;
|
439 |
|
440 |
+
if ( $args instanceof CMB2_Field ) {
|
441 |
+
$field_group = 'group' === $args->type() ? $args : false;
|
442 |
+
} elseif ( isset( $args['id'], $args['fields'] ) && is_array( $args['fields'] ) ) {
|
443 |
+
$field_group = $this->get_field( $args );
|
444 |
+
}
|
445 |
+
|
446 |
+
if ( ! $field_group ) {
|
447 |
return;
|
448 |
}
|
449 |
|
450 |
+
$field_group->render_context = 'edit';
|
451 |
+
$field_group->peform_param_callback( 'render_row_cb' );
|
452 |
+
|
453 |
+
return $field_group;
|
454 |
+
}
|
455 |
+
|
456 |
+
/**
|
457 |
+
* The default callback to render a group of fields.
|
458 |
+
*
|
459 |
+
* @since 2.2.6
|
460 |
+
*
|
461 |
+
* @param array $field_args Array of field arguments for the group field parent.
|
462 |
+
* @param CMB2_Field $field_group The CMB2_Field group object.
|
463 |
+
*
|
464 |
+
* @return CMB2_Field|null Group field object.
|
465 |
+
*/
|
466 |
+
public function render_group_callback( $field_args, $field_group ) {
|
467 |
|
468 |
// If field is requesting to be conditionally shown.
|
469 |
if ( ! $field_group || ! $field_group->should_show() ) {
|
470 |
return;
|
471 |
}
|
472 |
|
|
|
|
|
|
|
473 |
$field_group->index = 0;
|
474 |
|
475 |
$field_group->peform_param_callback( 'before_group' );
|
476 |
|
477 |
+
$desc = $field_group->args( 'description' );
|
478 |
+
$label = $field_group->args( 'name' );
|
479 |
+
$group_val = (array) $field_group->value();
|
480 |
+
|
481 |
echo '<div class="cmb-row cmb-repeat-group-wrap ', esc_attr( $field_group->row_classes() ), '" data-fieldtype="group"><div class="cmb-td"><div data-groupid="', esc_attr( $field_group->id() ), '" id="', esc_attr( $field_group->id() ), '_repeat" ', $this->group_wrap_attributes( $field_group ), '>';
|
482 |
|
483 |
if ( $desc || $label ) {
|
1295 |
* Get a field object
|
1296 |
*
|
1297 |
* @since 2.0.3
|
1298 |
+
* @param string|array|CMB2_Field $field Metabox field id or field config array or CMB2_Field object.
|
1299 |
+
* @param CMB2_Field|null $field_group (optional) CMB2_Field object (group parent).
|
1300 |
+
* @param bool $reset_cached (optional) Reset the internal cache for this field object.
|
1301 |
+
* Use sparingly.
|
1302 |
+
*
|
1303 |
* @return CMB2_Field|false CMB2_Field object (or false).
|
1304 |
*/
|
1305 |
+
public function get_field( $field, $field_group = null, $reset_cached = false ) {
|
1306 |
if ( $field instanceof CMB2_Field ) {
|
1307 |
return $field;
|
1308 |
}
|
1319 |
list( $field_id, $sub_field_id ) = $ids;
|
1320 |
|
1321 |
$index = implode( '', $ids ) . ( $field_group ? $field_group->index : '' );
|
1322 |
+
|
1323 |
+
if ( array_key_exists( $index, $this->fields ) && ! $reset_cached ) {
|
1324 |
return $this->fields[ $index ];
|
1325 |
}
|
1326 |
|
1440 |
// Initiate oembed Ajax hooks.
|
1441 |
cmb2_ajax();
|
1442 |
break;
|
1443 |
+
|
1444 |
+
case 'group':
|
1445 |
+
if ( empty( $field['render_row_cb'] ) ) {
|
1446 |
+
$field['render_row_cb'] = array( $this, 'render_group_callback' );
|
1447 |
+
}
|
1448 |
+
break;
|
1449 |
+
case 'colorpicker':
|
1450 |
+
// https://github.com/JayWood/CMB2_RGBa_Picker
|
1451 |
+
// Dequeue the rgba_colorpicker custom field script if it is used,
|
1452 |
+
// since we now enqueue our own more current version.
|
1453 |
+
add_action( 'admin_enqueue_scripts', array( 'CMB2_Type_Colorpicker', 'dequeue_rgba_colorpicker_script' ), 99 );
|
1454 |
+
break;
|
1455 |
}
|
1456 |
|
1457 |
if ( isset( $field['column'] ) && false !== $field['column'] ) {
|
1656 |
* Handles metabox property callbacks, and passes this $cmb object as property.
|
1657 |
*
|
1658 |
* @since 2.2.3
|
1659 |
+
* @param callable $cb The callback method/function/closure
|
1660 |
+
* @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
|
1661 |
+
* @return mixed Return of the callback function.
|
1662 |
*/
|
1663 |
+
public function do_callback( $cb, $additional_params = null ) {
|
1664 |
+
return call_user_func( $cb, $this, $additional_params );
|
1665 |
}
|
1666 |
|
1667 |
/**
|
includes/vendor/cmb2/includes/CMB2_Ajax.php
CHANGED
@@ -117,14 +117,14 @@ class CMB2_Ajax {
|
|
117 |
|
118 |
$args = wp_parse_args( $args, array(
|
119 |
'object_type' => 'post',
|
120 |
-
'oembed_args' =>
|
121 |
'field_id' => false,
|
122 |
'wp_error' => false,
|
123 |
) );
|
124 |
|
125 |
$this->embed_args =& $args;
|
126 |
|
127 |
-
|
128 |
* Set the post_ID so oEmbed won't fail
|
129 |
* wp-includes/class-wp-embed.php, WP_Embed::shortcode()
|
130 |
*/
|
@@ -267,7 +267,7 @@ class CMB2_Ajax {
|
|
267 |
} else {
|
268 |
|
269 |
$args = array( $this->object_type, $this->object_id, $meta_key );
|
270 |
-
$args[] = 'update' === $action ? $func_args : true;
|
271 |
|
272 |
// Cache the result to our metadata
|
273 |
$status = call_user_func_array( $action . '_metadata', $args );
|
117 |
|
118 |
$args = wp_parse_args( $args, array(
|
119 |
'object_type' => 'post',
|
120 |
+
'oembed_args' => array(),
|
121 |
'field_id' => false,
|
122 |
'wp_error' => false,
|
123 |
) );
|
124 |
|
125 |
$this->embed_args =& $args;
|
126 |
|
127 |
+
/*
|
128 |
* Set the post_ID so oEmbed won't fail
|
129 |
* wp-includes/class-wp-embed.php, WP_Embed::shortcode()
|
130 |
*/
|
267 |
} else {
|
268 |
|
269 |
$args = array( $this->object_type, $this->object_id, $meta_key );
|
270 |
+
$args[] = 'update' === $action ? $func_args[1] : true;
|
271 |
|
272 |
// Cache the result to our metadata
|
273 |
$status = call_user_func_array( $action . '_metadata', $args );
|
includes/vendor/cmb2/includes/CMB2_Base.php
CHANGED
@@ -288,15 +288,31 @@ abstract class CMB2_Base {
|
|
288 |
return $this->callback_results[ $param ];
|
289 |
}
|
290 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
/**
|
292 |
* Handles the parameter callbacks, and passes this object as parameter.
|
293 |
*
|
294 |
* @since 2.2.3
|
295 |
-
* @param callable $cb
|
296 |
-
* @
|
|
|
297 |
*/
|
298 |
-
protected function do_callback( $cb ) {
|
299 |
-
return call_user_func( $cb, $this->{$this->properties_name}, $this );
|
300 |
}
|
301 |
|
302 |
/**
|
288 |
return $this->callback_results[ $param ];
|
289 |
}
|
290 |
|
291 |
+
/**
|
292 |
+
* Unset the cached results of the param callback.
|
293 |
+
*
|
294 |
+
* @since 2.2.6
|
295 |
+
* @param string $param Field parameter
|
296 |
+
* @return CMB2_Base
|
297 |
+
*/
|
298 |
+
public function unset_param_callback_cache( $param ) {
|
299 |
+
if ( isset( $this->callback_results[ $param ] ) ) {
|
300 |
+
unset( $this->callback_results[ $param ] );
|
301 |
+
}
|
302 |
+
|
303 |
+
return $this;
|
304 |
+
}
|
305 |
+
|
306 |
/**
|
307 |
* Handles the parameter callbacks, and passes this object as parameter.
|
308 |
*
|
309 |
* @since 2.2.3
|
310 |
+
* @param callable $cb The callback method/function/closure
|
311 |
+
* @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
|
312 |
+
* @return mixed Return of the callback function.
|
313 |
*/
|
314 |
+
protected function do_callback( $cb, $additional_params = null ) {
|
315 |
+
return call_user_func( $cb, $this->{$this->properties_name}, $this, $additional_params );
|
316 |
}
|
317 |
|
318 |
/**
|
includes/vendor/cmb2/includes/CMB2_Field.php
CHANGED
@@ -654,6 +654,42 @@ class CMB2_Field extends CMB2_Base {
|
|
654 |
return isset( $all_fields[ $type ] );
|
655 |
}
|
656 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
/**
|
658 |
* Escape the value before output. Defaults to 'esc_attr()'
|
659 |
*
|
@@ -1100,63 +1136,31 @@ class CMB2_Field extends CMB2_Base {
|
|
1100 |
* @return mixed Default field value
|
1101 |
*/
|
1102 |
public function get_default() {
|
1103 |
-
|
1104 |
-
|
|
|
|
|
1105 |
}
|
1106 |
|
1107 |
$param = is_callable( $this->args['default_cb'] ) ? 'default_cb' : 'default';
|
1108 |
-
$default = $this->get_param_callback_result( $param );
|
1109 |
-
|
1110 |
-
// Allow a filter override of the default value
|
1111 |
-
$this->args['default'] = apply_filters( 'cmb2_default_filter', $default, $this );
|
1112 |
|
1113 |
-
|
|
|
1114 |
}
|
1115 |
|
1116 |
/**
|
1117 |
* Fills in empty field parameters with defaults
|
1118 |
*
|
1119 |
* @since 1.1.0
|
1120 |
-
*
|
1121 |
-
* @param
|
|
|
1122 |
*/
|
1123 |
public function _set_field_defaults( $args ) {
|
1124 |
|
1125 |
// Set up blank or default values for empty ones
|
1126 |
-
$args = wp_parse_args( $args,
|
1127 |
-
'type' => '',
|
1128 |
-
'name' => '',
|
1129 |
-
'desc' => '',
|
1130 |
-
'before' => '',
|
1131 |
-
'after' => '',
|
1132 |
-
'options' => array(),
|
1133 |
-
'options_cb' => '',
|
1134 |
-
'text' => array(),
|
1135 |
-
'text_cb' => '',
|
1136 |
-
'attributes' => array(),
|
1137 |
-
'protocols' => null,
|
1138 |
-
'default' => null,
|
1139 |
-
'default_cb' => '',
|
1140 |
-
'classes' => null,
|
1141 |
-
'classes_cb' => '',
|
1142 |
-
'select_all_button' => true,
|
1143 |
-
'multiple' => false,
|
1144 |
-
'repeatable' => isset( $args['type'] ) && 'group' == $args['type'],
|
1145 |
-
'inline' => false,
|
1146 |
-
'on_front' => true,
|
1147 |
-
'show_names' => true,
|
1148 |
-
'save_field' => true, // Will not save if false
|
1149 |
-
'date_format' => 'm\/d\/Y',
|
1150 |
-
'time_format' => 'h:i A',
|
1151 |
-
'description' => isset( $args['desc'] ) ? $args['desc'] : '',
|
1152 |
-
'preview_size' => 'file' == $args['type'] ? array( 350, 350 ) : array( 50, 50 ),
|
1153 |
-
'render_row_cb' => array( $this, 'render_field_callback' ),
|
1154 |
-
'display_cb' => array( $this, 'display_value_callback' ),
|
1155 |
-
'label_cb' => 'title' != $args['type'] ? array( $this, 'label' ) : '',
|
1156 |
-
'column' => false,
|
1157 |
-
'js_dependencies' => array(),
|
1158 |
-
'show_in_rest' => null,
|
1159 |
-
) );
|
1160 |
|
1161 |
/*
|
1162 |
* Deprecated usage:
|
@@ -1169,37 +1173,15 @@ class CMB2_Field extends CMB2_Base {
|
|
1169 |
|
1170 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
1171 |
$args['inline'] = $args['inline'] || false !== stripos( $args['type'], '_inline' );
|
1172 |
-
|
1173 |
-
$args['options'] = 'group' == $args['type'] ? wp_parse_args( $args['options'], array(
|
1174 |
-
'add_button' => esc_html__( 'Add Group', 'cmb2' ),
|
1175 |
-
'remove_button' => esc_html__( 'Remove Group', 'cmb2' ),
|
1176 |
-
) ) : $args['options'];
|
1177 |
-
|
1178 |
$args['_id'] = $args['id'];
|
1179 |
$args['_name'] = $args['id'];
|
1180 |
|
1181 |
-
if ( $this->
|
1182 |
-
|
1183 |
-
$args['id'] = $this->group->args( 'id' ) . '_' . $this->group->index . '_' . $args['id'];
|
1184 |
-
$args['_name'] = $this->group->args( 'id' ) . '[' . $this->group->index . '][' . $args['_name'] . ']';
|
1185 |
-
}
|
1186 |
-
|
1187 |
-
if ( 'wysiwyg' == $args['type'] ) {
|
1188 |
-
$args['id'] = strtolower( str_ireplace( '-', '_', $args['id'] ) );
|
1189 |
-
$args['options']['textarea_name'] = $args['_name'];
|
1190 |
}
|
1191 |
|
1192 |
-
|
1193 |
-
|
1194 |
-
if ( in_array( $args['type'], $option_types, true ) ) {
|
1195 |
-
|
1196 |
-
$args['show_option_none'] = isset( $args['show_option_none'] ) ? $args['show_option_none'] : null;
|
1197 |
-
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'cmb2' ) : $args['show_option_none'];
|
1198 |
-
|
1199 |
-
if ( null === $args['show_option_none'] ) {
|
1200 |
-
$off_by_default = in_array( $args['type'], array( 'select', 'radio', 'radio_inline' ), true );
|
1201 |
-
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'cmb2' );
|
1202 |
-
}
|
1203 |
}
|
1204 |
|
1205 |
$args['has_supporting_data'] = in_array(
|
@@ -1216,6 +1198,120 @@ class CMB2_Field extends CMB2_Base {
|
|
1216 |
return $args;
|
1217 |
}
|
1218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1219 |
/**
|
1220 |
* Get default field arguments specific to this CMB2 object.
|
1221 |
*
|
654 |
return isset( $all_fields[ $type ] );
|
655 |
}
|
656 |
|
657 |
+
/**
|
658 |
+
* Determine if current type has its own defaults field-arguments method.
|
659 |
+
*
|
660 |
+
* @since 2.2.6
|
661 |
+
* @param string $type Field type to check
|
662 |
+
* @return bool True if has own method.
|
663 |
+
*/
|
664 |
+
public function has_args_method( $type ) {
|
665 |
+
|
666 |
+
// These types have their own arguments parser.
|
667 |
+
$type_methods = array(
|
668 |
+
'group' => 'set_field_defaults_group',
|
669 |
+
'wysiwyg' => 'set_field_defaults_wysiwyg',
|
670 |
+
);
|
671 |
+
|
672 |
+
if ( isset( $type_methods[ $type ] ) ) {
|
673 |
+
return $type_methods[ $type ];
|
674 |
+
}
|
675 |
+
|
676 |
+
$all_or_nothing_types = array_flip( apply_filters( 'cmb2_all_or_nothing_types', array(
|
677 |
+
'select',
|
678 |
+
'radio',
|
679 |
+
'radio_inline',
|
680 |
+
'taxonomy_select',
|
681 |
+
'taxonomy_radio',
|
682 |
+
'taxonomy_radio_inline',
|
683 |
+
'taxonomy_radio_hierarchical',
|
684 |
+
), $this ) );
|
685 |
+
|
686 |
+
if ( isset( $all_or_nothing_types[ $type ] ) ) {
|
687 |
+
return 'set_field_defaults_all_or_nothing_types';
|
688 |
+
}
|
689 |
+
|
690 |
+
return false;
|
691 |
+
}
|
692 |
+
|
693 |
/**
|
694 |
* Escape the value before output. Defaults to 'esc_attr()'
|
695 |
*
|
1136 |
* @return mixed Default field value
|
1137 |
*/
|
1138 |
public function get_default() {
|
1139 |
+
$default = $this->args['default'];
|
1140 |
+
|
1141 |
+
if ( null !== $default ) {
|
1142 |
+
return apply_filters( 'cmb2_default_filter', $default, $this );
|
1143 |
}
|
1144 |
|
1145 |
$param = is_callable( $this->args['default_cb'] ) ? 'default_cb' : 'default';
|
1146 |
+
$default = $this->args['default'] = $this->get_param_callback_result( $param );
|
|
|
|
|
|
|
1147 |
|
1148 |
+
// Allow a filter override of the default value.
|
1149 |
+
return apply_filters( 'cmb2_default_filter', $this->args['default'], $this );
|
1150 |
}
|
1151 |
|
1152 |
/**
|
1153 |
* Fills in empty field parameters with defaults
|
1154 |
*
|
1155 |
* @since 1.1.0
|
1156 |
+
*
|
1157 |
+
* @param array $args Field config array.
|
1158 |
+
* @return array Modified field config array.
|
1159 |
*/
|
1160 |
public function _set_field_defaults( $args ) {
|
1161 |
|
1162 |
// Set up blank or default values for empty ones
|
1163 |
+
$args = wp_parse_args( $args, $this->get_default_field_args( $args ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1164 |
|
1165 |
/*
|
1166 |
* Deprecated usage:
|
1173 |
|
1174 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
1175 |
$args['inline'] = $args['inline'] || false !== stripos( $args['type'], '_inline' );
|
|
|
|
|
|
|
|
|
|
|
|
|
1176 |
$args['_id'] = $args['id'];
|
1177 |
$args['_name'] = $args['id'];
|
1178 |
|
1179 |
+
if ( $method = $this->has_args_method( $args['type'] ) ) {
|
1180 |
+
$args = $this->{$method}( $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
}
|
1182 |
|
1183 |
+
if ( $this->group ) {
|
1184 |
+
$args = $this->set_group_sub_field_defaults( $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1185 |
}
|
1186 |
|
1187 |
$args['has_supporting_data'] = in_array(
|
1198 |
return $args;
|
1199 |
}
|
1200 |
|
1201 |
+
/**
|
1202 |
+
* Sets default arguments for the group field types.
|
1203 |
+
*
|
1204 |
+
* @since 2.2.6
|
1205 |
+
*
|
1206 |
+
* @param array $args Field config array.
|
1207 |
+
* @return array Modified field config array.
|
1208 |
+
*/
|
1209 |
+
protected function set_field_defaults_group( $args ) {
|
1210 |
+
$args['options'] = wp_parse_args( $args['options'], array(
|
1211 |
+
'add_button' => esc_html__( 'Add Group', 'cmb2' ),
|
1212 |
+
'remove_button' => esc_html__( 'Remove Group', 'cmb2' ),
|
1213 |
+
) );
|
1214 |
+
|
1215 |
+
return $args;
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
/**
|
1219 |
+
* Sets default arguments for the wysiwyg field types.
|
1220 |
+
*
|
1221 |
+
* @since 2.2.6
|
1222 |
+
*
|
1223 |
+
* @param array $args Field config array.
|
1224 |
+
* @return array Modified field config array.
|
1225 |
+
*/
|
1226 |
+
protected function set_field_defaults_wysiwyg( $args ) {
|
1227 |
+
$args['id'] = strtolower( str_ireplace( '-', '_', $args['id'] ) );
|
1228 |
+
$args['options']['textarea_name'] = $args['_name'];
|
1229 |
+
|
1230 |
+
return $args;
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
/**
|
1234 |
+
* Sets default arguments for the all-or-nothing field types.
|
1235 |
+
*
|
1236 |
+
* @since 2.2.6
|
1237 |
+
*
|
1238 |
+
* @param array $args Field config array.
|
1239 |
+
* @return array Modified field config array.
|
1240 |
+
*/
|
1241 |
+
protected function set_field_defaults_all_or_nothing_types( $args ) {
|
1242 |
+
$args['show_option_none'] = isset( $args['show_option_none'] ) ? $args['show_option_none'] : null;
|
1243 |
+
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'cmb2' ) : $args['show_option_none'];
|
1244 |
+
|
1245 |
+
if ( null === $args['show_option_none'] ) {
|
1246 |
+
$off_by_default = in_array( $args['type'], array( 'select', 'radio', 'radio_inline' ), true );
|
1247 |
+
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'cmb2' );
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
return $args;
|
1251 |
+
}
|
1252 |
+
|
1253 |
+
/**
|
1254 |
+
* Sets default arguments for group sub-fields.
|
1255 |
+
*
|
1256 |
+
* @since 2.2.6
|
1257 |
+
*
|
1258 |
+
* @param array $args Field config array.
|
1259 |
+
* @return array Modified field config array.
|
1260 |
+
*/
|
1261 |
+
protected function set_group_sub_field_defaults( $args ) {
|
1262 |
+
$args['id'] = $this->group->args( 'id' ) . '_' . $this->group->index . '_' . $args['id'];
|
1263 |
+
$args['_name'] = $this->group->args( 'id' ) . '[' . $this->group->index . '][' . $args['_name'] . ']';
|
1264 |
+
|
1265 |
+
return $args;
|
1266 |
+
}
|
1267 |
+
|
1268 |
+
/**
|
1269 |
+
* Gets the default arguments for all fields.
|
1270 |
+
*
|
1271 |
+
* @since 2.2.6
|
1272 |
+
*
|
1273 |
+
* @param array $args Field config array.
|
1274 |
+
* @return array Field defaults.
|
1275 |
+
*/
|
1276 |
+
protected function get_default_field_args( $args ) {
|
1277 |
+
$type = isset( $args['type'] ) ? $args['type'] : '';
|
1278 |
+
|
1279 |
+
return array(
|
1280 |
+
'type' => $type,
|
1281 |
+
'name' => '',
|
1282 |
+
'desc' => '',
|
1283 |
+
'before' => '',
|
1284 |
+
'after' => '',
|
1285 |
+
'options' => array(),
|
1286 |
+
'options_cb' => '',
|
1287 |
+
'text' => array(),
|
1288 |
+
'text_cb' => '',
|
1289 |
+
'attributes' => array(),
|
1290 |
+
'protocols' => null,
|
1291 |
+
'default' => null,
|
1292 |
+
'default_cb' => '',
|
1293 |
+
'classes' => null,
|
1294 |
+
'classes_cb' => '',
|
1295 |
+
'select_all_button' => true,
|
1296 |
+
'multiple' => false,
|
1297 |
+
'repeatable' => 'group' === $type,
|
1298 |
+
'inline' => false,
|
1299 |
+
'on_front' => true,
|
1300 |
+
'show_names' => true,
|
1301 |
+
'save_field' => true, // Will not save if false
|
1302 |
+
'date_format' => 'm\/d\/Y',
|
1303 |
+
'time_format' => 'h:i A',
|
1304 |
+
'description' => isset( $args['desc'] ) ? $args['desc'] : '',
|
1305 |
+
'preview_size' => 'file' === $type ? array( 350, 350 ) : array( 50, 50 ),
|
1306 |
+
'render_row_cb' => array( $this, 'render_field_callback' ),
|
1307 |
+
'display_cb' => array( $this, 'display_value_callback' ),
|
1308 |
+
'label_cb' => 'title' !== $type ? array( $this, 'label' ) : '',
|
1309 |
+
'column' => false,
|
1310 |
+
'js_dependencies' => array(),
|
1311 |
+
'show_in_rest' => null,
|
1312 |
+
);
|
1313 |
+
}
|
1314 |
+
|
1315 |
/**
|
1316 |
* Get default field arguments specific to this CMB2 object.
|
1317 |
*
|
includes/vendor/cmb2/includes/CMB2_JS.php
CHANGED
@@ -63,8 +63,14 @@ class CMB2_JS {
|
|
63 |
$min = $debug ? '' : '.min';
|
64 |
|
65 |
// if colorpicker
|
66 |
-
if (
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
|
70 |
// if file/file_list
|
@@ -75,7 +81,7 @@ class CMB2_JS {
|
|
75 |
|
76 |
// if timepicker
|
77 |
if ( isset( $dependencies['jquery-ui-datetimepicker'] ) ) {
|
78 |
-
|
79 |
}
|
80 |
|
81 |
// if cmb2-wysiwyg
|
@@ -95,6 +101,36 @@ class CMB2_JS {
|
|
95 |
do_action( 'cmb2_footer_enqueue' );
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
/**
|
99 |
* We need to register colorpicker on the front-end
|
100 |
*
|
@@ -124,12 +160,13 @@ class CMB2_JS {
|
|
124 |
|
125 |
$localized = true;
|
126 |
$l10n = array(
|
127 |
-
'ajax_nonce'
|
128 |
-
'ajaxurl'
|
129 |
-
'script_debug'
|
130 |
-
'up_arrow_class'
|
131 |
-
'down_arrow_class'
|
132 |
-
'
|
|
|
133 |
'color_picker' => false,
|
134 |
'date_picker' => array(
|
135 |
'changeMonth' => true,
|
63 |
$min = $debug ? '' : '.min';
|
64 |
|
65 |
// if colorpicker
|
66 |
+
if ( isset( $dependencies['wp-color-picker'] ) ) {
|
67 |
+
if ( ! is_admin() ) {
|
68 |
+
self::colorpicker_frontend();
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( isset( $dependencies['wp-color-picker-alpha'] ) ) {
|
72 |
+
self::register_colorpicker_alpha();
|
73 |
+
}
|
74 |
}
|
75 |
|
76 |
// if file/file_list
|
81 |
|
82 |
// if timepicker
|
83 |
if ( isset( $dependencies['jquery-ui-datetimepicker'] ) ) {
|
84 |
+
self::register_datetimepicker();
|
85 |
}
|
86 |
|
87 |
// if cmb2-wysiwyg
|
101 |
do_action( 'cmb2_footer_enqueue' );
|
102 |
}
|
103 |
|
104 |
+
/**
|
105 |
+
* Register or enqueue the wp-color-picker-alpha script.
|
106 |
+
*
|
107 |
+
* @since 2.2.7
|
108 |
+
*
|
109 |
+
* @param boolean $enqueue
|
110 |
+
*
|
111 |
+
* @return void
|
112 |
+
*/
|
113 |
+
public static function register_colorpicker_alpha( $enqueue = false ) {
|
114 |
+
// Only use minified files if SCRIPT_DEBUG is off
|
115 |
+
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
116 |
+
$func = $enqueue ? 'wp_enqueue_script' : 'wp_register_script';
|
117 |
+
$func( 'wp-color-picker-alpha', CMB2_Utils::url( "js/wp-color-picker-alpha{$min}.js" ), array( 'wp-color-picker' ), '2.1.3' );
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Register or enqueue the jquery-ui-datetimepicker script.
|
122 |
+
*
|
123 |
+
* @since 2.2.7
|
124 |
+
*
|
125 |
+
* @param boolean $enqueue
|
126 |
+
*
|
127 |
+
* @return void
|
128 |
+
*/
|
129 |
+
public static function register_datetimepicker( $enqueue = false ) {
|
130 |
+
$func = $enqueue ? 'wp_enqueue_script' : 'wp_register_script';
|
131 |
+
$func( 'jquery-ui-datetimepicker', CMB2_Utils::url( 'js/jquery-ui-timepicker-addon.min.js' ), array( 'jquery-ui-slider' ), '1.5.0' );
|
132 |
+
}
|
133 |
+
|
134 |
/**
|
135 |
* We need to register colorpicker on the front-end
|
136 |
*
|
160 |
|
161 |
$localized = true;
|
162 |
$l10n = array(
|
163 |
+
'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
|
164 |
+
'ajaxurl' => admin_url( '/admin-ajax.php' ),
|
165 |
+
'script_debug' => $debug,
|
166 |
+
'up_arrow_class' => 'dashicons dashicons-arrow-up-alt2',
|
167 |
+
'down_arrow_class' => 'dashicons dashicons-arrow-down-alt2',
|
168 |
+
'user_can_richedit' => user_can_richedit(),
|
169 |
+
'defaults' => array(
|
170 |
'color_picker' => false,
|
171 |
'date_picker' => array(
|
172 |
'changeMonth' => true,
|
includes/vendor/cmb2/includes/CMB2_Options_Hookup.php
CHANGED
@@ -106,12 +106,65 @@ class CMB2_Options_Hookup extends CMB2_hookup {
|
|
106 |
add_action( "admin_print_styles-{$page_hook}", array( 'CMB2_hookup', 'enqueue_cmb_css' ) );
|
107 |
}
|
108 |
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
}
|
117 |
|
@@ -154,7 +207,7 @@ class CMB2_Options_Hookup extends CMB2_hookup {
|
|
154 |
global $parent_file;
|
155 |
|
156 |
// The settings sub-pages will already have settings_errors() called in wp-admin/options-head.php
|
157 |
-
if ( 'options-general.php' !== $parent_file
|
158 |
settings_errors( "{$this->option_key}-notices" );
|
159 |
}
|
160 |
}
|
106 |
add_action( "admin_print_styles-{$page_hook}", array( 'CMB2_hookup', 'enqueue_cmb_css' ) );
|
107 |
}
|
108 |
|
109 |
+
$this->maybe_register_message();
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* If there is a message callback, let it determine how to register the message,
|
114 |
+
* else add a settings message if on this settings page.
|
115 |
+
*
|
116 |
+
* @since 2.2.6
|
117 |
+
*
|
118 |
+
* @return void
|
119 |
+
*/
|
120 |
+
public function maybe_register_message() {
|
121 |
+
$is_options_page = isset( $_GET['page'] ) && $this->option_key === $_GET['page'];
|
122 |
+
$should_notify = ! $this->cmb->prop( 'disable_settings_errors' ) && isset( $_GET['settings-updated'] ) && $is_options_page;
|
123 |
+
$is_updated = $should_notify && 'true' === $_GET['settings-updated'];
|
124 |
+
$setting = "{$this->option_key}-notices";
|
125 |
+
$code = '';
|
126 |
+
$message = __( 'Nothing to update.', 'cmb2' );
|
127 |
+
$type = 'notice-warning';
|
128 |
+
|
129 |
+
if ( $is_updated ) {
|
130 |
+
$message = __( 'Settings updated.', 'cmb2' );
|
131 |
+
$type = 'updated';
|
132 |
+
}
|
133 |
+
|
134 |
+
// Check if parameter has registered a callback.
|
135 |
+
if ( $cb = $this->cmb->maybe_callback( 'message_cb' ) ) {
|
136 |
+
|
137 |
+
/**
|
138 |
+
* The 'message_cb' callback will receive the following parameters.
|
139 |
+
* Unless there are other reasons for notifications, the callback should only
|
140 |
+
* `add_settings_error()` if `$args['should_notify']` is truthy.
|
141 |
+
*
|
142 |
+
* @param CMB2 $cmb The CMB2 object.
|
143 |
+
* @param array $args {
|
144 |
+
* An array of message arguments
|
145 |
+
*
|
146 |
+
* @type bool $is_options_page Whether current page is this options page.
|
147 |
+
* @type bool $should_notify Whether options were saved and we should be notified.
|
148 |
+
* @type bool $is_updated Whether options were updated with save (or stayed the same).
|
149 |
+
* @type string $setting For add_settings_error(), Slug title of the setting to which
|
150 |
+
* this error applies.
|
151 |
+
* @type string $code For add_settings_error(), Slug-name to identify the error.
|
152 |
+
* Used as part of 'id' attribute in HTML output.
|
153 |
+
* @type string $message For add_settings_error(), The formatted message text to display
|
154 |
+
* to the user (will be shown inside styled `<div>` and `<p>` tags).
|
155 |
+
* Will be 'Settings updated.' if $is_updated is true, else 'Nothing to update.'
|
156 |
+
* @type string $type For add_settings_error(), Message type, controls HTML class.
|
157 |
+
* Accepts 'error', 'updated', '', 'notice-warning', etc.
|
158 |
+
* Will be 'updated' if $is_updated is true, else 'notice-warning'.
|
159 |
+
* }
|
160 |
+
*/
|
161 |
+
$args = compact( 'is_options_page', 'should_notify', 'is_updated', 'setting', 'code', 'message', 'type' );
|
162 |
+
|
163 |
+
$this->cmb->do_callback( $cb, $args );
|
164 |
+
|
165 |
+
} elseif ( $should_notify ) {
|
166 |
+
|
167 |
+
add_settings_error( $setting, $code, $message, $type );
|
168 |
}
|
169 |
}
|
170 |
|
207 |
global $parent_file;
|
208 |
|
209 |
// The settings sub-pages will already have settings_errors() called in wp-admin/options-head.php
|
210 |
+
if ( 'options-general.php' !== $parent_file ) {
|
211 |
settings_errors( "{$this->option_key}-notices" );
|
212 |
}
|
213 |
}
|
includes/vendor/cmb2/includes/CMB2_Sanitize.php
CHANGED
@@ -371,8 +371,8 @@ class CMB2_Sanitize {
|
|
371 |
if ( ! is_object( $datetime ) ) {
|
372 |
$this->value = $utc_stamp = '';
|
373 |
} else {
|
374 |
-
$
|
375 |
-
$utc_stamp = $
|
376 |
$this->value = serialize( $datetime );
|
377 |
}
|
378 |
|
@@ -486,6 +486,10 @@ class CMB2_Sanitize {
|
|
486 |
// If there is no ID saved yet, try to get it from the url
|
487 |
if ( $this->value && ! $id_val ) {
|
488 |
$id_val = CMB2_Utils::image_id_from_url( $this->value );
|
|
|
|
|
|
|
|
|
489 |
}
|
490 |
|
491 |
return $id_field->save_field( $id_val );
|
371 |
if ( ! is_object( $datetime ) ) {
|
372 |
$this->value = $utc_stamp = '';
|
373 |
} else {
|
374 |
+
$datetime->setTimezone( new DateTimeZone( $tzstring ) );
|
375 |
+
$utc_stamp = date_timestamp_get( $datetime ) - $offset;
|
376 |
$this->value = serialize( $datetime );
|
377 |
}
|
378 |
|
486 |
// If there is no ID saved yet, try to get it from the url
|
487 |
if ( $this->value && ! $id_val ) {
|
488 |
$id_val = CMB2_Utils::image_id_from_url( $this->value );
|
489 |
+
|
490 |
+
// If there is an ID but user emptied the input value, remove the ID.
|
491 |
+
} elseif ( ! $this->value && $id_val ) {
|
492 |
+
$id_val = null;
|
493 |
}
|
494 |
|
495 |
return $id_field->save_field( $id_val );
|
includes/vendor/cmb2/includes/CMB2_Utils.php
CHANGED
@@ -384,7 +384,7 @@ class CMB2_Utils {
|
|
384 |
}
|
385 |
|
386 |
// Check to see if it's anywhere in the root directory
|
387 |
-
$site_dir = self::
|
388 |
$site_url = trailingslashit( is_multisite() ? network_site_url() : site_url() );
|
389 |
|
390 |
$url = str_replace(
|
@@ -396,6 +396,17 @@ class CMB2_Utils {
|
|
396 |
return set_url_scheme( $url );
|
397 |
}
|
398 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
399 |
/**
|
400 |
* `wp_normalize_path` wrapper for back-compat. Normalize a filesystem path.
|
401 |
*
|
@@ -441,7 +452,7 @@ class CMB2_Utils {
|
|
441 |
* Takes a php date() format string and returns a string formatted to suit for the date/time pickers
|
442 |
* It will work with only with the following subset ot date() options:
|
443 |
*
|
444 |
-
* d, j, z, m, n, y, and Y.
|
445 |
*
|
446 |
* A slight effort is made to deal with escaped characters.
|
447 |
*
|
@@ -456,25 +467,27 @@ class CMB2_Utils {
|
|
456 |
|
457 |
// order is relevant here, since the replacement will be done sequentially.
|
458 |
$supported_options = array(
|
459 |
-
'd'
|
460 |
-
'j'
|
461 |
-
'z'
|
462 |
// 'D' => 'D', // Day name short, not sure how it'll work with translations
|
463 |
-
|
464 |
-
'
|
465 |
-
'
|
|
|
466 |
// 'M' => 'M', // Month, Short name
|
467 |
-
|
468 |
-
'
|
469 |
-
'
|
470 |
-
'
|
471 |
-
'
|
472 |
-
'
|
473 |
-
'
|
474 |
-
'
|
475 |
-
'
|
476 |
-
'
|
477 |
-
'
|
|
|
478 |
);
|
479 |
|
480 |
foreach ( $supported_options as $php => $js ) {
|
@@ -482,13 +495,22 @@ class CMB2_Utils {
|
|
482 |
$format = preg_replace( "~(?<!\\\\)$php~", $js, $format );
|
483 |
}
|
484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
$format = preg_replace_callback( '~(?:\\\.)+~', array( __CLASS__, 'wrap_escaped_chars' ), $format );
|
486 |
|
487 |
return $format;
|
488 |
}
|
489 |
|
490 |
/**
|
491 |
-
* Helper function for CMB_Utils
|
492 |
*
|
493 |
* @since 2.2.0
|
494 |
* @param $value Value to wrap/escape
|
384 |
}
|
385 |
|
386 |
// Check to see if it's anywhere in the root directory
|
387 |
+
$site_dir = self::get_normalized_abspath();
|
388 |
$site_url = trailingslashit( is_multisite() ? network_site_url() : site_url() );
|
389 |
|
390 |
$url = str_replace(
|
396 |
return set_url_scheme( $url );
|
397 |
}
|
398 |
|
399 |
+
/**
|
400 |
+
* Get the normalized absolute path defined by WordPress.
|
401 |
+
*
|
402 |
+
* @since 2.2.6
|
403 |
+
*
|
404 |
+
* @return string Normalized absolute path.
|
405 |
+
*/
|
406 |
+
protected static function get_normalized_abspath() {
|
407 |
+
return self::normalize_path( self::$ABSPATH );
|
408 |
+
}
|
409 |
+
|
410 |
/**
|
411 |
* `wp_normalize_path` wrapper for back-compat. Normalize a filesystem path.
|
412 |
*
|
452 |
* Takes a php date() format string and returns a string formatted to suit for the date/time pickers
|
453 |
* It will work with only with the following subset ot date() options:
|
454 |
*
|
455 |
+
* d, l, j, z, m, F, n, y, and Y.
|
456 |
*
|
457 |
* A slight effort is made to deal with escaped characters.
|
458 |
*
|
467 |
|
468 |
// order is relevant here, since the replacement will be done sequentially.
|
469 |
$supported_options = array(
|
470 |
+
'd' => 'dd', // Day, leading 0
|
471 |
+
'j' => 'd', // Day, no 0
|
472 |
+
'z' => 'o', // Day of the year, no leading zeroes,
|
473 |
// 'D' => 'D', // Day name short, not sure how it'll work with translations
|
474 |
+
'l ' => 'DD ', // Day name full, idem before
|
475 |
+
'l, ' => 'DD, ', // Day name full, idem before
|
476 |
+
'm' => 'mm', // Month of the year, leading 0
|
477 |
+
'n' => 'm', // Month of the year, no leading 0
|
478 |
// 'M' => 'M', // Month, Short name
|
479 |
+
'F ' => 'MM ', // Month, full name,
|
480 |
+
'F, ' => 'MM, ', // Month, full name,
|
481 |
+
'y' => 'y', // Year, two digit
|
482 |
+
'Y' => 'yy', // Year, full
|
483 |
+
'H' => 'HH', // Hour with leading 0 (24 hour)
|
484 |
+
'G' => 'H', // Hour with no leading 0 (24 hour)
|
485 |
+
'h' => 'hh', // Hour with leading 0 (12 hour)
|
486 |
+
'g' => 'h', // Hour with no leading 0 (12 hour),
|
487 |
+
'i' => 'mm', // Minute with leading 0,
|
488 |
+
's' => 'ss', // Second with leading 0,
|
489 |
+
'a' => 'tt', // am/pm
|
490 |
+
'A' => 'TT',// AM/PM
|
491 |
);
|
492 |
|
493 |
foreach ( $supported_options as $php => $js ) {
|
495 |
$format = preg_replace( "~(?<!\\\\)$php~", $js, $format );
|
496 |
}
|
497 |
|
498 |
+
$supported_options = array(
|
499 |
+
'l' => 'DD', // Day name full, idem before
|
500 |
+
'F' => 'MM', // Month, full name,
|
501 |
+
);
|
502 |
+
|
503 |
+
if ( isset( $supported_options[ $format ] ) ) {
|
504 |
+
$format = $supported_options[ $format ];
|
505 |
+
}
|
506 |
+
|
507 |
$format = preg_replace_callback( '~(?:\\\.)+~', array( __CLASS__, 'wrap_escaped_chars' ), $format );
|
508 |
|
509 |
return $format;
|
510 |
}
|
511 |
|
512 |
/**
|
513 |
+
* Helper function for CMB_Utils::php_to_js_dateformat().
|
514 |
*
|
515 |
* @since 2.2.0
|
516 |
* @param $value Value to wrap/escape
|
includes/vendor/cmb2/includes/helper-functions.php
CHANGED
@@ -404,3 +404,18 @@ if ( ! function_exists( 'date_create_from_format' ) ) {
|
|
404 |
return new DateTime( $ymd );
|
405 |
}
|
406 |
}// End if().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
return new DateTime( $ymd );
|
405 |
}
|
406 |
}// End if().
|
407 |
+
|
408 |
+
if ( ! function_exists( 'date_timestamp_get' ) ) {
|
409 |
+
|
410 |
+
/**
|
411 |
+
* Returns the Unix timestamp representing the date.
|
412 |
+
* Reimplementation of DateTime::getTimestamp for PHP < 5.3. :(
|
413 |
+
*
|
414 |
+
* @param DateTime
|
415 |
+
*
|
416 |
+
* @return int
|
417 |
+
*/
|
418 |
+
function date_timestamp_get( DateTime $date ) {
|
419 |
+
return $date->format( 'U' );
|
420 |
+
}
|
421 |
+
}// End if().
|
includes/vendor/cmb2/includes/shim/WP_REST_Controller.php
CHANGED
@@ -21,7 +21,8 @@ abstract class WP_REST_Controller {
|
|
21 |
* Register the routes for the objects of the controller.
|
22 |
*/
|
23 |
public function register_routes() {
|
24 |
-
|
|
|
25 |
}
|
26 |
|
27 |
/**
|
21 |
* Register the routes for the objects of the controller.
|
22 |
*/
|
23 |
public function register_routes() {
|
24 |
+
/* translators: %s: register_routes() */
|
25 |
+
_doing_it_wrong( 'WP_REST_Controller::register_routes', sprintf( __( "Method '%s' must be overridden." ), __METHOD__ ), '4.7' );
|
26 |
}
|
27 |
|
28 |
/**
|
includes/vendor/cmb2/includes/types/CMB2_Type_Checkbox.php
CHANGED
@@ -32,7 +32,7 @@ class CMB2_Type_Checkbox extends CMB2_Type_Text {
|
|
32 |
$this->is_checked = $is_checked;
|
33 |
}
|
34 |
|
35 |
-
public function render() {
|
36 |
$defaults = array(
|
37 |
'type' => 'checkbox',
|
38 |
'class' => 'cmb2-option cmb2-list',
|
32 |
$this->is_checked = $is_checked;
|
33 |
}
|
34 |
|
35 |
+
public function render( $args = array() ) {
|
36 |
$defaults = array(
|
37 |
'type' => 'checkbox',
|
38 |
'class' => 'cmb2-option cmb2-list',
|
includes/vendor/cmb2/includes/types/CMB2_Type_Colorpicker.php
CHANGED
@@ -32,27 +32,48 @@ class CMB2_Type_Colorpicker extends CMB2_Type_Text {
|
|
32 |
$this->value = $value ? $value : $this->value;
|
33 |
}
|
34 |
|
35 |
-
public function render() {
|
36 |
$meta_value = $this->value ? $this->value : $this->field->escaped_value();
|
37 |
|
38 |
$hex_color = '(([a-fA-F0-9]){3}){1,2}$';
|
39 |
if ( preg_match( '/^' . $hex_color . '/i', $meta_value ) ) {
|
40 |
// Value is just 123abc, so prepend #
|
41 |
$meta_value = '#' . $meta_value;
|
42 |
-
} elseif (
|
43 |
-
//
|
|
|
|
|
|
|
|
|
|
|
44 |
$meta_value = '#';
|
45 |
}
|
46 |
|
47 |
wp_enqueue_style( 'wp-color-picker' );
|
48 |
|
49 |
-
$args = wp_parse_args( $
|
50 |
-
'class'
|
51 |
-
'value' => $meta_value,
|
52 |
-
'js_dependencies' => 'wp-color-picker',
|
53 |
) );
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
return parent::render( $args );
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
32 |
$this->value = $value ? $value : $this->value;
|
33 |
}
|
34 |
|
35 |
+
public function render( $args = array() ) {
|
36 |
$meta_value = $this->value ? $this->value : $this->field->escaped_value();
|
37 |
|
38 |
$hex_color = '(([a-fA-F0-9]){3}){1,2}$';
|
39 |
if ( preg_match( '/^' . $hex_color . '/i', $meta_value ) ) {
|
40 |
// Value is just 123abc, so prepend #
|
41 |
$meta_value = '#' . $meta_value;
|
42 |
+
} elseif (
|
43 |
+
// If value doesn't match #123abc...
|
44 |
+
! preg_match( '/^#' . $hex_color . '/i', $meta_value )
|
45 |
+
// And value doesn't match rgba()...
|
46 |
+
&& 0 !== strpos( trim( $meta_value ), 'rgba' )
|
47 |
+
) {
|
48 |
+
// Then sanitize to just #.
|
49 |
$meta_value = '#';
|
50 |
}
|
51 |
|
52 |
wp_enqueue_style( 'wp-color-picker' );
|
53 |
|
54 |
+
$args = wp_parse_args( $args, array(
|
55 |
+
'class' => 'cmb2-text-small',
|
|
|
|
|
56 |
) );
|
57 |
|
58 |
+
$args['class'] .= ' cmb2-colorpicker';
|
59 |
+
$args['value'] = $meta_value;
|
60 |
+
$args['js_dependencies'] = array( 'wp-color-picker' );
|
61 |
+
|
62 |
+
if ( $this->field->options( 'alpha' ) ) {
|
63 |
+
$args['js_dependencies'][] = 'wp-color-picker-alpha';
|
64 |
+
$args['data-alpha'] = 'true';
|
65 |
+
}
|
66 |
+
|
67 |
+
$args = wp_parse_args( $this->args, $args );
|
68 |
+
|
69 |
return parent::render( $args );
|
70 |
}
|
71 |
|
72 |
+
public static function dequeue_rgba_colorpicker_script() {
|
73 |
+
if ( wp_script_is( 'jw-cmb2-rgba-picker-js', 'enqueued' ) ) {
|
74 |
+
wp_dequeue_script( 'jw-cmb2-rgba-picker-js' );
|
75 |
+
CMB2_JS::register_colorpicker_alpha( true );
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
}
|
includes/vendor/cmb2/includes/types/CMB2_Type_File_List.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
$meta_value = $field->escaped_value();
|
18 |
$name = $this->_name();
|
12 |
*/
|
13 |
class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
$meta_value = $field->escaped_value();
|
18 |
$name = $this->_name();
|
includes/vendor/cmb2/includes/types/CMB2_Type_Multicheck.php
CHANGED
@@ -19,7 +19,7 @@ class CMB2_Type_Multicheck extends CMB2_Type_Radio {
|
|
19 |
*/
|
20 |
public $type = 'checkbox';
|
21 |
|
22 |
-
public function render() {
|
23 |
$classes = false === $this->field->args( 'select_all_button' )
|
24 |
? 'cmb2-checkbox-list no-select-all cmb2-list'
|
25 |
: 'cmb2-checkbox-list cmb2-list';
|
19 |
*/
|
20 |
public $type = 'checkbox';
|
21 |
|
22 |
+
public function render( $args = array() ) {
|
23 |
$classes = false === $this->field->args( 'select_all_button' )
|
24 |
? 'cmb2-checkbox-list no-select-all cmb2-list'
|
25 |
: 'cmb2-checkbox-list cmb2-list';
|
includes/vendor/cmb2/includes/types/CMB2_Type_Oembed.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_Oembed extends CMB2_Type_Text {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$meta_value = trim( $field->escaped_value() );
|
12 |
*/
|
13 |
class CMB2_Type_Oembed extends CMB2_Type_Text {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$meta_value = trim( $field->escaped_value() );
|
includes/vendor/cmb2/includes/types/CMB2_Type_Taxonomy_Multicheck.php
CHANGED
@@ -67,11 +67,10 @@ class CMB2_Type_Taxonomy_Multicheck extends CMB2_Type_Taxonomy_Base {
|
|
67 |
protected function get_wrapper_classes() {
|
68 |
$classes = 'cmb2-checkbox-list cmb2-list';
|
69 |
if ( false === $this->field->args( 'select_all_button' ) ) {
|
70 |
-
$classes .= 'no-select-all';
|
71 |
}
|
72 |
|
73 |
return $classes;
|
74 |
-
|
75 |
}
|
76 |
|
77 |
}
|
67 |
protected function get_wrapper_classes() {
|
68 |
$classes = 'cmb2-checkbox-list cmb2-list';
|
69 |
if ( false === $this->field->args( 'select_all_button' ) ) {
|
70 |
+
$classes .= ' no-select-all';
|
71 |
}
|
72 |
|
73 |
return $classes;
|
|
|
74 |
}
|
75 |
|
76 |
}
|
includes/vendor/cmb2/includes/types/CMB2_Type_Text_Date.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_Text_Date extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$args = $this->parse_args( 'text_date', array(
|
17 |
'class' => 'cmb2-text-small cmb2-datepicker',
|
18 |
'value' => $this->field->get_timestamp_format(),
|
12 |
*/
|
13 |
class CMB2_Type_Text_Date extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$args = $this->parse_args( 'text_date', array(
|
17 |
'class' => 'cmb2-text-small cmb2-datepicker',
|
18 |
'value' => $this->field->get_timestamp_format(),
|
includes/vendor/cmb2/includes/types/CMB2_Type_Text_Datetime_Timestamp.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
includes/vendor/cmb2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp_Timezone extends CMB2_Type_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp_Timezone extends CMB2_Type_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
includes/vendor/cmb2/includes/types/CMB2_Type_Text_Time.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
*/
|
13 |
class CMB2_Type_Text_Time extends CMB2_Type_Text_Date {
|
14 |
|
15 |
-
public function render() {
|
16 |
$this->args = $this->parse_picker_options( 'time', wp_parse_args( $this->args, array(
|
17 |
'class' => 'cmb2-timepicker text-time',
|
18 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
12 |
*/
|
13 |
class CMB2_Type_Text_Time extends CMB2_Type_Text_Date {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$this->args = $this->parse_picker_options( 'time', wp_parse_args( $this->args, array(
|
17 |
'class' => 'cmb2-timepicker text-time',
|
18 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
includes/vendor/cmb2/includes/types/CMB2_Type_Textarea_Code.php
CHANGED
@@ -19,7 +19,7 @@ class CMB2_Type_Textarea_Code extends CMB2_Type_Textarea {
|
|
19 |
* @param array $args Override arguments
|
20 |
* @return string Form textarea element
|
21 |
*/
|
22 |
-
public function render() {
|
23 |
return $this->rendered(
|
24 |
sprintf( '<pre>%s', parent::render( array(
|
25 |
'class' => 'cmb2-textarea-code',
|
19 |
* @param array $args Override arguments
|
20 |
* @return string Form textarea element
|
21 |
*/
|
22 |
+
public function render( $args = array() ) {
|
23 |
return $this->rendered(
|
24 |
sprintf( '<pre>%s', parent::render( array(
|
25 |
'class' => 'cmb2-textarea-code',
|
includes/vendor/cmb2/includes/types/CMB2_Type_Wysiwyg.php
CHANGED
@@ -20,7 +20,7 @@ class CMB2_Type_Wysiwyg extends CMB2_Type_Textarea {
|
|
20 |
* @since 1.1.0
|
21 |
* @return string Form wysiwyg element
|
22 |
*/
|
23 |
-
public function render() {
|
24 |
$field = $this->field;
|
25 |
$a = $this->parse_args( 'wysiwyg', array(
|
26 |
'id' => $this->_id(),
|
20 |
* @since 1.1.0
|
21 |
* @return string Form wysiwyg element
|
22 |
*/
|
23 |
+
public function render( $args = array() ) {
|
24 |
$field = $this->field;
|
25 |
$a = $this->parse_args( 'wysiwyg', array(
|
26 |
'id' => $this->_id(),
|
includes/vendor/cmb2/init.php
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
* Bill Erickson (@billerickson / billerickson.net)
|
22 |
* Andrew Norcross (@norcross / andrewnorcross.com)
|
23 |
*
|
24 |
-
* Version: 2.
|
25 |
*
|
26 |
* Text Domain: cmb2
|
27 |
* Domain Path: languages
|
@@ -54,7 +54,7 @@
|
|
54 |
* ***********************************************************************
|
55 |
*/
|
56 |
|
57 |
-
if ( ! class_exists( '
|
58 |
|
59 |
/**
|
60 |
* Handles checking for and loading the newest version of CMB2
|
@@ -67,7 +67,7 @@ if ( ! class_exists( 'CMB2_Bootstrap_2253', false ) ) {
|
|
67 |
* @license GPL-2.0+
|
68 |
* @link https://cmb2.io
|
69 |
*/
|
70 |
-
class
|
71 |
|
72 |
/**
|
73 |
* Current version number
|
@@ -75,7 +75,7 @@ if ( ! class_exists( 'CMB2_Bootstrap_2253', false ) ) {
|
|
75 |
* @var string
|
76 |
* @since 1.0.0
|
77 |
*/
|
78 |
-
const VERSION = '2.
|
79 |
|
80 |
/**
|
81 |
* Current version hook priority.
|
@@ -84,20 +84,20 @@ if ( ! class_exists( 'CMB2_Bootstrap_2253', false ) ) {
|
|
84 |
* @var int
|
85 |
* @since 2.0.0
|
86 |
*/
|
87 |
-
const PRIORITY =
|
88 |
|
89 |
/**
|
90 |
-
* Single instance of the
|
91 |
*
|
92 |
-
* @var
|
93 |
*/
|
94 |
public static $single_instance = null;
|
95 |
|
96 |
/**
|
97 |
-
* Creates/returns the single instance
|
98 |
*
|
99 |
* @since 2.0.0
|
100 |
-
* @return
|
101 |
*/
|
102 |
public static function initiate() {
|
103 |
if ( null === self::$single_instance ) {
|
@@ -189,6 +189,6 @@ if ( ! class_exists( 'CMB2_Bootstrap_2253', false ) ) {
|
|
189 |
}
|
190 |
|
191 |
// Make it so...
|
192 |
-
|
193 |
|
194 |
}// End if().
|
21 |
* Bill Erickson (@billerickson / billerickson.net)
|
22 |
* Andrew Norcross (@norcross / andrewnorcross.com)
|
23 |
*
|
24 |
+
* Version: 2.3.0
|
25 |
*
|
26 |
* Text Domain: cmb2
|
27 |
* Domain Path: languages
|
54 |
* ***********************************************************************
|
55 |
*/
|
56 |
|
57 |
+
if ( ! class_exists( 'CMB2_Bootstrap_230', false ) ) {
|
58 |
|
59 |
/**
|
60 |
* Handles checking for and loading the newest version of CMB2
|
67 |
* @license GPL-2.0+
|
68 |
* @link https://cmb2.io
|
69 |
*/
|
70 |
+
class CMB2_Bootstrap_230 {
|
71 |
|
72 |
/**
|
73 |
* Current version number
|
75 |
* @var string
|
76 |
* @since 1.0.0
|
77 |
*/
|
78 |
+
const VERSION = '2.3.0';
|
79 |
|
80 |
/**
|
81 |
* Current version hook priority.
|
84 |
* @var int
|
85 |
* @since 2.0.0
|
86 |
*/
|
87 |
+
const PRIORITY = 9969;
|
88 |
|
89 |
/**
|
90 |
+
* Single instance of the CMB2_Bootstrap_230 object
|
91 |
*
|
92 |
+
* @var CMB2_Bootstrap_230
|
93 |
*/
|
94 |
public static $single_instance = null;
|
95 |
|
96 |
/**
|
97 |
+
* Creates/returns the single instance CMB2_Bootstrap_230 object
|
98 |
*
|
99 |
* @since 2.0.0
|
100 |
+
* @return CMB2_Bootstrap_230 Single instance object
|
101 |
*/
|
102 |
public static function initiate() {
|
103 |
if ( null === self::$single_instance ) {
|
189 |
}
|
190 |
|
191 |
// Make it so...
|
192 |
+
CMB2_Bootstrap_230::initiate();
|
193 |
|
194 |
}// End if().
|
includes/vendor/cmb2/js/cmb2-wysiwyg.js
CHANGED
@@ -275,18 +275,25 @@ window.CMB2.wysiwyg = window.CMB2.wysiwyg || {};
|
|
275 |
return false;
|
276 |
}
|
277 |
|
|
|
|
|
278 |
$.extend( data, getGroupData( data ) );
|
279 |
|
280 |
initOptions( data );
|
281 |
|
282 |
$toReplace.replaceWith( data.template( data ) );
|
283 |
|
284 |
-
|
285 |
-
|
|
|
|
|
|
|
286 |
window.quicktags( tinyMCEPreInit.qtInit[ data.id ] );
|
287 |
}
|
288 |
|
289 |
-
|
|
|
|
|
290 |
|
291 |
if ( false !== buttonsInit && 'undefined' !== typeof window.QTags ) {
|
292 |
window.QTags._buttonsInit();
|
@@ -304,6 +311,10 @@ window.CMB2.wysiwyg = window.CMB2.wysiwyg || {};
|
|
304 |
* @return {void}
|
305 |
*/
|
306 |
wysiwyg.destroy = function( id ) {
|
|
|
|
|
|
|
|
|
307 |
|
308 |
// The editor might not be initialized yet. But we need to destroy it once it is.
|
309 |
var editor = tinyMCE.get( id );
|
275 |
return false;
|
276 |
}
|
277 |
|
278 |
+
var mceActive = window.cmb2_l10.user_can_richedit && window.tinyMCE;
|
279 |
+
var qtActive = 'function' === typeof window.quicktags;
|
280 |
$.extend( data, getGroupData( data ) );
|
281 |
|
282 |
initOptions( data );
|
283 |
|
284 |
$toReplace.replaceWith( data.template( data ) );
|
285 |
|
286 |
+
if ( mceActive ) {
|
287 |
+
window.tinyMCE.init( tinyMCEPreInit.mceInit[ data.id ] );
|
288 |
+
}
|
289 |
+
|
290 |
+
if ( qtActive ) {
|
291 |
window.quicktags( tinyMCEPreInit.qtInit[ data.id ] );
|
292 |
}
|
293 |
|
294 |
+
if ( mceActive ) {
|
295 |
+
$( document.getElementById( data.id ) ).parents( '.wp-editor-wrap' ).removeClass( 'html-active' ).addClass( 'tmce-active' );
|
296 |
+
}
|
297 |
|
298 |
if ( false !== buttonsInit && 'undefined' !== typeof window.QTags ) {
|
299 |
window.QTags._buttonsInit();
|
311 |
* @return {void}
|
312 |
*/
|
313 |
wysiwyg.destroy = function( id ) {
|
314 |
+
if ( ! window.cmb2_l10.user_can_richedit || ! window.tinyMCE ) {
|
315 |
+
// Nothing to see here.
|
316 |
+
return;
|
317 |
+
}
|
318 |
|
319 |
// The editor might not be initialized yet. But we need to destroy it once it is.
|
320 |
var editor = tinyMCE.get( id );
|
includes/vendor/cmb2/js/cmb2.js
CHANGED
@@ -401,7 +401,7 @@ window.CMB2 = window.CMB2 || {};
|
|
401 |
var $elements = $row.find( cmb.repeatUpdate );
|
402 |
if ( group ) {
|
403 |
|
404 |
-
var $other
|
405 |
|
406 |
// Remove extra ajaxed rows
|
407 |
$row.find('.cmb-repeat-table .cmb-repeat-row:not(:first-child)').remove();
|
@@ -433,13 +433,13 @@ window.CMB2 = window.CMB2 || {};
|
|
433 |
}
|
434 |
|
435 |
$elements.each( function() {
|
436 |
-
cmb.elReplacements( $( this ), prevNum );
|
437 |
} );
|
438 |
|
439 |
return cmb;
|
440 |
};
|
441 |
|
442 |
-
cmb.elReplacements = function( $newInput, prevNum ) {
|
443 |
var oldFor = $newInput.attr( 'for' );
|
444 |
var oldVal = $newInput.val();
|
445 |
var type = $newInput.prop( 'type' );
|
@@ -451,14 +451,25 @@ window.CMB2 = window.CMB2 || {};
|
|
451 |
attrs = { 'for' : oldFor.replace( '_'+ prevNum, '_'+ cmb.idNumber ) };
|
452 |
} else {
|
453 |
var oldName = $newInput.attr( 'name' );
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
id: newID,
|
460 |
-
name: newName
|
461 |
-
'data-iterator': cmb.idNumber,
|
462 |
};
|
463 |
|
464 |
}
|
@@ -472,6 +483,10 @@ window.CMB2 = window.CMB2 || {};
|
|
472 |
$newInput.removeAttr( 'checked' );
|
473 |
}
|
474 |
|
|
|
|
|
|
|
|
|
475 |
$newInput
|
476 |
.removeClass( 'hasDatepicker' )
|
477 |
.attr( attrs ).val( checkable ? checkable : '' );
|
@@ -791,7 +806,11 @@ window.CMB2 = window.CMB2 || {};
|
|
791 |
|
792 |
options.onClose = function( dateText, inst ) {
|
793 |
// Remove the class when we're done with it (and hide to remove FOUC).
|
794 |
-
$id( 'ui-datepicker-div' ).removeClass( 'cmb2-element' ).hide();
|
|
|
|
|
|
|
|
|
795 |
|
796 |
// Let's be sure to call onClose if it was added
|
797 |
if ( 'function' === typeof existing.onClose ) {
|
@@ -1019,6 +1038,15 @@ window.CMB2 = window.CMB2 || {};
|
|
1019 |
$el.trigger( evtName, args );
|
1020 |
};
|
1021 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1022 |
$( cmb.init );
|
1023 |
|
1024 |
})(window, document, jQuery, window.CMB2);
|
401 |
var $elements = $row.find( cmb.repeatUpdate );
|
402 |
if ( group ) {
|
403 |
|
404 |
+
var $other = $row.find( '[id]' ).not( cmb.repeatUpdate );
|
405 |
|
406 |
// Remove extra ajaxed rows
|
407 |
$row.find('.cmb-repeat-table .cmb-repeat-row:not(:first-child)').remove();
|
433 |
}
|
434 |
|
435 |
$elements.each( function() {
|
436 |
+
cmb.elReplacements( $( this ), prevNum, group );
|
437 |
} );
|
438 |
|
439 |
return cmb;
|
440 |
};
|
441 |
|
442 |
+
cmb.elReplacements = function( $newInput, prevNum, group ) {
|
443 |
var oldFor = $newInput.attr( 'for' );
|
444 |
var oldVal = $newInput.val();
|
445 |
var type = $newInput.prop( 'type' );
|
451 |
attrs = { 'for' : oldFor.replace( '_'+ prevNum, '_'+ cmb.idNumber ) };
|
452 |
} else {
|
453 |
var oldName = $newInput.attr( 'name' );
|
454 |
+
var newName;
|
455 |
+
oldID = $newInput.attr( 'id' );
|
456 |
+
|
457 |
+
// Handle adding groups vs rows.
|
458 |
+
if ( group ) {
|
459 |
+
// Expect another bracket after group's index closing bracket.
|
460 |
+
newName = oldName ? oldName.replace( '['+ prevNum +'][', '['+ cmb.idNumber +'][' ) : '';
|
461 |
+
// Expect another underscore after group's index trailing underscore.
|
462 |
+
newID = oldID ? oldID.replace( '_' + prevNum + '_', '_' + cmb.idNumber + '_' ) : '';
|
463 |
+
}
|
464 |
+
else {
|
465 |
+
// Row indexes are at the very end of the string.
|
466 |
+
newName = oldName ? cmb.replaceLast( oldName, '[' + prevNum + ']', '[' + cmb.idNumber + ']' ) : '';
|
467 |
+
newID = oldID ? cmb.replaceLast( oldID, '_' + prevNum, '_' + cmb.idNumber ) : '';
|
468 |
+
}
|
469 |
+
|
470 |
+
attrs = {
|
471 |
id: newID,
|
472 |
+
name: newName
|
|
|
473 |
};
|
474 |
|
475 |
}
|
483 |
$newInput.removeAttr( 'checked' );
|
484 |
}
|
485 |
|
486 |
+
if ( ! group && $newInput[0].hasAttribute( 'data-iterator' ) ) {
|
487 |
+
attrs['data-iterator'] = cmb.idNumber;
|
488 |
+
}
|
489 |
+
|
490 |
$newInput
|
491 |
.removeClass( 'hasDatepicker' )
|
492 |
.attr( attrs ).val( checkable ? checkable : '' );
|
806 |
|
807 |
options.onClose = function( dateText, inst ) {
|
808 |
// Remove the class when we're done with it (and hide to remove FOUC).
|
809 |
+
var $picker = $id( 'ui-datepicker-div' ).removeClass( 'cmb2-element' ).hide();
|
810 |
+
if ( 'timepicker' === method && ! $( inst.input ).val() ) {
|
811 |
+
// Set the timepicker field value if it's empty.
|
812 |
+
inst.input.val( $picker.find( '.ui_tpicker_time' ).text() );
|
813 |
+
}
|
814 |
|
815 |
// Let's be sure to call onClose if it was added
|
816 |
if ( 'function' === typeof existing.onClose ) {
|
1038 |
$el.trigger( evtName, args );
|
1039 |
};
|
1040 |
|
1041 |
+
cmb.replaceLast = function( string, search, replace ) {
|
1042 |
+
// find the index of last time word was used
|
1043 |
+
var n = string.lastIndexOf( search );
|
1044 |
+
|
1045 |
+
// slice the string in 2, one from the start to the lastIndexOf
|
1046 |
+
// and then replace the word in the rest
|
1047 |
+
return string.slice( 0, n ) + string.slice( n ).replace( search, replace );
|
1048 |
+
};
|
1049 |
+
|
1050 |
$( cmb.init );
|
1051 |
|
1052 |
})(window, document, jQuery, window.CMB2);
|
includes/vendor/cmb2/js/cmb2.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.CMB2=window.CMB2||{},function(window,document,$,cmb,undefined){"use strict";var $document,l10n=window.cmb2_l10,setTimeout=window.setTimeout,$id=function(selector){return $(document.getElementById(selector))},defaults={idNumber:!1,repeatEls:'input:not([type="button"],[id^=filelist]),select,textarea,.cmb2-media-status',noEmpty:'input:not([type="button"]):not([type="radio"]):not([type="checkbox"]),textarea',repeatUpdate:'input:not([type="button"]),select,textarea,label',styleBreakPoint:450,mediaHandlers:{},defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}},media:{frames:{}}};cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmb2-wrap > .cmb2-metabox"),cmb.$metabox)},cmb.init=function(){$document=$(document),$.extend(cmb,defaults),cmb.trigger("cmb_pre_init");var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmb2-timepicker'),$metabox.find('input[type="text"].cmb2-datepicker'),$metabox.find('input[type="text"].cmb2-colorpicker')),$('<p><span class="button-secondary cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.media.field=$(this).attr("id"),$id(cmb.media.field+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.on("cmb2_add_row",cmb.emptyValue).filter(".sortable").each(function(){$(this).find(".cmb-remove-group-row-button").before('<a class="button-secondary cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button-secondary cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds),cmb.trigger("cmb_init")},cmb.resetTitlesAndIterator=function(evt){evt.group&&$(".cmb-repeatable-group.repeatable").each(function(){var $table=$(this),groupTitle=$table.find(".cmb-add-group-row").data("grouptitle");$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this),$rowTitle=$row.find("h3.cmb-group-title");$row.data("iterator",rowindex),$rowTitle.length&&$rowTitle.text(groupTitle.replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),cmb.trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $this=$(this),$multicheck=$this.closest(".cmb-td").find("input[type=checkbox]:not([disabled])");$this.data("checked")?($multicheck.prop("checked",!1),$this.data("checked",!1)):($multicheck.prop("checked",!0),$this.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(id,isList){if(wp){var media,handlers;if(handlers=cmb.mediaHandlers,media=cmb.media,media.field=id,media.$field=$id(media.field),media.fieldData=media.$field.data(),media.previewSize=media.fieldData.previewsize,media.sizeName=media.fieldData.sizename,media.fieldName=media.$field.attr("name"),media.isList=isList,id in media.frames)return media.frames[id].open();media.frames[id]=wp.media({title:cmb.metabox().find('label[for="'+id+'"]').text(),library:media.fieldData.queryargs||{},button:{text:l10n.strings[isList?"upload_files":"upload_file"]},multiple:isList?"add":!1}),media.frames[id].states.first().set("filterable","all"),cmb.trigger("cmb_media_modal_init",media),handlers.list=function(selection,returnIt){var attachmentHtml,fileGroup=[];return handlers.list.templates||(handlers.list.templates={image:wp.template("cmb2-list-image"),file:wp.template("cmb2-list-file")}),selection.each(function(attachment){attachmentHtml=handlers.getAttachmentHtml(attachment,"list"),fileGroup.push(attachmentHtml)}),returnIt?fileGroup:void media.$field.siblings(".cmb2-media-status").append(fileGroup)},handlers.single=function(selection){handlers.single.templates||(handlers.single.templates={image:wp.template("cmb2-single-image"),file:wp.template("cmb2-single-file")});var attachment=selection.first();media.$field.val(attachment.get("url")),$id(media.field+"_id").val(attachment.get("id"));var attachmentHtml=handlers.getAttachmentHtml(attachment,"single");media.$field.siblings(".cmb2-media-status").slideDown().html(attachmentHtml)},handlers.getAttachmentHtml=function(attachment,templatesId){var isImage="image"===attachment.get("type"),data=handlers.prepareData(attachment,isImage);return handlers[templatesId].templates[isImage?"image":"file"](data)},handlers.prepareData=function(data,image){return image&&handlers.getImageData.call(data,50),data=data.toJSON(),data.mediaField=media.field,data.mediaFieldName=media.fieldName,data.stringRemoveImage=l10n.strings.remove_image,data.stringFile=l10n.strings.file,data.stringDownload=l10n.strings.download,data.stringRemoveFile=l10n.strings.remove_file,data},handlers.getImageData=function(fallbackSize){var previewW=media.previewSize[0]||fallbackSize,previewH=media.previewSize[1]||fallbackSize,url=this.get("url"),width=this.get("width"),height=this.get("height"),sizes=this.get("sizes");return sizes&&(sizes[media.sizeName]?(url=sizes[media.sizeName].url,width=sizes[media.sizeName].width,height=sizes[media.sizeName].height):sizes.large&&(url=sizes.large.url,width=sizes.large.width,height=sizes.large.height)),width>previewW&&(height=Math.floor(previewW*height/width),width=previewW),height>previewH&&(width=Math.floor(previewH*width/height),height=previewH),width||(width=previewW),height||(height="svg"===this.get("filename").split(".").pop()?"100%":previewH),this.set("sizeUrl",url),this.set("sizeWidth",width),this.set("sizeHeight",height),this},handlers.selectFile=function(){var selection=media.frames[id].state().get("selection"),type=isList?"list":"single";cmb.attach_id&&isList?$('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(handlers.list(selection,!0)):handlers[type](selection),cmb.trigger("cmb_media_modal_select",selection,media)},handlers.openModal=function(){var attach,selection=media.frames[id].state().get("selection");cmb.attach_id?(attach=wp.media.attachment(cmb.attach_id),attach.fetch(),selection.set(attach?[attach]:[])):selection.reset(),cmb.trigger("cmb_media_modal_open",selection,media)},media.frames[id].on("select",handlers.selectFile).on("open",handlers.openModal),media.frames[id].open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $this=$(this);return $this.is(".cmb-attach-list .cmb2-remove-file-button")?($this.parents(".cmb2-media-item").remove(),!1):(cmb.media.field=$this.attr("rel"),cmb.metabox().find(document.getElementById(cmb.media.field)).val(""),cmb.metabox().find(document.getElementById(cmb.media.field+"_id")).val(""),$this.parents(".cmb2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $elements=$row.find(cmb.repeatUpdate);if(group){var $other=$row.find("[id]").not(cmb.repeatUpdate);$row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})}return $elements.filter(":checked").removeAttr("checked"),$elements.find(":checked").removeAttr("checked"),$elements.filter(":selected").removeAttr("selected"),$elements.find(":selected").removeAttr("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$elements.each(function(){cmb.elReplacements($(this),prevNum)}),cmb},cmb.elReplacements=function($newInput,prevNum){var newID,oldID,oldFor=$newInput.attr("for"),oldVal=$newInput.val(),type=$newInput.prop("type"),checkable="radio"===type||"checkbox"===type?oldVal:!1,attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var oldName=$newInput.attr("name"),newName=oldName?oldName.replace("["+prevNum+"]","["+cmb.idNumber+"]"):"";oldID=$newInput.attr("id"),newID=oldID?oldID.replace("_"+prevNum,"_"+cmb.idNumber):"",attrs={id:newID,name:newName,"data-iterator":cmb.idNumber}}return"TEXTAREA"===$newInput.prop("tagName")&&$newInput.html(""),checkable&&$newInput.removeAttr("checked"),$newInput.removeClass("hasDatepicker").attr(attrs).val(checkable?checkable:""),$newInput},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmb2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmb2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){cmb.initPickers($row.find('input[type="text"].cmb2-timepicker'),$row.find('input[type="text"].cmb2-datepicker'),$row.find('input[type="text"].cmb2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"!=typeof name){var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator"),10),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)}},cmb.emptyValue=function(evt,row){$(cmb.noEmpty,row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $this=$(this);cmb.triggerElement($this,"cmb2_add_group_row_start",$this);var $table=$id($this.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;for(var $row=$oldRow.clone();$table.find('.cmb-repeatable-grouping[data-iterator="'+cmb.idNumber+'"]').length>0;)cmb.idNumber++;cmb.newRowHousekeeping($row.data("title",$this.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),cmb.triggerElement($table,{type:"cmb2_add_row",group:!0},$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),cmb.triggerElement($table,{type:"cmb2_add_row",group:!1},$row)},cmb.removeGroupRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$parent=$this.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;return 2>number?cmb.resetRow($parent.parents(".cmb-repeatable-group").find(".cmb-add-group-row"),$this):(cmb.triggerElement($table,"cmb2_remove_group_row_start",$this),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),void cmb.triggerElement($table,{type:"cmb2_remove_row",group:!0}))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $this=$(this);if(!$this.hasClass("button-disabled")){var $parent=$this.parents(".cmb-row"),$table=$this.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;if(2>=number)return cmb.resetRow($parent.find(".cmb-add-row-button"),$this);$parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$this.parents(".cmb-repeat-table .cmb-row").remove(),cmb.triggerElement($table,{type:"cmb2_remove_row",group:!1})}},cmb.resetRow=function($addNewBtn,$removeBtn){$addNewBtn.trigger("click"),$removeBtn.trigger("click")},cmb.shiftRows=function(evt){evt.preventDefault();var $this=$(this),$from=$this.parents(".cmb-repeatable-grouping"),$goto=$this.hasClass("move-up")?$from.prev(".cmb-repeatable-grouping"):$from.next(".cmb-repeatable-grouping");if(cmb.triggerElement($this,"cmb2_shift_rows_enter",$this,$from,$goto),$goto.length){cmb.triggerElement($this,"cmb2_shift_rows_start",$this,$from,$goto);var inputVals=[];$from.find(cmb.repeatEls).each(function(){var val,$element=$(this),elType=$element.attr("type");val=$element.hasClass("cmb2-media-status")?$element.html():"checkbox"===elType||"radio"===elType?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this),elType=$element.attr("type");if($element.hasClass("cmb2-media-status")){var toRowId=$element.closest(".cmb-repeatable-grouping").attr("data-iterator"),fromRowId=inputVals[index].$.closest(".cmb-repeatable-grouping").attr("data-iterator");val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val),inputVals[index].$.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+toRowId+"]","["+fromRowId+"]"),$(this).attr("name",name)}),$element.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+fromRowId+"]","["+toRowId+"]"),$(this).attr("name",name)})}else"checkbox"===elType?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"radio"===elType?($element.is(":checked")&&inputVals[index].$.attr("data-checked","true"),inputVals[index].$.is(":checked")&&$element.attr("data-checked","true")):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$from.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$goto.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$from.find('input[type="text"].cmb2-colorpicker').trigger("change"),$goto.find('input[type="text"].cmb2-colorpicker').trigger("change"),cmb.triggerElement($this,"cmb2_shift_rows_complete",$this,$from,$goto)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initDateTimePickers($timePickers,"timepicker","time_picker"),cmb.initDateTimePickers($datePickers,"datepicker","date_picker"),cmb.initColorPickers($colorPickers)},cmb.initDateTimePickers=function($selector,method,defaultKey){$selector.length&&$selector[method]("destroy").each(function(){var $this=$(this),fieldOpts=$this.data(method)||{},options=$.extend({},cmb.defaults[defaultKey],fieldOpts);$this[method](cmb.datePickerSetupOpts(fieldOpts,options,method))})},cmb.datePickerSetupOpts=function(fieldOpts,options,method){var existing=$.extend({},options);return options.beforeShow=function(input,inst){"timepicker"===method&&cmb.addTimePickerClasses(inst.dpDiv),$id("ui-datepicker-div").addClass("cmb2-element"),"function"==typeof existing.beforeShow&&existing.beforeShow(input,inst)},"timepicker"===method&&(options.onChangeMonthYear=function(year,month,inst,picker){cmb.addTimePickerClasses(inst.dpDiv),"function"==typeof existing.onChangeMonthYear&&existing.onChangeMonthYear(year,month,inst,picker)}),options.onClose=function(dateText,inst){$id("ui-datepicker-div").removeClass("cmb2-element").hide(),"function"==typeof existing.onClose&&existing.onClose(dateText,inst)},options},cmb.addTimePickerClasses=function($picker){var func=cmb.addTimePickerClasses;func.count=func.count||0,setTimeout(function(){$picker.find(".ui-priority-secondary").length?($picker.find(".ui-priority-secondary").addClass("button-secondary"),$picker.find(".ui-priority-primary").addClass("button-primary"),func.count=0):func.count<5&&(func.count++,func($picker))},10)},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.each(function(){var $this=$(this),fieldOpts=$this.data("colorpicker")||{};$this.wpColorPicker($.extend({},cmb.defaults.color_picker,fieldOpts))}):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmb2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $this=$(this),m={focusout:function(){setTimeout(function(){cmb.spinner(".cmb2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($this,evt)},paste:function(){setTimeout(function(){cmb.doAjax($this)},100)}};m[evt.type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $this=$(this),$tableWrap=$this.parents(".inside"),isSide=$this.parents(".inner-sidebar").length||$this.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$this.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmb2-remove-wrapper");return $children.length?void $children.each(function(){var $this=$(this),iwidth=$this.width(),iheight=$this.height(),_newWidth=newWidth;$this.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$this.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){var m=hide?"removeClass":"addClass";$(".cmb-spinner",$context)[m]("is-active")},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmb2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmb2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmb2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},cmb.trigger=function(evtName){var args=Array.prototype.slice.call(arguments,1);args.push(cmb),$document.trigger(evtName,args)},cmb.triggerElement=function($el,evtName){var args=Array.prototype.slice.call(arguments,2);args.push(cmb),$el.trigger(evtName,args)},$(cmb.init)}(window,document,jQuery,window.CMB2),window.CMB2=window.CMB2||{},window.CMB2.wysiwyg=window.CMB2.wysiwyg||{},function(window,document,$,wysiwyg,undefined){"use strict";function delayedInit(){0===toBeDestroyed.length?toBeInitialized.forEach(function(toInit){toBeInitialized.splice(toBeInitialized.indexOf(toInit),1),wysiwyg.init.apply(wysiwyg,toInit)}):window.setTimeout(delayedInit,100)}function delayedDestroy(){toBeDestroyed.forEach(function(id){toBeDestroyed.splice(toBeDestroyed.indexOf(id),1),wysiwyg.destroy(id)})}function getGroupData(data){var groupid=data.groupid,fieldid=data.fieldid;return all[groupid]&&all[groupid][fieldid]||(all[groupid]=all[groupid]||{},all[groupid][fieldid]={template:wp.template("cmb2-wysiwyg-"+groupid+"-"+fieldid),defaults:{mce:$.extend({},tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid]),qt:$.extend({},tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid])}},delete tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid],delete tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid]),all[groupid][fieldid]}function initOptions(options){var prop,newSettings,newQTS,nameRegex=new RegExp("cmb2_n_"+options.groupid+options.fieldid,"g"),idRegex=new RegExp("cmb2_i_"+options.groupid+options.fieldid,"g");if("undefined"==typeof tinyMCEPreInit.mceInit[options.id]){newSettings=$.extend({},options.defaults.mce);for(prop in newSettings)"string"==typeof newSettings[prop]&&(newSettings[prop]=newSettings[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.mceInit[options.id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[options.id]){newQTS=$.extend({},options.defaults.qt);for(prop in newQTS)"string"==typeof newQTS[prop]&&(newQTS[prop]=newQTS[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.qtInit[options.id]=newQTS}}var toBeDestroyed=[],toBeInitialized=[],all=wysiwyg.all={};wysiwyg.initAll=function(){var $this,data,initiated;$(".cmb2-wysiwyg-placeholder").each(function(){$this=$(this),data=$this.data(),data.groupid&&(data.id=$this.attr("id"),data.name=$this.attr("name"),data.value=$this.val(),wysiwyg.init($this,data,!1),initiated=!0)}),!0===initiated&&("undefined"!=typeof window.QTags&&window.QTags._buttonsInit(),$(document).on("cmb2_add_row",wysiwyg.addRow).on("cmb2_remove_group_row_start",wysiwyg.destroyRowEditors).on("cmb2_shift_rows_start",wysiwyg.shiftStart).on("cmb2_shift_rows_complete",wysiwyg.shiftComplete))},wysiwyg.addRow=function(evt,$row){wysiwyg.initRow($row)},wysiwyg.destroyRowEditors=function(evt,$btn){wysiwyg.destroy($btn.parents(".cmb-repeatable-grouping").find(".wp-editor-area").attr("id"))},wysiwyg.shiftStart=function(evt,$btn,$from,$to){$from.add($to).find(".wp-editor-wrap textarea").each(function(){wysiwyg.destroy($(this).attr("id"))})},wysiwyg.shiftComplete=function(evt,$btn,$from,$to){$from.add($to).each(function(){wysiwyg.initRow($(this))})},wysiwyg.initRow=function($row){var $toReplace,data;$row.find(".cmb2-wysiwyg-inner-wrap").each(function(){$toReplace=$(this),data=$toReplace.data(),data.iterator=$row.data("iterator"),data.fieldid=data.id,data.id=data.groupid+"_"+data.iterator+"_"+data.fieldid,data.name=data.groupid+"["+data.iterator+"]["+data.fieldid+"]",data.value=$toReplace.find(".wp-editor-area").length?$toReplace.find(".wp-editor-area").val():"",0===toBeDestroyed.length?wysiwyg.init($toReplace,data):(toBeInitialized.push([$toReplace,data]),window.setTimeout(delayedInit,100))})},wysiwyg.init=function($toReplace,data,buttonsInit){return data.groupid?($.extend(data,getGroupData(data)),initOptions(data),$toReplace.replaceWith(data.template(data)),window.tinyMCE.init(tinyMCEPreInit.mceInit[data.id]),"function"==typeof window.quicktags&&window.quicktags(tinyMCEPreInit.qtInit[data.id]),$(document.getElementById(data.id)).parents(".wp-editor-wrap").removeClass("html-active").addClass("tmce-active"),void(!1!==buttonsInit&&"undefined"!=typeof window.QTags&&window.QTags._buttonsInit())):!1},wysiwyg.destroy=function(id){var editor=tinyMCE.get(id);null!==editor&&"undefined"!=typeof editor?(editor.destroy(),"undefined"==typeof tinyMCEPreInit.mceInit[id]&&delete tinyMCEPreInit.mceInit[id],"undefined"==typeof tinyMCEPreInit.qtInit[id]&&delete tinyMCEPreInit.qtInit[id]):-1===toBeDestroyed.indexOf(id)&&(toBeDestroyed.push(id),window.setTimeout(delayedDestroy,100))},$(document).on("cmb_init",wysiwyg.initAll)}(window,document,jQuery,window.CMB2.wysiwyg);
|
1 |
+
window.CMB2=window.CMB2||{},function(window,document,$,cmb,undefined){"use strict";var $document,l10n=window.cmb2_l10,setTimeout=window.setTimeout,$id=function(selector){return $(document.getElementById(selector))},defaults={idNumber:!1,repeatEls:'input:not([type="button"],[id^=filelist]),select,textarea,.cmb2-media-status',noEmpty:'input:not([type="button"]):not([type="radio"]):not([type="checkbox"]),textarea',repeatUpdate:'input:not([type="button"]),select,textarea,label',styleBreakPoint:450,mediaHandlers:{},defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}},media:{frames:{}}};cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmb2-wrap > .cmb2-metabox"),cmb.$metabox)},cmb.init=function(){$document=$(document),$.extend(cmb,defaults),cmb.trigger("cmb_pre_init");var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmb2-timepicker'),$metabox.find('input[type="text"].cmb2-datepicker'),$metabox.find('input[type="text"].cmb2-colorpicker')),$('<p><span class="button-secondary cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.media.field=$(this).attr("id"),$id(cmb.media.field+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.on("cmb2_add_row",cmb.emptyValue).filter(".sortable").each(function(){$(this).find(".cmb-remove-group-row-button").before('<a class="button-secondary cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button-secondary cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds),cmb.trigger("cmb_init")},cmb.resetTitlesAndIterator=function(evt){evt.group&&$(".cmb-repeatable-group.repeatable").each(function(){var $table=$(this),groupTitle=$table.find(".cmb-add-group-row").data("grouptitle");$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this),$rowTitle=$row.find("h3.cmb-group-title");$row.data("iterator",rowindex),$rowTitle.length&&$rowTitle.text(groupTitle.replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),cmb.trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $this=$(this),$multicheck=$this.closest(".cmb-td").find("input[type=checkbox]:not([disabled])");$this.data("checked")?($multicheck.prop("checked",!1),$this.data("checked",!1)):($multicheck.prop("checked",!0),$this.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(id,isList){if(wp){var media,handlers;if(handlers=cmb.mediaHandlers,media=cmb.media,media.field=id,media.$field=$id(media.field),media.fieldData=media.$field.data(),media.previewSize=media.fieldData.previewsize,media.sizeName=media.fieldData.sizename,media.fieldName=media.$field.attr("name"),media.isList=isList,id in media.frames)return media.frames[id].open();media.frames[id]=wp.media({title:cmb.metabox().find('label[for="'+id+'"]').text(),library:media.fieldData.queryargs||{},button:{text:l10n.strings[isList?"upload_files":"upload_file"]},multiple:isList?"add":!1}),media.frames[id].states.first().set("filterable","all"),cmb.trigger("cmb_media_modal_init",media),handlers.list=function(selection,returnIt){var attachmentHtml,fileGroup=[];return handlers.list.templates||(handlers.list.templates={image:wp.template("cmb2-list-image"),file:wp.template("cmb2-list-file")}),selection.each(function(attachment){attachmentHtml=handlers.getAttachmentHtml(attachment,"list"),fileGroup.push(attachmentHtml)}),returnIt?fileGroup:void media.$field.siblings(".cmb2-media-status").append(fileGroup)},handlers.single=function(selection){handlers.single.templates||(handlers.single.templates={image:wp.template("cmb2-single-image"),file:wp.template("cmb2-single-file")});var attachment=selection.first();media.$field.val(attachment.get("url")),$id(media.field+"_id").val(attachment.get("id"));var attachmentHtml=handlers.getAttachmentHtml(attachment,"single");media.$field.siblings(".cmb2-media-status").slideDown().html(attachmentHtml)},handlers.getAttachmentHtml=function(attachment,templatesId){var isImage="image"===attachment.get("type"),data=handlers.prepareData(attachment,isImage);return handlers[templatesId].templates[isImage?"image":"file"](data)},handlers.prepareData=function(data,image){return image&&handlers.getImageData.call(data,50),data=data.toJSON(),data.mediaField=media.field,data.mediaFieldName=media.fieldName,data.stringRemoveImage=l10n.strings.remove_image,data.stringFile=l10n.strings.file,data.stringDownload=l10n.strings.download,data.stringRemoveFile=l10n.strings.remove_file,data},handlers.getImageData=function(fallbackSize){var previewW=media.previewSize[0]||fallbackSize,previewH=media.previewSize[1]||fallbackSize,url=this.get("url"),width=this.get("width"),height=this.get("height"),sizes=this.get("sizes");return sizes&&(sizes[media.sizeName]?(url=sizes[media.sizeName].url,width=sizes[media.sizeName].width,height=sizes[media.sizeName].height):sizes.large&&(url=sizes.large.url,width=sizes.large.width,height=sizes.large.height)),width>previewW&&(height=Math.floor(previewW*height/width),width=previewW),height>previewH&&(width=Math.floor(previewH*width/height),height=previewH),width||(width=previewW),height||(height="svg"===this.get("filename").split(".").pop()?"100%":previewH),this.set("sizeUrl",url),this.set("sizeWidth",width),this.set("sizeHeight",height),this},handlers.selectFile=function(){var selection=media.frames[id].state().get("selection"),type=isList?"list":"single";cmb.attach_id&&isList?$('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(handlers.list(selection,!0)):handlers[type](selection),cmb.trigger("cmb_media_modal_select",selection,media)},handlers.openModal=function(){var attach,selection=media.frames[id].state().get("selection");cmb.attach_id?(attach=wp.media.attachment(cmb.attach_id),attach.fetch(),selection.set(attach?[attach]:[])):selection.reset(),cmb.trigger("cmb_media_modal_open",selection,media)},media.frames[id].on("select",handlers.selectFile).on("open",handlers.openModal),media.frames[id].open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $this=$(this);return $this.is(".cmb-attach-list .cmb2-remove-file-button")?($this.parents(".cmb2-media-item").remove(),!1):(cmb.media.field=$this.attr("rel"),cmb.metabox().find(document.getElementById(cmb.media.field)).val(""),cmb.metabox().find(document.getElementById(cmb.media.field+"_id")).val(""),$this.parents(".cmb2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $elements=$row.find(cmb.repeatUpdate);if(group){var $other=$row.find("[id]").not(cmb.repeatUpdate);$row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})}return $elements.filter(":checked").removeAttr("checked"),$elements.find(":checked").removeAttr("checked"),$elements.filter(":selected").removeAttr("selected"),$elements.find(":selected").removeAttr("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$elements.each(function(){cmb.elReplacements($(this),prevNum,group)}),cmb},cmb.elReplacements=function($newInput,prevNum,group){var newID,oldID,oldFor=$newInput.attr("for"),oldVal=$newInput.val(),type=$newInput.prop("type"),checkable="radio"===type||"checkbox"===type?oldVal:!1,attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var newName,oldName=$newInput.attr("name");oldID=$newInput.attr("id"),group?(newName=oldName?oldName.replace("["+prevNum+"][","["+cmb.idNumber+"]["):"",newID=oldID?oldID.replace("_"+prevNum+"_","_"+cmb.idNumber+"_"):""):(newName=oldName?cmb.replaceLast(oldName,"["+prevNum+"]","["+cmb.idNumber+"]"):"",newID=oldID?cmb.replaceLast(oldID,"_"+prevNum,"_"+cmb.idNumber):""),attrs={id:newID,name:newName}}return"TEXTAREA"===$newInput.prop("tagName")&&$newInput.html(""),checkable&&$newInput.removeAttr("checked"),!group&&$newInput[0].hasAttribute("data-iterator")&&(attrs["data-iterator"]=cmb.idNumber),$newInput.removeClass("hasDatepicker").attr(attrs).val(checkable?checkable:""),$newInput},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmb2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmb2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){cmb.initPickers($row.find('input[type="text"].cmb2-timepicker'),$row.find('input[type="text"].cmb2-datepicker'),$row.find('input[type="text"].cmb2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"!=typeof name){var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator"),10),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)}},cmb.emptyValue=function(evt,row){$(cmb.noEmpty,row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $this=$(this);cmb.triggerElement($this,"cmb2_add_group_row_start",$this);var $table=$id($this.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;for(var $row=$oldRow.clone();$table.find('.cmb-repeatable-grouping[data-iterator="'+cmb.idNumber+'"]').length>0;)cmb.idNumber++;cmb.newRowHousekeeping($row.data("title",$this.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),cmb.triggerElement($table,{type:"cmb2_add_row",group:!0},$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),cmb.triggerElement($table,{type:"cmb2_add_row",group:!1},$row)},cmb.removeGroupRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$parent=$this.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;return 2>number?cmb.resetRow($parent.parents(".cmb-repeatable-group").find(".cmb-add-group-row"),$this):(cmb.triggerElement($table,"cmb2_remove_group_row_start",$this),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),void cmb.triggerElement($table,{type:"cmb2_remove_row",group:!0}))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $this=$(this);if(!$this.hasClass("button-disabled")){var $parent=$this.parents(".cmb-row"),$table=$this.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;if(2>=number)return cmb.resetRow($parent.find(".cmb-add-row-button"),$this);$parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$this.parents(".cmb-repeat-table .cmb-row").remove(),cmb.triggerElement($table,{type:"cmb2_remove_row",group:!1})}},cmb.resetRow=function($addNewBtn,$removeBtn){$addNewBtn.trigger("click"),$removeBtn.trigger("click")},cmb.shiftRows=function(evt){evt.preventDefault();var $this=$(this),$from=$this.parents(".cmb-repeatable-grouping"),$goto=$this.hasClass("move-up")?$from.prev(".cmb-repeatable-grouping"):$from.next(".cmb-repeatable-grouping");if(cmb.triggerElement($this,"cmb2_shift_rows_enter",$this,$from,$goto),$goto.length){cmb.triggerElement($this,"cmb2_shift_rows_start",$this,$from,$goto);var inputVals=[];$from.find(cmb.repeatEls).each(function(){var val,$element=$(this),elType=$element.attr("type");val=$element.hasClass("cmb2-media-status")?$element.html():"checkbox"===elType||"radio"===elType?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this),elType=$element.attr("type");if($element.hasClass("cmb2-media-status")){var toRowId=$element.closest(".cmb-repeatable-grouping").attr("data-iterator"),fromRowId=inputVals[index].$.closest(".cmb-repeatable-grouping").attr("data-iterator");val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val),inputVals[index].$.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+toRowId+"]","["+fromRowId+"]"),$(this).attr("name",name)}),$element.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+fromRowId+"]","["+toRowId+"]"),$(this).attr("name",name)})}else"checkbox"===elType?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"radio"===elType?($element.is(":checked")&&inputVals[index].$.attr("data-checked","true"),inputVals[index].$.is(":checked")&&$element.attr("data-checked","true")):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$from.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$goto.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$from.find('input[type="text"].cmb2-colorpicker').trigger("change"),$goto.find('input[type="text"].cmb2-colorpicker').trigger("change"),cmb.triggerElement($this,"cmb2_shift_rows_complete",$this,$from,$goto)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initDateTimePickers($timePickers,"timepicker","time_picker"),cmb.initDateTimePickers($datePickers,"datepicker","date_picker"),cmb.initColorPickers($colorPickers)},cmb.initDateTimePickers=function($selector,method,defaultKey){$selector.length&&$selector[method]("destroy").each(function(){var $this=$(this),fieldOpts=$this.data(method)||{},options=$.extend({},cmb.defaults[defaultKey],fieldOpts);$this[method](cmb.datePickerSetupOpts(fieldOpts,options,method))})},cmb.datePickerSetupOpts=function(fieldOpts,options,method){var existing=$.extend({},options);return options.beforeShow=function(input,inst){"timepicker"===method&&cmb.addTimePickerClasses(inst.dpDiv),$id("ui-datepicker-div").addClass("cmb2-element"),"function"==typeof existing.beforeShow&&existing.beforeShow(input,inst)},"timepicker"===method&&(options.onChangeMonthYear=function(year,month,inst,picker){cmb.addTimePickerClasses(inst.dpDiv),"function"==typeof existing.onChangeMonthYear&&existing.onChangeMonthYear(year,month,inst,picker)}),options.onClose=function(dateText,inst){var $picker=$id("ui-datepicker-div").removeClass("cmb2-element").hide();"timepicker"!==method||$(inst.input).val()||inst.input.val($picker.find(".ui_tpicker_time").text()),"function"==typeof existing.onClose&&existing.onClose(dateText,inst)},options},cmb.addTimePickerClasses=function($picker){var func=cmb.addTimePickerClasses;func.count=func.count||0,setTimeout(function(){$picker.find(".ui-priority-secondary").length?($picker.find(".ui-priority-secondary").addClass("button-secondary"),$picker.find(".ui-priority-primary").addClass("button-primary"),func.count=0):func.count<5&&(func.count++,func($picker))},10)},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.each(function(){var $this=$(this),fieldOpts=$this.data("colorpicker")||{};$this.wpColorPicker($.extend({},cmb.defaults.color_picker,fieldOpts))}):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmb2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $this=$(this),m={focusout:function(){setTimeout(function(){cmb.spinner(".cmb2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($this,evt)},paste:function(){setTimeout(function(){cmb.doAjax($this)},100)}};m[evt.type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $this=$(this),$tableWrap=$this.parents(".inside"),isSide=$this.parents(".inner-sidebar").length||$this.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$this.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmb2-remove-wrapper");return $children.length?void $children.each(function(){var $this=$(this),iwidth=$this.width(),iheight=$this.height(),_newWidth=newWidth;$this.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$this.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){var m=hide?"removeClass":"addClass";$(".cmb-spinner",$context)[m]("is-active")},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmb2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmb2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmb2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},cmb.trigger=function(evtName){var args=Array.prototype.slice.call(arguments,1);args.push(cmb),$document.trigger(evtName,args)},cmb.triggerElement=function($el,evtName){var args=Array.prototype.slice.call(arguments,2);args.push(cmb),$el.trigger(evtName,args)},cmb.replaceLast=function(string,search,replace){var n=string.lastIndexOf(search);return string.slice(0,n)+string.slice(n).replace(search,replace)},$(cmb.init)}(window,document,jQuery,window.CMB2),window.CMB2=window.CMB2||{},window.CMB2.wysiwyg=window.CMB2.wysiwyg||{},function(window,document,$,wysiwyg,undefined){"use strict";function delayedInit(){0===toBeDestroyed.length?toBeInitialized.forEach(function(toInit){toBeInitialized.splice(toBeInitialized.indexOf(toInit),1),wysiwyg.init.apply(wysiwyg,toInit)}):window.setTimeout(delayedInit,100)}function delayedDestroy(){toBeDestroyed.forEach(function(id){toBeDestroyed.splice(toBeDestroyed.indexOf(id),1),wysiwyg.destroy(id)})}function getGroupData(data){var groupid=data.groupid,fieldid=data.fieldid;return all[groupid]&&all[groupid][fieldid]||(all[groupid]=all[groupid]||{},all[groupid][fieldid]={template:wp.template("cmb2-wysiwyg-"+groupid+"-"+fieldid),defaults:{mce:$.extend({},tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid]),qt:$.extend({},tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid])}},delete tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid],delete tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid]),all[groupid][fieldid]}function initOptions(options){var prop,newSettings,newQTS,nameRegex=new RegExp("cmb2_n_"+options.groupid+options.fieldid,"g"),idRegex=new RegExp("cmb2_i_"+options.groupid+options.fieldid,"g");if("undefined"==typeof tinyMCEPreInit.mceInit[options.id]){newSettings=$.extend({},options.defaults.mce);for(prop in newSettings)"string"==typeof newSettings[prop]&&(newSettings[prop]=newSettings[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.mceInit[options.id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[options.id]){newQTS=$.extend({},options.defaults.qt);for(prop in newQTS)"string"==typeof newQTS[prop]&&(newQTS[prop]=newQTS[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.qtInit[options.id]=newQTS}}var toBeDestroyed=[],toBeInitialized=[],all=wysiwyg.all={};wysiwyg.initAll=function(){var $this,data,initiated;$(".cmb2-wysiwyg-placeholder").each(function(){$this=$(this),data=$this.data(),data.groupid&&(data.id=$this.attr("id"),data.name=$this.attr("name"),data.value=$this.val(),wysiwyg.init($this,data,!1),initiated=!0)}),!0===initiated&&("undefined"!=typeof window.QTags&&window.QTags._buttonsInit(),$(document).on("cmb2_add_row",wysiwyg.addRow).on("cmb2_remove_group_row_start",wysiwyg.destroyRowEditors).on("cmb2_shift_rows_start",wysiwyg.shiftStart).on("cmb2_shift_rows_complete",wysiwyg.shiftComplete))},wysiwyg.addRow=function(evt,$row){wysiwyg.initRow($row)},wysiwyg.destroyRowEditors=function(evt,$btn){wysiwyg.destroy($btn.parents(".cmb-repeatable-grouping").find(".wp-editor-area").attr("id"))},wysiwyg.shiftStart=function(evt,$btn,$from,$to){$from.add($to).find(".wp-editor-wrap textarea").each(function(){wysiwyg.destroy($(this).attr("id"))})},wysiwyg.shiftComplete=function(evt,$btn,$from,$to){$from.add($to).each(function(){wysiwyg.initRow($(this))})},wysiwyg.initRow=function($row){var $toReplace,data;$row.find(".cmb2-wysiwyg-inner-wrap").each(function(){$toReplace=$(this),data=$toReplace.data(),data.iterator=$row.data("iterator"),data.fieldid=data.id,data.id=data.groupid+"_"+data.iterator+"_"+data.fieldid,data.name=data.groupid+"["+data.iterator+"]["+data.fieldid+"]",data.value=$toReplace.find(".wp-editor-area").length?$toReplace.find(".wp-editor-area").val():"",0===toBeDestroyed.length?wysiwyg.init($toReplace,data):(toBeInitialized.push([$toReplace,data]),window.setTimeout(delayedInit,100))})},wysiwyg.init=function($toReplace,data,buttonsInit){if(!data.groupid)return!1;var mceActive=window.cmb2_l10.user_can_richedit&&window.tinyMCE,qtActive="function"==typeof window.quicktags;$.extend(data,getGroupData(data)),initOptions(data),$toReplace.replaceWith(data.template(data)),mceActive&&window.tinyMCE.init(tinyMCEPreInit.mceInit[data.id]),qtActive&&window.quicktags(tinyMCEPreInit.qtInit[data.id]),mceActive&&$(document.getElementById(data.id)).parents(".wp-editor-wrap").removeClass("html-active").addClass("tmce-active"),!1!==buttonsInit&&"undefined"!=typeof window.QTags&&window.QTags._buttonsInit()},wysiwyg.destroy=function(id){if(window.cmb2_l10.user_can_richedit&&window.tinyMCE){var editor=tinyMCE.get(id);null!==editor&&"undefined"!=typeof editor?(editor.destroy(),"undefined"==typeof tinyMCEPreInit.mceInit[id]&&delete tinyMCEPreInit.mceInit[id],"undefined"==typeof tinyMCEPreInit.qtInit[id]&&delete tinyMCEPreInit.qtInit[id]):-1===toBeDestroyed.indexOf(id)&&(toBeDestroyed.push(id),window.setTimeout(delayedDestroy,100))}},$(document).on("cmb_init",wysiwyg.initAll)}(window,document,jQuery,window.CMB2.wysiwyg);
|
includes/vendor/cmb2/js/wp-color-picker-alpha.js
ADDED
@@ -0,0 +1,496 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* wp-color-picker-alpha
|
3 |
+
*
|
4 |
+
* Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
|
5 |
+
* Only run in input and is defined data alpha in true
|
6 |
+
*
|
7 |
+
* Version: 2.1.3
|
8 |
+
* https://github.com/kallookoo/wp-color-picker-alpha
|
9 |
+
* Licensed under the GPLv2 license.
|
10 |
+
*/
|
11 |
+
( function( $ ) {
|
12 |
+
// Prevent double-init.
|
13 |
+
if ( $.wp.wpColorPicker.prototype._hasAlpha ) {
|
14 |
+
return;
|
15 |
+
}
|
16 |
+
|
17 |
+
// Variable for some backgrounds ( grid )
|
18 |
+
var image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==',
|
19 |
+
// html stuff for wpColorPicker copy of the original color-picker.js
|
20 |
+
_after = '<div class="wp-picker-holder" />',
|
21 |
+
_wrap = '<div class="wp-picker-container" />',
|
22 |
+
_button = '<input type="button" class="button button-small" />',
|
23 |
+
// Prevent CSS issues in < WordPress 4.9
|
24 |
+
_deprecated = ( wpColorPickerL10n.current !== undefined );
|
25 |
+
// Declare some global variables when is deprecated or not
|
26 |
+
if ( _deprecated ) {
|
27 |
+
var _before = '<a tabindex="0" class="wp-color-result" />';
|
28 |
+
} else {
|
29 |
+
var _before = '<button type="button" class="button wp-color-result" aria-expanded="false"><span class="wp-color-result-text"></span></button>',
|
30 |
+
_wrappingLabel = '<label></label>',
|
31 |
+
_wrappingLabelText = '<span class="screen-reader-text"></span>';
|
32 |
+
}
|
33 |
+
/**
|
34 |
+
* Overwrite Color
|
35 |
+
* for enable support rbga
|
36 |
+
*/
|
37 |
+
Color.fn.toString = function() {
|
38 |
+
if ( this._alpha < 1 )
|
39 |
+
return this.toCSS( 'rgba', this._alpha ).replace( /\s+/g, '' );
|
40 |
+
|
41 |
+
var hex = parseInt( this._color, 10 ).toString( 16 );
|
42 |
+
|
43 |
+
if ( this.error )
|
44 |
+
return '';
|
45 |
+
|
46 |
+
if ( hex.length < 6 )
|
47 |
+
hex = ( '00000' + hex ).substr( -6 );
|
48 |
+
|
49 |
+
return '#' + hex;
|
50 |
+
};
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Overwrite wpColorPicker
|
54 |
+
*/
|
55 |
+
$.widget( 'wp.wpColorPicker', $.wp.wpColorPicker, {
|
56 |
+
_hasAlpha: true,
|
57 |
+
/**
|
58 |
+
* @summary Creates the color picker.
|
59 |
+
*
|
60 |
+
* Creates the color picker, sets default values, css classes and wraps it all in HTML.
|
61 |
+
*
|
62 |
+
* @since 3.5.0
|
63 |
+
*
|
64 |
+
* @access private
|
65 |
+
*
|
66 |
+
* @returns {void}
|
67 |
+
*/
|
68 |
+
_create: function() {
|
69 |
+
// Return early if Iris support is missing.
|
70 |
+
if ( ! $.support.iris ) {
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
|
74 |
+
var self = this,
|
75 |
+
el = self.element;
|
76 |
+
|
77 |
+
// Override default options with options bound to the element.
|
78 |
+
$.extend( self.options, el.data() );
|
79 |
+
|
80 |
+
// Create a color picker which only allows adjustments to the hue.
|
81 |
+
if ( self.options.type === 'hue' ) {
|
82 |
+
return self._createHueOnly();
|
83 |
+
}
|
84 |
+
|
85 |
+
// Bind the close event.
|
86 |
+
self.close = $.proxy( self.close, self );
|
87 |
+
|
88 |
+
self.initialValue = el.val();
|
89 |
+
|
90 |
+
// Add a CSS class to the input field.
|
91 |
+
el.addClass( 'wp-color-picker' );
|
92 |
+
|
93 |
+
if ( _deprecated ) {
|
94 |
+
el.hide().wrap( _wrap );
|
95 |
+
self.wrap = el.parent();
|
96 |
+
self.toggler = $( _before )
|
97 |
+
.insertBefore( el )
|
98 |
+
.css( { backgroundColor : self.initialValue } )
|
99 |
+
.attr( 'title', wpColorPickerL10n.pick )
|
100 |
+
.attr( 'data-current', wpColorPickerL10n.current );
|
101 |
+
self.pickerContainer = $( _after ).insertAfter( el );
|
102 |
+
self.button = $( _button ).addClass('hidden');
|
103 |
+
} else {
|
104 |
+
/*
|
105 |
+
* Check if there's already a wrapping label, e.g. in the Customizer.
|
106 |
+
* If there's no label, add a default one to match the Customizer template.
|
107 |
+
*/
|
108 |
+
if ( ! el.parent( 'label' ).length ) {
|
109 |
+
// Wrap the input field in the default label.
|
110 |
+
el.wrap( _wrappingLabel );
|
111 |
+
// Insert the default label text.
|
112 |
+
self.wrappingLabelText = $( _wrappingLabelText )
|
113 |
+
.insertBefore( el )
|
114 |
+
.text( wpColorPickerL10n.defaultLabel );
|
115 |
+
}
|
116 |
+
|
117 |
+
/*
|
118 |
+
* At this point, either it's the standalone version or the Customizer
|
119 |
+
* one, we have a wrapping label to use as hook in the DOM, let's store it.
|
120 |
+
*/
|
121 |
+
self.wrappingLabel = el.parent();
|
122 |
+
|
123 |
+
// Wrap the label in the main wrapper.
|
124 |
+
self.wrappingLabel.wrap( _wrap );
|
125 |
+
// Store a reference to the main wrapper.
|
126 |
+
self.wrap = self.wrappingLabel.parent();
|
127 |
+
// Set up the toggle button and insert it before the wrapping label.
|
128 |
+
self.toggler = $( _before )
|
129 |
+
.insertBefore( self.wrappingLabel )
|
130 |
+
.css( { backgroundColor: self.initialValue } );
|
131 |
+
// Set the toggle button span element text.
|
132 |
+
self.toggler.find( '.wp-color-result-text' ).text( wpColorPickerL10n.pick );
|
133 |
+
// Set up the Iris container and insert it after the wrapping label.
|
134 |
+
self.pickerContainer = $( _after ).insertAfter( self.wrappingLabel );
|
135 |
+
// Store a reference to the Clear/Default button.
|
136 |
+
self.button = $( _button );
|
137 |
+
}
|
138 |
+
|
139 |
+
// Set up the Clear/Default button.
|
140 |
+
if ( self.options.defaultColor ) {
|
141 |
+
self.button.addClass( 'wp-picker-default' ).val( wpColorPickerL10n.defaultString );
|
142 |
+
if ( ! _deprecated ) {
|
143 |
+
self.button.attr( 'aria-label', wpColorPickerL10n.defaultAriaLabel );
|
144 |
+
}
|
145 |
+
} else {
|
146 |
+
self.button.addClass( 'wp-picker-clear' ).val( wpColorPickerL10n.clear );
|
147 |
+
if ( ! _deprecated ) {
|
148 |
+
self.button.attr( 'aria-label', wpColorPickerL10n.clearAriaLabel );
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
if ( _deprecated ) {
|
153 |
+
el.wrap( '<span class="wp-picker-input-wrap" />' ).after( self.button );
|
154 |
+
} else {
|
155 |
+
// Wrap the wrapping label in its wrapper and append the Clear/Default button.
|
156 |
+
self.wrappingLabel
|
157 |
+
.wrap( '<span class="wp-picker-input-wrap hidden" />' )
|
158 |
+
.after( self.button );
|
159 |
+
|
160 |
+
/*
|
161 |
+
* The input wrapper now contains the label+input+Clear/Default button.
|
162 |
+
* Store a reference to the input wrapper: we'll use this to toggle
|
163 |
+
* the controls visibility.
|
164 |
+
*/
|
165 |
+
self.inputWrapper = el.closest( '.wp-picker-input-wrap' );
|
166 |
+
}
|
167 |
+
|
168 |
+
el.iris( {
|
169 |
+
target: self.pickerContainer,
|
170 |
+
hide: self.options.hide,
|
171 |
+
width: self.options.width,
|
172 |
+
mode: self.options.mode,
|
173 |
+
palettes: self.options.palettes,
|
174 |
+
/**
|
175 |
+
* @summary Handles the onChange event if one has been defined in the options.
|
176 |
+
*
|
177 |
+
* Handles the onChange event if one has been defined in the options and additionally
|
178 |
+
* sets the background color for the toggler element.
|
179 |
+
*
|
180 |
+
* @since 3.5.0
|
181 |
+
*
|
182 |
+
* @param {Event} event The event that's being called.
|
183 |
+
* @param {HTMLElement} ui The HTMLElement containing the color picker.
|
184 |
+
*
|
185 |
+
* @returns {void}
|
186 |
+
*/
|
187 |
+
change: function( event, ui ) {
|
188 |
+
if ( self.options.alpha ) {
|
189 |
+
self.toggler.css( { 'background-image' : 'url(' + image + ')' } );
|
190 |
+
if ( _deprecated ) {
|
191 |
+
self.toggler.html( '<span class="color-alpha" />' );
|
192 |
+
} else {
|
193 |
+
self.toggler.css( {
|
194 |
+
'position' : 'relative'
|
195 |
+
} );
|
196 |
+
if ( self.toggler.find('span.color-alpha').length == 0 ) {
|
197 |
+
self.toggler.append('<span class="color-alpha" />');
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
self.toggler.find( 'span.color-alpha' ).css( {
|
202 |
+
'width' : '30px',
|
203 |
+
'height' : '24px',
|
204 |
+
'position' : 'absolute',
|
205 |
+
'top' : 0,
|
206 |
+
'left' : 0,
|
207 |
+
'border-top-left-radius' : '2px',
|
208 |
+
'border-bottom-left-radius' : '2px',
|
209 |
+
'background' : ui.color.toString()
|
210 |
+
} );
|
211 |
+
} else {
|
212 |
+
self.toggler.css( { backgroundColor : ui.color.toString() } );
|
213 |
+
}
|
214 |
+
|
215 |
+
if ( $.isFunction( self.options.change ) ) {
|
216 |
+
self.options.change.call( this, event, ui );
|
217 |
+
}
|
218 |
+
}
|
219 |
+
} );
|
220 |
+
|
221 |
+
el.val( self.initialValue );
|
222 |
+
self._addListeners();
|
223 |
+
|
224 |
+
// Force the color picker to always be closed on initial load.
|
225 |
+
if ( ! self.options.hide ) {
|
226 |
+
self.toggler.click();
|
227 |
+
}
|
228 |
+
},
|
229 |
+
/**
|
230 |
+
* @summary Binds event listeners to the color picker.
|
231 |
+
*
|
232 |
+
* @since 3.5.0
|
233 |
+
*
|
234 |
+
* @access private
|
235 |
+
*
|
236 |
+
* @returns {void}
|
237 |
+
*/
|
238 |
+
_addListeners: function() {
|
239 |
+
var self = this;
|
240 |
+
|
241 |
+
/**
|
242 |
+
* @summary Prevent any clicks inside this widget from leaking to the top and closing it.
|
243 |
+
*
|
244 |
+
* @since 3.5.0
|
245 |
+
*
|
246 |
+
* @param {Event} event The event that's being called.
|
247 |
+
*
|
248 |
+
* @returs {void}
|
249 |
+
*/
|
250 |
+
self.wrap.on( 'click.wpcolorpicker', function( event ) {
|
251 |
+
event.stopPropagation();
|
252 |
+
});
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @summary Open or close the color picker depending on the class.
|
256 |
+
*
|
257 |
+
* @since 3.5
|
258 |
+
*/
|
259 |
+
self.toggler.click( function(){
|
260 |
+
if ( self.toggler.hasClass( 'wp-picker-open' ) ) {
|
261 |
+
self.close();
|
262 |
+
} else {
|
263 |
+
self.open();
|
264 |
+
}
|
265 |
+
});
|
266 |
+
|
267 |
+
/**
|
268 |
+
* @summary Checks if value is empty when changing the color in the color picker.
|
269 |
+
*
|
270 |
+
* Checks if value is empty when changing the color in the color picker.
|
271 |
+
* If so, the background color is cleared.
|
272 |
+
*
|
273 |
+
* @since 3.5.0
|
274 |
+
*
|
275 |
+
* @param {Event} event The event that's being called.
|
276 |
+
*
|
277 |
+
* @returns {void}
|
278 |
+
*/
|
279 |
+
self.element.on( 'change', function( event ) {
|
280 |
+
// Empty or Error = clear
|
281 |
+
if ( $( this ).val() === '' || self.element.hasClass( 'iris-error' ) ) {
|
282 |
+
if ( self.options.alpha ) {
|
283 |
+
if ( _deprecated ) {
|
284 |
+
self.toggler.removeAttr( 'style' );
|
285 |
+
}
|
286 |
+
self.toggler.find( 'span.color-alpha' ).css( 'backgroundColor', '' );
|
287 |
+
} else {
|
288 |
+
self.toggler.css( 'backgroundColor', '' );
|
289 |
+
}
|
290 |
+
|
291 |
+
// fire clear callback if we have one
|
292 |
+
if ( $.isFunction( self.options.clear ) )
|
293 |
+
self.options.clear.call( this, event );
|
294 |
+
}
|
295 |
+
} );
|
296 |
+
|
297 |
+
/**
|
298 |
+
* @summary Enables the user to clear or revert the color in the color picker.
|
299 |
+
*
|
300 |
+
* Enables the user to either clear the color in the color picker or revert back to the default color.
|
301 |
+
*
|
302 |
+
* @since 3.5.0
|
303 |
+
*
|
304 |
+
* @param {Event} event The event that's being called.
|
305 |
+
*
|
306 |
+
* @returns {void}
|
307 |
+
*/
|
308 |
+
self.button.on( 'click', function( event ) {
|
309 |
+
if ( $( this ).hasClass( 'wp-picker-clear' ) ) {
|
310 |
+
self.element.val( '' );
|
311 |
+
if ( self.options.alpha ) {
|
312 |
+
if ( _deprecated ) {
|
313 |
+
self.toggler.removeAttr( 'style' );
|
314 |
+
}
|
315 |
+
self.toggler.find( 'span.color-alpha' ).css( 'backgroundColor', '' );
|
316 |
+
} else {
|
317 |
+
self.toggler.css( 'backgroundColor', '' );
|
318 |
+
}
|
319 |
+
|
320 |
+
if ( $.isFunction( self.options.clear ) )
|
321 |
+
self.options.clear.call( this, event );
|
322 |
+
|
323 |
+
} else if ( $( this ).hasClass( 'wp-picker-default' ) ) {
|
324 |
+
self.element.val( self.options.defaultColor ).change();
|
325 |
+
}
|
326 |
+
});
|
327 |
+
},
|
328 |
+
});
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Overwrite iris
|
332 |
+
*/
|
333 |
+
$.widget( 'a8c.iris', $.a8c.iris, {
|
334 |
+
_create: function() {
|
335 |
+
this._super();
|
336 |
+
|
337 |
+
// Global option for check is mode rbga is enabled
|
338 |
+
this.options.alpha = this.element.data( 'alpha' ) || false;
|
339 |
+
|
340 |
+
// Is not input disabled
|
341 |
+
if ( ! this.element.is( ':input' ) )
|
342 |
+
this.options.alpha = false;
|
343 |
+
|
344 |
+
if ( typeof this.options.alpha !== 'undefined' && this.options.alpha ) {
|
345 |
+
var self = this,
|
346 |
+
el = self.element,
|
347 |
+
_html = '<div class="iris-strip iris-slider iris-alpha-slider"><div class="iris-slider-offset iris-slider-offset-alpha"></div></div>',
|
348 |
+
aContainer = $( _html ).appendTo( self.picker.find( '.iris-picker-inner' ) ),
|
349 |
+
aSlider = aContainer.find( '.iris-slider-offset-alpha' ),
|
350 |
+
controls = {
|
351 |
+
aContainer : aContainer,
|
352 |
+
aSlider : aSlider
|
353 |
+
};
|
354 |
+
|
355 |
+
if ( typeof el.data( 'custom-width' ) !== 'undefined' ) {
|
356 |
+
self.options.customWidth = parseInt( el.data( 'custom-width' ) ) || 0;
|
357 |
+
} else {
|
358 |
+
self.options.customWidth = 100;
|
359 |
+
}
|
360 |
+
|
361 |
+
// Set default width for input reset
|
362 |
+
self.options.defaultWidth = el.width();
|
363 |
+
|
364 |
+
// Update width for input
|
365 |
+
if ( self._color._alpha < 1 || self._color.toString().indexOf('rgb') != -1 )
|
366 |
+
el.width( parseInt( self.options.defaultWidth + self.options.customWidth ) );
|
367 |
+
|
368 |
+
// Push new controls
|
369 |
+
$.each( controls, function( k, v ) {
|
370 |
+
self.controls[k] = v;
|
371 |
+
} );
|
372 |
+
|
373 |
+
// Change size strip and add margin for sliders
|
374 |
+
self.controls.square.css( { 'margin-right': '0' } );
|
375 |
+
var emptyWidth = ( self.picker.width() - self.controls.square.width() - 20 ),
|
376 |
+
stripsMargin = ( emptyWidth / 6 ),
|
377 |
+
stripsWidth = ( ( emptyWidth / 2 ) - stripsMargin );
|
378 |
+
|
379 |
+
$.each( [ 'aContainer', 'strip' ], function( k, v ) {
|
380 |
+
self.controls[v].width( stripsWidth ).css( { 'margin-left' : stripsMargin + 'px' } );
|
381 |
+
} );
|
382 |
+
|
383 |
+
// Add new slider
|
384 |
+
self._initControls();
|
385 |
+
|
386 |
+
// For updated widget
|
387 |
+
self._change();
|
388 |
+
}
|
389 |
+
},
|
390 |
+
_initControls: function() {
|
391 |
+
this._super();
|
392 |
+
|
393 |
+
if ( this.options.alpha ) {
|
394 |
+
var self = this,
|
395 |
+
controls = self.controls;
|
396 |
+
|
397 |
+
controls.aSlider.slider({
|
398 |
+
orientation : 'vertical',
|
399 |
+
min : 0,
|
400 |
+
max : 100,
|
401 |
+
step : 1,
|
402 |
+
value : parseInt( self._color._alpha * 100 ),
|
403 |
+
slide : function( event, ui ) {
|
404 |
+
// Update alpha value
|
405 |
+
self._color._alpha = parseFloat( ui.value / 100 );
|
406 |
+
self._change.apply( self, arguments );
|
407 |
+
}
|
408 |
+
});
|
409 |
+
}
|
410 |
+
},
|
411 |
+
_change: function() {
|
412 |
+
this._super();
|
413 |
+
|
414 |
+
var self = this,
|
415 |
+
el = self.element;
|
416 |
+
|
417 |
+
if ( this.options.alpha ) {
|
418 |
+
var controls = self.controls,
|
419 |
+
alpha = parseInt( self._color._alpha * 100 ),
|
420 |
+
color = self._color.toRgb(),
|
421 |
+
gradient = [
|
422 |
+
'rgb(' + color.r + ',' + color.g + ',' + color.b + ') 0%',
|
423 |
+
'rgba(' + color.r + ',' + color.g + ',' + color.b + ', 0) 100%'
|
424 |
+
],
|
425 |
+
defaultWidth = self.options.defaultWidth,
|
426 |
+
customWidth = self.options.customWidth,
|
427 |
+
target = self.picker.closest( '.wp-picker-container' ).find( '.wp-color-result' );
|
428 |
+
|
429 |
+
// Generate background slider alpha, only for CSS3 old browser fuck!! :)
|
430 |
+
controls.aContainer.css( { 'background' : 'linear-gradient(to bottom, ' + gradient.join( ', ' ) + '), url(' + image + ')' } );
|
431 |
+
|
432 |
+
if ( target.hasClass( 'wp-picker-open' ) ) {
|
433 |
+
// Update alpha value
|
434 |
+
controls.aSlider.slider( 'value', alpha );
|
435 |
+
|
436 |
+
/**
|
437 |
+
* Disabled change opacity in default slider Saturation ( only is alpha enabled )
|
438 |
+
* and change input width for view all value
|
439 |
+
*/
|
440 |
+
if ( self._color._alpha < 1 ) {
|
441 |
+
controls.strip.attr( 'style', controls.strip.attr( 'style' ).replace( /rgba\(([0-9]+,)(\s+)?([0-9]+,)(\s+)?([0-9]+)(,(\s+)?[0-9\.]+)\)/g, 'rgb($1$3$5)' ) );
|
442 |
+
el.width( parseInt( defaultWidth + customWidth ) );
|
443 |
+
} else {
|
444 |
+
el.width( defaultWidth );
|
445 |
+
}
|
446 |
+
}
|
447 |
+
}
|
448 |
+
|
449 |
+
var reset = el.data( 'reset-alpha' ) || false;
|
450 |
+
|
451 |
+
if ( reset ) {
|
452 |
+
self.picker.find( '.iris-palette-container' ).on( 'click.palette', '.iris-palette', function() {
|
453 |
+
self._color._alpha = 1;
|
454 |
+
self.active = 'external';
|
455 |
+
self._change();
|
456 |
+
} );
|
457 |
+
}
|
458 |
+
},
|
459 |
+
_addInputListeners: function( input ) {
|
460 |
+
var self = this,
|
461 |
+
debounceTimeout = 100,
|
462 |
+
callback = function( event ) {
|
463 |
+
var color = new Color( input.val() ),
|
464 |
+
val = input.val();
|
465 |
+
|
466 |
+
input.removeClass( 'iris-error' );
|
467 |
+
// we gave a bad color
|
468 |
+
if ( color.error ) {
|
469 |
+
// don't error on an empty input
|
470 |
+
if ( val !== '' )
|
471 |
+
input.addClass( 'iris-error' );
|
472 |
+
} else {
|
473 |
+
if ( color.toString() !== self._color.toString() ) {
|
474 |
+
// let's not do this on keyup for hex shortcodes
|
475 |
+
if ( ! ( event.type === 'keyup' && val.match( /^[0-9a-fA-F]{3}$/ ) ) )
|
476 |
+
self._setOption( 'color', color.toString() );
|
477 |
+
}
|
478 |
+
}
|
479 |
+
};
|
480 |
+
|
481 |
+
input.on( 'change', callback ).on( 'keyup', self._debounce( callback, debounceTimeout ) );
|
482 |
+
|
483 |
+
// If we initialized hidden, show on first focus. The rest is up to you.
|
484 |
+
if ( self.options.hide ) {
|
485 |
+
input.on( 'focus', function() {
|
486 |
+
self.show();
|
487 |
+
} );
|
488 |
+
}
|
489 |
+
}
|
490 |
+
} );
|
491 |
+
}( jQuery ) );
|
492 |
+
|
493 |
+
// Auto Call plugin is class is color-picker
|
494 |
+
jQuery( document ).ready( function( $ ) {
|
495 |
+
$( '.color-picker' ).wpColorPicker();
|
496 |
+
} );
|
includes/vendor/cmb2/js/wp-color-picker-alpha.min.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* wp-color-picker-alpha
|
3 |
+
*
|
4 |
+
* Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
|
5 |
+
* Only run in input and is defined data alpha in true
|
6 |
+
*
|
7 |
+
* Version: 2.1.3
|
8 |
+
* https://github.com/kallookoo/wp-color-picker-alpha
|
9 |
+
* Licensed under the GPLv2 license.
|
10 |
+
*/
|
11 |
+
!function(a){if(!a.wp.wpColorPicker.prototype._hasAlpha){var b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==",c='<div class="wp-picker-holder" />',d='<div class="wp-picker-container" />',e='<input type="button" class="button button-small" />',f=void 0!==wpColorPickerL10n.current;if(f)var g='<a tabindex="0" class="wp-color-result" />';else var g='<button type="button" class="button wp-color-result" aria-expanded="false"><span class="wp-color-result-text"></span></button>',h="<label></label>",i='<span class="screen-reader-text"></span>';Color.fn.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var a=parseInt(this._color,10).toString(16);return this.error?"":(a.length<6&&(a=("00000"+a).substr(-6)),"#"+a)},a.widget("wp.wpColorPicker",a.wp.wpColorPicker,{_hasAlpha:!0,_create:function(){if(a.support.iris){var j=this,k=j.element;if(a.extend(j.options,k.data()),"hue"===j.options.type)return j._createHueOnly();j.close=a.proxy(j.close,j),j.initialValue=k.val(),k.addClass("wp-color-picker"),f?(k.hide().wrap(d),j.wrap=k.parent(),j.toggler=a(g).insertBefore(k).css({backgroundColor:j.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),j.pickerContainer=a(c).insertAfter(k),j.button=a(e).addClass("hidden")):(k.parent("label").length||(k.wrap(h),j.wrappingLabelText=a(i).insertBefore(k).text(wpColorPickerL10n.defaultLabel)),j.wrappingLabel=k.parent(),j.wrappingLabel.wrap(d),j.wrap=j.wrappingLabel.parent(),j.toggler=a(g).insertBefore(j.wrappingLabel).css({backgroundColor:j.initialValue}),j.toggler.find(".wp-color-result-text").text(wpColorPickerL10n.pick),j.pickerContainer=a(c).insertAfter(j.wrappingLabel),j.button=a(e)),j.options.defaultColor?(j.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString),f||j.button.attr("aria-label",wpColorPickerL10n.defaultAriaLabel)):(j.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),f||j.button.attr("aria-label",wpColorPickerL10n.clearAriaLabel)),f?k.wrap('<span class="wp-picker-input-wrap" />').after(j.button):(j.wrappingLabel.wrap('<span class="wp-picker-input-wrap hidden" />').after(j.button),j.inputWrapper=k.closest(".wp-picker-input-wrap")),k.iris({target:j.pickerContainer,hide:j.options.hide,width:j.options.width,mode:j.options.mode,palettes:j.options.palettes,change:function(c,d){j.options.alpha?(j.toggler.css({"background-image":"url("+b+")"}),f?j.toggler.html('<span class="color-alpha" />'):(j.toggler.css({position:"relative"}),0==j.toggler.find("span.color-alpha").length&&j.toggler.append('<span class="color-alpha" />')),j.toggler.find("span.color-alpha").css({width:"30px",height:"24px",position:"absolute",top:0,left:0,"border-top-left-radius":"2px","border-bottom-left-radius":"2px",background:d.color.toString()})):j.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(j.options.change)&&j.options.change.call(this,c,d)}}),k.val(j.initialValue),j._addListeners(),j.options.hide||j.toggler.click()}},_addListeners:function(){var b=this;b.wrap.on("click.wpcolorpicker",function(a){a.stopPropagation()}),b.toggler.click(function(){b.toggler.hasClass("wp-picker-open")?b.close():b.open()}),b.element.on("change",function(c){(""===a(this).val()||b.element.hasClass("iris-error"))&&(b.options.alpha?(f&&b.toggler.removeAttr("style"),b.toggler.find("span.color-alpha").css("backgroundColor","")):b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.button.on("click",function(c){a(this).hasClass("wp-picker-clear")?(b.element.val(""),b.options.alpha?(f&&b.toggler.removeAttr("style"),b.toggler.find("span.color-alpha").css("backgroundColor","")):b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):a(this).hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})}}),a.widget("a8c.iris",a.a8c.iris,{_create:function(){if(this._super(),this.options.alpha=this.element.data("alpha")||!1,this.element.is(":input")||(this.options.alpha=!1),"undefined"!=typeof this.options.alpha&&this.options.alpha){var b=this,c=b.element,d='<div class="iris-strip iris-slider iris-alpha-slider"><div class="iris-slider-offset iris-slider-offset-alpha"></div></div>',e=a(d).appendTo(b.picker.find(".iris-picker-inner")),f=e.find(".iris-slider-offset-alpha"),g={aContainer:e,aSlider:f};"undefined"!=typeof c.data("custom-width")?b.options.customWidth=parseInt(c.data("custom-width"))||0:b.options.customWidth=100,b.options.defaultWidth=c.width(),(b._color._alpha<1||-1!=b._color.toString().indexOf("rgb"))&&c.width(parseInt(b.options.defaultWidth+b.options.customWidth)),a.each(g,function(a,c){b.controls[a]=c}),b.controls.square.css({"margin-right":"0"});var h=b.picker.width()-b.controls.square.width()-20,i=h/6,j=h/2-i;a.each(["aContainer","strip"],function(a,c){b.controls[c].width(j).css({"margin-left":i+"px"})}),b._initControls(),b._change()}},_initControls:function(){if(this._super(),this.options.alpha){var a=this,b=a.controls;b.aSlider.slider({orientation:"vertical",min:0,max:100,step:1,value:parseInt(100*a._color._alpha),slide:function(b,c){a._color._alpha=parseFloat(c.value/100),a._change.apply(a,arguments)}})}},_change:function(){this._super();var a=this,c=a.element;if(this.options.alpha){var d=a.controls,e=parseInt(100*a._color._alpha),f=a._color.toRgb(),g=["rgb("+f.r+","+f.g+","+f.b+") 0%","rgba("+f.r+","+f.g+","+f.b+", 0) 100%"],h=a.options.defaultWidth,i=a.options.customWidth,j=a.picker.closest(".wp-picker-container").find(".wp-color-result");d.aContainer.css({background:"linear-gradient(to bottom, "+g.join(", ")+"), url("+b+")"}),j.hasClass("wp-picker-open")&&(d.aSlider.slider("value",e),a._color._alpha<1?(d.strip.attr("style",d.strip.attr("style").replace(/rgba\(([0-9]+,)(\s+)?([0-9]+,)(\s+)?([0-9]+)(,(\s+)?[0-9\.]+)\)/g,"rgb($1$3$5)")),c.width(parseInt(h+i))):c.width(h))}var k=c.data("reset-alpha")||!1;k&&a.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){a._color._alpha=1,a.active="external",a._change()})},_addInputListeners:function(a){var b=this,c=100,d=function(c){var d=new Color(a.val()),e=a.val();a.removeClass("iris-error"),d.error?""!==e&&a.addClass("iris-error"):d.toString()!==b._color.toString()&&("keyup"===c.type&&e.match(/^[0-9a-fA-F]{3}$/)||b._setOption("color",d.toString()))};a.on("change",d).on("keyup",b._debounce(d,c)),b.options.hide&&a.on("focus",function(){b.show()})}})}}(jQuery),jQuery(document).ready(function(a){a(".color-picker").wpColorPicker()});
|
includes/vendor/cmb2/languages/cmb2-az.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-az.po
ADDED
@@ -0,0 +1,527 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: CMB2\n"
|
7 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
8 |
+
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
9 |
+
"PO-Revision-Date: 2016-06-27 17:01+0000\n"
|
10 |
+
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
11 |
+
"Language-Team: Azerbaijani (http://www.transifex.com/wp-translations/cmb2/language/az/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: az\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
18 |
+
"X-Poedit-Basepath: ../\n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
"X-Textdomain-Support: yes\n"
|
25 |
+
|
26 |
+
#: example-functions.php:117 tests/test-cmb-field.php:255
|
27 |
+
msgid "Test Metabox"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: example-functions.php:130 example-functions.php:436
|
31 |
+
msgid "Test Text"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: example-functions.php:131 example-functions.php:144
|
35 |
+
#: example-functions.php:157 example-functions.php:165
|
36 |
+
#: example-functions.php:173 example-functions.php:182
|
37 |
+
#: example-functions.php:190 example-functions.php:205
|
38 |
+
#: example-functions.php:213 example-functions.php:221
|
39 |
+
#: example-functions.php:238 example-functions.php:247
|
40 |
+
#: example-functions.php:260 example-functions.php:267
|
41 |
+
#: example-functions.php:274 example-functions.php:288
|
42 |
+
#: example-functions.php:301 example-functions.php:314
|
43 |
+
#: example-functions.php:326 example-functions.php:335
|
44 |
+
#: example-functions.php:343 example-functions.php:352
|
45 |
+
#: example-functions.php:359 example-functions.php:373
|
46 |
+
#: example-functions.php:437 example-functions.php:528
|
47 |
+
#: example-functions.php:536 example-functions.php:543
|
48 |
+
#: example-functions.php:550 example-functions.php:557
|
49 |
+
#: example-functions.php:564 example-functions.php:571
|
50 |
+
#: example-functions.php:598 example-functions.php:606
|
51 |
+
#: example-functions.php:613 example-functions.php:650
|
52 |
+
#: tests/test-cmb-field.php:267
|
53 |
+
msgid "field description (optional)"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: example-functions.php:143
|
57 |
+
msgid "Test Text Small"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: example-functions.php:156
|
61 |
+
msgid "Test Text Medium"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: example-functions.php:164
|
65 |
+
msgid "Custom Rendered Field"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: example-functions.php:172
|
69 |
+
msgid "Website URL"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: example-functions.php:181
|
73 |
+
msgid "Test Text Email"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: example-functions.php:189
|
77 |
+
msgid "Test Time"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: example-functions.php:197 example-functions.php:198
|
81 |
+
msgid "Time zone"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: example-functions.php:204
|
85 |
+
msgid "Test Date Picker"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: example-functions.php:212
|
89 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: example-functions.php:220
|
93 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: example-functions.php:237
|
97 |
+
msgid "Test Money"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: example-functions.php:246
|
101 |
+
msgid "Test Color Picker"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: example-functions.php:259
|
105 |
+
msgid "Test Text Area"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: example-functions.php:266
|
109 |
+
msgid "Test Text Area Small"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: example-functions.php:273
|
113 |
+
msgid "Test Text Area for Code"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: example-functions.php:280
|
117 |
+
msgid "Test Title Weeeee"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: example-functions.php:281
|
121 |
+
msgid "This is a title description"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: example-functions.php:287
|
125 |
+
msgid "Test Select"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: example-functions.php:293 example-functions.php:306
|
129 |
+
#: example-functions.php:318
|
130 |
+
msgid "Option One"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: example-functions.php:294 example-functions.php:307
|
134 |
+
#: example-functions.php:319
|
135 |
+
msgid "Option Two"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: example-functions.php:295 example-functions.php:308
|
139 |
+
#: example-functions.php:320
|
140 |
+
msgid "Option Three"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: example-functions.php:300
|
144 |
+
msgid "Test Radio inline"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: example-functions.php:313
|
148 |
+
msgid "Test Radio"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: example-functions.php:325
|
152 |
+
msgid "Test Taxonomy Radio"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: example-functions.php:334
|
156 |
+
msgid "Test Taxonomy Select"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: example-functions.php:342
|
160 |
+
msgid "Test Taxonomy Multi Checkbox"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: example-functions.php:351
|
164 |
+
msgid "Test Checkbox"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: example-functions.php:358 tests/test-cmb-field.php:266
|
168 |
+
msgid "Test Multi Checkbox"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: example-functions.php:364 tests/test-cmb-field.php:272
|
172 |
+
msgid "Check One"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: example-functions.php:365 tests/test-cmb-field.php:273
|
176 |
+
msgid "Check Two"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: example-functions.php:366 tests/test-cmb-field.php:274
|
180 |
+
msgid "Check Three"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: example-functions.php:372
|
184 |
+
msgid "Test wysiwyg"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: example-functions.php:380
|
188 |
+
msgid "Test Image"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: example-functions.php:381
|
192 |
+
msgid "Upload an image or enter a URL."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: example-functions.php:387
|
196 |
+
msgid "Multiple Files"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: example-functions.php:388
|
200 |
+
msgid "Upload or add multiple images/attachments."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: example-functions.php:395
|
204 |
+
msgid "oEmbed"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: example-functions.php:396
|
208 |
+
msgid ""
|
209 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
210 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: example-functions.php:427
|
214 |
+
msgid "About Page Metabox"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: example-functions.php:456
|
218 |
+
msgid "Repeating Field Group"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: example-functions.php:464
|
222 |
+
msgid "Generates reusable form entries"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: example-functions.php:466
|
226 |
+
msgid "Entry {#}"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: example-functions.php:467
|
230 |
+
msgid "Add Another Entry"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: example-functions.php:468
|
234 |
+
msgid "Remove Entry"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: example-functions.php:481
|
238 |
+
msgid "Entry Title"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: example-functions.php:488
|
242 |
+
msgid "Description"
|
243 |
+
msgstr "آنلاتما"
|
244 |
+
|
245 |
+
#: example-functions.php:489
|
246 |
+
msgid "Write a short description for this entry"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: example-functions.php:495
|
250 |
+
msgid "Entry Image"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: example-functions.php:501
|
254 |
+
msgid "Image Caption"
|
255 |
+
msgstr "Təsvir Altyazısı"
|
256 |
+
|
257 |
+
#: example-functions.php:520
|
258 |
+
msgid "User Profile Metabox"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: example-functions.php:527 example-functions.php:597
|
262 |
+
msgid "Extra Info"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: example-functions.php:535
|
266 |
+
msgid "Avatar"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: example-functions.php:542
|
270 |
+
msgid "Facebook URL"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: example-functions.php:549
|
274 |
+
msgid "Twitter URL"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: example-functions.php:556
|
278 |
+
msgid "Google+ URL"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: example-functions.php:563
|
282 |
+
msgid "Linkedin URL"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: example-functions.php:570
|
286 |
+
msgid "User Field"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: example-functions.php:590
|
290 |
+
msgid "Category Metabox"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: example-functions.php:605
|
294 |
+
msgid "Term Image"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: example-functions.php:612
|
298 |
+
msgid "Arbitrary Term Field"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: example-functions.php:634
|
302 |
+
msgid "Theme Options Metabox"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: example-functions.php:649
|
306 |
+
msgid "Site Background Color"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/CMB2.php:129
|
310 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/CMB2.php:418
|
314 |
+
msgid "Click to toggle"
|
315 |
+
msgstr "Açmaq/bağlamaq üçün tıklayın"
|
316 |
+
|
317 |
+
#: includes/CMB2_Ajax.php:71
|
318 |
+
msgid "Please Try Again"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
322 |
+
msgid "Remove Embed"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
326 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: includes/CMB2_Field.php:1186
|
330 |
+
msgid "Add Group"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: includes/CMB2_Field.php:1187
|
334 |
+
msgid "Remove Group"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
338 |
+
#: tests/test-cmb-field.php:229
|
339 |
+
msgid "None"
|
340 |
+
msgstr "هئچ بيري"
|
341 |
+
|
342 |
+
#: includes/CMB2_Field.php:1269
|
343 |
+
msgid "Sorry, this field does not have a cmb_id specified."
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
347 |
+
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
+
#: tests/test-cmb-types.php:701
|
349 |
+
msgid "File:"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
+
msgid "Clear"
|
354 |
+
msgstr "Təmizlə"
|
355 |
+
|
356 |
+
#: includes/CMB2_JS.php:87
|
357 |
+
msgid "Default"
|
358 |
+
msgstr "Mövcud"
|
359 |
+
|
360 |
+
#: includes/CMB2_JS.php:88
|
361 |
+
msgid "Select Color"
|
362 |
+
msgstr "Rəng seç"
|
363 |
+
|
364 |
+
#: includes/CMB2_JS.php:89
|
365 |
+
msgid "Current Color"
|
366 |
+
msgstr "Hazırkı rəng"
|
367 |
+
|
368 |
+
#: includes/CMB2_JS.php:110
|
369 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: includes/CMB2_JS.php:111
|
373 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/CMB2_JS.php:112
|
377 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/CMB2_JS.php:113
|
381 |
+
msgid ""
|
382 |
+
"January, February, March, April, May, June, July, August, September, "
|
383 |
+
"October, November, December"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/CMB2_JS.php:114
|
387 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/CMB2_JS.php:115
|
391 |
+
msgid "Next"
|
392 |
+
msgstr "ايلري"
|
393 |
+
|
394 |
+
#: includes/CMB2_JS.php:116
|
395 |
+
msgid "Prev"
|
396 |
+
msgstr "Öncəki"
|
397 |
+
|
398 |
+
#: includes/CMB2_JS.php:117
|
399 |
+
msgid "Today"
|
400 |
+
msgstr "Bu gün"
|
401 |
+
|
402 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
403 |
+
msgid "Done"
|
404 |
+
msgstr "Tamamdır"
|
405 |
+
|
406 |
+
#: includes/CMB2_JS.php:122
|
407 |
+
msgid "Choose Time"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/CMB2_JS.php:123
|
411 |
+
msgid "Time"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: includes/CMB2_JS.php:124
|
415 |
+
msgid "Hour"
|
416 |
+
msgstr "Saat"
|
417 |
+
|
418 |
+
#: includes/CMB2_JS.php:125
|
419 |
+
msgid "Minute"
|
420 |
+
msgstr "Dəqiqə"
|
421 |
+
|
422 |
+
#: includes/CMB2_JS.php:126
|
423 |
+
msgid "Second"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/CMB2_JS.php:127
|
427 |
+
msgid "Now"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/CMB2_JS.php:135
|
431 |
+
msgid "Use this file"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/CMB2_JS.php:136
|
435 |
+
msgid "Use these files"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
439 |
+
msgid "Remove Image"
|
440 |
+
msgstr "دورقون گؤرونتونو سیل"
|
441 |
+
|
442 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:257
|
443 |
+
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
444 |
+
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
445 |
+
#: tests/test-cmb-types.php:701
|
446 |
+
msgid "Remove"
|
447 |
+
msgstr "Sil"
|
448 |
+
|
449 |
+
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
+
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
+
msgid "Download"
|
452 |
+
msgstr "Endir"
|
453 |
+
|
454 |
+
#: includes/CMB2_JS.php:141
|
455 |
+
msgid "Select / Deselect All"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/CMB2_Types.php:194
|
459 |
+
msgid "Add Row"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/CMB2_hookup.php:145
|
463 |
+
msgid ""
|
464 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
465 |
+
"install."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: includes/CMB2_hookup.php:149
|
469 |
+
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: includes/helper-functions.php:93
|
473 |
+
msgid "No oEmbed Results Found for %s. View more info at %s"
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: includes/helper-functions.php:279
|
477 |
+
msgid "Save"
|
478 |
+
msgstr "ساخلا"
|
479 |
+
|
480 |
+
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
481 |
+
#: tests/test-cmb-types.php:701
|
482 |
+
msgid "Add or Upload File"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
486 |
+
#: tests/test-cmb-types.php:663
|
487 |
+
msgid "Add or Upload Files"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
491 |
+
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
492 |
+
msgid "No terms"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#. Plugin Name of the plugin/theme
|
496 |
+
msgid "CMB2"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#. Description of the plugin/theme
|
504 |
+
msgid ""
|
505 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
506 |
+
"mind."
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#. Author of the plugin/theme
|
510 |
+
msgid "WebDevStudios"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#. Author URI of the plugin/theme
|
514 |
+
msgid "http://webdevstudios.com"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: includes/CMB2_JS.php:109
|
518 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
519 |
+
msgid "mm/dd/yy"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/CMB2_JS.php:129
|
523 |
+
msgctxt ""
|
524 |
+
"Valid formatting string, as per "
|
525 |
+
"http://trentrichardson.com/examples/timepicker/"
|
526 |
+
msgid "hh:mm TT"
|
527 |
+
msgstr ""
|
includes/vendor/cmb2/languages/cmb2-be.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-be.po
ADDED
@@ -0,0 +1,527 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: CMB2\n"
|
7 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
8 |
+
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
9 |
+
"PO-Revision-Date: 2016-06-27 17:01+0000\n"
|
10 |
+
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
11 |
+
"Language-Team: Belarusian (http://www.transifex.com/wp-translations/cmb2/language/be/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: be\n"
|
16 |
+
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
17 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
18 |
+
"X-Poedit-Basepath: ../\n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
"X-Textdomain-Support: yes\n"
|
25 |
+
|
26 |
+
#: example-functions.php:117 tests/test-cmb-field.php:255
|
27 |
+
msgid "Test Metabox"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: example-functions.php:130 example-functions.php:436
|
31 |
+
msgid "Test Text"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: example-functions.php:131 example-functions.php:144
|
35 |
+
#: example-functions.php:157 example-functions.php:165
|
36 |
+
#: example-functions.php:173 example-functions.php:182
|
37 |
+
#: example-functions.php:190 example-functions.php:205
|
38 |
+
#: example-functions.php:213 example-functions.php:221
|
39 |
+
#: example-functions.php:238 example-functions.php:247
|
40 |
+
#: example-functions.php:260 example-functions.php:267
|
41 |
+
#: example-functions.php:274 example-functions.php:288
|
42 |
+
#: example-functions.php:301 example-functions.php:314
|
43 |
+
#: example-functions.php:326 example-functions.php:335
|
44 |
+
#: example-functions.php:343 example-functions.php:352
|
45 |
+
#: example-functions.php:359 example-functions.php:373
|
46 |
+
#: example-functions.php:437 example-functions.php:528
|
47 |
+
#: example-functions.php:536 example-functions.php:543
|
48 |
+
#: example-functions.php:550 example-functions.php:557
|
49 |
+
#: example-functions.php:564 example-functions.php:571
|
50 |
+
#: example-functions.php:598 example-functions.php:606
|
51 |
+
#: example-functions.php:613 example-functions.php:650
|
52 |
+
#: tests/test-cmb-field.php:267
|
53 |
+
msgid "field description (optional)"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: example-functions.php:143
|
57 |
+
msgid "Test Text Small"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: example-functions.php:156
|
61 |
+
msgid "Test Text Medium"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: example-functions.php:164
|
65 |
+
msgid "Custom Rendered Field"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: example-functions.php:172
|
69 |
+
msgid "Website URL"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: example-functions.php:181
|
73 |
+
msgid "Test Text Email"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: example-functions.php:189
|
77 |
+
msgid "Test Time"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: example-functions.php:197 example-functions.php:198
|
81 |
+
msgid "Time zone"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: example-functions.php:204
|
85 |
+
msgid "Test Date Picker"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: example-functions.php:212
|
89 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: example-functions.php:220
|
93 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: example-functions.php:237
|
97 |
+
msgid "Test Money"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: example-functions.php:246
|
101 |
+
msgid "Test Color Picker"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: example-functions.php:259
|
105 |
+
msgid "Test Text Area"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: example-functions.php:266
|
109 |
+
msgid "Test Text Area Small"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: example-functions.php:273
|
113 |
+
msgid "Test Text Area for Code"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: example-functions.php:280
|
117 |
+
msgid "Test Title Weeeee"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: example-functions.php:281
|
121 |
+
msgid "This is a title description"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: example-functions.php:287
|
125 |
+
msgid "Test Select"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: example-functions.php:293 example-functions.php:306
|
129 |
+
#: example-functions.php:318
|
130 |
+
msgid "Option One"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: example-functions.php:294 example-functions.php:307
|
134 |
+
#: example-functions.php:319
|
135 |
+
msgid "Option Two"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: example-functions.php:295 example-functions.php:308
|
139 |
+
#: example-functions.php:320
|
140 |
+
msgid "Option Three"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: example-functions.php:300
|
144 |
+
msgid "Test Radio inline"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: example-functions.php:313
|
148 |
+
msgid "Test Radio"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: example-functions.php:325
|
152 |
+
msgid "Test Taxonomy Radio"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: example-functions.php:334
|
156 |
+
msgid "Test Taxonomy Select"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: example-functions.php:342
|
160 |
+
msgid "Test Taxonomy Multi Checkbox"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: example-functions.php:351
|
164 |
+
msgid "Test Checkbox"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: example-functions.php:358 tests/test-cmb-field.php:266
|
168 |
+
msgid "Test Multi Checkbox"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: example-functions.php:364 tests/test-cmb-field.php:272
|
172 |
+
msgid "Check One"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: example-functions.php:365 tests/test-cmb-field.php:273
|
176 |
+
msgid "Check Two"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: example-functions.php:366 tests/test-cmb-field.php:274
|
180 |
+
msgid "Check Three"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: example-functions.php:372
|
184 |
+
msgid "Test wysiwyg"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: example-functions.php:380
|
188 |
+
msgid "Test Image"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: example-functions.php:381
|
192 |
+
msgid "Upload an image or enter a URL."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: example-functions.php:387
|
196 |
+
msgid "Multiple Files"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: example-functions.php:388
|
200 |
+
msgid "Upload or add multiple images/attachments."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: example-functions.php:395
|
204 |
+
msgid "oEmbed"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: example-functions.php:396
|
208 |
+
msgid ""
|
209 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
210 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: example-functions.php:427
|
214 |
+
msgid "About Page Metabox"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: example-functions.php:456
|
218 |
+
msgid "Repeating Field Group"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: example-functions.php:464
|
222 |
+
msgid "Generates reusable form entries"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: example-functions.php:466
|
226 |
+
msgid "Entry {#}"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: example-functions.php:467
|
230 |
+
msgid "Add Another Entry"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: example-functions.php:468
|
234 |
+
msgid "Remove Entry"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: example-functions.php:481
|
238 |
+
msgid "Entry Title"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: example-functions.php:488
|
242 |
+
msgid "Description"
|
243 |
+
msgstr "Апісанне"
|
244 |
+
|
245 |
+
#: example-functions.php:489
|
246 |
+
msgid "Write a short description for this entry"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: example-functions.php:495
|
250 |
+
msgid "Entry Image"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: example-functions.php:501
|
254 |
+
msgid "Image Caption"
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: example-functions.php:520
|
258 |
+
msgid "User Profile Metabox"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: example-functions.php:527 example-functions.php:597
|
262 |
+
msgid "Extra Info"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: example-functions.php:535
|
266 |
+
msgid "Avatar"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: example-functions.php:542
|
270 |
+
msgid "Facebook URL"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: example-functions.php:549
|
274 |
+
msgid "Twitter URL"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: example-functions.php:556
|
278 |
+
msgid "Google+ URL"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: example-functions.php:563
|
282 |
+
msgid "Linkedin URL"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: example-functions.php:570
|
286 |
+
msgid "User Field"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: example-functions.php:590
|
290 |
+
msgid "Category Metabox"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: example-functions.php:605
|
294 |
+
msgid "Term Image"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: example-functions.php:612
|
298 |
+
msgid "Arbitrary Term Field"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: example-functions.php:634
|
302 |
+
msgid "Theme Options Metabox"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: example-functions.php:649
|
306 |
+
msgid "Site Background Color"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/CMB2.php:129
|
310 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/CMB2.php:418
|
314 |
+
msgid "Click to toggle"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: includes/CMB2_Ajax.php:71
|
318 |
+
msgid "Please Try Again"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
322 |
+
msgid "Remove Embed"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
326 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: includes/CMB2_Field.php:1186
|
330 |
+
msgid "Add Group"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: includes/CMB2_Field.php:1187
|
334 |
+
msgid "Remove Group"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
338 |
+
#: tests/test-cmb-field.php:229
|
339 |
+
msgid "None"
|
340 |
+
msgstr "Няма"
|
341 |
+
|
342 |
+
#: includes/CMB2_Field.php:1269
|
343 |
+
msgid "Sorry, this field does not have a cmb_id specified."
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
347 |
+
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
+
#: tests/test-cmb-types.php:701
|
349 |
+
msgid "File:"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
+
msgid "Clear"
|
354 |
+
msgstr "Ачысціць"
|
355 |
+
|
356 |
+
#: includes/CMB2_JS.php:87
|
357 |
+
msgid "Default"
|
358 |
+
msgstr "Па змаўчанні"
|
359 |
+
|
360 |
+
#: includes/CMB2_JS.php:88
|
361 |
+
msgid "Select Color"
|
362 |
+
msgstr "Абраць колер"
|
363 |
+
|
364 |
+
#: includes/CMB2_JS.php:89
|
365 |
+
msgid "Current Color"
|
366 |
+
msgstr "Бягучы колер"
|
367 |
+
|
368 |
+
#: includes/CMB2_JS.php:110
|
369 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: includes/CMB2_JS.php:111
|
373 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/CMB2_JS.php:112
|
377 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/CMB2_JS.php:113
|
381 |
+
msgid ""
|
382 |
+
"January, February, March, April, May, June, July, August, September, "
|
383 |
+
"October, November, December"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/CMB2_JS.php:114
|
387 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/CMB2_JS.php:115
|
391 |
+
msgid "Next"
|
392 |
+
msgstr "Наступнае"
|
393 |
+
|
394 |
+
#: includes/CMB2_JS.php:116
|
395 |
+
msgid "Prev"
|
396 |
+
msgstr "Папярэдняе"
|
397 |
+
|
398 |
+
#: includes/CMB2_JS.php:117
|
399 |
+
msgid "Today"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
403 |
+
msgid "Done"
|
404 |
+
msgstr "Гатова"
|
405 |
+
|
406 |
+
#: includes/CMB2_JS.php:122
|
407 |
+
msgid "Choose Time"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/CMB2_JS.php:123
|
411 |
+
msgid "Time"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: includes/CMB2_JS.php:124
|
415 |
+
msgid "Hour"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: includes/CMB2_JS.php:125
|
419 |
+
msgid "Minute"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/CMB2_JS.php:126
|
423 |
+
msgid "Second"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/CMB2_JS.php:127
|
427 |
+
msgid "Now"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/CMB2_JS.php:135
|
431 |
+
msgid "Use this file"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/CMB2_JS.php:136
|
435 |
+
msgid "Use these files"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
439 |
+
msgid "Remove Image"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:257
|
443 |
+
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
444 |
+
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
445 |
+
#: tests/test-cmb-types.php:701
|
446 |
+
msgid "Remove"
|
447 |
+
msgstr "Выдаліць"
|
448 |
+
|
449 |
+
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
+
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
+
msgid "Download"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: includes/CMB2_JS.php:141
|
455 |
+
msgid "Select / Deselect All"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/CMB2_Types.php:194
|
459 |
+
msgid "Add Row"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/CMB2_hookup.php:145
|
463 |
+
msgid ""
|
464 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
465 |
+
"install."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: includes/CMB2_hookup.php:149
|
469 |
+
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: includes/helper-functions.php:93
|
473 |
+
msgid "No oEmbed Results Found for %s. View more info at %s"
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: includes/helper-functions.php:279
|
477 |
+
msgid "Save"
|
478 |
+
msgstr "Захаваць"
|
479 |
+
|
480 |
+
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
481 |
+
#: tests/test-cmb-types.php:701
|
482 |
+
msgid "Add or Upload File"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
486 |
+
#: tests/test-cmb-types.php:663
|
487 |
+
msgid "Add or Upload Files"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
491 |
+
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
492 |
+
msgid "No terms"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#. Plugin Name of the plugin/theme
|
496 |
+
msgid "CMB2"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#. Description of the plugin/theme
|
504 |
+
msgid ""
|
505 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
506 |
+
"mind."
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#. Author of the plugin/theme
|
510 |
+
msgid "WebDevStudios"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#. Author URI of the plugin/theme
|
514 |
+
msgid "http://webdevstudios.com"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: includes/CMB2_JS.php:109
|
518 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
519 |
+
msgid "mm/dd/yy"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/CMB2_JS.php:129
|
523 |
+
msgctxt ""
|
524 |
+
"Valid formatting string, as per "
|
525 |
+
"http://trentrichardson.com/examples/timepicker/"
|
526 |
+
msgid "hh:mm TT"
|
527 |
+
msgstr ""
|
includes/vendor/cmb2/languages/cmb2-bg.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-bg.po
ADDED
@@ -0,0 +1,485 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2015 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: CMB2\n"
|
7 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
8 |
+
"POT-Creation-Date: 2015-06-02 16:12:19+00:00\n"
|
9 |
+
"PO-Revision-Date: 2015-06-02 15:55+0000\n"
|
10 |
+
"Last-Translator: FxB <fxb@wp-translations.org>\n"
|
11 |
+
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/cmb2/language/bg/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: bg\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
18 |
+
"X-Poedit-Basepath: ../\n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
"X-Textdomain-Support: yes\n"
|
25 |
+
|
26 |
+
#: example-functions.php:82 tests/test-cmb-field.php:206
|
27 |
+
msgid "Test Metabox"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: example-functions.php:93 example-functions.php:380
|
31 |
+
msgid "Test Text"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: example-functions.php:94 example-functions.php:106
|
35 |
+
#: example-functions.php:114 example-functions.php:122
|
36 |
+
#: example-functions.php:131 example-functions.php:139
|
37 |
+
#: example-functions.php:153 example-functions.php:160
|
38 |
+
#: example-functions.php:168 example-functions.php:185
|
39 |
+
#: example-functions.php:194 example-functions.php:202
|
40 |
+
#: example-functions.php:209 example-functions.php:216
|
41 |
+
#: example-functions.php:230 example-functions.php:243
|
42 |
+
#: example-functions.php:256 example-functions.php:268
|
43 |
+
#: example-functions.php:277 example-functions.php:285
|
44 |
+
#: example-functions.php:294 example-functions.php:301
|
45 |
+
#: example-functions.php:315 example-functions.php:381
|
46 |
+
#: example-functions.php:475 example-functions.php:483
|
47 |
+
#: example-functions.php:490 example-functions.php:497
|
48 |
+
#: example-functions.php:504 example-functions.php:511
|
49 |
+
#: example-functions.php:518 example-functions.php:556
|
50 |
+
#: tests/test-cmb-field.php:218
|
51 |
+
msgid "field description (optional)"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: example-functions.php:105
|
55 |
+
msgid "Test Text Small"
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
+
#: example-functions.php:113
|
59 |
+
msgid "Test Text Medium"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: example-functions.php:121
|
63 |
+
msgid "Website URL"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: example-functions.php:130
|
67 |
+
msgid "Test Text Email"
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: example-functions.php:138
|
71 |
+
msgid "Test Time"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: example-functions.php:145 example-functions.php:146
|
75 |
+
msgid "Time zone"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: example-functions.php:152
|
79 |
+
msgid "Test Date Picker"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: example-functions.php:159
|
83 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: example-functions.php:167
|
87 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: example-functions.php:184
|
91 |
+
msgid "Test Money"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: example-functions.php:193
|
95 |
+
msgid "Test Color Picker"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: example-functions.php:201
|
99 |
+
msgid "Test Text Area"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: example-functions.php:208
|
103 |
+
msgid "Test Text Area Small"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: example-functions.php:215
|
107 |
+
msgid "Test Text Area for Code"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: example-functions.php:222
|
111 |
+
msgid "Test Title Weeeee"
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: example-functions.php:223
|
115 |
+
msgid "This is a title description"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: example-functions.php:229
|
119 |
+
msgid "Test Select"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: example-functions.php:235 example-functions.php:248
|
123 |
+
#: example-functions.php:260
|
124 |
+
msgid "Option One"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: example-functions.php:236 example-functions.php:249
|
128 |
+
#: example-functions.php:261
|
129 |
+
msgid "Option Two"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: example-functions.php:237 example-functions.php:250
|
133 |
+
#: example-functions.php:262
|
134 |
+
msgid "Option Three"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: example-functions.php:242
|
138 |
+
msgid "Test Radio inline"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: example-functions.php:255
|
142 |
+
msgid "Test Radio"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: example-functions.php:267
|
146 |
+
msgid "Test Taxonomy Radio"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: example-functions.php:276
|
150 |
+
msgid "Test Taxonomy Select"
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#: example-functions.php:284
|
154 |
+
msgid "Test Taxonomy Multi Checkbox"
|
155 |
+
msgstr ""
|
156 |
+
|
157 |
+
#: example-functions.php:293
|
158 |
+
msgid "Test Checkbox"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: example-functions.php:300 tests/test-cmb-field.php:217
|
162 |
+
msgid "Test Multi Checkbox"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: example-functions.php:306 tests/test-cmb-field.php:223
|
166 |
+
msgid "Check One"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: example-functions.php:307 tests/test-cmb-field.php:224
|
170 |
+
msgid "Check Two"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: example-functions.php:308 tests/test-cmb-field.php:225
|
174 |
+
msgid "Check Three"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: example-functions.php:314
|
178 |
+
msgid "Test wysiwyg"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: example-functions.php:322
|
182 |
+
msgid "Test Image"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: example-functions.php:323
|
186 |
+
msgid "Upload an image or enter a URL."
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: example-functions.php:329
|
190 |
+
msgid "Multiple Files"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: example-functions.php:330
|
194 |
+
msgid "Upload or add multiple images/attachments."
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: example-functions.php:337
|
198 |
+
msgid "oEmbed"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: example-functions.php:338
|
202 |
+
msgid ""
|
203 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
204 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: example-functions.php:371
|
208 |
+
msgid "About Page Metabox"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: example-functions.php:402
|
212 |
+
msgid "Repeating Field Group"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: example-functions.php:410
|
216 |
+
msgid "Generates reusable form entries"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: example-functions.php:412
|
220 |
+
msgid "Entry {#}"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: example-functions.php:413
|
224 |
+
msgid "Add Another Entry"
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: example-functions.php:414
|
228 |
+
msgid "Remove Entry"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: example-functions.php:426
|
232 |
+
msgid "Entry Title"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: example-functions.php:433
|
236 |
+
msgid "Description"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: example-functions.php:434
|
240 |
+
msgid "Write a short description for this entry"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: example-functions.php:440
|
244 |
+
msgid "Entry Image"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: example-functions.php:446
|
248 |
+
msgid "Image Caption"
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: example-functions.php:467
|
252 |
+
msgid "User Profile Metabox"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: example-functions.php:474
|
256 |
+
msgid "Extra Info"
|
257 |
+
msgstr ""
|
258 |
+
|
259 |
+
#: example-functions.php:482
|
260 |
+
msgid "Avatar"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: example-functions.php:489
|
264 |
+
msgid "Facebook URL"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: example-functions.php:496
|
268 |
+
msgid "Twitter URL"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: example-functions.php:503
|
272 |
+
msgid "Google+ URL"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: example-functions.php:510
|
276 |
+
msgid "Linkedin URL"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: example-functions.php:517
|
280 |
+
msgid "User Field"
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: example-functions.php:540
|
284 |
+
msgid "Theme Options Metabox"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: example-functions.php:555
|
288 |
+
msgid "Site Background Color"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: includes/CMB2.php:120
|
292 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: includes/CMB2.php:326
|
296 |
+
msgid "Click to toggle"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: includes/CMB2_Ajax.php:40
|
300 |
+
msgid "Please Try Again"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: includes/CMB2_Ajax.php:135 tests/test-cmb-types.php:786
|
304 |
+
msgid "Remove Embed"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: includes/CMB2_Ajax.php:139 tests/test-cmb-types.php:787
|
308 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: includes/CMB2_Field.php:891
|
312 |
+
msgid "Add Group"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: includes/CMB2_Field.php:892
|
316 |
+
msgid "Remove Group"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: includes/CMB2_Field.php:914 includes/CMB2_Field.php:918
|
320 |
+
#: tests/test-cmb-field.php:178
|
321 |
+
msgid "None"
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
325 |
+
msgid "Clear"
|
326 |
+
msgstr ""
|
327 |
+
|
328 |
+
#: includes/CMB2_JS.php:87
|
329 |
+
msgid "Default"
|
330 |
+
msgstr "По подразбиране"
|
331 |
+
|
332 |
+
#: includes/CMB2_JS.php:88
|
333 |
+
msgid "Select Color"
|
334 |
+
msgstr ""
|
335 |
+
|
336 |
+
#: includes/CMB2_JS.php:89
|
337 |
+
msgid "Current Color"
|
338 |
+
msgstr ""
|
339 |
+
|
340 |
+
#: includes/CMB2_JS.php:110
|
341 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
342 |
+
msgstr ""
|
343 |
+
|
344 |
+
#: includes/CMB2_JS.php:111
|
345 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
346 |
+
msgstr ""
|
347 |
+
|
348 |
+
#: includes/CMB2_JS.php:112
|
349 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/CMB2_JS.php:113
|
353 |
+
msgid ""
|
354 |
+
"January, February, March, April, May, June, July, August, September, "
|
355 |
+
"October, November, December"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: includes/CMB2_JS.php:114
|
359 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: includes/CMB2_JS.php:115
|
363 |
+
msgid "Next"
|
364 |
+
msgstr "Следваща"
|
365 |
+
|
366 |
+
#: includes/CMB2_JS.php:116
|
367 |
+
msgid "Prev"
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: includes/CMB2_JS.php:117
|
371 |
+
msgid "Today"
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
375 |
+
msgid "Done"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: includes/CMB2_JS.php:122
|
379 |
+
msgid "Choose Time"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: includes/CMB2_JS.php:123
|
383 |
+
msgid "Time"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/CMB2_JS.php:124
|
387 |
+
msgid "Hour"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/CMB2_JS.php:125
|
391 |
+
msgid "Minute"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: includes/CMB2_JS.php:126
|
395 |
+
msgid "Second"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: includes/CMB2_JS.php:127
|
399 |
+
msgid "Now"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: includes/CMB2_JS.php:135
|
403 |
+
msgid "Use this file"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: includes/CMB2_JS.php:136 includes/CMB2_Types.php:983
|
407 |
+
msgid "Remove Image"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/CMB2_JS.php:137 includes/CMB2_Types.php:356
|
411 |
+
#: includes/CMB2_Types.php:1002 tests/test-cmb-types.php:155
|
412 |
+
#: tests/test-cmb-types.php:163 tests/test-cmb-types.php:735
|
413 |
+
#: tests/test-cmb-types.php:760
|
414 |
+
msgid "Remove"
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:997
|
418 |
+
#: tests/test-cmb-types.php:736 tests/test-cmb-types.php:761
|
419 |
+
msgid "File:"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/CMB2_JS.php:139 includes/CMB2_Types.php:1000
|
423 |
+
#: tests/test-cmb-types.php:734 tests/test-cmb-types.php:759
|
424 |
+
msgid "Download"
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: includes/CMB2_JS.php:140
|
428 |
+
msgid "Select / Deselect All"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: includes/CMB2_Types.php:297
|
432 |
+
msgid "Add Row"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: includes/CMB2_Types.php:734 includes/CMB2_Types.php:782
|
436 |
+
msgid "No terms"
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: includes/CMB2_Types.php:847 tests/test-cmb-types.php:711
|
440 |
+
#: tests/test-cmb-types.php:737
|
441 |
+
msgid "Add or Upload Files"
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: includes/CMB2_Types.php:907 tests/test-cmb-types.php:747
|
445 |
+
#: tests/test-cmb-types.php:762
|
446 |
+
msgid "Add or Upload File"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
#: includes/helper-functions.php:249
|
450 |
+
msgid "Save"
|
451 |
+
msgstr ""
|
452 |
+
|
453 |
+
#. Plugin Name of the plugin/theme
|
454 |
+
msgid "CMB2"
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#. Plugin URI of the plugin/theme
|
458 |
+
msgid "https://github.com/CMB2/CMB2"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#. Description of the plugin/theme
|
462 |
+
msgid ""
|
463 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
464 |
+
"mind."
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#. Author of the plugin/theme
|
468 |
+
msgid "WebDevStudios"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#. Author URI of the plugin/theme
|
472 |
+
msgid "http://webdevstudios.com"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/CMB2_JS.php:109
|
476 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
477 |
+
msgid "mm/dd/yy"
|
478 |
+
msgstr ""
|
479 |
+
|
480 |
+
#: includes/CMB2_JS.php:129
|
481 |
+
msgctxt ""
|
482 |
+
"Valid formatting string, as per "
|
483 |
+
"http://trentrichardson.com/examples/timepicker/"
|
484 |
+
msgid "hh:mm TT"
|
485 |
+
msgstr ""
|
includes/vendor/cmb2/languages/cmb2-bg_BG.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-bg_BG.po
ADDED
@@ -0,0 +1,527 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: CMB2\n"
|
7 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
8 |
+
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
9 |
+
"PO-Revision-Date: 2016-06-27 17:01+0000\n"
|
10 |
+
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
11 |
+
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/wp-translations/cmb2/language/bg_BG/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: bg_BG\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
18 |
+
"X-Poedit-Basepath: ../\n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
"X-Textdomain-Support: yes\n"
|
25 |
+
|
26 |
+
#: example-functions.php:117 tests/test-cmb-field.php:255
|
27 |
+
msgid "Test Metabox"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: example-functions.php:130 example-functions.php:436
|
31 |
+
msgid "Test Text"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: example-functions.php:131 example-functions.php:144
|
35 |
+
#: example-functions.php:157 example-functions.php:165
|
36 |
+
#: example-functions.php:173 example-functions.php:182
|
37 |
+
#: example-functions.php:190 example-functions.php:205
|
38 |
+
#: example-functions.php:213 example-functions.php:221
|
39 |
+
#: example-functions.php:238 example-functions.php:247
|
40 |
+
#: example-functions.php:260 example-functions.php:267
|
41 |
+
#: example-functions.php:274 example-functions.php:288
|
42 |
+
#: example-functions.php:301 example-functions.php:314
|
43 |
+
#: example-functions.php:326 example-functions.php:335
|
44 |
+
#: example-functions.php:343 example-functions.php:352
|
45 |
+
#: example-functions.php:359 example-functions.php:373
|
46 |
+
#: example-functions.php:437 example-functions.php:528
|
47 |
+
#: example-functions.php:536 example-functions.php:543
|
48 |
+
#: example-functions.php:550 example-functions.php:557
|
49 |
+
#: example-functions.php:564 example-functions.php:571
|
50 |
+
#: example-functions.php:598 example-functions.php:606
|
51 |
+
#: example-functions.php:613 example-functions.php:650
|
52 |
+
#: tests/test-cmb-field.php:267
|
53 |
+
msgid "field description (optional)"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: example-functions.php:143
|
57 |
+
msgid "Test Text Small"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: example-functions.php:156
|
61 |
+
msgid "Test Text Medium"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: example-functions.php:164
|
65 |
+
msgid "Custom Rendered Field"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: example-functions.php:172
|
69 |
+
msgid "Website URL"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: example-functions.php:181
|
73 |
+
msgid "Test Text Email"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: example-functions.php:189
|
77 |
+
msgid "Test Time"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: example-functions.php:197 example-functions.php:198
|
81 |
+
msgid "Time zone"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: example-functions.php:204
|
85 |
+
msgid "Test Date Picker"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: example-functions.php:212
|
89 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: example-functions.php:220
|
93 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: example-functions.php:237
|
97 |
+
msgid "Test Money"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: example-functions.php:246
|
101 |
+
msgid "Test Color Picker"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: example-functions.php:259
|
105 |
+
msgid "Test Text Area"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: example-functions.php:266
|
109 |
+
msgid "Test Text Area Small"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: example-functions.php:273
|
113 |
+
msgid "Test Text Area for Code"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: example-functions.php:280
|
117 |
+
msgid "Test Title Weeeee"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: example-functions.php:281
|
121 |
+
msgid "This is a title description"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: example-functions.php:287
|
125 |
+
msgid "Test Select"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: example-functions.php:293 example-functions.php:306
|
129 |
+
#: example-functions.php:318
|
130 |
+
msgid "Option One"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: example-functions.php:294 example-functions.php:307
|
134 |
+
#: example-functions.php:319
|
135 |
+
msgid "Option Two"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: example-functions.php:295 example-functions.php:308
|
139 |
+
#: example-functions.php:320
|
140 |
+
msgid "Option Three"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: example-functions.php:300
|
144 |
+
msgid "Test Radio inline"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: example-functions.php:313
|
148 |
+
msgid "Test Radio"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: example-functions.php:325
|
152 |
+
msgid "Test Taxonomy Radio"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: example-functions.php:334
|
156 |
+
msgid "Test Taxonomy Select"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: example-functions.php:342
|
160 |
+
msgid "Test Taxonomy Multi Checkbox"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: example-functions.php:351
|
164 |
+
msgid "Test Checkbox"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: example-functions.php:358 tests/test-cmb-field.php:266
|
168 |
+
msgid "Test Multi Checkbox"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: example-functions.php:364 tests/test-cmb-field.php:272
|
172 |
+
msgid "Check One"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: example-functions.php:365 tests/test-cmb-field.php:273
|
176 |
+
msgid "Check Two"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: example-functions.php:366 tests/test-cmb-field.php:274
|
180 |
+
msgid "Check Three"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: example-functions.php:372
|
184 |
+
msgid "Test wysiwyg"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: example-functions.php:380
|
188 |
+
msgid "Test Image"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: example-functions.php:381
|
192 |
+
msgid "Upload an image or enter a URL."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: example-functions.php:387
|
196 |
+
msgid "Multiple Files"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: example-functions.php:388
|
200 |
+
msgid "Upload or add multiple images/attachments."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: example-functions.php:395
|
204 |
+
msgid "oEmbed"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: example-functions.php:396
|
208 |
+
msgid ""
|
209 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
210 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: example-functions.php:427
|
214 |
+
msgid "About Page Metabox"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: example-functions.php:456
|
218 |
+
msgid "Repeating Field Group"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: example-functions.php:464
|
222 |
+
msgid "Generates reusable form entries"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: example-functions.php:466
|
226 |
+
msgid "Entry {#}"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: example-functions.php:467
|
230 |
+
msgid "Add Another Entry"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: example-functions.php:468
|
234 |
+
msgid "Remove Entry"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: example-functions.php:481
|
238 |
+
msgid "Entry Title"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: example-functions.php:488
|
242 |
+
msgid "Description"
|
243 |
+
msgstr "Описание"
|
244 |
+
|
245 |
+
#: example-functions.php:489
|
246 |
+
msgid "Write a short description for this entry"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: example-functions.php:495
|
250 |
+
msgid "Entry Image"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: example-functions.php:501
|
254 |
+
msgid "Image Caption"
|
255 |
+
msgstr "Кратко описание"
|
256 |
+
|
257 |
+
#: example-functions.php:520
|
258 |
+
msgid "User Profile Metabox"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: example-functions.php:527 example-functions.php:597
|
262 |
+
msgid "Extra Info"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: example-functions.php:535
|
266 |
+
msgid "Avatar"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: example-functions.php:542
|
270 |
+
msgid "Facebook URL"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: example-functions.php:549
|
274 |
+
msgid "Twitter URL"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: example-functions.php:556
|
278 |
+
msgid "Google+ URL"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: example-functions.php:563
|
282 |
+
msgid "Linkedin URL"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: example-functions.php:570
|
286 |
+
msgid "User Field"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: example-functions.php:590
|
290 |
+
msgid "Category Metabox"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: example-functions.php:605
|
294 |
+
msgid "Term Image"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: example-functions.php:612
|
298 |
+
msgid "Arbitrary Term Field"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: example-functions.php:634
|
302 |
+
msgid "Theme Options Metabox"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: example-functions.php:649
|
306 |
+
msgid "Site Background Color"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/CMB2.php:129
|
310 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/CMB2.php:418
|
314 |
+
msgid "Click to toggle"
|
315 |
+
msgstr "Натиснете за промяна"
|
316 |
+
|
317 |
+
#: includes/CMB2_Ajax.php:71
|
318 |
+
msgid "Please Try Again"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
322 |
+
msgid "Remove Embed"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
326 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: includes/CMB2_Field.php:1186
|
330 |
+
msgid "Add Group"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: includes/CMB2_Field.php:1187
|
334 |
+
msgid "Remove Group"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
338 |
+
#: tests/test-cmb-field.php:229
|
339 |
+
msgid "None"
|
340 |
+
msgstr "Без"
|
341 |
+
|
342 |
+
#: includes/CMB2_Field.php:1269
|
343 |
+
msgid "Sorry, this field does not have a cmb_id specified."
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
347 |
+
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
+
#: tests/test-cmb-types.php:701
|
349 |
+
msgid "File:"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
+
msgid "Clear"
|
354 |
+
msgstr "Изчистване"
|
355 |
+
|
356 |
+
#: includes/CMB2_JS.php:87
|
357 |
+
msgid "Default"
|
358 |
+
msgstr "Основна"
|
359 |
+
|
360 |
+
#: includes/CMB2_JS.php:88
|
361 |
+
msgid "Select Color"
|
362 |
+
msgstr "Избор на цвят"
|
363 |
+
|
364 |
+
#: includes/CMB2_JS.php:89
|
365 |
+
msgid "Current Color"
|
366 |
+
msgstr "Текущ цвят"
|
367 |
+
|
368 |
+
#: includes/CMB2_JS.php:110
|
369 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: includes/CMB2_JS.php:111
|
373 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/CMB2_JS.php:112
|
377 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/CMB2_JS.php:113
|
381 |
+
msgid ""
|
382 |
+
"January, February, March, April, May, June, July, August, September, "
|
383 |
+
"October, November, December"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/CMB2_JS.php:114
|
387 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/CMB2_JS.php:115
|
391 |
+
msgid "Next"
|
392 |
+
msgstr "Следваща"
|
393 |
+
|
394 |
+
#: includes/CMB2_JS.php:116
|
395 |
+
msgid "Prev"
|
396 |
+
msgstr "Предишен"
|
397 |
+
|
398 |
+
#: includes/CMB2_JS.php:117
|
399 |
+
msgid "Today"
|
400 |
+
msgstr "Днес"
|
401 |
+
|
402 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
403 |
+
msgid "Done"
|
404 |
+
msgstr "Готово"
|
405 |
+
|
406 |
+
#: includes/CMB2_JS.php:122
|
407 |
+
msgid "Choose Time"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/CMB2_JS.php:123
|
411 |
+
msgid "Time"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: includes/CMB2_JS.php:124
|
415 |
+
msgid "Hour"
|
416 |
+
msgstr "Час"
|
417 |
+
|
418 |
+
#: includes/CMB2_JS.php:125
|
419 |
+
msgid "Minute"
|
420 |
+
msgstr "Минута"
|
421 |
+
|
422 |
+
#: includes/CMB2_JS.php:126
|
423 |
+
msgid "Second"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/CMB2_JS.php:127
|
427 |
+
msgid "Now"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/CMB2_JS.php:135
|
431 |
+
msgid "Use this file"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/CMB2_JS.php:136
|
435 |
+
msgid "Use these files"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
439 |
+
msgid "Remove Image"
|
440 |
+
msgstr "Премахване на изображението"
|
441 |
+
|
442 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:257
|
443 |
+
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
444 |
+
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
445 |
+
#: tests/test-cmb-types.php:701
|
446 |
+
msgid "Remove"
|
447 |
+
msgstr "Изтриване"
|
448 |
+
|
449 |
+
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
+
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
+
msgid "Download"
|
452 |
+
msgstr "Свали"
|
453 |
+
|
454 |
+
#: includes/CMB2_JS.php:141
|
455 |
+
msgid "Select / Deselect All"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/CMB2_Types.php:194
|
459 |
+
msgid "Add Row"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/CMB2_hookup.php:145
|
463 |
+
msgid ""
|
464 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
465 |
+
"install."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: includes/CMB2_hookup.php:149
|
469 |
+
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: includes/helper-functions.php:93
|
473 |
+
msgid "No oEmbed Results Found for %s. View more info at %s"
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: includes/helper-functions.php:279
|
477 |
+
msgid "Save"
|
478 |
+
msgstr "Запис"
|
479 |
+
|
480 |
+
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
481 |
+
#: tests/test-cmb-types.php:701
|
482 |
+
msgid "Add or Upload File"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
486 |
+
#: tests/test-cmb-types.php:663
|
487 |
+
msgid "Add or Upload Files"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
491 |
+
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
492 |
+
msgid "No terms"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#. Plugin Name of the plugin/theme
|
496 |
+
msgid "CMB2"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#. Description of the plugin/theme
|
504 |
+
msgid ""
|
505 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
506 |
+
"mind."
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#. Author of the plugin/theme
|
510 |
+
msgid "WebDevStudios"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#. Author URI of the plugin/theme
|
514 |
+
msgid "http://webdevstudios.com"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: includes/CMB2_JS.php:109
|
518 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
519 |
+
msgid "mm/dd/yy"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/CMB2_JS.php:129
|
523 |
+
msgctxt ""
|
524 |
+
"Valid formatting string, as per "
|
525 |
+
"http://trentrichardson.com/examples/timepicker/"
|
526 |
+
msgid "hh:mm TT"
|
527 |
+
msgstr ""
|
includes/vendor/cmb2/languages/cmb2-bn_BD.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-ca.mo
CHANGED
Binary file
|
includes/vendor/cmb2/languages/cmb2-ca.po
CHANGED
@@ -347,7 +347,7 @@ msgstr ""
|
|
347 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
#: tests/test-cmb-types.php:701
|
349 |
msgid "File:"
|
350 |
-
msgstr ""
|
351 |
|
352 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
msgid "Clear"
|
@@ -449,7 +449,7 @@ msgstr "Suprimeix"
|
|
449 |
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
msgid "Download"
|
452 |
-
msgstr ""
|
453 |
|
454 |
#: includes/CMB2_JS.php:141
|
455 |
msgid "Select / Deselect All"
|
@@ -457,7 +457,7 @@ msgstr ""
|
|
457 |
|
458 |
#: includes/CMB2_Types.php:194
|
459 |
msgid "Add Row"
|
460 |
-
msgstr ""
|
461 |
|
462 |
#: includes/CMB2_hookup.php:145
|
463 |
msgid ""
|
347 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
#: tests/test-cmb-types.php:701
|
349 |
msgid "File:"
|
350 |
+
msgstr "Arxiu:"
|
351 |
|
352 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
msgid "Clear"
|
449 |
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
msgid "Download"
|
452 |
+
msgstr "Descarregar"
|
453 |
|
454 |
#: includes/CMB2_JS.php:141
|
455 |
msgid "Select / Deselect All"
|
457 |
|
458 |
#: includes/CMB2_Types.php:194
|
459 |
msgid "Add Row"
|
460 |
+
msgstr "Afegeix fila"
|
461 |
|
462 |
#: includes/CMB2_hookup.php:145
|
463 |
msgid ""
|
includes/vendor/cmb2/languages/cmb2-es_CO.po
ADDED
@@ -0,0 +1,527 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: CMB2\n"
|
7 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
8 |
+
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
9 |
+
"PO-Revision-Date: 2016-06-27 17:01+0000\n"
|
10 |
+
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
11 |
+
"Language-Team: Spanish (Colombia) (http://www.transifex.com/wp-translations/cmb2/language/es_CO/)\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"Language: es_CO\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
18 |
+
"X-Poedit-Basepath: ../\n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
22 |
+
"X-Poedit-SearchPath-0: .\n"
|
23 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
+
"X-Textdomain-Support: yes\n"
|
25 |
+
|
26 |
+
#: example-functions.php:117 tests/test-cmb-field.php:255
|
27 |
+
msgid "Test Metabox"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: example-functions.php:130 example-functions.php:436
|
31 |
+
msgid "Test Text"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: example-functions.php:131 example-functions.php:144
|
35 |
+
#: example-functions.php:157 example-functions.php:165
|
36 |
+
#: example-functions.php:173 example-functions.php:182
|
37 |
+
#: example-functions.php:190 example-functions.php:205
|
38 |
+
#: example-functions.php:213 example-functions.php:221
|
39 |
+
#: example-functions.php:238 example-functions.php:247
|
40 |
+
#: example-functions.php:260 example-functions.php:267
|
41 |
+
#: example-functions.php:274 example-functions.php:288
|
42 |
+
#: example-functions.php:301 example-functions.php:314
|
43 |
+
#: example-functions.php:326 example-functions.php:335
|
44 |
+
#: example-functions.php:343 example-functions.php:352
|
45 |
+
#: example-functions.php:359 example-functions.php:373
|
46 |
+
#: example-functions.php:437 example-functions.php:528
|
47 |
+
#: example-functions.php:536 example-functions.php:543
|
48 |
+
#: example-functions.php:550 example-functions.php:557
|
49 |
+
#: example-functions.php:564 example-functions.php:571
|
50 |
+
#: example-functions.php:598 example-functions.php:606
|
51 |
+
#: example-functions.php:613 example-functions.php:650
|
52 |
+
#: tests/test-cmb-field.php:267
|
53 |
+
msgid "field description (optional)"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: example-functions.php:143
|
57 |
+
msgid "Test Text Small"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: example-functions.php:156
|
61 |
+
msgid "Test Text Medium"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: example-functions.php:164
|
65 |
+
msgid "Custom Rendered Field"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: example-functions.php:172
|
69 |
+
msgid "Website URL"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: example-functions.php:181
|
73 |
+
msgid "Test Text Email"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: example-functions.php:189
|
77 |
+
msgid "Test Time"
|
78 |
+
msgstr ""
|
79 |
+
|
80 |
+
#: example-functions.php:197 example-functions.php:198
|
81 |
+
msgid "Time zone"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
#: example-functions.php:204
|
85 |
+
msgid "Test Date Picker"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: example-functions.php:212
|
89 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: example-functions.php:220
|
93 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: example-functions.php:237
|
97 |
+
msgid "Test Money"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: example-functions.php:246
|
101 |
+
msgid "Test Color Picker"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: example-functions.php:259
|
105 |
+
msgid "Test Text Area"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: example-functions.php:266
|
109 |
+
msgid "Test Text Area Small"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: example-functions.php:273
|
113 |
+
msgid "Test Text Area for Code"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: example-functions.php:280
|
117 |
+
msgid "Test Title Weeeee"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: example-functions.php:281
|
121 |
+
msgid "This is a title description"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: example-functions.php:287
|
125 |
+
msgid "Test Select"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: example-functions.php:293 example-functions.php:306
|
129 |
+
#: example-functions.php:318
|
130 |
+
msgid "Option One"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: example-functions.php:294 example-functions.php:307
|
134 |
+
#: example-functions.php:319
|
135 |
+
msgid "Option Two"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: example-functions.php:295 example-functions.php:308
|
139 |
+
#: example-functions.php:320
|
140 |
+
msgid "Option Three"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: example-functions.php:300
|
144 |
+
msgid "Test Radio inline"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: example-functions.php:313
|
148 |
+
msgid "Test Radio"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: example-functions.php:325
|
152 |
+
msgid "Test Taxonomy Radio"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: example-functions.php:334
|
156 |
+
msgid "Test Taxonomy Select"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: example-functions.php:342
|
160 |
+
msgid "Test Taxonomy Multi Checkbox"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: example-functions.php:351
|
164 |
+
msgid "Test Checkbox"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: example-functions.php:358 tests/test-cmb-field.php:266
|
168 |
+
msgid "Test Multi Checkbox"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: example-functions.php:364 tests/test-cmb-field.php:272
|
172 |
+
msgid "Check One"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: example-functions.php:365 tests/test-cmb-field.php:273
|
176 |
+
msgid "Check Two"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: example-functions.php:366 tests/test-cmb-field.php:274
|
180 |
+
msgid "Check Three"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: example-functions.php:372
|
184 |
+
msgid "Test wysiwyg"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: example-functions.php:380
|
188 |
+
msgid "Test Image"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: example-functions.php:381
|
192 |
+
msgid "Upload an image or enter a URL."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: example-functions.php:387
|
196 |
+
msgid "Multiple Files"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: example-functions.php:388
|
200 |
+
msgid "Upload or add multiple images/attachments."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: example-functions.php:395
|
204 |
+
msgid "oEmbed"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: example-functions.php:396
|
208 |
+
msgid ""
|
209 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
210 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: example-functions.php:427
|
214 |
+
msgid "About Page Metabox"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: example-functions.php:456
|
218 |
+
msgid "Repeating Field Group"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: example-functions.php:464
|
222 |
+
msgid "Generates reusable form entries"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: example-functions.php:466
|
226 |
+
msgid "Entry {#}"
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: example-functions.php:467
|
230 |
+
msgid "Add Another Entry"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: example-functions.php:468
|
234 |
+
msgid "Remove Entry"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: example-functions.php:481
|
238 |
+
msgid "Entry Title"
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: example-functions.php:488
|
242 |
+
msgid "Description"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: example-functions.php:489
|
246 |
+
msgid "Write a short description for this entry"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: example-functions.php:495
|
250 |
+
msgid "Entry Image"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: example-functions.php:501
|
254 |
+
msgid "Image Caption"
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: example-functions.php:520
|
258 |
+
msgid "User Profile Metabox"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: example-functions.php:527 example-functions.php:597
|
262 |
+
msgid "Extra Info"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: example-functions.php:535
|
266 |
+
msgid "Avatar"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: example-functions.php:542
|
270 |
+
msgid "Facebook URL"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: example-functions.php:549
|
274 |
+
msgid "Twitter URL"
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: example-functions.php:556
|
278 |
+
msgid "Google+ URL"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: example-functions.php:563
|
282 |
+
msgid "Linkedin URL"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: example-functions.php:570
|
286 |
+
msgid "User Field"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: example-functions.php:590
|
290 |
+
msgid "Category Metabox"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: example-functions.php:605
|
294 |
+
msgid "Term Image"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: example-functions.php:612
|
298 |
+
msgid "Arbitrary Term Field"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: example-functions.php:634
|
302 |
+
msgid "Theme Options Metabox"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: example-functions.php:649
|
306 |
+
msgid "Site Background Color"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/CMB2.php:129
|
310 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/CMB2.php:418
|
314 |
+
msgid "Click to toggle"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: includes/CMB2_Ajax.php:71
|
318 |
+
msgid "Please Try Again"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
322 |
+
msgid "Remove Embed"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
326 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: includes/CMB2_Field.php:1186
|
330 |
+
msgid "Add Group"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: includes/CMB2_Field.php:1187
|
334 |
+
msgid "Remove Group"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
338 |
+
#: tests/test-cmb-field.php:229
|
339 |
+
msgid "None"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: includes/CMB2_Field.php:1269
|
343 |
+
msgid "Sorry, this field does not have a cmb_id specified."
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
347 |
+
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
+
#: tests/test-cmb-types.php:701
|
349 |
+
msgid "File:"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
+
msgid "Clear"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: includes/CMB2_JS.php:87
|
357 |
+
msgid "Default"
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: includes/CMB2_JS.php:88
|
361 |
+
msgid "Select Color"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: includes/CMB2_JS.php:89
|
365 |
+
msgid "Current Color"
|
366 |
+
msgstr ""
|
367 |
+
|
368 |
+
#: includes/CMB2_JS.php:110
|
369 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
370 |
+
msgstr ""
|
371 |
+
|
372 |
+
#: includes/CMB2_JS.php:111
|
373 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/CMB2_JS.php:112
|
377 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/CMB2_JS.php:113
|
381 |
+
msgid ""
|
382 |
+
"January, February, March, April, May, June, July, August, September, "
|
383 |
+
"October, November, December"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/CMB2_JS.php:114
|
387 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/CMB2_JS.php:115
|
391 |
+
msgid "Next"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: includes/CMB2_JS.php:116
|
395 |
+
msgid "Prev"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: includes/CMB2_JS.php:117
|
399 |
+
msgid "Today"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
403 |
+
msgid "Done"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: includes/CMB2_JS.php:122
|
407 |
+
msgid "Choose Time"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/CMB2_JS.php:123
|
411 |
+
msgid "Time"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: includes/CMB2_JS.php:124
|
415 |
+
msgid "Hour"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: includes/CMB2_JS.php:125
|
419 |
+
msgid "Minute"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/CMB2_JS.php:126
|
423 |
+
msgid "Second"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/CMB2_JS.php:127
|
427 |
+
msgid "Now"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/CMB2_JS.php:135
|
431 |
+
msgid "Use this file"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/CMB2_JS.php:136
|
435 |
+
msgid "Use these files"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
439 |
+
msgid "Remove Image"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:257
|
443 |
+
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
444 |
+
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
445 |
+
#: tests/test-cmb-types.php:701
|
446 |
+
msgid "Remove"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
+
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
+
msgid "Download"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: includes/CMB2_JS.php:141
|
455 |
+
msgid "Select / Deselect All"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/CMB2_Types.php:194
|
459 |
+
msgid "Add Row"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/CMB2_hookup.php:145
|
463 |
+
msgid ""
|
464 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
465 |
+
"install."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: includes/CMB2_hookup.php:149
|
469 |
+
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: includes/helper-functions.php:93
|
473 |
+
msgid "No oEmbed Results Found for %s. View more info at %s"
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: includes/helper-functions.php:279
|
477 |
+
msgid "Save"
|
478 |
+
msgstr ""
|
479 |
+
|
480 |
+
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
481 |
+
#: tests/test-cmb-types.php:701
|
482 |
+
msgid "Add or Upload File"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
486 |
+
#: tests/test-cmb-types.php:663
|
487 |
+
msgid "Add or Upload Files"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
491 |
+
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
492 |
+
msgid "No terms"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#. Plugin Name of the plugin/theme
|
496 |
+
msgid "CMB2"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#. Description of the plugin/theme
|
504 |
+
msgid ""
|
505 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
506 |
+
"mind."
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#. Author of the plugin/theme
|
510 |
+
msgid "WebDevStudios"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#. Author URI of the plugin/theme
|
514 |
+
msgid "http://webdevstudios.com"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: includes/CMB2_JS.php:109
|
518 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
519 |
+
msgid "mm/dd/yy"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/CMB2_JS.php:129
|
523 |
+
msgctxt ""
|
524 |
+
"Valid formatting string, as per "
|
525 |
+
"http://trentrichardson.com/examples/timepicker/"
|
526 |
+
msgid "hh:mm TT"
|
527 |
+
msgstr ""
|
includes/vendor/cmb2/languages/cmb2-es_ES.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-es_ES.po
ADDED
@@ -0,0 +1,530 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2016 WebDevStudios
|
2 |
+
# This file is distributed under the same license as the CMB2 package.
|
3 |
+
# Translators:
|
4 |
+
# JSLirola, 2015
|
5 |
+
# Juan Javier M Restituto <jjmrestituto@gmail.com>, 2015
|
6 |
+
# Justin Sternberg <me@jtsternberg.com>, 2014
|
7 |
+
msgid ""
|
8 |
+
msgstr ""
|
9 |
+
"Project-Id-Version: CMB2\n"
|
10 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
11 |
+
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
12 |
+
"PO-Revision-Date: 2016-07-25 17:16+0000\n"
|
13 |
+
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
14 |
+
"Language-Team: Spanish (Spain) (http://www.transifex.com/wp-translations/cmb2/language/es_ES/)\n"
|
15 |
+
"MIME-Version: 1.0\n"
|
16 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17 |
+
"Content-Transfer-Encoding: 8bit\n"
|
18 |
+
"Language: es_ES\n"
|
19 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
+
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
21 |
+
"X-Poedit-Basepath: ../\n"
|
22 |
+
"X-Poedit-Bookmarks: \n"
|
23 |
+
"X-Poedit-Country: United States\n"
|
24 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
25 |
+
"X-Poedit-SearchPath-0: .\n"
|
26 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
27 |
+
"X-Textdomain-Support: yes\n"
|
28 |
+
|
29 |
+
#: example-functions.php:117 tests/test-cmb-field.php:255
|
30 |
+
msgid "Test Metabox"
|
31 |
+
msgstr "Prueba Metabox"
|
32 |
+
|
33 |
+
#: example-functions.php:130 example-functions.php:436
|
34 |
+
msgid "Test Text"
|
35 |
+
msgstr "Texto de prueba"
|
36 |
+
|
37 |
+
#: example-functions.php:131 example-functions.php:144
|
38 |
+
#: example-functions.php:157 example-functions.php:165
|
39 |
+
#: example-functions.php:173 example-functions.php:182
|
40 |
+
#: example-functions.php:190 example-functions.php:205
|
41 |
+
#: example-functions.php:213 example-functions.php:221
|
42 |
+
#: example-functions.php:238 example-functions.php:247
|
43 |
+
#: example-functions.php:260 example-functions.php:267
|
44 |
+
#: example-functions.php:274 example-functions.php:288
|
45 |
+
#: example-functions.php:301 example-functions.php:314
|
46 |
+
#: example-functions.php:326 example-functions.php:335
|
47 |
+
#: example-functions.php:343 example-functions.php:352
|
48 |
+
#: example-functions.php:359 example-functions.php:373
|
49 |
+
#: example-functions.php:437 example-functions.php:528
|
50 |
+
#: example-functions.php:536 example-functions.php:543
|
51 |
+
#: example-functions.php:550 example-functions.php:557
|
52 |
+
#: example-functions.php:564 example-functions.php:571
|
53 |
+
#: example-functions.php:598 example-functions.php:606
|
54 |
+
#: example-functions.php:613 example-functions.php:650
|
55 |
+
#: tests/test-cmb-field.php:267
|
56 |
+
msgid "field description (optional)"
|
57 |
+
msgstr "campo de descripción (opcional)"
|
58 |
+
|
59 |
+
#: example-functions.php:143
|
60 |
+
msgid "Test Text Small"
|
61 |
+
msgstr "Test Texto Pequeño"
|
62 |
+
|
63 |
+
#: example-functions.php:156
|
64 |
+
msgid "Test Text Medium"
|
65 |
+
msgstr "Prueba de texto mediano"
|
66 |
+
|
67 |
+
#: example-functions.php:164
|
68 |
+
msgid "Custom Rendered Field"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: example-functions.php:172
|
72 |
+
msgid "Website URL"
|
73 |
+
msgstr "URL del sitio web"
|
74 |
+
|
75 |
+
#: example-functions.php:181
|
76 |
+
msgid "Test Text Email"
|
77 |
+
msgstr "Prueba de texto Enviar"
|
78 |
+
|
79 |
+
#: example-functions.php:189
|
80 |
+
msgid "Test Time"
|
81 |
+
msgstr "El tiempo de prueba"
|
82 |
+
|
83 |
+
#: example-functions.php:197 example-functions.php:198
|
84 |
+
msgid "Time zone"
|
85 |
+
msgstr "Zona horaria"
|
86 |
+
|
87 |
+
#: example-functions.php:204
|
88 |
+
msgid "Test Date Picker"
|
89 |
+
msgstr "Prueba Selector de fecha"
|
90 |
+
|
91 |
+
#: example-functions.php:212
|
92 |
+
msgid "Test Date Picker (UNIX timestamp)"
|
93 |
+
msgstr "Prueba Selector de fecha (UNIX timestamp)"
|
94 |
+
|
95 |
+
#: example-functions.php:220
|
96 |
+
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
97 |
+
msgstr "Fecha de Prueba / Hora Picker Combo (UNIX timestamp)"
|
98 |
+
|
99 |
+
#: example-functions.php:237
|
100 |
+
msgid "Test Money"
|
101 |
+
msgstr "Prueba de dinero"
|
102 |
+
|
103 |
+
#: example-functions.php:246
|
104 |
+
msgid "Test Color Picker"
|
105 |
+
msgstr "Selector de color de prueba"
|
106 |
+
|
107 |
+
#: example-functions.php:259
|
108 |
+
msgid "Test Text Area"
|
109 |
+
msgstr "Área de texto de prueba"
|
110 |
+
|
111 |
+
#: example-functions.php:266
|
112 |
+
msgid "Test Text Area Small"
|
113 |
+
msgstr "Prueba de Texto Área Pequeño"
|
114 |
+
|
115 |
+
#: example-functions.php:273
|
116 |
+
msgid "Test Text Area for Code"
|
117 |
+
msgstr "Área de texto de prueba para el código"
|
118 |
+
|
119 |
+
#: example-functions.php:280
|
120 |
+
msgid "Test Title Weeeee"
|
121 |
+
msgstr "Test Título Weeeee"
|
122 |
+
|
123 |
+
#: example-functions.php:281
|
124 |
+
msgid "This is a title description"
|
125 |
+
msgstr "Esta es una descripción del título"
|
126 |
+
|
127 |
+
#: example-functions.php:287
|
128 |
+
msgid "Test Select"
|
129 |
+
msgstr "Test Seleccione"
|
130 |
+
|
131 |
+
#: example-functions.php:293 example-functions.php:306
|
132 |
+
#: example-functions.php:318
|
133 |
+
msgid "Option One"
|
134 |
+
msgstr "Una Opción"
|
135 |
+
|
136 |
+
#: example-functions.php:294 example-functions.php:307
|
137 |
+
#: example-functions.php:319
|
138 |
+
msgid "Option Two"
|
139 |
+
msgstr "Opción dos"
|
140 |
+
|
141 |
+
#: example-functions.php:295 example-functions.php:308
|
142 |
+
#: example-functions.php:320
|
143 |
+
msgid "Option Three"
|
144 |
+
msgstr "Opción Tres"
|
145 |
+
|
146 |
+
#: example-functions.php:300
|
147 |
+
msgid "Test Radio inline"
|
148 |
+
msgstr "Radio de prueba en línea"
|
149 |
+
|
150 |
+
#: example-functions.php:313
|
151 |
+
msgid "Test Radio"
|
152 |
+
msgstr "Prueba de Radio"
|
153 |
+
|
154 |
+
#: example-functions.php:325
|
155 |
+
msgid "Test Taxonomy Radio"
|
156 |
+
msgstr "Prueba de Taxonomía de Radio"
|
157 |
+
|
158 |
+
#: example-functions.php:334
|
159 |
+
msgid "Test Taxonomy Select"
|
160 |
+
msgstr "Prueba fields Seleccionar"
|
161 |
+
|
162 |
+
#: example-functions.php:342
|
163 |
+
msgid "Test Taxonomy Multi Checkbox"
|
164 |
+
msgstr "Prueba Taxonomía Multi Casilla de verificación"
|
165 |
+
|
166 |
+
#: example-functions.php:351
|
167 |
+
msgid "Test Checkbox"
|
168 |
+
msgstr "Prueba de Casilla de verificación"
|
169 |
+
|
170 |
+
#: example-functions.php:358 tests/test-cmb-field.php:266
|
171 |
+
msgid "Test Multi Checkbox"
|
172 |
+
msgstr "Test Multi Casilla de verificación"
|
173 |
+
|
174 |
+
#: example-functions.php:364 tests/test-cmb-field.php:272
|
175 |
+
msgid "Check One"
|
176 |
+
msgstr "Marque una"
|
177 |
+
|
178 |
+
#: example-functions.php:365 tests/test-cmb-field.php:273
|
179 |
+
msgid "Check Two"
|
180 |
+
msgstr "Comprobar Dos"
|
181 |
+
|
182 |
+
#: example-functions.php:366 tests/test-cmb-field.php:274
|
183 |
+
msgid "Check Three"
|
184 |
+
msgstr "Comprobar Tres"
|
185 |
+
|
186 |
+
#: example-functions.php:372
|
187 |
+
msgid "Test wysiwyg"
|
188 |
+
msgstr "wysiwyg Test"
|
189 |
+
|
190 |
+
#: example-functions.php:380
|
191 |
+
msgid "Test Image"
|
192 |
+
msgstr "Prueba de imagen"
|
193 |
+
|
194 |
+
#: example-functions.php:381
|
195 |
+
msgid "Upload an image or enter a URL."
|
196 |
+
msgstr "Cargar una imagen o introducir una URL."
|
197 |
+
|
198 |
+
#: example-functions.php:387
|
199 |
+
msgid "Multiple Files"
|
200 |
+
msgstr "varios archivos"
|
201 |
+
|
202 |
+
#: example-functions.php:388
|
203 |
+
msgid "Upload or add multiple images/attachments."
|
204 |
+
msgstr "Subir o añadir varias imágenes / archivos adjuntos."
|
205 |
+
|
206 |
+
#: example-functions.php:395
|
207 |
+
msgid "oEmbed"
|
208 |
+
msgstr "oEmbed"
|
209 |
+
|
210 |
+
#: example-functions.php:396
|
211 |
+
msgid ""
|
212 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
213 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
214 |
+
msgstr "Introduzca un YouTube, Twitter, Instagram o URL. Es compatible con los servicios enumerados en el <a href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/Embeds</a>."
|
215 |
+
|
216 |
+
#: example-functions.php:427
|
217 |
+
msgid "About Page Metabox"
|
218 |
+
msgstr "Acerca de Página Metabox"
|
219 |
+
|
220 |
+
#: example-functions.php:456
|
221 |
+
msgid "Repeating Field Group"
|
222 |
+
msgstr "Repetir Grupo Campo"
|
223 |
+
|
224 |
+
#: example-functions.php:464
|
225 |
+
msgid "Generates reusable form entries"
|
226 |
+
msgstr "Genera entradas de formulario reutilizables"
|
227 |
+
|
228 |
+
#: example-functions.php:466
|
229 |
+
msgid "Entry {#}"
|
230 |
+
msgstr "Entrada {#}"
|
231 |
+
|
232 |
+
#: example-functions.php:467
|
233 |
+
msgid "Add Another Entry"
|
234 |
+
msgstr "Añadir otra entrada"
|
235 |
+
|
236 |
+
#: example-functions.php:468
|
237 |
+
msgid "Remove Entry"
|
238 |
+
msgstr "Eliminar entrada"
|
239 |
+
|
240 |
+
#: example-functions.php:481
|
241 |
+
msgid "Entry Title"
|
242 |
+
msgstr "Título de la entrada"
|
243 |
+
|
244 |
+
#: example-functions.php:488
|
245 |
+
msgid "Description"
|
246 |
+
msgstr "Descripción"
|
247 |
+
|
248 |
+
#: example-functions.php:489
|
249 |
+
msgid "Write a short description for this entry"
|
250 |
+
msgstr "Escriba una descripción corta para esta entrada"
|
251 |
+
|
252 |
+
#: example-functions.php:495
|
253 |
+
msgid "Entry Image"
|
254 |
+
msgstr "Imagen de la entrada"
|
255 |
+
|
256 |
+
#: example-functions.php:501
|
257 |
+
msgid "Image Caption"
|
258 |
+
msgstr "Leyenda de la imagen"
|
259 |
+
|
260 |
+
#: example-functions.php:520
|
261 |
+
msgid "User Profile Metabox"
|
262 |
+
msgstr "Perfil de Usuario Metabox"
|
263 |
+
|
264 |
+
#: example-functions.php:527 example-functions.php:597
|
265 |
+
msgid "Extra Info"
|
266 |
+
msgstr "Perfil de Usuario Metabox"
|
267 |
+
|
268 |
+
#: example-functions.php:535
|
269 |
+
msgid "Avatar"
|
270 |
+
msgstr "Avatar"
|
271 |
+
|
272 |
+
#: example-functions.php:542
|
273 |
+
msgid "Facebook URL"
|
274 |
+
msgstr "URL de Facebook"
|
275 |
+
|
276 |
+
#: example-functions.php:549
|
277 |
+
msgid "Twitter URL"
|
278 |
+
msgstr "URL de Twitter"
|
279 |
+
|
280 |
+
#: example-functions.php:556
|
281 |
+
msgid "Google+ URL"
|
282 |
+
msgstr "Google+ URL"
|
283 |
+
|
284 |
+
#: example-functions.php:563
|
285 |
+
msgid "Linkedin URL"
|
286 |
+
msgstr "Linkedin URL"
|
287 |
+
|
288 |
+
#: example-functions.php:570
|
289 |
+
msgid "User Field"
|
290 |
+
msgstr "El campo de usuario"
|
291 |
+
|
292 |
+
#: example-functions.php:590
|
293 |
+
msgid "Category Metabox"
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: example-functions.php:605
|
297 |
+
msgid "Term Image"
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: example-functions.php:612
|
301 |
+
msgid "Arbitrary Term Field"
|
302 |
+
msgstr ""
|
303 |
+
|
304 |
+
#: example-functions.php:634
|
305 |
+
msgid "Theme Options Metabox"
|
306 |
+
msgstr "Tema Opciones Metabox"
|
307 |
+
|
308 |
+
#: example-functions.php:649
|
309 |
+
msgid "Site Background Color"
|
310 |
+
msgstr "Antecedentes del sitio de color"
|
311 |
+
|
312 |
+
#: includes/CMB2.php:129
|
313 |
+
msgid "Metabox configuration is required to have an ID parameter"
|
314 |
+
msgstr "Se requiere de configuración Metabox tener un parámetro de identificación"
|
315 |
+
|
316 |
+
#: includes/CMB2.php:418
|
317 |
+
msgid "Click to toggle"
|
318 |
+
msgstr "Haga clic para alternar"
|
319 |
+
|
320 |
+
#: includes/CMB2_Ajax.php:71
|
321 |
+
msgid "Please Try Again"
|
322 |
+
msgstr "Vuelva a intentarlo"
|
323 |
+
|
324 |
+
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
325 |
+
msgid "Remove Embed"
|
326 |
+
msgstr "Eliminar Insertar"
|
327 |
+
|
328 |
+
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
329 |
+
msgid "No oEmbed Results Found for %s. View more info at"
|
330 |
+
msgstr "No oEmbed resultados encontrados por% s. Ver más información en "
|
331 |
+
|
332 |
+
#: includes/CMB2_Field.php:1186
|
333 |
+
msgid "Add Group"
|
334 |
+
msgstr "Agregar grupo"
|
335 |
+
|
336 |
+
#: includes/CMB2_Field.php:1187
|
337 |
+
msgid "Remove Group"
|
338 |
+
msgstr "Eliminar grupo"
|
339 |
+
|
340 |
+
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
341 |
+
#: tests/test-cmb-field.php:229
|
342 |
+
msgid "None"
|
343 |
+
msgstr "Ninguno"
|
344 |
+
|
345 |
+
#: includes/CMB2_Field.php:1269
|
346 |
+
msgid "Sorry, this field does not have a cmb_id specified."
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
350 |
+
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
351 |
+
#: tests/test-cmb-types.php:701
|
352 |
+
msgid "File:"
|
353 |
+
msgstr "Archivo:"
|
354 |
+
|
355 |
+
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
356 |
+
msgid "Clear"
|
357 |
+
msgstr "Borrar"
|
358 |
+
|
359 |
+
#: includes/CMB2_JS.php:87
|
360 |
+
msgid "Default"
|
361 |
+
msgstr "Por defecto"
|
362 |
+
|
363 |
+
#: includes/CMB2_JS.php:88
|
364 |
+
msgid "Select Color"
|
365 |
+
msgstr "Seleccionar color"
|
366 |
+
|
367 |
+
#: includes/CMB2_JS.php:89
|
368 |
+
msgid "Current Color"
|
369 |
+
msgstr "Seleccionar color"
|
370 |
+
|
371 |
+
#: includes/CMB2_JS.php:110
|
372 |
+
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
373 |
+
msgstr "El domingo, lunes, martes, miércoles, jueves, viernes, sábado"
|
374 |
+
|
375 |
+
#: includes/CMB2_JS.php:111
|
376 |
+
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
377 |
+
msgstr "Do, Lu, Ma, Mi, Ju, Vi, Sa"
|
378 |
+
|
379 |
+
#: includes/CMB2_JS.php:112
|
380 |
+
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
381 |
+
msgstr "Sun, L, M, X, J, V, S"
|
382 |
+
|
383 |
+
#: includes/CMB2_JS.php:113
|
384 |
+
msgid ""
|
385 |
+
"January, February, March, April, May, June, July, August, September, "
|
386 |
+
"October, November, December"
|
387 |
+
msgstr "Enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, Octubre, Noviembre, Diciembre"
|
388 |
+
|
389 |
+
#: includes/CMB2_JS.php:114
|
390 |
+
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
391 |
+
msgstr "Enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre"
|
392 |
+
|
393 |
+
#: includes/CMB2_JS.php:115
|
394 |
+
msgid "Next"
|
395 |
+
msgstr "Siguiente"
|
396 |
+
|
397 |
+
#: includes/CMB2_JS.php:116
|
398 |
+
msgid "Prev"
|
399 |
+
msgstr "Anterior"
|
400 |
+
|
401 |
+
#: includes/CMB2_JS.php:117
|
402 |
+
msgid "Today"
|
403 |
+
msgstr "Hoy"
|
404 |
+
|
405 |
+
#: includes/CMB2_JS.php:118 includes/CMB2_JS.php:128
|
406 |
+
msgid "Done"
|
407 |
+
msgstr "Hecho"
|
408 |
+
|
409 |
+
#: includes/CMB2_JS.php:122
|
410 |
+
msgid "Choose Time"
|
411 |
+
msgstr "Elegir Hora"
|
412 |
+
|
413 |
+
#: includes/CMB2_JS.php:123
|
414 |
+
msgid "Time"
|
415 |
+
msgstr "Hora"
|
416 |
+
|
417 |
+
#: includes/CMB2_JS.php:124
|
418 |
+
msgid "Hour"
|
419 |
+
msgstr "Hora"
|
420 |
+
|
421 |
+
#: includes/CMB2_JS.php:125
|
422 |
+
msgid "Minute"
|
423 |
+
msgstr "Minuto"
|
424 |
+
|
425 |
+
#: includes/CMB2_JS.php:126
|
426 |
+
msgid "Second"
|
427 |
+
msgstr "Segundos"
|
428 |
+
|
429 |
+
#: includes/CMB2_JS.php:127
|
430 |
+
msgid "Now"
|
431 |
+
msgstr "Ahora"
|
432 |
+
|
433 |
+
#: includes/CMB2_JS.php:135
|
434 |
+
msgid "Use this file"
|
435 |
+
msgstr "Usar este archivo"
|
436 |
+
|
437 |
+
#: includes/CMB2_JS.php:136
|
438 |
+
msgid "Use these files"
|
439 |
+
msgstr "Usar estos archivos"
|
440 |
+
|
441 |
+
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
442 |
+
msgid "Remove Image"
|
443 |
+
msgstr "Eliminar imagen"
|
444 |
+
|
445 |
+
#: includes/CMB2_JS.php:138 includes/CMB2_Types.php:257
|
446 |
+
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
447 |
+
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
448 |
+
#: tests/test-cmb-types.php:701
|
449 |
+
msgid "Remove"
|
450 |
+
msgstr "Eliminar"
|
451 |
+
|
452 |
+
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
453 |
+
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
454 |
+
msgid "Download"
|
455 |
+
msgstr "Descargar"
|
456 |
+
|
457 |
+
#: includes/CMB2_JS.php:141
|
458 |
+
msgid "Select / Deselect All"
|
459 |
+
msgstr "Seleccionar / Deseleccionar todo"
|
460 |
+
|
461 |
+
#: includes/CMB2_Types.php:194
|
462 |
+
msgid "Add Row"
|
463 |
+
msgstr "Añadir fila"
|
464 |
+
|
465 |
+
#: includes/CMB2_hookup.php:145
|
466 |
+
msgid ""
|
467 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
468 |
+
"install."
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: includes/CMB2_hookup.php:149
|
472 |
+
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/helper-functions.php:93
|
476 |
+
msgid "No oEmbed Results Found for %s. View more info at %s"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: includes/helper-functions.php:279
|
480 |
+
msgid "Save"
|
481 |
+
msgstr "Guardar"
|
482 |
+
|
483 |
+
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
484 |
+
#: tests/test-cmb-types.php:701
|
485 |
+
msgid "Add or Upload File"
|
486 |
+
msgstr "Añadir o Cargar archivo"
|
487 |
+
|
488 |
+
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
489 |
+
#: tests/test-cmb-types.php:663
|
490 |
+
msgid "Add or Upload Files"
|
491 |
+
msgstr "Añadir o Subir archivos"
|
492 |
+
|
493 |
+
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
494 |
+
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
495 |
+
msgid "No terms"
|
496 |
+
msgstr "No hay términos"
|
497 |
+
|
498 |
+
#. Plugin Name of the plugin/theme
|
499 |
+
msgid "CMB2"
|
500 |
+
msgstr "CMB2"
|
501 |
+
|
502 |
+
#. Plugin URI of the plugin/theme
|
503 |
+
msgid "https://github.com/CMB2/CMB2"
|
504 |
+
msgstr "https://github.com/CMB2/CMB2"
|
505 |
+
|
506 |
+
#. Description of the plugin/theme
|
507 |
+
msgid ""
|
508 |
+
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
509 |
+
"mind."
|
510 |
+
msgstr "CMB2 creará metaboxes y formularios con campos personalizados que harán volar tu Mente."
|
511 |
+
|
512 |
+
#. Author of the plugin/theme
|
513 |
+
msgid "WebDevStudios"
|
514 |
+
msgstr "WebDevStudios"
|
515 |
+
|
516 |
+
#. Author URI of the plugin/theme
|
517 |
+
msgid "http://webdevstudios.com"
|
518 |
+
msgstr "http://webdevstudios.com"
|
519 |
+
|
520 |
+
#: includes/CMB2_JS.php:109
|
521 |
+
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
522 |
+
msgid "mm/dd/yy"
|
523 |
+
msgstr "dd/mm/yy"
|
524 |
+
|
525 |
+
#: includes/CMB2_JS.php:129
|
526 |
+
msgctxt ""
|
527 |
+
"Valid formatting string, as per "
|
528 |
+
"http://trentrichardson.com/examples/timepicker/"
|
529 |
+
msgid "hh:mm TT"
|
530 |
+
msgstr "hh:mm TT"
|
includes/vendor/cmb2/languages/cmb2-es_MX.mo
ADDED
Binary file
|
includes/vendor/cmb2/languages/cmb2-fa_IR.mo
CHANGED
Binary file
|
includes/vendor/cmb2/languages/cmb2-fa_IR.po
CHANGED
@@ -7,30 +7,31 @@ msgstr ""
|
|
7 |
"Project-Id-Version: CMB2\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
9 |
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
10 |
-
"PO-Revision-Date:
|
11 |
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
12 |
-
"Language-Team: Persian (Iran) (http://www.transifex.com/wp-translations/
|
|
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
"Language: fa_IR\n"
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
-
"X-Generator:
|
19 |
-
"X-Poedit-Basepath:
|
20 |
-
"X-Poedit-
|
21 |
-
"
|
22 |
-
"
|
23 |
-
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SourceCharset: UTF-8\n"
|
25 |
"X-Textdomain-Support: yes\n"
|
|
|
26 |
|
27 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
28 |
msgid "Test Metabox"
|
29 |
-
msgstr ""
|
30 |
|
31 |
#: example-functions.php:130 example-functions.php:436
|
32 |
msgid "Test Text"
|
33 |
-
msgstr ""
|
34 |
|
35 |
#: example-functions.php:131 example-functions.php:144
|
36 |
#: example-functions.php:157 example-functions.php:165
|
@@ -52,19 +53,19 @@ msgstr ""
|
|
52 |
#: example-functions.php:613 example-functions.php:650
|
53 |
#: tests/test-cmb-field.php:267
|
54 |
msgid "field description (optional)"
|
55 |
-
msgstr ""
|
56 |
|
57 |
#: example-functions.php:143
|
58 |
msgid "Test Text Small"
|
59 |
-
msgstr ""
|
60 |
|
61 |
#: example-functions.php:156
|
62 |
msgid "Test Text Medium"
|
63 |
-
msgstr ""
|
64 |
|
65 |
#: example-functions.php:164
|
66 |
msgid "Custom Rendered Field"
|
67 |
-
msgstr ""
|
68 |
|
69 |
#: example-functions.php:172
|
70 |
msgid "Website URL"
|
@@ -72,11 +73,11 @@ msgstr "آدرس وب سایت"
|
|
72 |
|
73 |
#: example-functions.php:181
|
74 |
msgid "Test Text Email"
|
75 |
-
msgstr ""
|
76 |
|
77 |
#: example-functions.php:189
|
78 |
msgid "Test Time"
|
79 |
-
msgstr ""
|
80 |
|
81 |
#: example-functions.php:197 example-functions.php:198
|
82 |
msgid "Time zone"
|
@@ -84,110 +85,110 @@ msgstr "زمان محلی"
|
|
84 |
|
85 |
#: example-functions.php:204
|
86 |
msgid "Test Date Picker"
|
87 |
-
msgstr ""
|
88 |
|
89 |
#: example-functions.php:212
|
90 |
msgid "Test Date Picker (UNIX timestamp)"
|
91 |
-
msgstr ""
|
92 |
|
93 |
#: example-functions.php:220
|
94 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
95 |
-
msgstr ""
|
96 |
|
97 |
#: example-functions.php:237
|
98 |
msgid "Test Money"
|
99 |
-
msgstr ""
|
100 |
|
101 |
#: example-functions.php:246
|
102 |
msgid "Test Color Picker"
|
103 |
-
msgstr ""
|
104 |
|
105 |
#: example-functions.php:259
|
106 |
msgid "Test Text Area"
|
107 |
-
msgstr ""
|
108 |
|
109 |
#: example-functions.php:266
|
110 |
msgid "Test Text Area Small"
|
111 |
-
msgstr ""
|
112 |
|
113 |
#: example-functions.php:273
|
114 |
msgid "Test Text Area for Code"
|
115 |
-
msgstr ""
|
116 |
|
117 |
#: example-functions.php:280
|
118 |
msgid "Test Title Weeeee"
|
119 |
-
msgstr ""
|
120 |
|
121 |
#: example-functions.php:281
|
122 |
msgid "This is a title description"
|
123 |
-
msgstr ""
|
124 |
|
125 |
#: example-functions.php:287
|
126 |
msgid "Test Select"
|
127 |
-
msgstr ""
|
128 |
|
129 |
#: example-functions.php:293 example-functions.php:306
|
130 |
#: example-functions.php:318
|
131 |
msgid "Option One"
|
132 |
-
msgstr ""
|
133 |
|
134 |
#: example-functions.php:294 example-functions.php:307
|
135 |
#: example-functions.php:319
|
136 |
msgid "Option Two"
|
137 |
-
msgstr ""
|
138 |
|
139 |
#: example-functions.php:295 example-functions.php:308
|
140 |
#: example-functions.php:320
|
141 |
msgid "Option Three"
|
142 |
-
msgstr ""
|
143 |
|
144 |
#: example-functions.php:300
|
145 |
msgid "Test Radio inline"
|
146 |
-
msgstr ""
|
147 |
|
148 |
#: example-functions.php:313
|
149 |
msgid "Test Radio"
|
150 |
-
msgstr ""
|
151 |
|
152 |
#: example-functions.php:325
|
153 |
msgid "Test Taxonomy Radio"
|
154 |
-
msgstr ""
|
155 |
|
156 |
#: example-functions.php:334
|
157 |
msgid "Test Taxonomy Select"
|
158 |
-
msgstr ""
|
159 |
|
160 |
#: example-functions.php:342
|
161 |
msgid "Test Taxonomy Multi Checkbox"
|
162 |
-
msgstr ""
|
163 |
|
164 |
#: example-functions.php:351
|
165 |
msgid "Test Checkbox"
|
166 |
-
msgstr ""
|
167 |
|
168 |
#: example-functions.php:358 tests/test-cmb-field.php:266
|
169 |
msgid "Test Multi Checkbox"
|
170 |
-
msgstr ""
|
171 |
|
172 |
#: example-functions.php:364 tests/test-cmb-field.php:272
|
173 |
msgid "Check One"
|
174 |
-
msgstr ""
|
175 |
|
176 |
#: example-functions.php:365 tests/test-cmb-field.php:273
|
177 |
msgid "Check Two"
|
178 |
-
msgstr ""
|
179 |
|
180 |
#: example-functions.php:366 tests/test-cmb-field.php:274
|
181 |
msgid "Check Three"
|
182 |
-
msgstr ""
|
183 |
|
184 |
#: example-functions.php:372
|
185 |
msgid "Test wysiwyg"
|
186 |
-
msgstr ""
|
187 |
|
188 |
#: example-functions.php:380
|
189 |
msgid "Test Image"
|
190 |
-
msgstr ""
|
191 |
|
192 |
#: example-functions.php:381
|
193 |
msgid "Upload an image or enter a URL."
|
@@ -195,49 +196,53 @@ msgstr "فایل آپلود کنید یا URL را وارد کنید."
|
|
195 |
|
196 |
#: example-functions.php:387
|
197 |
msgid "Multiple Files"
|
198 |
-
msgstr ""
|
199 |
|
200 |
#: example-functions.php:388
|
201 |
msgid "Upload or add multiple images/attachments."
|
202 |
-
msgstr ""
|
203 |
|
204 |
#: example-functions.php:395
|
205 |
msgid "oEmbed"
|
206 |
-
msgstr ""
|
207 |
|
208 |
#: example-functions.php:396
|
209 |
msgid ""
|
210 |
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
211 |
-
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/
|
|
|
212 |
msgstr ""
|
|
|
|
|
|
|
213 |
|
214 |
#: example-functions.php:427
|
215 |
msgid "About Page Metabox"
|
216 |
-
msgstr ""
|
217 |
|
218 |
#: example-functions.php:456
|
219 |
msgid "Repeating Field Group"
|
220 |
-
msgstr ""
|
221 |
|
222 |
#: example-functions.php:464
|
223 |
msgid "Generates reusable form entries"
|
224 |
-
msgstr ""
|
225 |
|
226 |
#: example-functions.php:466
|
227 |
msgid "Entry {#}"
|
228 |
-
msgstr ""
|
229 |
|
230 |
#: example-functions.php:467
|
231 |
msgid "Add Another Entry"
|
232 |
-
msgstr ""
|
233 |
|
234 |
#: example-functions.php:468
|
235 |
msgid "Remove Entry"
|
236 |
-
msgstr ""
|
237 |
|
238 |
#: example-functions.php:481
|
239 |
msgid "Entry Title"
|
240 |
-
msgstr ""
|
241 |
|
242 |
#: example-functions.php:488
|
243 |
msgid "Description"
|
@@ -245,11 +250,11 @@ msgstr "توضیح"
|
|
245 |
|
246 |
#: example-functions.php:489
|
247 |
msgid "Write a short description for this entry"
|
248 |
-
msgstr ""
|
249 |
|
250 |
#: example-functions.php:495
|
251 |
msgid "Entry Image"
|
252 |
-
msgstr ""
|
253 |
|
254 |
#: example-functions.php:501
|
255 |
msgid "Image Caption"
|
@@ -257,15 +262,15 @@ msgstr "توضیح تصویر"
|
|
257 |
|
258 |
#: example-functions.php:520
|
259 |
msgid "User Profile Metabox"
|
260 |
-
msgstr ""
|
261 |
|
262 |
#: example-functions.php:527 example-functions.php:597
|
263 |
msgid "Extra Info"
|
264 |
-
msgstr ""
|
265 |
|
266 |
#: example-functions.php:535
|
267 |
msgid "Avatar"
|
268 |
-
msgstr "
|
269 |
|
270 |
#: example-functions.php:542
|
271 |
msgid "Facebook URL"
|
@@ -273,43 +278,43 @@ msgstr "نشانی صفحه فیس بوک"
|
|
273 |
|
274 |
#: example-functions.php:549
|
275 |
msgid "Twitter URL"
|
276 |
-
msgstr ""
|
277 |
|
278 |
#: example-functions.php:556
|
279 |
msgid "Google+ URL"
|
280 |
-
msgstr ""
|
281 |
|
282 |
#: example-functions.php:563
|
283 |
msgid "Linkedin URL"
|
284 |
-
msgstr ""
|
285 |
|
286 |
#: example-functions.php:570
|
287 |
msgid "User Field"
|
288 |
-
msgstr ""
|
289 |
|
290 |
#: example-functions.php:590
|
291 |
msgid "Category Metabox"
|
292 |
-
msgstr ""
|
293 |
|
294 |
#: example-functions.php:605
|
295 |
msgid "Term Image"
|
296 |
-
msgstr ""
|
297 |
|
298 |
#: example-functions.php:612
|
299 |
msgid "Arbitrary Term Field"
|
300 |
-
msgstr ""
|
301 |
|
302 |
#: example-functions.php:634
|
303 |
msgid "Theme Options Metabox"
|
304 |
-
msgstr ""
|
305 |
|
306 |
#: example-functions.php:649
|
307 |
msgid "Site Background Color"
|
308 |
-
msgstr ""
|
309 |
|
310 |
#: includes/CMB2.php:129
|
311 |
msgid "Metabox configuration is required to have an ID parameter"
|
312 |
-
msgstr ""
|
313 |
|
314 |
#: includes/CMB2.php:418
|
315 |
msgid "Click to toggle"
|
@@ -317,23 +322,23 @@ msgstr "برای جانشینی کلیک کنید"
|
|
317 |
|
318 |
#: includes/CMB2_Ajax.php:71
|
319 |
msgid "Please Try Again"
|
320 |
-
msgstr ""
|
321 |
|
322 |
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
323 |
msgid "Remove Embed"
|
324 |
-
msgstr ""
|
325 |
|
326 |
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
327 |
msgid "No oEmbed Results Found for %s. View more info at"
|
328 |
-
msgstr ""
|
329 |
|
330 |
#: includes/CMB2_Field.php:1186
|
331 |
msgid "Add Group"
|
332 |
-
msgstr ""
|
333 |
|
334 |
#: includes/CMB2_Field.php:1187
|
335 |
msgid "Remove Group"
|
336 |
-
msgstr ""
|
337 |
|
338 |
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
339 |
#: tests/test-cmb-field.php:229
|
@@ -342,13 +347,13 @@ msgstr "هیچیک"
|
|
342 |
|
343 |
#: includes/CMB2_Field.php:1269
|
344 |
msgid "Sorry, this field does not have a cmb_id specified."
|
345 |
-
msgstr ""
|
346 |
|
347 |
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
348 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
349 |
#: tests/test-cmb-types.php:701
|
350 |
msgid "File:"
|
351 |
-
msgstr ""
|
352 |
|
353 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
354 |
msgid "Clear"
|
@@ -368,25 +373,27 @@ msgstr "رنگ فعلی"
|
|
368 |
|
369 |
#: includes/CMB2_JS.php:110
|
370 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
371 |
-
msgstr ""
|
372 |
|
373 |
#: includes/CMB2_JS.php:111
|
374 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
375 |
-
msgstr ""
|
376 |
|
377 |
#: includes/CMB2_JS.php:112
|
378 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
379 |
-
msgstr ""
|
380 |
|
381 |
#: includes/CMB2_JS.php:113
|
382 |
msgid ""
|
383 |
"January, February, March, April, May, June, July, August, September, "
|
384 |
"October, November, December"
|
385 |
msgstr ""
|
|
|
|
|
386 |
|
387 |
#: includes/CMB2_JS.php:114
|
388 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
389 |
-
msgstr ""
|
390 |
|
391 |
#: includes/CMB2_JS.php:115
|
392 |
msgid "Next"
|
@@ -406,7 +413,7 @@ msgstr "انجام شد"
|
|
406 |
|
407 |
#: includes/CMB2_JS.php:122
|
408 |
msgid "Choose Time"
|
409 |
-
msgstr ""
|
410 |
|
411 |
#: includes/CMB2_JS.php:123
|
412 |
msgid "Time"
|
@@ -422,19 +429,19 @@ msgstr "دقیقه"
|
|
422 |
|
423 |
#: includes/CMB2_JS.php:126
|
424 |
msgid "Second"
|
425 |
-
msgstr ""
|
426 |
|
427 |
#: includes/CMB2_JS.php:127
|
428 |
msgid "Now"
|
429 |
-
msgstr ""
|
430 |
|
431 |
#: includes/CMB2_JS.php:135
|
432 |
msgid "Use this file"
|
433 |
-
msgstr ""
|
434 |
|
435 |
#: includes/CMB2_JS.php:136
|
436 |
msgid "Use these files"
|
437 |
-
msgstr ""
|
438 |
|
439 |
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
440 |
msgid "Remove Image"
|
@@ -454,25 +461,27 @@ msgstr "دانلود"
|
|
454 |
|
455 |
#: includes/CMB2_JS.php:141
|
456 |
msgid "Select / Deselect All"
|
457 |
-
msgstr ""
|
458 |
|
459 |
#: includes/CMB2_Types.php:194
|
460 |
msgid "Add Row"
|
461 |
-
msgstr ""
|
462 |
|
463 |
#: includes/CMB2_hookup.php:145
|
464 |
msgid ""
|
465 |
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
466 |
"install."
|
467 |
msgstr ""
|
|
|
|
|
468 |
|
469 |
#: includes/CMB2_hookup.php:149
|
470 |
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
471 |
-
msgstr ""
|
472 |
|
473 |
#: includes/helper-functions.php:93
|
474 |
msgid "No oEmbed Results Found for %s. View more info at %s"
|
475 |
-
msgstr ""
|
476 |
|
477 |
#: includes/helper-functions.php:279
|
478 |
msgid "Save"
|
@@ -481,48 +490,48 @@ msgstr "ذخیره"
|
|
481 |
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
482 |
#: tests/test-cmb-types.php:701
|
483 |
msgid "Add or Upload File"
|
484 |
-
msgstr ""
|
485 |
|
486 |
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
487 |
#: tests/test-cmb-types.php:663
|
488 |
msgid "Add or Upload Files"
|
489 |
-
msgstr ""
|
490 |
|
491 |
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
492 |
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
493 |
msgid "No terms"
|
494 |
-
msgstr ""
|
495 |
|
496 |
#. Plugin Name of the plugin/theme
|
497 |
msgid "CMB2"
|
498 |
-
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
msgid "https://github.com/CMB2/CMB2"
|
502 |
-
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
506 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
507 |
"mind."
|
508 |
-
msgstr ""
|
509 |
|
510 |
#. Author of the plugin/theme
|
511 |
msgid "WebDevStudios"
|
512 |
-
msgstr ""
|
513 |
|
514 |
#. Author URI of the plugin/theme
|
515 |
msgid "http://webdevstudios.com"
|
516 |
-
msgstr ""
|
517 |
|
518 |
#: includes/CMB2_JS.php:109
|
519 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
520 |
msgid "mm/dd/yy"
|
521 |
-
msgstr ""
|
522 |
|
523 |
#: includes/CMB2_JS.php:129
|
524 |
msgctxt ""
|
525 |
-
"Valid formatting string, as per "
|
526 |
-
"
|
527 |
msgid "hh:mm TT"
|
528 |
-
msgstr ""
|
7 |
"Project-Id-Version: CMB2\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
9 |
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
10 |
+
"PO-Revision-Date: 2017-11-05 17:11+0330\n"
|
11 |
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
12 |
+
"Language-Team: Persian (Iran) (http://www.transifex.com/wp-translations/"
|
13 |
+
"cmb2/language/fa_IR/)\n"
|
14 |
"MIME-Version: 1.0\n"
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
17 |
"Language: fa_IR\n"
|
18 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
19 |
+
"X-Generator: Poedit 1.8.7.1\n"
|
20 |
+
"X-Poedit-Basepath: ..\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
22 |
+
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
23 |
+
"esc_html_x:1,2c\n"
|
|
|
24 |
"X-Poedit-SourceCharset: UTF-8\n"
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
+
"X-Poedit-SearchPath-0: .\n"
|
27 |
|
28 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
29 |
msgid "Test Metabox"
|
30 |
+
msgstr " آزمایش متاباکس"
|
31 |
|
32 |
#: example-functions.php:130 example-functions.php:436
|
33 |
msgid "Test Text"
|
34 |
+
msgstr "متن آزمایشی"
|
35 |
|
36 |
#: example-functions.php:131 example-functions.php:144
|
37 |
#: example-functions.php:157 example-functions.php:165
|
53 |
#: example-functions.php:613 example-functions.php:650
|
54 |
#: tests/test-cmb-field.php:267
|
55 |
msgid "field description (optional)"
|
56 |
+
msgstr "توضیحات فیلد (اختیاری)"
|
57 |
|
58 |
#: example-functions.php:143
|
59 |
msgid "Test Text Small"
|
60 |
+
msgstr "کادر متن کوچک آزمایشی"
|
61 |
|
62 |
#: example-functions.php:156
|
63 |
msgid "Test Text Medium"
|
64 |
+
msgstr "کادر متن متوسط آزمایشی"
|
65 |
|
66 |
#: example-functions.php:164
|
67 |
msgid "Custom Rendered Field"
|
68 |
+
msgstr "فیلد شخصی سازی شده"
|
69 |
|
70 |
#: example-functions.php:172
|
71 |
msgid "Website URL"
|
73 |
|
74 |
#: example-functions.php:181
|
75 |
msgid "Test Text Email"
|
76 |
+
msgstr "کادر متنی ایمیل"
|
77 |
|
78 |
#: example-functions.php:189
|
79 |
msgid "Test Time"
|
80 |
+
msgstr "زمان آزمایشی"
|
81 |
|
82 |
#: example-functions.php:197 example-functions.php:198
|
83 |
msgid "Time zone"
|
85 |
|
86 |
#: example-functions.php:204
|
87 |
msgid "Test Date Picker"
|
88 |
+
msgstr "انتخاب کننده تاریخ آزمایشی"
|
89 |
|
90 |
#: example-functions.php:212
|
91 |
msgid "Test Date Picker (UNIX timestamp)"
|
92 |
+
msgstr "انتخاب کننده تاریخ آزمایشی (unix timestamp)"
|
93 |
|
94 |
#: example-functions.php:220
|
95 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
96 |
+
msgstr "انتخاب کننده تاریخ آزمایشی (unix timestamp)"
|
97 |
|
98 |
#: example-functions.php:237
|
99 |
msgid "Test Money"
|
100 |
+
msgstr "پول آزمایشی"
|
101 |
|
102 |
#: example-functions.php:246
|
103 |
msgid "Test Color Picker"
|
104 |
+
msgstr "آزمایش انتخاب کننده رنگ"
|
105 |
|
106 |
#: example-functions.php:259
|
107 |
msgid "Test Text Area"
|
108 |
+
msgstr "آزمایش Text Area"
|
109 |
|
110 |
#: example-functions.php:266
|
111 |
msgid "Test Text Area Small"
|
112 |
+
msgstr "آزمایش Text Area کوچک"
|
113 |
|
114 |
#: example-functions.php:273
|
115 |
msgid "Test Text Area for Code"
|
116 |
+
msgstr "آزمایش Text Area برای کد"
|
117 |
|
118 |
#: example-functions.php:280
|
119 |
msgid "Test Title Weeeee"
|
120 |
+
msgstr "Test Title Weeeee"
|
121 |
|
122 |
#: example-functions.php:281
|
123 |
msgid "This is a title description"
|
124 |
+
msgstr "این یک توضیح برای عنوان است"
|
125 |
|
126 |
#: example-functions.php:287
|
127 |
msgid "Test Select"
|
128 |
+
msgstr "آزمایش Select"
|
129 |
|
130 |
#: example-functions.php:293 example-functions.php:306
|
131 |
#: example-functions.php:318
|
132 |
msgid "Option One"
|
133 |
+
msgstr "گزینه اول"
|
134 |
|
135 |
#: example-functions.php:294 example-functions.php:307
|
136 |
#: example-functions.php:319
|
137 |
msgid "Option Two"
|
138 |
+
msgstr "گزینه دوم"
|
139 |
|
140 |
#: example-functions.php:295 example-functions.php:308
|
141 |
#: example-functions.php:320
|
142 |
msgid "Option Three"
|
143 |
+
msgstr "گزینه سوم"
|
144 |
|
145 |
#: example-functions.php:300
|
146 |
msgid "Test Radio inline"
|
147 |
+
msgstr "آزمایش Radio درون خطی"
|
148 |
|
149 |
#: example-functions.php:313
|
150 |
msgid "Test Radio"
|
151 |
+
msgstr "آزمایش Radio "
|
152 |
|
153 |
#: example-functions.php:325
|
154 |
msgid "Test Taxonomy Radio"
|
155 |
+
msgstr "آزمایش Taxonomy radio"
|
156 |
|
157 |
#: example-functions.php:334
|
158 |
msgid "Test Taxonomy Select"
|
159 |
+
msgstr "آزمایش Taxonomy Select"
|
160 |
|
161 |
#: example-functions.php:342
|
162 |
msgid "Test Taxonomy Multi Checkbox"
|
163 |
+
msgstr "آزمایش Taxonomy Multi Checkbox"
|
164 |
|
165 |
#: example-functions.php:351
|
166 |
msgid "Test Checkbox"
|
167 |
+
msgstr "آزمایش Checkbox"
|
168 |
|
169 |
#: example-functions.php:358 tests/test-cmb-field.php:266
|
170 |
msgid "Test Multi Checkbox"
|
171 |
+
msgstr "آزمایش Multi Checkbox"
|
172 |
|
173 |
#: example-functions.php:364 tests/test-cmb-field.php:272
|
174 |
msgid "Check One"
|
175 |
+
msgstr "گزینه اول"
|
176 |
|
177 |
#: example-functions.php:365 tests/test-cmb-field.php:273
|
178 |
msgid "Check Two"
|
179 |
+
msgstr "گزینه دوم"
|
180 |
|
181 |
#: example-functions.php:366 tests/test-cmb-field.php:274
|
182 |
msgid "Check Three"
|
183 |
+
msgstr "گزینه سوم"
|
184 |
|
185 |
#: example-functions.php:372
|
186 |
msgid "Test wysiwyg"
|
187 |
+
msgstr "آزمایش wysiwyg"
|
188 |
|
189 |
#: example-functions.php:380
|
190 |
msgid "Test Image"
|
191 |
+
msgstr "آزمایش Image"
|
192 |
|
193 |
#: example-functions.php:381
|
194 |
msgid "Upload an image or enter a URL."
|
196 |
|
197 |
#: example-functions.php:387
|
198 |
msgid "Multiple Files"
|
199 |
+
msgstr "چند فایل"
|
200 |
|
201 |
#: example-functions.php:388
|
202 |
msgid "Upload or add multiple images/attachments."
|
203 |
+
msgstr "آپلود فایل ها"
|
204 |
|
205 |
#: example-functions.php:395
|
206 |
msgid "oEmbed"
|
207 |
+
msgstr "oEmbed"
|
208 |
|
209 |
#: example-functions.php:396
|
210 |
msgid ""
|
211 |
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
212 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/"
|
213 |
+
"Embeds</a>."
|
214 |
msgstr ""
|
215 |
+
"آدرس URL یوتیوب، تویتر یا ایستاگرام را وارد کنید. سرویس های پشتیبانی شده در "
|
216 |
+
"<a href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/"
|
217 |
+
"Embeds</a> موجود هستند."
|
218 |
|
219 |
#: example-functions.php:427
|
220 |
msgid "About Page Metabox"
|
221 |
+
msgstr "درباره متاباکس صفحه"
|
222 |
|
223 |
#: example-functions.php:456
|
224 |
msgid "Repeating Field Group"
|
225 |
+
msgstr "Field Group تکرار شونده"
|
226 |
|
227 |
#: example-functions.php:464
|
228 |
msgid "Generates reusable form entries"
|
229 |
+
msgstr "آیتم های فرم با قابلیت استفاده مجدد میسازد"
|
230 |
|
231 |
#: example-functions.php:466
|
232 |
msgid "Entry {#}"
|
233 |
+
msgstr "آیتم {#}"
|
234 |
|
235 |
#: example-functions.php:467
|
236 |
msgid "Add Another Entry"
|
237 |
+
msgstr "افزودن آیتم دیگر"
|
238 |
|
239 |
#: example-functions.php:468
|
240 |
msgid "Remove Entry"
|
241 |
+
msgstr "حذف آیتم"
|
242 |
|
243 |
#: example-functions.php:481
|
244 |
msgid "Entry Title"
|
245 |
+
msgstr "عنوان"
|
246 |
|
247 |
#: example-functions.php:488
|
248 |
msgid "Description"
|
250 |
|
251 |
#: example-functions.php:489
|
252 |
msgid "Write a short description for this entry"
|
253 |
+
msgstr "توضیح کوتاهی برای این آیتم بنویسید"
|
254 |
|
255 |
#: example-functions.php:495
|
256 |
msgid "Entry Image"
|
257 |
+
msgstr "تصویر آیتم"
|
258 |
|
259 |
#: example-functions.php:501
|
260 |
msgid "Image Caption"
|
262 |
|
263 |
#: example-functions.php:520
|
264 |
msgid "User Profile Metabox"
|
265 |
+
msgstr "متاباکس پروفایل"
|
266 |
|
267 |
#: example-functions.php:527 example-functions.php:597
|
268 |
msgid "Extra Info"
|
269 |
+
msgstr "اطلاعات بیشتر"
|
270 |
|
271 |
#: example-functions.php:535
|
272 |
msgid "Avatar"
|
273 |
+
msgstr "آواتار"
|
274 |
|
275 |
#: example-functions.php:542
|
276 |
msgid "Facebook URL"
|
278 |
|
279 |
#: example-functions.php:549
|
280 |
msgid "Twitter URL"
|
281 |
+
msgstr "آدرس Twitter"
|
282 |
|
283 |
#: example-functions.php:556
|
284 |
msgid "Google+ URL"
|
285 |
+
msgstr "آدرس Google+"
|
286 |
|
287 |
#: example-functions.php:563
|
288 |
msgid "Linkedin URL"
|
289 |
+
msgstr "آدرس Linkedin"
|
290 |
|
291 |
#: example-functions.php:570
|
292 |
msgid "User Field"
|
293 |
+
msgstr "فیلد کاربر"
|
294 |
|
295 |
#: example-functions.php:590
|
296 |
msgid "Category Metabox"
|
297 |
+
msgstr "متاباکس دسته بندی"
|
298 |
|
299 |
#: example-functions.php:605
|
300 |
msgid "Term Image"
|
301 |
+
msgstr "Term Image"
|
302 |
|
303 |
#: example-functions.php:612
|
304 |
msgid "Arbitrary Term Field"
|
305 |
+
msgstr "زمینه ترتیب دلخواه"
|
306 |
|
307 |
#: example-functions.php:634
|
308 |
msgid "Theme Options Metabox"
|
309 |
+
msgstr "گزینه های پوسته متاباکس"
|
310 |
|
311 |
#: example-functions.php:649
|
312 |
msgid "Site Background Color"
|
313 |
+
msgstr "پس زمینه سایت"
|
314 |
|
315 |
#: includes/CMB2.php:129
|
316 |
msgid "Metabox configuration is required to have an ID parameter"
|
317 |
+
msgstr "تنظیمات متاباکس نیاز به پارامتر ID دارد"
|
318 |
|
319 |
#: includes/CMB2.php:418
|
320 |
msgid "Click to toggle"
|
322 |
|
323 |
#: includes/CMB2_Ajax.php:71
|
324 |
msgid "Please Try Again"
|
325 |
+
msgstr "لطفا دوباره تلاش کنید"
|
326 |
|
327 |
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
328 |
msgid "Remove Embed"
|
329 |
+
msgstr "حذف Embed"
|
330 |
|
331 |
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
332 |
msgid "No oEmbed Results Found for %s. View more info at"
|
333 |
+
msgstr "هیچ نتیجه ای برای %s پیدا نشد. نمایش جزئیات بیشتر در "
|
334 |
|
335 |
#: includes/CMB2_Field.php:1186
|
336 |
msgid "Add Group"
|
337 |
+
msgstr "افزودن گروه"
|
338 |
|
339 |
#: includes/CMB2_Field.php:1187
|
340 |
msgid "Remove Group"
|
341 |
+
msgstr "حذف گروه"
|
342 |
|
343 |
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
344 |
#: tests/test-cmb-field.php:229
|
347 |
|
348 |
#: includes/CMB2_Field.php:1269
|
349 |
msgid "Sorry, this field does not have a cmb_id specified."
|
350 |
+
msgstr "برای این فیلد cmb_id مشخص نشده است"
|
351 |
|
352 |
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
353 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
354 |
#: tests/test-cmb-types.php:701
|
355 |
msgid "File:"
|
356 |
+
msgstr "فایل:"
|
357 |
|
358 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
359 |
msgid "Clear"
|
373 |
|
374 |
#: includes/CMB2_JS.php:110
|
375 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
376 |
+
msgstr "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
377 |
|
378 |
#: includes/CMB2_JS.php:111
|
379 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
380 |
+
msgstr "Su, Mo, Tu, We, Th, Fr, Sa"
|
381 |
|
382 |
#: includes/CMB2_JS.php:112
|
383 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
384 |
+
msgstr "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
385 |
|
386 |
#: includes/CMB2_JS.php:113
|
387 |
msgid ""
|
388 |
"January, February, March, April, May, June, July, August, September, "
|
389 |
"October, November, December"
|
390 |
msgstr ""
|
391 |
+
"January, February, March, April, May, June, July, August, September, "
|
392 |
+
"October, November, December"
|
393 |
|
394 |
#: includes/CMB2_JS.php:114
|
395 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
396 |
+
msgstr "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
397 |
|
398 |
#: includes/CMB2_JS.php:115
|
399 |
msgid "Next"
|
413 |
|
414 |
#: includes/CMB2_JS.php:122
|
415 |
msgid "Choose Time"
|
416 |
+
msgstr "انتخاب زمان"
|
417 |
|
418 |
#: includes/CMB2_JS.php:123
|
419 |
msgid "Time"
|
429 |
|
430 |
#: includes/CMB2_JS.php:126
|
431 |
msgid "Second"
|
432 |
+
msgstr "ثانیه"
|
433 |
|
434 |
#: includes/CMB2_JS.php:127
|
435 |
msgid "Now"
|
436 |
+
msgstr "حالا"
|
437 |
|
438 |
#: includes/CMB2_JS.php:135
|
439 |
msgid "Use this file"
|
440 |
+
msgstr "استفاده از این فایل"
|
441 |
|
442 |
#: includes/CMB2_JS.php:136
|
443 |
msgid "Use these files"
|
444 |
+
msgstr "استفاده از این فایل ها"
|
445 |
|
446 |
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
447 |
msgid "Remove Image"
|
461 |
|
462 |
#: includes/CMB2_JS.php:141
|
463 |
msgid "Select / Deselect All"
|
464 |
+
msgstr "انتخاب/ لغو انتخاب همه"
|
465 |
|
466 |
#: includes/CMB2_Types.php:194
|
467 |
msgid "Add Row"
|
468 |
+
msgstr "افزودن ردیف"
|
469 |
|
470 |
#: includes/CMB2_hookup.php:145
|
471 |
msgid ""
|
472 |
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
473 |
"install."
|
474 |
msgstr ""
|
475 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
476 |
+
"install."
|
477 |
|
478 |
#: includes/CMB2_hookup.php:149
|
479 |
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
480 |
+
msgstr "تنظیمات متاباکس نیاز به پارامتر taxonomies دارد"
|
481 |
|
482 |
#: includes/helper-functions.php:93
|
483 |
msgid "No oEmbed Results Found for %s. View more info at %s"
|
484 |
+
msgstr "هیچ نتیجه ای برای %s پیدا نشد. نمایش جزئیات بیشتر در %s"
|
485 |
|
486 |
#: includes/helper-functions.php:279
|
487 |
msgid "Save"
|
490 |
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
491 |
#: tests/test-cmb-types.php:701
|
492 |
msgid "Add or Upload File"
|
493 |
+
msgstr "آپلود فایل"
|
494 |
|
495 |
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
496 |
#: tests/test-cmb-types.php:663
|
497 |
msgid "Add or Upload Files"
|
498 |
+
msgstr "انتخاب یا آپلود فایل"
|
499 |
|
500 |
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
501 |
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
502 |
msgid "No terms"
|
503 |
+
msgstr "بدون کلمه"
|
504 |
|
505 |
#. Plugin Name of the plugin/theme
|
506 |
msgid "CMB2"
|
507 |
+
msgstr "CMB2"
|
508 |
|
509 |
#. Plugin URI of the plugin/theme
|
510 |
msgid "https://github.com/CMB2/CMB2"
|
511 |
+
msgstr "https://github.com/CMB2/CMB2"
|
512 |
|
513 |
#. Description of the plugin/theme
|
514 |
msgid ""
|
515 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
516 |
"mind."
|
517 |
+
msgstr "CMB2 برای شما متاباکس و فرم با فیلدهای سفارشی میسازد"
|
518 |
|
519 |
#. Author of the plugin/theme
|
520 |
msgid "WebDevStudios"
|
521 |
+
msgstr "WebDevStudios"
|
522 |
|
523 |
#. Author URI of the plugin/theme
|
524 |
msgid "http://webdevstudios.com"
|
525 |
+
msgstr "http://webdevstudios.com"
|
526 |
|
527 |
#: includes/CMB2_JS.php:109
|
528 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
529 |
msgid "mm/dd/yy"
|
530 |
+
msgstr "mm/dd/yy"
|
531 |
|
532 |
#: includes/CMB2_JS.php:129
|
533 |
msgctxt ""
|
534 |
+
"Valid formatting string, as per http://trentrichardson.com/examples/"
|
535 |
+
"timepicker/"
|
536 |
msgid "hh:mm TT"
|
537 |
+
msgstr "hh:mm TT"
|
includes/vendor/cmb2/languages/cmb2-it_IT.mo
CHANGED
Binary file
|
includes/vendor/cmb2/languages/cmb2-it_IT.po
CHANGED
@@ -1,59 +1,60 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
# Translators:
|
4 |
# Alessandro Curci <hantarex@gmail.com>, 2015
|
5 |
# Andrea Brandi, 2015
|
6 |
-
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015
|
7 |
-
# Emanuele <
|
8 |
msgid ""
|
9 |
msgstr ""
|
10 |
"Project-Id-Version: CMB2\n"
|
11 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
12 |
-
"POT-Creation-Date: 2016-
|
13 |
-
"PO-Revision-Date:
|
14 |
-
"Last-Translator: Justin Sternberg <
|
15 |
-
"Language-Team: Italian (Italy) (http://www.transifex.com/wp-translations/
|
|
|
16 |
"MIME-Version: 1.0\n"
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
"Language: it_IT\n"
|
20 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
21 |
-
"X-Generator:
|
22 |
-
"X-Poedit-Basepath:
|
23 |
-
"X-Poedit-
|
24 |
-
"
|
25 |
-
"
|
26 |
-
"X-Poedit-SearchPath-0: .\n"
|
27 |
"X-Poedit-SourceCharset: UTF-8\n"
|
28 |
"X-Textdomain-Support: yes\n"
|
|
|
29 |
|
30 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
31 |
msgid "Test Metabox"
|
32 |
msgstr "Test Metabox"
|
33 |
|
34 |
-
#: example-functions.php:130 example-functions.php:
|
35 |
msgid "Test Text"
|
36 |
msgstr "Test Testo"
|
37 |
|
38 |
#: example-functions.php:131 example-functions.php:144
|
39 |
-
#: example-functions.php:157 example-functions.php:
|
40 |
-
#: example-functions.php:
|
41 |
-
#: example-functions.php:
|
42 |
-
#: example-functions.php:
|
43 |
-
#: example-functions.php:
|
44 |
-
#: example-functions.php:
|
45 |
-
#: example-functions.php:
|
46 |
-
#: example-functions.php:
|
47 |
-
#: example-functions.php:326 example-functions.php:
|
48 |
-
#: example-functions.php:
|
49 |
-
#: example-functions.php:
|
50 |
-
#: example-functions.php:
|
51 |
-
#: example-functions.php:
|
52 |
-
#: example-functions.php:
|
53 |
-
#: example-functions.php:
|
54 |
-
#: example-functions.php:
|
55 |
-
#: example-functions.php:
|
56 |
-
#: tests/test-cmb-field.php:267
|
57 |
msgid "field description (optional)"
|
58 |
msgstr "descrizione campo (opzionale)"
|
59 |
|
@@ -65,256 +66,266 @@ msgstr "Test Testo Piccolo"
|
|
65 |
msgid "Test Text Medium"
|
66 |
msgstr "Test Testo Medio"
|
67 |
|
68 |
-
#: example-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
msgid "Custom Rendered Field"
|
70 |
-
msgstr ""
|
71 |
|
72 |
-
#: example-functions.php:
|
73 |
msgid "Website URL"
|
74 |
msgstr "URL Sito"
|
75 |
|
76 |
-
#: example-functions.php:
|
77 |
msgid "Test Text Email"
|
78 |
msgstr "Test Testo Email"
|
79 |
|
80 |
-
#: example-functions.php:
|
81 |
msgid "Test Time"
|
82 |
msgstr "Test Orario"
|
83 |
|
84 |
-
#: example-functions.php:
|
85 |
msgid "Time zone"
|
86 |
msgstr "Time zone"
|
87 |
|
88 |
-
#: example-functions.php:
|
89 |
msgid "Test Date Picker"
|
90 |
msgstr "Test Date Picker"
|
91 |
|
92 |
-
#: example-functions.php:
|
93 |
msgid "Test Date Picker (UNIX timestamp)"
|
94 |
msgstr "Test Data Picker (UNIX timestamp)"
|
95 |
|
96 |
-
#: example-functions.php:
|
97 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
98 |
msgstr "Test Data/Orario Picker Combo (UNIX timestamp)"
|
99 |
|
100 |
-
#: example-functions.php:
|
101 |
msgid "Test Money"
|
102 |
msgstr "Test Money"
|
103 |
|
104 |
-
#: example-functions.php:
|
105 |
msgid "Test Color Picker"
|
106 |
msgstr "Test Color Picker"
|
107 |
|
108 |
-
#: example-functions.php:
|
109 |
msgid "Test Text Area"
|
110 |
msgstr "Test Text Area"
|
111 |
|
112 |
-
#: example-functions.php:
|
113 |
msgid "Test Text Area Small"
|
114 |
msgstr "Test Text Area Piccola"
|
115 |
|
116 |
-
#: example-functions.php:
|
117 |
msgid "Test Text Area for Code"
|
118 |
msgstr "Test Text Area per Codice"
|
119 |
|
120 |
-
#: example-functions.php:
|
121 |
msgid "Test Title Weeeee"
|
122 |
msgstr "Test Titolo Weeeee"
|
123 |
|
124 |
-
#: example-functions.php:
|
125 |
msgid "This is a title description"
|
126 |
msgstr "Questa è una descrizione del titolo"
|
127 |
|
128 |
-
#: example-functions.php:
|
129 |
msgid "Test Select"
|
130 |
msgstr "Test Select"
|
131 |
|
132 |
-
#: example-functions.php:
|
133 |
-
#: example-functions.php:
|
134 |
msgid "Option One"
|
135 |
msgstr "Opzione uno"
|
136 |
|
137 |
-
#: example-functions.php:
|
138 |
-
#: example-functions.php:
|
139 |
msgid "Option Two"
|
140 |
msgstr "Opzione Due"
|
141 |
|
142 |
-
#: example-functions.php:
|
143 |
-
#: example-functions.php:
|
144 |
msgid "Option Three"
|
145 |
msgstr "Opzione Tre"
|
146 |
|
147 |
-
#: example-functions.php:
|
148 |
msgid "Test Radio inline"
|
149 |
msgstr "Test Radio inline"
|
150 |
|
151 |
-
#: example-functions.php:
|
152 |
msgid "Test Radio"
|
153 |
msgstr "Test Radio"
|
154 |
|
155 |
-
#: example-functions.php:
|
156 |
msgid "Test Taxonomy Radio"
|
157 |
msgstr "Test Tassonomia Radio"
|
158 |
|
159 |
-
#: example-functions.php:
|
160 |
msgid "Test Taxonomy Select"
|
161 |
msgstr "Test Seleziona Tassonomia"
|
162 |
|
163 |
-
#: example-functions.php:
|
164 |
msgid "Test Taxonomy Multi Checkbox"
|
165 |
msgstr "Test Tassonomia Multi Checkbox"
|
166 |
|
167 |
-
#: example-functions.php:
|
168 |
msgid "Test Checkbox"
|
169 |
msgstr "Test Checkbox"
|
170 |
|
171 |
-
#: example-functions.php:
|
172 |
msgid "Test Multi Checkbox"
|
173 |
msgstr "Test Multi Checkbox"
|
174 |
|
175 |
-
#: example-functions.php:
|
176 |
msgid "Check One"
|
177 |
msgstr "Check Uno"
|
178 |
|
179 |
-
#: example-functions.php:
|
180 |
msgid "Check Two"
|
181 |
msgstr "Check Due"
|
182 |
|
183 |
-
#: example-functions.php:
|
184 |
msgid "Check Three"
|
185 |
msgstr "Check Tre"
|
186 |
|
187 |
-
#: example-functions.php:
|
188 |
msgid "Test wysiwyg"
|
189 |
msgstr "Test wysiwyg"
|
190 |
|
191 |
-
#: example-functions.php:
|
192 |
msgid "Test Image"
|
193 |
msgstr "Test Immagine"
|
194 |
|
195 |
-
#: example-functions.php:
|
196 |
msgid "Upload an image or enter a URL."
|
197 |
msgstr "Carica una immagine o inserisci una URL"
|
198 |
|
199 |
-
#: example-functions.php:
|
200 |
msgid "Multiple Files"
|
201 |
msgstr "File Multipli"
|
202 |
|
203 |
-
#: example-functions.php:
|
204 |
msgid "Upload or add multiple images/attachments."
|
205 |
msgstr "Carica o aggiungi immagini/allegati multipli"
|
206 |
|
207 |
-
#: example-functions.php:
|
208 |
msgid "oEmbed"
|
209 |
msgstr "oEmbed"
|
210 |
|
211 |
-
|
|
|
212 |
msgid ""
|
213 |
-
"Enter a youtube, twitter, or instagram URL. Supports services listed at
|
214 |
-
"
|
215 |
-
|
|
|
216 |
|
217 |
-
#: example-functions.php:
|
218 |
msgid "About Page Metabox"
|
219 |
msgstr "About Page Metabox"
|
220 |
|
221 |
-
#: example-functions.php:
|
222 |
msgid "Repeating Field Group"
|
223 |
msgstr "Gruppo Campi Ripetuto"
|
224 |
|
225 |
-
#: example-functions.php:
|
226 |
msgid "Generates reusable form entries"
|
227 |
msgstr "Genera elementi del form riusabili"
|
228 |
|
229 |
-
#: example-functions.php:
|
230 |
msgid "Entry {#}"
|
231 |
msgstr "Instanza {#}"
|
232 |
|
233 |
-
#: example-functions.php:
|
234 |
msgid "Add Another Entry"
|
235 |
msgstr "Aggiungi una nuova instanza"
|
236 |
|
237 |
-
#: example-functions.php:
|
238 |
msgid "Remove Entry"
|
239 |
msgstr "Rimuovi instanza"
|
240 |
|
241 |
-
#: example-functions.php:
|
242 |
msgid "Entry Title"
|
243 |
msgstr "Inserisci Titolo"
|
244 |
|
245 |
-
#: example-functions.php:
|
246 |
msgid "Description"
|
247 |
msgstr "Descrizione"
|
248 |
|
249 |
-
#: example-functions.php:
|
250 |
msgid "Write a short description for this entry"
|
251 |
msgstr "Scrivi una breve descrizione per questo elemento"
|
252 |
|
253 |
-
#: example-functions.php:
|
254 |
msgid "Entry Image"
|
255 |
msgstr "Inserisci Immagine"
|
256 |
|
257 |
-
#: example-functions.php:
|
258 |
msgid "Image Caption"
|
259 |
msgstr "Didascalia immagine"
|
260 |
|
261 |
-
#: example-functions.php:
|
262 |
msgid "User Profile Metabox"
|
263 |
msgstr "Profilo Utente Metabox"
|
264 |
|
265 |
-
#: example-functions.php:
|
266 |
msgid "Extra Info"
|
267 |
msgstr "Informazioni extra"
|
268 |
|
269 |
-
#: example-functions.php:
|
270 |
msgid "Avatar"
|
271 |
msgstr "Avatar"
|
272 |
|
273 |
-
#: example-functions.php:
|
274 |
msgid "Facebook URL"
|
275 |
msgstr "URL Facebook"
|
276 |
|
277 |
-
#: example-functions.php:
|
278 |
msgid "Twitter URL"
|
279 |
msgstr "URL Twitter"
|
280 |
|
281 |
-
#: example-functions.php:
|
282 |
msgid "Google+ URL"
|
283 |
msgstr "URL Google+"
|
284 |
|
285 |
-
#: example-functions.php:
|
286 |
msgid "Linkedin URL"
|
287 |
msgstr "URL LinkedIn"
|
288 |
|
289 |
-
#: example-functions.php:
|
290 |
msgid "User Field"
|
291 |
msgstr "Campo utente"
|
292 |
|
293 |
-
#: example-functions.php:
|
294 |
msgid "Category Metabox"
|
295 |
-
msgstr ""
|
296 |
|
297 |
-
#: example-functions.php:
|
298 |
msgid "Term Image"
|
299 |
-
msgstr ""
|
300 |
|
301 |
-
#: example-functions.php:
|
302 |
msgid "Arbitrary Term Field"
|
303 |
-
msgstr ""
|
304 |
|
305 |
-
#: example-functions.php:
|
306 |
msgid "Theme Options Metabox"
|
307 |
msgstr "Opzioni Tema Metabox"
|
308 |
|
309 |
-
#: example-functions.php:
|
310 |
msgid "Site Background Color"
|
311 |
msgstr "Colore di sfondo del sito"
|
312 |
|
313 |
-
#: includes/CMB2.php:
|
314 |
-
msgid "Metabox configuration is required to have an ID parameter"
|
315 |
-
msgstr "La configurazione del
|
316 |
|
317 |
-
#: includes/CMB2.php:
|
318 |
msgid "Click to toggle"
|
319 |
msgstr "Clicca per commutare"
|
320 |
|
@@ -326,158 +337,187 @@ msgstr "Prova Ancora"
|
|
326 |
msgid "Remove Embed"
|
327 |
msgstr "Rimuovi Embed"
|
328 |
|
329 |
-
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
332 |
|
333 |
-
#: includes/CMB2_Field.php:
|
334 |
msgid "Add Group"
|
335 |
msgstr "Aggiungi gruppo"
|
336 |
|
337 |
-
#: includes/CMB2_Field.php:
|
338 |
msgid "Remove Group"
|
339 |
msgstr "Rimuovi gruppo"
|
340 |
|
341 |
-
#: includes/CMB2_Field.php:
|
342 |
#: tests/test-cmb-field.php:229
|
343 |
msgid "None"
|
344 |
msgstr "Nessuno"
|
345 |
|
346 |
-
#: includes/CMB2_Field.php:
|
347 |
msgid "Sorry, this field does not have a cmb_id specified."
|
348 |
-
msgstr ""
|
349 |
|
350 |
-
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:
|
351 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
352 |
#: tests/test-cmb-types.php:701
|
353 |
msgid "File:"
|
354 |
msgstr "File:"
|
355 |
|
356 |
-
#: includes/CMB2_JS.php:
|
357 |
msgid "Clear"
|
358 |
msgstr "Pulisci"
|
359 |
|
360 |
-
#: includes/CMB2_JS.php:
|
361 |
msgid "Default"
|
362 |
msgstr "Predefinito"
|
363 |
|
364 |
-
#: includes/CMB2_JS.php:
|
365 |
msgid "Select Color"
|
366 |
msgstr "Seleziona colore"
|
367 |
|
368 |
-
#: includes/CMB2_JS.php:
|
369 |
msgid "Current Color"
|
370 |
msgstr "Colore attuale"
|
371 |
|
372 |
-
#: includes/CMB2_JS.php:
|
373 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
374 |
msgstr "Domenica, Lunedi, Martedì, Mercoledì, Giovedi, Venerdì, Sabato"
|
375 |
|
376 |
-
#: includes/CMB2_JS.php:
|
377 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
378 |
msgstr "Do, Lu, Ma, Me, Gi, Ve, Sa"
|
379 |
|
380 |
-
#: includes/CMB2_JS.php:
|
381 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
382 |
msgstr "Dom, Lun, Mar, Mer, Gio, Ven, Sab"
|
383 |
|
384 |
-
#: includes/CMB2_JS.php:
|
385 |
msgid ""
|
386 |
"January, February, March, April, May, June, July, August, September, "
|
387 |
"October, November, December"
|
388 |
-
msgstr "
|
|
|
|
|
389 |
|
390 |
-
#: includes/CMB2_JS.php:
|
391 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
392 |
msgstr "Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic"
|
393 |
|
394 |
-
#: includes/CMB2_JS.php:
|
395 |
msgid "Next"
|
396 |
msgstr "Successivo"
|
397 |
|
398 |
-
#: includes/CMB2_JS.php:
|
399 |
msgid "Prev"
|
400 |
msgstr "Precedente"
|
401 |
|
402 |
-
#: includes/CMB2_JS.php:
|
403 |
msgid "Today"
|
404 |
msgstr "Oggi"
|
405 |
|
406 |
-
#: includes/CMB2_JS.php:
|
407 |
msgid "Done"
|
408 |
msgstr "Finito"
|
409 |
|
410 |
-
#: includes/CMB2_JS.php:
|
411 |
msgid "Choose Time"
|
412 |
msgstr "Scegli la data"
|
413 |
|
414 |
-
#: includes/CMB2_JS.php:
|
415 |
msgid "Time"
|
416 |
msgstr "Data"
|
417 |
|
418 |
-
#: includes/CMB2_JS.php:
|
419 |
msgid "Hour"
|
420 |
msgstr "Ora"
|
421 |
|
422 |
-
#: includes/CMB2_JS.php:
|
423 |
msgid "Minute"
|
424 |
msgstr "Minuto"
|
425 |
|
426 |
-
#: includes/CMB2_JS.php:
|
427 |
msgid "Second"
|
428 |
msgstr "Secondi"
|
429 |
|
430 |
-
#: includes/CMB2_JS.php:
|
431 |
msgid "Now"
|
432 |
msgstr "Ora"
|
433 |
|
434 |
-
#: includes/CMB2_JS.php:
|
435 |
msgid "Use this file"
|
436 |
msgstr "Usa questo file"
|
437 |
|
438 |
-
#: includes/CMB2_JS.php:
|
439 |
msgid "Use these files"
|
440 |
msgstr "Usa questi file"
|
441 |
|
442 |
-
#: includes/CMB2_JS.php:
|
443 |
msgid "Remove Image"
|
444 |
msgstr "Rimuovi immagine"
|
445 |
|
446 |
-
#: includes/CMB2_JS.php:
|
447 |
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
448 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
449 |
#: tests/test-cmb-types.php:701
|
450 |
msgid "Remove"
|
451 |
msgstr "Rimuovi"
|
452 |
|
453 |
-
#: includes/CMB2_JS.php:
|
454 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
455 |
msgid "Download"
|
456 |
msgstr "Download"
|
457 |
|
458 |
-
#: includes/CMB2_JS.php:
|
459 |
msgid "Select / Deselect All"
|
460 |
msgstr "Seleziona / Deseleziona tutto"
|
461 |
|
462 |
-
#: includes/CMB2_Types.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
msgid "Add Row"
|
464 |
msgstr "Aggiungi Riga"
|
465 |
|
466 |
-
#: includes/CMB2_hookup.php:
|
467 |
msgid ""
|
468 |
-
"Term Metadata is a WordPress
|
469 |
"install."
|
470 |
msgstr ""
|
|
|
|
|
471 |
|
472 |
-
#: includes/CMB2_hookup.php:
|
473 |
-
msgid "Term metaboxes configuration requires a
|
474 |
msgstr ""
|
|
|
|
|
475 |
|
476 |
-
#: includes/helper-functions.php:
|
477 |
-
msgid "No oEmbed Results Found for %s. View more info at %s"
|
478 |
-
msgstr ""
|
479 |
-
|
480 |
-
#: includes/helper-functions.php:279
|
481 |
msgid "Save"
|
482 |
msgstr "Salva"
|
483 |
|
@@ -497,6 +537,10 @@ msgid "No terms"
|
|
497 |
msgstr "Nessun termine"
|
498 |
|
499 |
#. Plugin Name of the plugin/theme
|
|
|
|
|
|
|
|
|
500 |
msgid "CMB2"
|
501 |
msgstr "CMB2"
|
502 |
|
@@ -508,24 +552,22 @@ msgstr "https://github.com/CMB2/CMB2"
|
|
508 |
msgid ""
|
509 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
510 |
"mind."
|
511 |
-
msgstr "
|
512 |
-
|
513 |
-
|
514 |
-
msgid "WebDevStudios"
|
515 |
-
msgstr "WebDevStudios"
|
516 |
|
517 |
#. Author URI of the plugin/theme
|
518 |
-
msgid "
|
519 |
-
msgstr "
|
520 |
|
521 |
-
#: includes/CMB2_JS.php:
|
522 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
523 |
msgid "mm/dd/yy"
|
524 |
msgstr "mm/dd/yy"
|
525 |
|
526 |
-
#: includes/CMB2_JS.php:
|
527 |
msgctxt ""
|
528 |
-
"Valid formatting string, as per "
|
529 |
-
"
|
530 |
msgid "hh:mm TT"
|
531 |
msgstr "hh:mm TT"
|
1 |
+
# Copyright (C) 2017 CMB2 team
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
# Translators:
|
4 |
# Alessandro Curci <hantarex@gmail.com>, 2015
|
5 |
# Andrea Brandi, 2015
|
6 |
+
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015,2017
|
7 |
+
# Emanuele <e@emanuelebartolomucci.com>, 2015
|
8 |
msgid ""
|
9 |
msgstr ""
|
10 |
"Project-Id-Version: CMB2\n"
|
11 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
12 |
+
"POT-Creation-Date: 2016-08-17 14:25:09+00:00\n"
|
13 |
+
"PO-Revision-Date: 2017-11-30 14:22-0500\n"
|
14 |
+
"Last-Translator: Justin Sternberg <justin@dsgnwrks.pro>\n"
|
15 |
+
"Language-Team: Italian (Italy) (http://www.transifex.com/wp-translations/"
|
16 |
+
"cmb2/language/it_IT/)\n"
|
17 |
"MIME-Version: 1.0\n"
|
18 |
"Content-Type: text/plain; charset=UTF-8\n"
|
19 |
"Content-Transfer-Encoding: 8bit\n"
|
20 |
"Language: it_IT\n"
|
21 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
22 |
+
"X-Generator: Poedit 1.8.7\n"
|
23 |
+
"X-Poedit-Basepath: ..\n"
|
24 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
25 |
+
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
26 |
+
"esc_html_x:1,2c\n"
|
|
|
27 |
"X-Poedit-SourceCharset: UTF-8\n"
|
28 |
"X-Textdomain-Support: yes\n"
|
29 |
+
"X-Poedit-SearchPath-0: .\n"
|
30 |
|
31 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
32 |
msgid "Test Metabox"
|
33 |
msgstr "Test Metabox"
|
34 |
|
35 |
+
#: example-functions.php:130 example-functions.php:452
|
36 |
msgid "Test Text"
|
37 |
msgstr "Test Testo"
|
38 |
|
39 |
#: example-functions.php:131 example-functions.php:144
|
40 |
+
#: example-functions.php:157 example-functions.php:164
|
41 |
+
#: example-functions.php:177 example-functions.php:185
|
42 |
+
#: example-functions.php:194 example-functions.php:202
|
43 |
+
#: example-functions.php:217 example-functions.php:225
|
44 |
+
#: example-functions.php:233 example-functions.php:250
|
45 |
+
#: example-functions.php:259 example-functions.php:272
|
46 |
+
#: example-functions.php:279 example-functions.php:286
|
47 |
+
#: example-functions.php:300 example-functions.php:313
|
48 |
+
#: example-functions.php:326 example-functions.php:338
|
49 |
+
#: example-functions.php:347 example-functions.php:355
|
50 |
+
#: example-functions.php:364 example-functions.php:371
|
51 |
+
#: example-functions.php:385 example-functions.php:453
|
52 |
+
#: example-functions.php:544 example-functions.php:552
|
53 |
+
#: example-functions.php:559 example-functions.php:566
|
54 |
+
#: example-functions.php:573 example-functions.php:580
|
55 |
+
#: example-functions.php:587 example-functions.php:614
|
56 |
+
#: example-functions.php:622 example-functions.php:629
|
57 |
+
#: example-functions.php:666 tests/test-cmb-field.php:267
|
58 |
msgid "field description (optional)"
|
59 |
msgstr "descrizione campo (opzionale)"
|
60 |
|
66 |
msgid "Test Text Medium"
|
67 |
msgstr "Test Testo Medio"
|
68 |
|
69 |
+
#: example-functions.php:163
|
70 |
+
msgid "Read-only Disabled Field"
|
71 |
+
msgstr "Disabilita campo in sola lettura"
|
72 |
+
|
73 |
+
#: example-functions.php:167
|
74 |
+
msgid "Hey there, I'm a read-only field"
|
75 |
+
msgstr "Ciao, Io sono un campo di sola lettura"
|
76 |
+
|
77 |
+
#: example-functions.php:176
|
78 |
msgid "Custom Rendered Field"
|
79 |
+
msgstr "Campo personalizzato renderizzato"
|
80 |
|
81 |
+
#: example-functions.php:184
|
82 |
msgid "Website URL"
|
83 |
msgstr "URL Sito"
|
84 |
|
85 |
+
#: example-functions.php:193
|
86 |
msgid "Test Text Email"
|
87 |
msgstr "Test Testo Email"
|
88 |
|
89 |
+
#: example-functions.php:201
|
90 |
msgid "Test Time"
|
91 |
msgstr "Test Orario"
|
92 |
|
93 |
+
#: example-functions.php:209 example-functions.php:210
|
94 |
msgid "Time zone"
|
95 |
msgstr "Time zone"
|
96 |
|
97 |
+
#: example-functions.php:216
|
98 |
msgid "Test Date Picker"
|
99 |
msgstr "Test Date Picker"
|
100 |
|
101 |
+
#: example-functions.php:224
|
102 |
msgid "Test Date Picker (UNIX timestamp)"
|
103 |
msgstr "Test Data Picker (UNIX timestamp)"
|
104 |
|
105 |
+
#: example-functions.php:232
|
106 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
107 |
msgstr "Test Data/Orario Picker Combo (UNIX timestamp)"
|
108 |
|
109 |
+
#: example-functions.php:249
|
110 |
msgid "Test Money"
|
111 |
msgstr "Test Money"
|
112 |
|
113 |
+
#: example-functions.php:258
|
114 |
msgid "Test Color Picker"
|
115 |
msgstr "Test Color Picker"
|
116 |
|
117 |
+
#: example-functions.php:271
|
118 |
msgid "Test Text Area"
|
119 |
msgstr "Test Text Area"
|
120 |
|
121 |
+
#: example-functions.php:278
|
122 |
msgid "Test Text Area Small"
|
123 |
msgstr "Test Text Area Piccola"
|
124 |
|
125 |
+
#: example-functions.php:285
|
126 |
msgid "Test Text Area for Code"
|
127 |
msgstr "Test Text Area per Codice"
|
128 |
|
129 |
+
#: example-functions.php:292
|
130 |
msgid "Test Title Weeeee"
|
131 |
msgstr "Test Titolo Weeeee"
|
132 |
|
133 |
+
#: example-functions.php:293
|
134 |
msgid "This is a title description"
|
135 |
msgstr "Questa è una descrizione del titolo"
|
136 |
|
137 |
+
#: example-functions.php:299
|
138 |
msgid "Test Select"
|
139 |
msgstr "Test Select"
|
140 |
|
141 |
+
#: example-functions.php:305 example-functions.php:318
|
142 |
+
#: example-functions.php:330
|
143 |
msgid "Option One"
|
144 |
msgstr "Opzione uno"
|
145 |
|
146 |
+
#: example-functions.php:306 example-functions.php:319
|
147 |
+
#: example-functions.php:331
|
148 |
msgid "Option Two"
|
149 |
msgstr "Opzione Due"
|
150 |
|
151 |
+
#: example-functions.php:307 example-functions.php:320
|
152 |
+
#: example-functions.php:332
|
153 |
msgid "Option Three"
|
154 |
msgstr "Opzione Tre"
|
155 |
|
156 |
+
#: example-functions.php:312
|
157 |
msgid "Test Radio inline"
|
158 |
msgstr "Test Radio inline"
|
159 |
|
160 |
+
#: example-functions.php:325
|
161 |
msgid "Test Radio"
|
162 |
msgstr "Test Radio"
|
163 |
|
164 |
+
#: example-functions.php:337
|
165 |
msgid "Test Taxonomy Radio"
|
166 |
msgstr "Test Tassonomia Radio"
|
167 |
|
168 |
+
#: example-functions.php:346
|
169 |
msgid "Test Taxonomy Select"
|
170 |
msgstr "Test Seleziona Tassonomia"
|
171 |
|
172 |
+
#: example-functions.php:354
|
173 |
msgid "Test Taxonomy Multi Checkbox"
|
174 |
msgstr "Test Tassonomia Multi Checkbox"
|
175 |
|
176 |
+
#: example-functions.php:363
|
177 |
msgid "Test Checkbox"
|
178 |
msgstr "Test Checkbox"
|
179 |
|
180 |
+
#: example-functions.php:370 tests/test-cmb-field.php:266
|
181 |
msgid "Test Multi Checkbox"
|
182 |
msgstr "Test Multi Checkbox"
|
183 |
|
184 |
+
#: example-functions.php:376 tests/test-cmb-field.php:272
|
185 |
msgid "Check One"
|
186 |
msgstr "Check Uno"
|
187 |
|
188 |
+
#: example-functions.php:377 tests/test-cmb-field.php:273
|
189 |
msgid "Check Two"
|
190 |
msgstr "Check Due"
|
191 |
|
192 |
+
#: example-functions.php:378 tests/test-cmb-field.php:274
|
193 |
msgid "Check Three"
|
194 |
msgstr "Check Tre"
|
195 |
|
196 |
+
#: example-functions.php:384
|
197 |
msgid "Test wysiwyg"
|
198 |
msgstr "Test wysiwyg"
|
199 |
|
200 |
+
#: example-functions.php:392
|
201 |
msgid "Test Image"
|
202 |
msgstr "Test Immagine"
|
203 |
|
204 |
+
#: example-functions.php:393
|
205 |
msgid "Upload an image or enter a URL."
|
206 |
msgstr "Carica una immagine o inserisci una URL"
|
207 |
|
208 |
+
#: example-functions.php:399
|
209 |
msgid "Multiple Files"
|
210 |
msgstr "File Multipli"
|
211 |
|
212 |
+
#: example-functions.php:400
|
213 |
msgid "Upload or add multiple images/attachments."
|
214 |
msgstr "Carica o aggiungi immagini/allegati multipli"
|
215 |
|
216 |
+
#: example-functions.php:407
|
217 |
msgid "oEmbed"
|
218 |
msgstr "oEmbed"
|
219 |
|
220 |
+
#. translators: %s: link to codex.wordpress.org/Embeds
|
221 |
+
#: example-functions.php:410
|
222 |
msgid ""
|
223 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
224 |
+
msgstr ""
|
225 |
+
"Inserisci una URL di youtube, twitter o instagram. Servizi supportato sono "
|
226 |
+
"elencati su %s."
|
227 |
|
228 |
+
#: example-functions.php:443
|
229 |
msgid "About Page Metabox"
|
230 |
msgstr "About Page Metabox"
|
231 |
|
232 |
+
#: example-functions.php:472
|
233 |
msgid "Repeating Field Group"
|
234 |
msgstr "Gruppo Campi Ripetuto"
|
235 |
|
236 |
+
#: example-functions.php:480
|
237 |
msgid "Generates reusable form entries"
|
238 |
msgstr "Genera elementi del form riusabili"
|
239 |
|
240 |
+
#: example-functions.php:482
|
241 |
msgid "Entry {#}"
|
242 |
msgstr "Instanza {#}"
|
243 |
|
244 |
+
#: example-functions.php:483
|
245 |
msgid "Add Another Entry"
|
246 |
msgstr "Aggiungi una nuova instanza"
|
247 |
|
248 |
+
#: example-functions.php:484
|
249 |
msgid "Remove Entry"
|
250 |
msgstr "Rimuovi instanza"
|
251 |
|
252 |
+
#: example-functions.php:497
|
253 |
msgid "Entry Title"
|
254 |
msgstr "Inserisci Titolo"
|
255 |
|
256 |
+
#: example-functions.php:504
|
257 |
msgid "Description"
|
258 |
msgstr "Descrizione"
|
259 |
|
260 |
+
#: example-functions.php:505
|
261 |
msgid "Write a short description for this entry"
|
262 |
msgstr "Scrivi una breve descrizione per questo elemento"
|
263 |
|
264 |
+
#: example-functions.php:511
|
265 |
msgid "Entry Image"
|
266 |
msgstr "Inserisci Immagine"
|
267 |
|
268 |
+
#: example-functions.php:517
|
269 |
msgid "Image Caption"
|
270 |
msgstr "Didascalia immagine"
|
271 |
|
272 |
+
#: example-functions.php:536
|
273 |
msgid "User Profile Metabox"
|
274 |
msgstr "Profilo Utente Metabox"
|
275 |
|
276 |
+
#: example-functions.php:543 example-functions.php:613
|
277 |
msgid "Extra Info"
|
278 |
msgstr "Informazioni extra"
|
279 |
|
280 |
+
#: example-functions.php:551
|
281 |
msgid "Avatar"
|
282 |
msgstr "Avatar"
|
283 |
|
284 |
+
#: example-functions.php:558
|
285 |
msgid "Facebook URL"
|
286 |
msgstr "URL Facebook"
|
287 |
|
288 |
+
#: example-functions.php:565
|
289 |
msgid "Twitter URL"
|
290 |
msgstr "URL Twitter"
|
291 |
|
292 |
+
#: example-functions.php:572
|
293 |
msgid "Google+ URL"
|
294 |
msgstr "URL Google+"
|
295 |
|
296 |
+
#: example-functions.php:579
|
297 |
msgid "Linkedin URL"
|
298 |
msgstr "URL LinkedIn"
|
299 |
|
300 |
+
#: example-functions.php:586
|
301 |
msgid "User Field"
|
302 |
msgstr "Campo utente"
|
303 |
|
304 |
+
#: example-functions.php:606
|
305 |
msgid "Category Metabox"
|
306 |
+
msgstr "Metabox categoria"
|
307 |
|
308 |
+
#: example-functions.php:621
|
309 |
msgid "Term Image"
|
310 |
+
msgstr "Immagine della tassonomia"
|
311 |
|
312 |
+
#: example-functions.php:628
|
313 |
msgid "Arbitrary Term Field"
|
314 |
+
msgstr "Campo Arbitrary Term"
|
315 |
|
316 |
+
#: example-functions.php:650
|
317 |
msgid "Theme Options Metabox"
|
318 |
msgstr "Opzioni Tema Metabox"
|
319 |
|
320 |
+
#: example-functions.php:665
|
321 |
msgid "Site Background Color"
|
322 |
msgstr "Colore di sfondo del sito"
|
323 |
|
324 |
+
#: includes/CMB2.php:117
|
325 |
+
msgid "Metabox configuration is required to have an ID parameter."
|
326 |
+
msgstr "La configurazione del metabox richiede un parametro ID."
|
327 |
|
328 |
+
#: includes/CMB2.php:432
|
329 |
msgid "Click to toggle"
|
330 |
msgstr "Clicca per commutare"
|
331 |
|
337 |
msgid "Remove Embed"
|
338 |
msgstr "Rimuovi Embed"
|
339 |
|
340 |
+
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
341 |
+
#: includes/CMB2_Ajax.php:181 includes/helper-functions.php:95
|
342 |
+
#: tests/cmb-tests-base.php:68
|
343 |
+
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
344 |
+
msgstr ""
|
345 |
+
"Nessun risultato OEmbed trovato per %1$s. Per altre informazioni vedi su%2$s."
|
346 |
|
347 |
+
#: includes/CMB2_Field.php:1144
|
348 |
msgid "Add Group"
|
349 |
msgstr "Aggiungi gruppo"
|
350 |
|
351 |
+
#: includes/CMB2_Field.php:1145
|
352 |
msgid "Remove Group"
|
353 |
msgstr "Rimuovi gruppo"
|
354 |
|
355 |
+
#: includes/CMB2_Field.php:1167 includes/CMB2_Field.php:1171
|
356 |
#: tests/test-cmb-field.php:229
|
357 |
msgid "None"
|
358 |
msgstr "Nessuno"
|
359 |
|
360 |
+
#: includes/CMB2_Field.php:1232
|
361 |
msgid "Sorry, this field does not have a cmb_id specified."
|
362 |
+
msgstr "Spiacenti, questo campo non ha il valore cmb_id specificato."
|
363 |
|
364 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:155
|
365 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
366 |
#: tests/test-cmb-types.php:701
|
367 |
msgid "File:"
|
368 |
msgstr "File:"
|
369 |
|
370 |
+
#: includes/CMB2_JS.php:96 includes/CMB2_JS.php:135
|
371 |
msgid "Clear"
|
372 |
msgstr "Pulisci"
|
373 |
|
374 |
+
#: includes/CMB2_JS.php:97
|
375 |
msgid "Default"
|
376 |
msgstr "Predefinito"
|
377 |
|
378 |
+
#: includes/CMB2_JS.php:98
|
379 |
msgid "Select Color"
|
380 |
msgstr "Seleziona colore"
|
381 |
|
382 |
+
#: includes/CMB2_JS.php:99
|
383 |
msgid "Current Color"
|
384 |
msgstr "Colore attuale"
|
385 |
|
386 |
+
#: includes/CMB2_JS.php:126
|
387 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
388 |
msgstr "Domenica, Lunedi, Martedì, Mercoledì, Giovedi, Venerdì, Sabato"
|
389 |
|
390 |
+
#: includes/CMB2_JS.php:127
|
391 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
392 |
msgstr "Do, Lu, Ma, Me, Gi, Ve, Sa"
|
393 |
|
394 |
+
#: includes/CMB2_JS.php:128
|
395 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
396 |
msgstr "Dom, Lun, Mar, Mer, Gio, Ven, Sab"
|
397 |
|
398 |
+
#: includes/CMB2_JS.php:129
|
399 |
msgid ""
|
400 |
"January, February, March, April, May, June, July, August, September, "
|
401 |
"October, November, December"
|
402 |
+
msgstr ""
|
403 |
+
"Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, "
|
404 |
+
"Ottobre, Novembre, Dicembre"
|
405 |
|
406 |
+
#: includes/CMB2_JS.php:130
|
407 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
408 |
msgstr "Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic"
|
409 |
|
410 |
+
#: includes/CMB2_JS.php:131
|
411 |
msgid "Next"
|
412 |
msgstr "Successivo"
|
413 |
|
414 |
+
#: includes/CMB2_JS.php:132
|
415 |
msgid "Prev"
|
416 |
msgstr "Precedente"
|
417 |
|
418 |
+
#: includes/CMB2_JS.php:133
|
419 |
msgid "Today"
|
420 |
msgstr "Oggi"
|
421 |
|
422 |
+
#: includes/CMB2_JS.php:134 includes/CMB2_JS.php:144
|
423 |
msgid "Done"
|
424 |
msgstr "Finito"
|
425 |
|
426 |
+
#: includes/CMB2_JS.php:138
|
427 |
msgid "Choose Time"
|
428 |
msgstr "Scegli la data"
|
429 |
|
430 |
+
#: includes/CMB2_JS.php:139
|
431 |
msgid "Time"
|
432 |
msgstr "Data"
|
433 |
|
434 |
+
#: includes/CMB2_JS.php:140
|
435 |
msgid "Hour"
|
436 |
msgstr "Ora"
|
437 |
|
438 |
+
#: includes/CMB2_JS.php:141
|
439 |
msgid "Minute"
|
440 |
msgstr "Minuto"
|
441 |
|
442 |
+
#: includes/CMB2_JS.php:142
|
443 |
msgid "Second"
|
444 |
msgstr "Secondi"
|
445 |
|
446 |
+
#: includes/CMB2_JS.php:143
|
447 |
msgid "Now"
|
448 |
msgstr "Ora"
|
449 |
|
450 |
+
#: includes/CMB2_JS.php:151
|
451 |
msgid "Use this file"
|
452 |
msgstr "Usa questo file"
|
453 |
|
454 |
+
#: includes/CMB2_JS.php:152
|
455 |
msgid "Use these files"
|
456 |
msgstr "Usa questi file"
|
457 |
|
458 |
+
#: includes/CMB2_JS.php:153 includes/types/CMB2_Type_File_Base.php:61
|
459 |
msgid "Remove Image"
|
460 |
msgstr "Rimuovi immagine"
|
461 |
|
462 |
+
#: includes/CMB2_JS.php:154 includes/CMB2_Types.php:303
|
463 |
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
464 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
465 |
#: tests/test-cmb-types.php:701
|
466 |
msgid "Remove"
|
467 |
msgstr "Rimuovi"
|
468 |
|
469 |
+
#: includes/CMB2_JS.php:156 includes/types/CMB2_Type_File_Base.php:78
|
470 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
471 |
msgid "Download"
|
472 |
msgstr "Download"
|
473 |
|
474 |
+
#: includes/CMB2_JS.php:157
|
475 |
msgid "Select / Deselect All"
|
476 |
msgstr "Seleziona / Deseleziona tutto"
|
477 |
|
478 |
+
#: includes/CMB2_Types.php:171
|
479 |
+
msgid ""
|
480 |
+
"Custom field types require a Type object instantiation to use this method. "
|
481 |
+
"This method was called by the '%s' field type."
|
482 |
+
msgstr ""
|
483 |
+
"I campi personalizzati richiedono una instanziazione dell'oggetto Type per "
|
484 |
+
"usare questo metodo. Questo metodo è stato chiamato dal tipo di campo '%s'."
|
485 |
+
|
486 |
+
#: includes/CMB2_Types.php:174
|
487 |
+
msgid "That field type may not work as expected."
|
488 |
+
msgstr "Questo campo potrebbe non funzionare come previsto."
|
489 |
+
|
490 |
+
#: includes/CMB2_Types.php:175
|
491 |
+
msgid "That field type will not work as expected."
|
492 |
+
msgstr "Questo campo potrebbe non funzionare in modo corretto."
|
493 |
+
|
494 |
+
#: includes/CMB2_Types.php:177
|
495 |
+
msgid ""
|
496 |
+
"For more information about this change see: https://github.com/mustardBees/"
|
497 |
+
"cmb-field-select2/pull/34w"
|
498 |
+
msgstr ""
|
499 |
+
"Per altre informazioni riguardo questo cambiamento: https://github.com/"
|
500 |
+
"mustardBees/cmb-field-select2/pull/34w"
|
501 |
+
|
502 |
+
#: includes/CMB2_Types.php:240
|
503 |
msgid "Add Row"
|
504 |
msgstr "Aggiungi Riga"
|
505 |
|
506 |
+
#: includes/CMB2_hookup.php:128
|
507 |
msgid ""
|
508 |
+
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
509 |
"install."
|
510 |
msgstr ""
|
511 |
+
"Il supporto ai Term Metadata sono una funzionalità per WordPress 4.4. "
|
512 |
+
"Aggiorna la tua installazione di WordPress."
|
513 |
|
514 |
+
#: includes/CMB2_hookup.php:132
|
515 |
+
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
516 |
msgstr ""
|
517 |
+
"I metabox delle configurazioni per le tassonomie richiede il parametro "
|
518 |
+
"\"taxonomies\"."
|
519 |
|
520 |
+
#: includes/helper-functions.php:284
|
|
|
|
|
|
|
|
|
521 |
msgid "Save"
|
522 |
msgstr "Salva"
|
523 |
|
537 |
msgstr "Nessun termine"
|
538 |
|
539 |
#. Plugin Name of the plugin/theme
|
540 |
+
msgid "CMB2 team"
|
541 |
+
msgstr "CMB2 team"
|
542 |
+
|
543 |
+
#. Author of the plugin/theme
|
544 |
msgid "CMB2"
|
545 |
msgstr "CMB2"
|
546 |
|
552 |
msgid ""
|
553 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
554 |
"mind."
|
555 |
+
msgstr ""
|
556 |
+
"CMB2 crea metabox e form con campi personalizzati che ti faranno esplodere "
|
557 |
+
"la testa."
|
|
|
|
|
558 |
|
559 |
#. Author URI of the plugin/theme
|
560 |
+
msgid "https://cmb2.io"
|
561 |
+
msgstr "https://cmb2.io"
|
562 |
|
563 |
+
#: includes/CMB2_JS.php:125
|
564 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
565 |
msgid "mm/dd/yy"
|
566 |
msgstr "mm/dd/yy"
|
567 |
|
568 |
+
#: includes/CMB2_JS.php:145
|
569 |
msgctxt ""
|
570 |
+
"Valid formatting string, as per http://trentrichardson.com/examples/"
|
571 |
+
"timepicker/"
|
572 |
msgid "hh:mm TT"
|
573 |
msgstr "hh:mm TT"
|
includes/vendor/cmb2/languages/cmb2.pot
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: CMB2 2.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
7 |
-
"POT-Creation-Date: 2017-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2017-
|
12 |
"Last-Translator: CMB2 Team hello@cmb2.io\n"
|
13 |
"Language-Team: CMB2 Team hello@cmb2.io\n"
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
@@ -28,7 +28,7 @@ msgstr ""
|
|
28 |
msgid "Test Metabox"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: example-functions.php:130 example-functions.php:
|
32 |
msgid "Test Text"
|
33 |
msgstr ""
|
34 |
|
@@ -38,19 +38,19 @@ msgstr ""
|
|
38 |
#: example-functions.php:194 example-functions.php:202
|
39 |
#: example-functions.php:217 example-functions.php:225
|
40 |
#: example-functions.php:233 example-functions.php:250
|
41 |
-
#: example-functions.php:259 example-functions.php:
|
42 |
-
#: example-functions.php:
|
43 |
-
#: example-functions.php:
|
44 |
-
#: example-functions.php:
|
45 |
-
#: example-functions.php:
|
46 |
-
#: example-functions.php:
|
47 |
-
#: example-functions.php:
|
48 |
-
#: example-functions.php:
|
49 |
-
#: example-functions.php:
|
50 |
-
#: example-functions.php:
|
51 |
-
#: example-functions.php:
|
52 |
-
#: example-functions.php:
|
53 |
-
#: example-functions.php:
|
54 |
msgid "field description (optional)"
|
55 |
msgstr ""
|
56 |
|
@@ -110,235 +110,239 @@ msgstr ""
|
|
110 |
msgid "Test Color Picker"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: example-functions.php:
|
114 |
msgid "Test Text Area"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: example-functions.php:
|
118 |
msgid "Test Text Area Small"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: example-functions.php:
|
122 |
msgid "Test Text Area for Code"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: example-functions.php:
|
126 |
msgid "Test Title Weeeee"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: example-functions.php:
|
130 |
msgid "This is a title description"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: example-functions.php:
|
134 |
msgid "Test Select"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: example-functions.php:
|
138 |
-
#: example-functions.php:
|
139 |
msgid "Option One"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: example-functions.php:
|
143 |
-
#: example-functions.php:
|
144 |
msgid "Option Two"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: example-functions.php:
|
148 |
-
#: example-functions.php:
|
149 |
msgid "Option Three"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: example-functions.php:
|
153 |
msgid "Test Radio inline"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: example-functions.php:
|
157 |
msgid "Test Radio"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: example-functions.php:
|
161 |
msgid "Test Taxonomy Radio"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: example-functions.php:
|
165 |
msgid "Test Taxonomy Select"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: example-functions.php:
|
169 |
msgid "Test Taxonomy Multi Checkbox"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: example-functions.php:
|
173 |
msgid "Test Checkbox"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: example-functions.php:
|
177 |
msgid "Test Multi Checkbox"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: example-functions.php:
|
181 |
msgid "Check One"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: example-functions.php:
|
185 |
msgid "Check Two"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: example-functions.php:
|
189 |
msgid "Check Three"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: example-functions.php:
|
193 |
msgid "Test wysiwyg"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: example-functions.php:
|
197 |
msgid "Test Image"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: example-functions.php:
|
201 |
msgid "Upload an image or enter a URL."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: example-functions.php:
|
205 |
msgid "Multiple Files"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: example-functions.php:
|
209 |
msgid "Upload or add multiple images/attachments."
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: example-functions.php:
|
213 |
msgid "oEmbed"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: example-functions.php:
|
217 |
#. translators: %s: link to codex.wordpress.org/Embeds
|
218 |
msgid "Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: example-functions.php:
|
222 |
msgid "About Page Metabox"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: example-functions.php:
|
226 |
msgid "Repeating Field Group"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: example-functions.php:
|
230 |
msgid "Generates reusable form entries"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: example-functions.php:
|
234 |
msgid "Entry {#}"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: example-functions.php:
|
238 |
msgid "Add Another Entry"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: example-functions.php:
|
242 |
msgid "Remove Entry"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: example-functions.php:
|
246 |
msgid "Entry Title"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: example-functions.php:
|
250 |
msgid "Description"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: example-functions.php:
|
254 |
msgid "Write a short description for this entry"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: example-functions.php:
|
258 |
msgid "Entry Image"
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: example-functions.php:
|
262 |
msgid "Image Caption"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: example-functions.php:
|
266 |
msgid "User Profile Metabox"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: example-functions.php:
|
270 |
msgid "Extra Info"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: example-functions.php:
|
274 |
msgid "Avatar"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: example-functions.php:
|
278 |
msgid "Facebook URL"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: example-functions.php:
|
282 |
msgid "Twitter URL"
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: example-functions.php:
|
286 |
msgid "Google+ URL"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: example-functions.php:
|
290 |
msgid "Linkedin URL"
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: example-functions.php:
|
294 |
msgid "User Field"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: example-functions.php:
|
298 |
msgid "Category Metabox"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: example-functions.php:
|
302 |
msgid "Term Image"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: example-functions.php:
|
306 |
msgid "Arbitrary Term Field"
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: example-functions.php:
|
310 |
msgid "Theme Options"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: example-functions.php:
|
314 |
msgid "Site Background Color"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: example-functions.php:
|
|
|
|
|
|
|
|
|
318 |
msgid "REST Test Box"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: example-functions.php:
|
322 |
msgid "REST Test Text"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: example-functions.php:
|
326 |
msgid "Will show in the REST API for this box and for pages."
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: example-functions.php:
|
330 |
msgid "REST Editable Test Text"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: example-functions.php:
|
334 |
msgid "Will show in REST API \"editable\" contexts only (`POST` requests)."
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: includes/CMB2.php:
|
338 |
msgid "Metabox configuration is required to have an ID parameter."
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: includes/CMB2.php:
|
342 |
msgid "Click to toggle"
|
343 |
msgstr ""
|
344 |
|
@@ -346,184 +350,188 @@ msgstr ""
|
|
346 |
msgid "Please Try Again"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: includes/CMB2_Ajax.php:181 tests/cmb-tests-base.php:
|
350 |
msgid "Remove Embed"
|
351 |
msgstr ""
|
352 |
|
353 |
#: includes/CMB2_Ajax.php:189 includes/helper-functions.php:105
|
354 |
-
#: tests/cmb-tests-base.php:68 tests/test-cmb-types-display.php:
|
355 |
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
356 |
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/CMB2_Base.php:
|
360 |
msgid ""
|
361 |
"The \"%1$s\" field parameter has been deprecated in favor of the \"%1$s\" "
|
362 |
"parameter."
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/CMB2_Base.php:
|
366 |
msgid ""
|
367 |
"Using the \"%1$s\" field parameter as a callback has been deprecated in "
|
368 |
"favor of the \"%1$s\" parameter."
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: includes/CMB2_Base.php:
|
372 |
msgid ""
|
373 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
374 |
"version %2$s! %3$s"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/CMB2_Base.php:
|
378 |
msgid ""
|
379 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
380 |
"version %2$s with no alternative available."
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: includes/CMB2_Base.php:
|
384 |
-
#: includes/types/CMB2_Type_Base.php:149
|
385 |
msgid "Invalid %1$s property: %2$s"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: includes/CMB2_Base.php:
|
389 |
msgid "Invalid %1$s method: %2$s"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: includes/CMB2_Field.php:
|
393 |
msgid "Add Group"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: includes/CMB2_Field.php:
|
397 |
msgid "Remove Group"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: includes/CMB2_Field.php:
|
401 |
#: tests/test-cmb-field.php:237
|
402 |
msgid "None"
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: includes/CMB2_Field.php:
|
406 |
msgid "Sorry, this field does not have a cmb_id specified."
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: includes/CMB2_Field_Display.php:432 includes/CMB2_JS.php:
|
410 |
#: includes/types/CMB2_Type_File_Base.php:78 tests/test-cmb-types-base.php:149
|
411 |
-
#: tests/test-cmb-types.php:
|
412 |
msgid "File:"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: includes/
|
|
|
|
|
|
|
|
|
416 |
msgid "Clear"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: includes/CMB2_JS.php:
|
420 |
msgid "Default"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: includes/CMB2_JS.php:
|
424 |
msgid "Select Color"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: includes/CMB2_JS.php:
|
428 |
msgid "Current Color"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: includes/CMB2_JS.php:
|
432 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: includes/CMB2_JS.php:
|
436 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: includes/CMB2_JS.php:
|
440 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/CMB2_JS.php:
|
444 |
msgid ""
|
445 |
"January, February, March, April, May, June, July, August, September, "
|
446 |
"October, November, December"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: includes/CMB2_JS.php:
|
450 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: includes/CMB2_JS.php:
|
454 |
msgid "Next"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: includes/CMB2_JS.php:
|
458 |
msgid "Prev"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: includes/CMB2_JS.php:
|
462 |
msgid "Today"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: includes/CMB2_JS.php:
|
466 |
msgid "Done"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: includes/CMB2_JS.php:
|
470 |
msgid "Choose Time"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: includes/CMB2_JS.php:
|
474 |
msgid "Time"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: includes/CMB2_JS.php:
|
478 |
msgid "Hour"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/CMB2_JS.php:
|
482 |
msgid "Minute"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: includes/CMB2_JS.php:
|
486 |
msgid "Second"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/CMB2_JS.php:
|
490 |
msgid "Now"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/CMB2_JS.php:
|
494 |
msgid "Use this file"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/CMB2_JS.php:
|
498 |
msgid "Use these files"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: includes/CMB2_JS.php:
|
502 |
msgid "Remove Image"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: includes/CMB2_JS.php:
|
506 |
#: includes/types/CMB2_Type_File_Base.php:83 tests/test-cmb-types-base.php:149
|
507 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
508 |
-
#: tests/test-cmb-types.php:
|
509 |
msgid "Remove"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: includes/CMB2_JS.php:
|
513 |
-
#: tests/test-cmb-types-base.php:149 tests/test-cmb-types.php:
|
514 |
msgid "Download"
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: includes/CMB2_JS.php:
|
518 |
msgid "Select / Deselect All"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: includes/CMB2_Options_Hookup.php:
|
522 |
-
msgid "
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: includes/CMB2_Options_Hookup.php:
|
526 |
-
msgid "
|
527 |
msgstr ""
|
528 |
|
529 |
#: includes/CMB2_Types.php:231
|
@@ -539,17 +547,17 @@ msgstr ""
|
|
539 |
msgid "Remove Row"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/CMB2_hookup.php:
|
543 |
msgid ""
|
544 |
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
545 |
"install."
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: includes/CMB2_hookup.php:
|
549 |
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: includes/CMB2_hookup.php:
|
553 |
msgid "Toggle panel: %s"
|
554 |
msgstr ""
|
555 |
|
@@ -638,50 +646,51 @@ msgstr ""
|
|
638 |
msgid "Value Error for %s"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: includes/shim/WP_REST_Controller.php:
|
642 |
-
|
|
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: includes/shim/WP_REST_Controller.php:
|
646 |
-
#: includes/shim/WP_REST_Controller.php:
|
647 |
-
#: includes/shim/WP_REST_Controller.php:
|
648 |
-
#: includes/shim/WP_REST_Controller.php:
|
649 |
-
#: includes/shim/WP_REST_Controller.php:
|
650 |
-
#: includes/shim/WP_REST_Controller.php:
|
651 |
-
#: includes/shim/WP_REST_Controller.php:
|
652 |
-
#: includes/shim/WP_REST_Controller.php:
|
653 |
-
#: includes/shim/WP_REST_Controller.php:
|
654 |
-
#: includes/shim/WP_REST_Controller.php:
|
655 |
-
#: includes/shim/WP_REST_Controller.php:
|
656 |
-
#: includes/shim/WP_REST_Controller.php:
|
657 |
-
msgid "Method '%s' not implemented. Must be
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: includes/shim/WP_REST_Controller.php:
|
661 |
msgid "Current page of the collection."
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: includes/shim/WP_REST_Controller.php:
|
665 |
msgid "Maximum number of items to be returned in result set."
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: includes/shim/WP_REST_Controller.php:
|
669 |
msgid "Limit results to those matching a string."
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: includes/shim/WP_REST_Controller.php:
|
673 |
msgid ""
|
674 |
"Scope under which the request is made; determines fields present in "
|
675 |
"response."
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: includes/types/CMB2_Type_File.php:76 tests/test-cmb-types.php:
|
679 |
-
#: tests/test-cmb-types.php:
|
680 |
msgid "Add or Upload File"
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: includes/types/CMB2_Type_File_List.php:41 tests/test-cmb-types.php:
|
684 |
-
#: tests/test-cmb-types.php:
|
685 |
msgid "Add or Upload Files"
|
686 |
msgstr ""
|
687 |
|
@@ -711,12 +720,12 @@ msgstr ""
|
|
711 |
msgid "https://cmb2.io"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: includes/CMB2_JS.php:
|
715 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
716 |
msgid "mm/dd/yy"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: includes/CMB2_JS.php:
|
720 |
msgctxt ""
|
721 |
"Valid formatting string, as per "
|
722 |
"http://trentrichardson.com/examples/timepicker/"
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: CMB2 2.3.0\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
7 |
+
"POT-Creation-Date: 2017-11-27 20:48:19+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2017-11-27 20:48+300\n"
|
12 |
"Last-Translator: CMB2 Team hello@cmb2.io\n"
|
13 |
"Language-Team: CMB2 Team hello@cmb2.io\n"
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
28 |
msgid "Test Metabox"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: example-functions.php:130 example-functions.php:459
|
32 |
msgid "Test Text"
|
33 |
msgstr ""
|
34 |
|
38 |
#: example-functions.php:194 example-functions.php:202
|
39 |
#: example-functions.php:217 example-functions.php:225
|
40 |
#: example-functions.php:233 example-functions.php:250
|
41 |
+
#: example-functions.php:259 example-functions.php:275
|
42 |
+
#: example-functions.php:282 example-functions.php:289
|
43 |
+
#: example-functions.php:303 example-functions.php:316
|
44 |
+
#: example-functions.php:329 example-functions.php:341
|
45 |
+
#: example-functions.php:350 example-functions.php:358
|
46 |
+
#: example-functions.php:367 example-functions.php:374
|
47 |
+
#: example-functions.php:388 example-functions.php:460
|
48 |
+
#: example-functions.php:551 example-functions.php:559
|
49 |
+
#: example-functions.php:566 example-functions.php:573
|
50 |
+
#: example-functions.php:580 example-functions.php:587
|
51 |
+
#: example-functions.php:594 example-functions.php:621
|
52 |
+
#: example-functions.php:629 example-functions.php:636
|
53 |
+
#: example-functions.php:682 tests/test-cmb-field.php:275
|
54 |
msgid "field description (optional)"
|
55 |
msgstr ""
|
56 |
|
110 |
msgid "Test Color Picker"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: example-functions.php:274
|
114 |
msgid "Test Text Area"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: example-functions.php:281
|
118 |
msgid "Test Text Area Small"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: example-functions.php:288
|
122 |
msgid "Test Text Area for Code"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: example-functions.php:295
|
126 |
msgid "Test Title Weeeee"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: example-functions.php:296
|
130 |
msgid "This is a title description"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: example-functions.php:302
|
134 |
msgid "Test Select"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: example-functions.php:308 example-functions.php:321
|
138 |
+
#: example-functions.php:333
|
139 |
msgid "Option One"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: example-functions.php:309 example-functions.php:322
|
143 |
+
#: example-functions.php:334
|
144 |
msgid "Option Two"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: example-functions.php:310 example-functions.php:323
|
148 |
+
#: example-functions.php:335
|
149 |
msgid "Option Three"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: example-functions.php:315
|
153 |
msgid "Test Radio inline"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: example-functions.php:328
|
157 |
msgid "Test Radio"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: example-functions.php:340
|
161 |
msgid "Test Taxonomy Radio"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: example-functions.php:349
|
165 |
msgid "Test Taxonomy Select"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: example-functions.php:357
|
169 |
msgid "Test Taxonomy Multi Checkbox"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: example-functions.php:366
|
173 |
msgid "Test Checkbox"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: example-functions.php:373 tests/test-cmb-field.php:274
|
177 |
msgid "Test Multi Checkbox"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: example-functions.php:379 tests/test-cmb-field.php:280
|
181 |
msgid "Check One"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: example-functions.php:380 tests/test-cmb-field.php:281
|
185 |
msgid "Check Two"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: example-functions.php:381 tests/test-cmb-field.php:282
|
189 |
msgid "Check Three"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: example-functions.php:387
|
193 |
msgid "Test wysiwyg"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: example-functions.php:397
|
197 |
msgid "Test Image"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: example-functions.php:398
|
201 |
msgid "Upload an image or enter a URL."
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: example-functions.php:404
|
205 |
msgid "Multiple Files"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: example-functions.php:405
|
209 |
msgid "Upload or add multiple images/attachments."
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: example-functions.php:412
|
213 |
msgid "oEmbed"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: example-functions.php:415
|
217 |
#. translators: %s: link to codex.wordpress.org/Embeds
|
218 |
msgid "Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: example-functions.php:448
|
222 |
msgid "About Page Metabox"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: example-functions.php:479
|
226 |
msgid "Repeating Field Group"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: example-functions.php:487
|
230 |
msgid "Generates reusable form entries"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: example-functions.php:489
|
234 |
msgid "Entry {#}"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: example-functions.php:490
|
238 |
msgid "Add Another Entry"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: example-functions.php:491
|
242 |
msgid "Remove Entry"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: example-functions.php:504
|
246 |
msgid "Entry Title"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: example-functions.php:511
|
250 |
msgid "Description"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: example-functions.php:512
|
254 |
msgid "Write a short description for this entry"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: example-functions.php:518
|
258 |
msgid "Entry Image"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: example-functions.php:524
|
262 |
msgid "Image Caption"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: example-functions.php:543
|
266 |
msgid "User Profile Metabox"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: example-functions.php:550 example-functions.php:620
|
270 |
msgid "Extra Info"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: example-functions.php:558
|
274 |
msgid "Avatar"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: example-functions.php:565
|
278 |
msgid "Facebook URL"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: example-functions.php:572
|
282 |
msgid "Twitter URL"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: example-functions.php:579
|
286 |
msgid "Google+ URL"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: example-functions.php:586
|
290 |
msgid "Linkedin URL"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: example-functions.php:593
|
294 |
msgid "User Field"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: example-functions.php:613
|
298 |
msgid "Category Metabox"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: example-functions.php:628
|
302 |
msgid "Term Image"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: example-functions.php:635
|
306 |
msgid "Arbitrary Term Field"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: example-functions.php:654
|
310 |
msgid "Theme Options"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: example-functions.php:681
|
314 |
msgid "Site Background Color"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: example-functions.php:718
|
318 |
+
msgid "%s — Updated!"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: example-functions.php:752
|
322 |
msgid "REST Test Box"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: example-functions.php:761
|
326 |
msgid "REST Test Text"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: example-functions.php:762
|
330 |
msgid "Will show in the REST API for this box and for pages."
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: example-functions.php:768
|
334 |
msgid "REST Editable Test Text"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: example-functions.php:769
|
338 |
msgid "Will show in REST API \"editable\" contexts only (`POST` requests)."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: includes/CMB2.php:176
|
342 |
msgid "Metabox configuration is required to have an ID parameter."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: includes/CMB2.php:578
|
346 |
msgid "Click to toggle"
|
347 |
msgstr ""
|
348 |
|
350 |
msgid "Please Try Again"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: includes/CMB2_Ajax.php:181 tests/cmb-tests-base.php:50
|
354 |
msgid "Remove Embed"
|
355 |
msgstr ""
|
356 |
|
357 |
#: includes/CMB2_Ajax.php:189 includes/helper-functions.php:105
|
358 |
+
#: tests/cmb-tests-base.php:68 tests/test-cmb-types-display.php:208
|
359 |
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
360 |
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: includes/CMB2_Base.php:422
|
364 |
msgid ""
|
365 |
"The \"%1$s\" field parameter has been deprecated in favor of the \"%1$s\" "
|
366 |
"parameter."
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: includes/CMB2_Base.php:426
|
370 |
msgid ""
|
371 |
"Using the \"%1$s\" field parameter as a callback has been deprecated in "
|
372 |
"favor of the \"%1$s\" parameter."
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: includes/CMB2_Base.php:456
|
376 |
msgid ""
|
377 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
378 |
"version %2$s! %3$s"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: includes/CMB2_Base.php:458
|
382 |
msgid ""
|
383 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
384 |
"version %2$s with no alternative available."
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: includes/CMB2_Base.php:491 includes/CMB2_Hookup_Base.php:100
|
388 |
+
#: includes/CMB2_Options_Hookup.php:286 includes/types/CMB2_Type_Base.php:149
|
389 |
msgid "Invalid %1$s property: %2$s"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: includes/CMB2_Base.php:506 includes/types/CMB2_Type_Base.php:133
|
393 |
msgid "Invalid %1$s method: %2$s"
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: includes/CMB2_Field.php:1211
|
397 |
msgid "Add Group"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: includes/CMB2_Field.php:1212
|
401 |
msgid "Remove Group"
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: includes/CMB2_Field.php:1243 includes/CMB2_Field.php:1247
|
405 |
#: tests/test-cmb-field.php:237
|
406 |
msgid "None"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: includes/CMB2_Field.php:1358
|
410 |
msgid "Sorry, this field does not have a cmb_id specified."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: includes/CMB2_Field_Display.php:432 includes/CMB2_JS.php:204
|
414 |
#: includes/types/CMB2_Type_File_Base.php:78 tests/test-cmb-types-base.php:149
|
415 |
+
#: tests/test-cmb-types.php:884
|
416 |
msgid "File:"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: includes/CMB2_Hookup_Base.php:42
|
420 |
+
msgid "%1$s should be implemented by the extended class."
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: includes/CMB2_JS.php:143 includes/CMB2_JS.php:184
|
424 |
msgid "Clear"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/CMB2_JS.php:144
|
428 |
msgid "Default"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/CMB2_JS.php:145
|
432 |
msgid "Select Color"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/CMB2_JS.php:146
|
436 |
msgid "Current Color"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/CMB2_JS.php:175
|
440 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/CMB2_JS.php:176
|
444 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: includes/CMB2_JS.php:177
|
448 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: includes/CMB2_JS.php:178
|
452 |
msgid ""
|
453 |
"January, February, March, April, May, June, July, August, September, "
|
454 |
"October, November, December"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: includes/CMB2_JS.php:179
|
458 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: includes/CMB2_JS.php:180
|
462 |
msgid "Next"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: includes/CMB2_JS.php:181
|
466 |
msgid "Prev"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: includes/CMB2_JS.php:182
|
470 |
msgid "Today"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: includes/CMB2_JS.php:183 includes/CMB2_JS.php:193
|
474 |
msgid "Done"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: includes/CMB2_JS.php:187
|
478 |
msgid "Choose Time"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: includes/CMB2_JS.php:188
|
482 |
msgid "Time"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: includes/CMB2_JS.php:189
|
486 |
msgid "Hour"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: includes/CMB2_JS.php:190
|
490 |
msgid "Minute"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: includes/CMB2_JS.php:191
|
494 |
msgid "Second"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: includes/CMB2_JS.php:192
|
498 |
msgid "Now"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: includes/CMB2_JS.php:200
|
502 |
msgid "Use this file"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: includes/CMB2_JS.php:201
|
506 |
msgid "Use these files"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: includes/CMB2_JS.php:202 includes/types/CMB2_Type_File_Base.php:63
|
510 |
msgid "Remove Image"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/CMB2_JS.php:203 includes/CMB2_Types.php:412
|
514 |
#: includes/types/CMB2_Type_File_Base.php:83 tests/test-cmb-types-base.php:149
|
515 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
516 |
+
#: tests/test-cmb-types.php:884
|
517 |
msgid "Remove"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/CMB2_JS.php:205 includes/types/CMB2_Type_File_Base.php:81
|
521 |
+
#: tests/test-cmb-types-base.php:149 tests/test-cmb-types.php:884
|
522 |
msgid "Download"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: includes/CMB2_JS.php:206
|
526 |
msgid "Select / Deselect All"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: includes/CMB2_Options_Hookup.php:126
|
530 |
+
msgid "Nothing to update."
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: includes/CMB2_Options_Hookup.php:130
|
534 |
+
msgid "Settings updated."
|
535 |
msgstr ""
|
536 |
|
537 |
#: includes/CMB2_Types.php:231
|
547 |
msgid "Remove Row"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: includes/CMB2_hookup.php:181
|
551 |
msgid ""
|
552 |
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
553 |
"install."
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: includes/CMB2_hookup.php:185
|
557 |
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: includes/CMB2_hookup.php:458
|
561 |
msgid "Toggle panel: %s"
|
562 |
msgstr ""
|
563 |
|
646 |
msgid "Value Error for %s"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: includes/shim/WP_REST_Controller.php:25
|
650 |
+
#. translators: %s: register_routes()
|
651 |
+
msgid "Method '%s' must be overridden."
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: includes/shim/WP_REST_Controller.php:35
|
655 |
+
#: includes/shim/WP_REST_Controller.php:47
|
656 |
+
#: includes/shim/WP_REST_Controller.php:59
|
657 |
+
#: includes/shim/WP_REST_Controller.php:71
|
658 |
+
#: includes/shim/WP_REST_Controller.php:83
|
659 |
+
#: includes/shim/WP_REST_Controller.php:95
|
660 |
+
#: includes/shim/WP_REST_Controller.php:107
|
661 |
+
#: includes/shim/WP_REST_Controller.php:119
|
662 |
+
#: includes/shim/WP_REST_Controller.php:131
|
663 |
+
#: includes/shim/WP_REST_Controller.php:143
|
664 |
+
#: includes/shim/WP_REST_Controller.php:155
|
665 |
+
#: includes/shim/WP_REST_Controller.php:168
|
666 |
+
msgid "Method '%s' not implemented. Must be overridden in subclass."
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: includes/shim/WP_REST_Controller.php:273
|
670 |
msgid "Current page of the collection."
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: includes/shim/WP_REST_Controller.php:281
|
674 |
msgid "Maximum number of items to be returned in result set."
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: includes/shim/WP_REST_Controller.php:290
|
678 |
msgid "Limit results to those matching a string."
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: includes/shim/WP_REST_Controller.php:308
|
682 |
msgid ""
|
683 |
"Scope under which the request is made; determines fields present in "
|
684 |
"response."
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/types/CMB2_Type_File.php:76 tests/test-cmb-types.php:860
|
688 |
+
#: tests/test-cmb-types.php:884
|
689 |
msgid "Add or Upload File"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: includes/types/CMB2_Type_File_List.php:41 tests/test-cmb-types.php:809
|
693 |
+
#: tests/test-cmb-types.php:840
|
694 |
msgid "Add or Upload Files"
|
695 |
msgstr ""
|
696 |
|
720 |
msgid "https://cmb2.io"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: includes/CMB2_JS.php:174
|
724 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
725 |
msgid "mm/dd/yy"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/CMB2_JS.php:194
|
729 |
msgctxt ""
|
730 |
"Valid formatting string, as per "
|
731 |
"http://trentrichardson.com/examples/timepicker/"
|
includes/vendor/cmb2/{CHANGELOG.md → readme.txt}
RENAMED
@@ -1,15 +1,183 @@
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
|
6 |
-
|
7 |
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
|
|
11 |
|
12 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
* Spelling/Grammar fixes. Props [@garrett-eclipse](https://github.com/garrett-eclipse) ([#1012](https://github.com/CMB2/CMB2/pull/1012)).
|
15 |
* Fix "PHP Strict Standards: Static function should not be abstract" notice.
|
@@ -19,27 +187,27 @@ All notable changes to this project will be documented in this file.
|
|
19 |
* Change the updated-settings notice query variable so that WordPress does not auto-add settings notices on top of ours.
|
20 |
* For settings pages, only output settings errors if WordPress does not do it by default (for sub-pages of `options-general.php`), and if the errors are not disabled via the `'disable_settings_errors'` box property.
|
21 |
|
22 |
-
|
23 |
|
24 |
-
|
25 |
|
26 |
-
* Fix issue in 2.2.5 with non-sortable repeatable groups not having new groups values be emptied on creation/clone.
|
27 |
-
* Fix issue in 2.2.5 with options pages not saving when
|
28 |
|
29 |
-
|
30 |
|
31 |
-
|
32 |
|
33 |
-
* Fix issue in 2.2.5 which caused empty repeatable groups having the buttons set to have a disabled "Remove Group" button.
|
34 |
|
35 |
-
|
36 |
|
37 |
-
|
38 |
|
39 |
* Options pages are now first-class CMB2 citizens, and registering a box to show on an options page will automatically register the menu page and output the form on the page. [See example](https://github.com/CMB2/CMB2/blob/v2.2.5/example-functions.php#L640-L683). (The [snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages) in the snippet library will be updated to reflect this change)
|
40 |
* Improved Options Page styling. Props [@anhskohbo](https://github.com/anhskohbo) ([#1006](https://github.com/CMB2/CMB2/pull/1006)).
|
41 |
* Improved cohesive styles for repeatable fields. Props [@anhskohbo](https://github.com/anhskohbo) ([#819](https://github.com/CMB2/CMB2/pull/819)).
|
42 |
-
* New field types, `'taxonomy_radio_hierarchical'`, and `'taxonomy_multicheck_hierarchical'`, for displaying taxonomy options in a
|
43 |
* Removing last repeat item row (and repeat group row) is now somewhat allowed in that the "remove" button simply resets the last item to empty. Fixes [#312](https://github.com/CMB2/CMB2/issues/312).
|
44 |
* Enable the additional media library modal filters. Fixes [#873](https://github.com/CMB2/CMB2/issues/873).
|
45 |
* Sanitize the attributes added via the `cmb2_group_wrap_attributes` filter.
|
@@ -52,7 +220,7 @@ All notable changes to this project will be documented in this file.
|
|
52 |
* Break `CMB2_Field:options()` method apart to allow re-setting options from field params. Related: [reaktivstudios/cmb2-flexible-content/pull/8](https://github.com/reaktivstudios/cmb2-flexible-content/pull/8).
|
53 |
* New `CMB2:box_types()` method for getting the array of registered `'object_types'` for a box. Ensures the return is an array.
|
54 |
* Improved inline hooks documentation.
|
55 |
-
* Updated several CMB2 methods to return the CMB2 object (for method chaining). Methods include:
|
56 |
* `CMB2::show_form()`
|
57 |
* `CMB2::render_form_open()`
|
58 |
* `CMB2::render_form_close()`
|
@@ -65,7 +233,7 @@ All notable changes to this project will be documented in this file.
|
|
65 |
* `CMB2::after_save()`
|
66 |
* `CMB2::add_fields()`
|
67 |
|
68 |
-
|
69 |
|
70 |
* Update for `file`/`file_list` fields to properly show a preview for SVG images. Fixes [#874](https://github.com/CMB2/CMB2/pull/874).
|
71 |
* Fix and standardize inconsistent button classes. Update all buttons to use the `.button-secondary` class instead of the `.button` class. This alleviates some front-end issues for themes which target the `.button` class. _This is a backwards-compatibility break._ If your theme or plugin targets the `.button` class within CMB2, you will need to update to use `.button-secondary`.
|
@@ -77,9 +245,9 @@ All notable changes to this project will be documented in this file.
|
|
77 |
* Fix jQuery Migrate's `jQuery.fn.attr('value', val) no longer sets properties` warning.
|
78 |
* Fix issue with CMB2 being too aggressive with stripping slashes from values. Fixes [#981](https://github.com/CMB2/CMB2/issues/981).
|
79 |
|
80 |
-
|
81 |
|
82 |
-
|
83 |
|
84 |
* Modify `'taxonomy_*'` fields to return stored terms for non-post objects.
|
85 |
* Modify `CMB2::get_sanitized_values()` to return the sanitized `'taxonomy_*'` field values. Also added `"cmb2_return_taxonomy_values_{$cmb_id}"` filter to modify if `'taxonomy_*'` field values are returned. Fixes [#538](https://github.com/CMB2/CMB2/issues/538).
|
@@ -100,13 +268,13 @@ All notable changes to this project will be documented in this file.
|
|
100 |
|
101 |
Props [@norcross](https://github.com/norcross) ([#836](https://github.com/CMB2/CMB2/pull/836)).
|
102 |
* New field parameter, `'render_class'`, allowing you to override the default `'CMB2_Type_Base'` class that is used when rendering the field. This provides interesting object-oriented ways to override default CMB2 behavior by subclassing the default class and overriding methods. The render class can also be overridden with the `"cmb2_render_class_{$fieldtype}"` filter, which is passed the default render class name as well as the `CMB2_Types` object, but this should be used sparingly, and within the context of your project's boxes/fields or you could break other plugins'/themes' CMB2 fields.
|
103 |
-
* Improvements to the `file`/`file_list` fields javascript APIs, including using undersore templates.
|
104 |
* Small improvements to the styling for the `file_list` field type.
|
105 |
* New action hook, `cmb2_footer_enqueue`, which occurs after CMB2 enqueues its assets.
|
106 |
* Example functions clean up. Props [@PavelK27](https://github.com/PavelK27) ([#866](https://github.com/CMB2/CMB2/pull/866)).
|
107 |
-
* New `CMB2_Utils` methods, `get_available_image_sizes()` and `get_named_size()`. Props [@Cai333](https://github.com/Cai333).
|
108 |
|
109 |
-
|
110 |
|
111 |
* Fix datepicker month/year dropdown text color. On windows, the option text was showing as white (invisible). Fixes [#770](https://github.com/CMB2/CMB2/issues/770).
|
112 |
* Repeatable WYSIWYG no longer breaks if `'quicktags'` param is set to false. Props [@timburden](https://github.com/timburden) ([#797](https://github.com/CMB2/CMB2/pull/797), [#796](https://github.com/CMB2/CMB2/issues/796)).
|
@@ -121,21 +289,21 @@ All notable changes to this project will be documented in this file.
|
|
121 |
* Do not silence notices/errors in `CMB2_Utils::get_file_ext()`.
|
122 |
* If `title` field type has no name value, then only output a span element (instead of a header element).
|
123 |
|
124 |
-
|
125 |
|
126 |
-
|
127 |
|
128 |
* Better styling for disabled group "X" buttons, and add title attr. Fixes [#773](https://github.com/CMB2/CMB2/issues/773).
|
129 |
|
130 |
-
|
131 |
|
132 |
* Use quotes for `label[for=""]` selector. Fixed `Syntax error, unrecognized expression`. Props [@anhskohbo](https://github.com/anhskohbo) ([#789](https://github.com/CMB2/CMB2/pull/789)).
|
133 |
* Fix `ReferenceError: tinyMCE is not defined` javascript errors (happening when trying to remove a repeatable field/group). Fixes [#790](https://github.com/CMB2/CMB2/issues/790), and [#730](https://github.com/CMB2/CMB2/issues/730).
|
134 |
* Fix REST API `'show_in_rest'` examples in `example-functions.php`. Any REST API boxes/fields must use the `'cmb2_init'` hook (as opposed to the `'cmb2_admin_init'` hook).
|
135 |
|
136 |
-
|
137 |
|
138 |
-
|
139 |
|
140 |
* CMB2 REST API! CMB2 now has WP REST API endpoints for displaying your boxes and fields data, as well as registers rest fields in the existing post, user, term, and comment endpoints (in the cmb2 namespace). Enabling the REST API for your boxes/fields is opt-in, meaning it will not be automatically enabled. For more info, [check out the wiki](https://github.com/CMB2/CMB2/wiki/REST-API).
|
141 |
* Small string improvement, move a period inside the translatable string. Props [@pedro-mendonca](https://github.com/pedro-mendonca) ([#672](https://github.com/CMB2/CMB2/pull/672)).
|
@@ -146,7 +314,7 @@ All notable changes to this project will be documented in this file.
|
|
146 |
* CMB2 JS object is now instantiated without stomping existing object, to enable extending.
|
147 |
* New field parameter for taxonomy fields, `'remove_default'` which allows disabling the default taxonomy metabox. Props [@c3mdigital](https://github.com/c3mdigital) ([#593](https://github.com/CMB2/CMB2/pull/593)).
|
148 |
* Change `'row_classes'` to just `'classes'`, to mirror the metabox `'classes'` property. Also now accepts a `'classes_cb'` parameter for specifying a callback which returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. (`'row_classes'` will continue to work, but is deprecated)
|
149 |
-
* Make wysiwyg editors work in the repeatable groups context. A standard repeatable (non-group) wysiwyg field is not supported (but will possibly be included in a future update). Props [@johnsonpaul1014](https://github.com/johnsonpaul1014) ([#26](https://github.com/CMB2/CMB2/pull/26), [#99](https://github.com/CMB2/CMB2/pull/99), [#260](https://github.com/CMB2/CMB2/pull/260), [#264](https://github.com/CMB2/CMB2/pull/264), [#356](https://github.com/CMB2/CMB2/pull/356), [#431](https://github.com/CMB2/CMB2/pull/431), [#462](https://github.com/CMB2/CMB2/pull/462), [#657](https://github.com/CMB2/CMB2/pull/657), [#693](https://github.com/CMB2/CMB2/pull/693)).
|
150 |
* Add an id to the heading tag in the title field. This allows linking to a particular title using the id.
|
151 |
* Internationalization improvements. Props [ramiy](https://github.com/ramiy) ([#696](https://github.com/CMB2/CMB2/pull/696)).
|
152 |
* Ensure that saving does not happen during a switch-to-blog session, as data would be saved to the wrong object. [See more](https://wordpress.org/support/topic/bug-in-lastest-version?replies=2).
|
@@ -164,23 +332,23 @@ All notable changes to this project will be documented in this file.
|
|
164 |
...
|
165 |
```
|
166 |
|
167 |
-
|
168 |
|
169 |
* If custom field types use a method and the Type object has not been instantiated, Try to guess the Type object and instantiate.
|
170 |
* Normalize WordPress root path (`ABSPATH`) and theme rooth path (`get_theme_root()`). Props [@rianbotha](https://github.com/rianbotha) ([#677](https://github.com/CMB2/CMB2/pull/677), [#676](https://github.com/CMB2/CMB2/pull/676)).
|
171 |
* Fix issue with `'cmb2_remove_row'` Javascript callback for non-group row removal. Fixes [#729](https://github.com/CMB2/CMB2/pull/729)).
|
172 |
* Fix issue with missing assignment of variable (undefined variable). Props [@anhskohbo](https://github.com/anhskohbo) ([#779](https://github.com/CMB2/CMB2/pull/779)).
|
173 |
|
174 |
-
|
175 |
|
176 |
-
|
177 |
|
178 |
* Fix issue that kept CMB2 stylesheet from being enqueued when using the [options-page snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages).
|
179 |
* Fix issue which caused the CMB2 column display styles to be enqueued in the wrong pages. Now only enqueues on admin pages with columns.
|
180 |
|
181 |
-
|
182 |
|
183 |
-
|
184 |
|
185 |
* You can now set admin post-listing columns with an extra field parameter, `'column' => true,`. If you want to dictate what position the column is, use `'column' => array( 'position' => 2 ),`. If you want to dictate the column title (instead of using the field `'name'` value), use `'column' => array( 'name' => 'My Column' ),`. If you need to specify the column display callback, set the `'display_cb'` parameter to [a callback function](https://github.com/CMB2/CMB2/wiki/Field-Parameters#render_row_cb). Columns work for post (all post-types), comment, user, and term object types.
|
186 |
* Updated Datepicker styles using JJJ's "jQuery UI Datepicker CSS for WordPress", so props Props [@stuttter](https://github.com/stuttter), [@johnjamesjacoby](https://github.com/johnjamesjacoby). Also cleaned up the timepicker styles (specifically the buttons) to more closely align with the datepicker and WordPress styles.
|
@@ -198,7 +366,7 @@ All notable changes to this project will be documented in this file.
|
|
198 |
* New `CMB2_Utils` public methods, `get_url_from_dir()`, `get_file_ext()`, `get_file_name_from_path()`, and `wp_at_least()`.
|
199 |
* Add a `cmb_pre_init` Javascript event to allow overriding CMB2 defaults via JS.
|
200 |
|
201 |
-
|
202 |
* Fix issue with 'default' callback not being applied in all instances. Introduced new `CMB2_Field::get_default()` method, and `'default_cb'` field parameter. Using the `'default'` field parameter with a callback will be deprecated in the next few releases. ([#572](https://github.com/CMB2/CMB2/issues/572)).
|
203 |
* Be sure to call `CMB2_Field::row_classes()` for group field rows. Also, update CSS to use the "cmb-type-group" classname instead of "cmb-repeat-group-wrap".
|
204 |
* Introduce new `'text'` and `'text_cb'` field parameters for overriding CMB2 text strings instead of using the `'options'` array. ([#630](https://github.com/CMB2/CMB2/pull/630))
|
@@ -207,15 +375,15 @@ All notable changes to this project will be documented in this file.
|
|
207 |
* Allow for optional/empty money field. Props [@jrfnl](https://github.com/jrfnl) ([#577](https://github.com/CMB2/CMB2/pull/577)).
|
208 |
* The `CMB2::$updated` parameter (which contains field ids for all fields updated during a save) now also correctly adds group field ids to the array.
|
209 |
|
210 |
-
|
211 |
|
212 |
-
|
213 |
|
214 |
* Fixes back-compatibility issue which could allow multiple CMB2 instances to load (causing fatal errors). ([#520](https://github.com/CMB2/CMB2/pull/520))
|
215 |
|
216 |
-
|
217 |
|
218 |
-
|
219 |
|
220 |
* Term Meta! As of WordPress 4.4, [WordPress will have the ability to use term metadata](https://make.wordpress.org/core/2015/10/23/4-4-taxonomy-roundup/). CMB2 will work with term meta out of the box. To do so, see the example cmb registration in the `yourprefix_register_taxonomy_metabox` function in [example-functions.php](https://github.com/CMB2/CMB2/blob/master/example-functions.php).
|
221 |
* New hooks which hook in after save field action: `'cmb2_save_field'` and `"cmb2_save_field_{$field_id}"`. Props [wpsmith](https://github.com/wpsmith) ([#475](https://github.com/CMB2/CMB2/pull/475)).
|
@@ -227,7 +395,8 @@ All notable changes to this project will be documented in this file.
|
|
227 |
* Fix some inline documentation issues. Props [@jrfnl](https://github.com/jrfnl) ([#579](https://github.com/CMB2/CMB2/pull/579)).
|
228 |
* Include `.gitattributes` file for excluding development resources when using Composer. Props [@benoitchantre](https://github.com/benoitchantre) ([#575](https://github.com/CMB2/CMB2/pull/575), [#53](https://github.com/CMB2/CMB2/pull/53)).
|
229 |
|
230 |
-
|
|
|
231 |
|
232 |
* Fixed issue with `'taxonomy_select'` field type where a term which evaluated falsey would not be displayed properly. Props [adamcapriola](https://github.com/adamcapriola) ([#477](https://github.com/CMB2/CMB2/pull/477)).
|
233 |
* Fix issue with colorpickers not changing when sorting groups.
|
@@ -237,15 +406,15 @@ All notable changes to this project will be documented in this file.
|
|
237 |
* Fix issue with oembed fields not working correctly on options pages. ([#542](https://github.com/CMB2/CMB2/pull/542)).
|
238 |
* Fix issue with repeatable field <button> elements stealing focus from "submit" button.
|
239 |
|
240 |
-
|
241 |
|
242 |
-
|
243 |
|
244 |
* Fixes back-compatibility issue when adding fields array to the metabox registration. ([#472](https://github.com/CMB2/CMB2/pull/472))
|
245 |
|
246 |
-
|
247 |
|
248 |
-
|
249 |
|
250 |
* Make all CMB2::save_fields arguments optional to fall-back to `$_POST` data. Props [JPry](https://github.com/JPry).
|
251 |
* New filter, `cmb2_non_repeatable_fields` for adding additional fields to the blacklist of repeatable field-types. Props [JPry](https://github.com/JPry) ([#430](https://github.com/CMB2/CMB2/pull/430)).
|
@@ -257,7 +426,7 @@ All notable changes to this project will be documented in this file.
|
|
257 |
* Update `CMB2_Utils::image_id_from_url` to be more reliable. Props [wpscholar](https://github.com/wpscholar), ([#453](https://github.com/CMB2/CMB2/pull/453)).
|
258 |
* `cmb2_get_option` now takes a default fallback value as a third parameter.
|
259 |
|
260 |
-
|
261 |
|
262 |
* Address issue where `'file'` and `'file_list'` field results were getting mixed. Props [augustuswm](https://github.com/augustuswm) ([#382](https://github.com/CMB2/CMB2/pull/382), [#250](https://github.com/CMB2/CMB2/pull/250), [#296](https://github.com/CMB2/CMB2/pull/296)).
|
263 |
* Fix long-standing issues with radio and multicheck fields in repeatable groups losing their values when new rows are added. ([#341](https://github.com/CMB2/CMB2/pull/341), [#304](https://github.com/CMB2/CMB2/pull/304), [#263](https://github.com/CMB2/CMB2/pull/263), [#246](https://github.com/CMB2/CMB2/pull/246), [#150](https://github.com/CMB2/CMB2/pull/150))
|
@@ -267,24 +436,15 @@ All notable changes to this project will be documented in this file.
|
|
267 |
* Fixes issue with `'file_list'` fields not saving properly when in repeatable groups display. Props [jamiechong](https://github.com/jamiechong) ([#433](https://github.com/CMB2/CMB2/pull/433),[#187](https://github.com/CMB2/CMB2/pull/187)).
|
268 |
* Update `'taxonomy_radio_inline'` and `'taxonomy_multicheck_inline'` fields sanitization method to use the same method as the non-inline versions. Props [superfreund](https://github.com/superfreund) ([#454](https://github.com/CMB2/CMB2/pull/454)).
|
269 |
|
270 |
-
|
271 |
|
272 |
-
|
273 |
|
274 |
* Fix user fields not saving. Props [achavez](https://github.com/achavez), ([#417](https://github.com/CMB2/CMB2/pull/417)).
|
275 |
|
276 |
-
|
277 |
-
|
278 |
-
### Enhancements
|
279 |
|
280 |
-
|
281 |
-
* Updated `'file_list'` field type to have a more intuitive selection in the media library, and updated the 'Use file' text in the button. Props [SteveHoneyNZ](https://github.com/SteveHoneyNZ) ([#357](https://github.com/CMB2/CMB2/pull/357), [#358](https://github.com/CMB2/CMB2/pull/358)).
|
282 |
-
* `'closed'` group field option parameter introduced in order to set the groups as collapsed by default. Requested in [#391](https://github.com/CMB2/CMB2/issues/391).
|
283 |
-
* Added `"cmb2_{$object_type}_process_fields_{$cmb_id}"` hook for hooking in and modifying the metabox or fields before the fields are processed/sanitized for saving.
|
284 |
-
* Added Comment Metabox support. Props [GregLancaster71](https://github.com/GregLancaster71) ([#238](https://github.com/CMB2/CMB2/pull/238), [#244](https://github.com/CMB2/CMB2/pull/244)).
|
285 |
-
* New `"cmb2_{$field_id}_is_valid_img_ext"`` filter for determining if a field value has a valid image file-type extension.
|
286 |
-
|
287 |
-
### Bug Fixes
|
288 |
|
289 |
* `'multicheck_inline'`, `'taxonomy_radio_inline'`, and `'taxonomy_multicheck_inline'` field types were not outputting anything since it's value was not being returned. Props [ediamin](https://github.com/ediamin), ([#367](https://github.com/CMB2/CMB2/pull/367), ([#405](https://github.com/CMB2/CMB2/pull/405)).
|
290 |
* `'hidden'` type fields were not honoring the `'show_on_cb'` callback. Props [JPry](https://github.com/JPry), ([commits](https://github.com/CMB2/CMB2/compare/5a4146eec546089fbe1a1c859d680dfda3a86ee2...1ef5ef1e3b2260ab381090c4abe9dc7234cfa0a6)).
|
@@ -294,33 +454,41 @@ All notable changes to this project will be documented in this file.
|
|
294 |
* Ensure value passed to `strtotime` in `make_valid_time_stamp` is cast to a string. Props [vajrasar](https://github.com/vajrasar) ([#389](https://github.com/CMB2/CMB2/pull/389)).
|
295 |
* Fixed issue with Windows IIS and bundling CMB2 in the theme. Props [DevinWalker](https://github.com/DevinWalker), ([#400](https://github.com/CMB2/CMB2/pull/400), [#401](https://github.com/CMB2/CMB2/pull/401))
|
296 |
|
297 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
|
299 |
-
|
300 |
|
301 |
* Fix color-picker field not enqueueing the colorpicker script. ([#333](https://github.com/CMB2/CMB2/issues/333))
|
302 |
|
303 |
-
|
304 |
|
305 |
-
|
306 |
|
307 |
* Ability to use non-repeatable group fields by setting the `'repeatable'` field param to `false` when registering a group field type. Props [marcusbattle](https://github.com/marcusbattle), ([#159](https://github.com/CMB2/CMB2/pull/159)).
|
308 |
* Add and enqeueue a front-end specific CSS file which adds additional styles which are typically covered by wp-admin css. ([#311](https://github.com/CMB2/CMB2/issues/311))
|
309 |
* Better handling of the CMB2 javascript (and CSS) required dependencies array. Dependencies are now only added conditionally based on the field types that are actually visible. ([#136](https://github.com/CMB2/CMB2/issues/136))
|
310 |
-
* **THIS IS A BREAKING CHANGE:** The `group` field type's `'show_on_cb'`
|
311 |
* New dynamic hook, `"cmb2_save_{$object_type}_fields_{$this->cmb_id}"`, to complement the existing `"cmb2_save_{$object_type}_fields"` hook.
|
312 |
-
* New CMB2 parameter, `enqueue_js`, to disable the enqueueing of the CMB2 Javascript.
|
313 |
* German translation provided by Friedhelm Jost.
|
314 |
|
315 |
-
|
316 |
|
317 |
* Fix incorrect repeatable group title number. ([#310](https://github.com/CMB2/CMB2/pull/310))
|
318 |
* Fix obscure bug which prevented group field arguments from being passed to the sub-fields (like `show_names` and `context`).
|
319 |
* Fixed occasional issue when adding a group row, the previous row's content would be cloned. ([#257](https://github.com/CMB2/CMB2/pull/257))
|
320 |
|
321 |
-
|
322 |
|
323 |
-
|
324 |
|
325 |
* New metabox/form parameter, `show_on_cb`, allows you to conditionally display a cmb metabox/form via a callback. The `$cmb` object gets passed as a parameter to the callback. This complements the `'show_on_cb'` parameter that already exists for individual fields. Using this callback is similar to using the `'cmb2_show_on'` filter, but only applies to that specific metabox and it is recommended to use this callback instead as it minimizes th risk that your filter will affect other metaboxes.
|
326 |
* Taxonomy types no longer save a value. The value getting saved was causing confusion and is not meant to be used. To use the saved taxonomy data, you need to use the WordPress term api, `get_the_terms `, `get_the_term_list`, etc.
|
@@ -335,7 +503,7 @@ All notable changes to this project will be documented in this file.
|
|
335 |
* an `'object_type'` parameter to explictly set that in the `$cmb` object.
|
336 |
* an `'enqueue_js'` parameter to explicitly disable the CMB JS enqueue. This is handy if you're not planning on using any of the fields which require JS (like color/date pickers, wysiwyg, file, etc).
|
337 |
|
338 |
-
|
339 |
|
340 |
* Fix issue with oembed fields in repeatable groups where changing video changed it for all fields in a group.
|
341 |
* Fix empty arrays (like in the group field) saving as a value.
|
@@ -346,27 +514,26 @@ All notable changes to this project will be documented in this file.
|
|
346 |
* @type bool $repeat Whether current field is repeatable
|
347 |
* @type bool $single Whether current field is a single database row
|
348 |
|
|
|
349 |
|
350 |
-
|
351 |
-
|
352 |
-
### Bug Fixes
|
353 |
|
354 |
* Fix grouped fields display (first field was being repeated), broken in 2.0.3.
|
355 |
|
356 |
-
|
357 |
|
358 |
-
|
359 |
|
360 |
* `select`, `radio`, `radio_inline` field types now all accept the `'show_option_none'` field parameter. This parameter allows you to set the text to display for showing a 'no selection' option. Default will be `false`, which means a 'none' option will not be added. Set to `true` to use the default text, 'None', or specify another value, i.e. 'No selection'.
|
361 |
|
362 |
-
|
363 |
|
364 |
* Fix back-compatibility when adding group field sub-fields via old array method (vs using the `CMB2:add_group_field()` method). Thanks to [norcross](https://github.com/norcross) for reporting.
|
365 |
* Fix occasional jQuery issues with group-field indexes.
|
366 |
|
367 |
-
|
368 |
|
369 |
-
|
370 |
|
371 |
* New constant, `CMB2_DIR`, which stores the file-path to the CMB2 directory.
|
372 |
* `text_date`, `text_time`, `text_date_timestamp`, `text_datetime_timestamp`, and ` text_datetime_timestamp_timezone` field types now take an arguments array so they can be extended by custom field types.
|
@@ -375,17 +542,17 @@ All notable changes to this project will be documented in this file.
|
|
375 |
* Added a callback option for the field default value. The callback gets passed an array of all the field parameters as the first argument, and the field object as the second argument. (which means you can get the post id using `$field->object_id`). ([#233](https://github.com/CMB2/CMB2/issues/233)).
|
376 |
* New `CMB2::get_field()` method and `cmb2_get_field` helper function for retrieving a `CMB2_Field` object from the array of registered fields for a metabox.
|
377 |
* New `CMB2::get_sanitized_values()` method and `cmb2_get_metabox_sanitized_values` helper function for retrieving sanitized values from an array of values (usually `$_POST` data).
|
378 |
-
* New `'save_fields'` metabox
|
379 |
|
380 |
-
|
381 |
|
382 |
* Fix commented out text_datetime_timestamp_timezone field registration example in `example-functions.php`. Props [cliffordp](https://github.com/cliffordp), ([#203](https://github.com/CMB2/CMB2/pull/203)).
|
383 |
* Fix sidebar styling for money fields and fields with textareas. ([#234](https://github.com/CMB2/CMB2/issues/234))
|
384 |
* Fix `CMB2_Sanitize` class to properly use the stripslashed value (which was added in [#162](https://github.com/CMB2/CMB2/pull/162) but never used). Props [dustyf](https://github.com/dustyf), ([#241](https://github.com/CMB2/CMB2/pull/241)).
|
385 |
|
386 |
-
|
387 |
|
388 |
-
|
389 |
|
390 |
* Use the more appropriate `add_meta_boxes` hook for hooking in metaboxes to post-edit screen. Thanks [@inspiraaz](https://github.com/inspiraaz) for reporting. ([#161](https://github.com/CMB2/CMB2/issues/161))
|
391 |
* Add a `row_classes` field param which allows you to add additional classes to the cmb-row wrap. This parameter can take a string, or array, or can take a callback that returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. Reported/requested in [#68](https://github.com/CMB2/CMB2/issues/68).
|
@@ -396,21 +563,20 @@ All notable changes to this project will be documented in this file.
|
|
396 |
* New CMB2_Boxes method, [`CMB2_Boxes::remove()`](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/filters-and-actions/cmb2_init_before_hookup-remove-cmb2-metabox.php).
|
397 |
* When clicking on a file/image in the `file`, or `file_list` type, the media modal will open with that image selected. Props [johnsonpaul1014](https://github.com/johnsonpaul1014), ([#120](https://github.com/CMB2/CMB2/pull/120)).
|
398 |
|
399 |
-
|
400 |
-
## 2.0.1 - 2015-02-02
|
401 |
|
402 |
2.0.1 is the official version after beta, and includes all the changes from 2.0.0 (beta).
|
403 |
|
404 |
-
|
405 |
|
406 |
2.0.0 is the official version number for the transition to CMB2, and 2.0.1 is the official version after beta. It is a complete rewrite. Improvements and fixes are listed below. __Note: This release requires WordPress 3.8+__
|
407 |
-
|
408 |
-
|
409 |
|
410 |
* Converted `<table>` markup to more generic `<div>` markup to be more extensible and allow easier styling.
|
411 |
* Much better handling and display of repeatable groups.
|
412 |
* Entirely translation-ready [with full translations](http://wp-translations.org/project/cmb2/) in Spanish, French (Props [@fredserva](https://github.com/fredserva) - [#127](https://github.com/CMB2/CMB2/pull/127)), Finnish (Props [@onnimonni](https://github.com/onnimonni) - [#108](https://github.com/CMB2/CMB2/pull/108)), Swedish (Props [@EyesX](https://github.com/EyesX) - [#141](https://github.com/CMB2/CMB2/pull/141)), and English.
|
413 |
-
* Add cmb fields to new user page. Props [GioSensation](https://github.com/GioSensation), ([#
|
414 |
* Improved and additional [helper-functions](https://github.com/CMB2/CMB2/blob/master/includes/helper-functions.php).
|
415 |
* Added new features and translation for datepicker. Props [kalicki](https://github.com/kalicki), ([#657](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/657)).
|
416 |
* General code standards cleanup. Props [gregrickaby](https://github.com/gregrickaby), ([#17](https://github.com/CMB2/CMB2/pull/17) & others).
|
@@ -428,11 +594,11 @@ All notable changes to this project will be documented in this file.
|
|
428 |
* [New before/after dynamic form hooks](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-the-dynamic-beforeafter-form-hooks).
|
429 |
* Larger unit test coverage. Props to [@pmgarman](https://github.com/pmgarman) for assistance. ([#90](https://github.com/CMB2/CMB2/pull/90) and [#91](https://github.com/CMB2/CMB2/pull/91))
|
430 |
* Added helper function to update an option. Props [mAAdhaTTah](https://github.com/mAAdhaTTah), ([#110](https://github.com/CMB2/CMB2/pull/110)).
|
431 |
-
* More JS hooks during repeat group shifting. Props [AlchemyUnited](https://github.com/AlchemyUnited), ([#125](https://github.com/CMB2/CMB2/pull/125)).
|
432 |
* [New metabox config option for defaulting to closed](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#setting-a-metabox-to-closed-by-default).
|
433 |
* New hooks, [`cmb2_init`](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-cmb2-helper-functions-and-cmb2_init) and `cmb2_init_{$cmb_id}`.
|
434 |
|
435 |
-
|
436 |
|
437 |
* New mechanism to ensure CMB2 only loads the most recent version of CMB2 in your system. This fixes the issue where another bundled version could conflict or take precendent over your up-to-date version.
|
438 |
* Fix issue with field labels being hidden. Props [mustardBees](https://github.com/mustardBees), ([#48](https://github.com/CMB2/CMB2/pull/48)).
|
@@ -444,23 +610,23 @@ All notable changes to this project will be documented in this file.
|
|
444 |
* Fix metabox form not being returned to caller. Props [akshayagarwal](https://github.com/akshayagarwal), ([#145](https://github.com/CMB2/CMB2/pull/145)).
|
445 |
* Run stripslashes before saving data, since WordPress forces magic quotes. Props [clifgriffin](https://github.com/clifgriffin), ([#162](https://github.com/CMB2/CMB2/pull/162)).
|
446 |
|
447 |
-
|
|
|
|
|
448 |
|
449 |
-
### Enhancements
|
450 |
-
|
451 |
* Localize Date, Time, and Color picker defaults so that they can be overridden via the `cmb_localized_data` filter. ([#528](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/528))
|
452 |
* Change third parameter for 'cmb_metabox_form' to be an args array. Optional arguments include `echo`, `form_format`, and `save_button`.
|
453 |
* Add support for `show_option_none` argument for `taxonomy_select` and `taxonomy_radio` field types. Also adds the following filters: `cmb_all_or_nothing_types`, `cmb_taxonomy_select_default_value`, `cmb_taxonomy_select_{$this->_id()}_default_value`, `cmb_taxonomy_radio_{$this->_id()}_default_value`, `cmb_taxonomy_radio_default_value`. Props [@pmgarman](https://github.com/pmgarman), ([#569](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/569)).
|
454 |
* Make the list items in the `file_list` field type drag & drop sortable. Props [twoelevenjay](https://github.com/twoelevenjay), ([#603](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/603)).
|
455 |
|
456 |
-
|
457 |
|
458 |
* Fixed typo in closing `</th>` tag. Props [@CivicImages](https://github.com/CivicImages). ([#616](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/616))
|
459 |
|
460 |
-
|
|
|
|
|
461 |
|
462 |
-
### Enhancements
|
463 |
-
|
464 |
* Add support for custom date/time formats. Props [@Scrent](https://github.com/Scrent). ([#506](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/506))
|
465 |
* Simplify `wysiwyg` escaping and allow it to be overridden via the `escape_cb` parameter. ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/491))
|
466 |
* Add a 'Select/Deselect all' button for the `multicheck` field type.
|
@@ -468,7 +634,7 @@ All notable changes to this project will be documented in this file.
|
|
468 |
* New field parameter, `show_on_cb`, allows you to conditionally display a field via a callback. ([#47](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/47))
|
469 |
* Unit testing (the beginning). Props [@brichards](https://github.com/brichards) and [@camdensegal](https://github.com/camdensegal).
|
470 |
|
471 |
-
|
472 |
|
473 |
* Fixed issue where remove file button wouldn't clear the url field. ([#514](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/514))
|
474 |
* `wysiwyg` fields now allow underscores. Fixes some wysiwyg display issues in WordPress 3.8. Props [@lswilson](https://github.com/lswilson). ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/491))
|
@@ -479,33 +645,33 @@ All notable changes to this project will be documented in this file.
|
|
479 |
|
480 |
|
481 |
|
482 |
-
|
483 |
|
484 |
-
|
485 |
|
486 |
* Update `cmb_get_field_value` function as it was passing the parameters to `cmb_get_field` in the wrong order.
|
487 |
* Fix repeating fields not working correctly if meta key or prefix contained an integer. ([#503](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/503))
|
488 |
|
489 |
-
|
490 |
|
491 |
-
|
492 |
|
493 |
* Fix issue with `cmb_Meta_Box_types.php` calling a missing method, `image_id_from_url`. ([#502](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/502))
|
494 |
|
495 |
|
496 |
-
|
497 |
|
498 |
-
|
499 |
|
500 |
* Radio button values were not showing saved value. ([#500](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/500))
|
501 |
|
502 |
-
|
503 |
|
504 |
-
|
505 |
|
506 |
* [Repeatable groups](https://github.com/CMB2/CMB2/wiki/Field-Types#group)
|
507 |
* Support for more fields to be repeatable, including oEmbed field, and date, time, and color picker fields, etc.
|
508 |
-
* Codebase has been revamped to be more modular and object-oriented.
|
509 |
* New filter, `"cmb_{$element}_attributes" ` for modifying an element's attributes.
|
510 |
* Every field now supports an `attributes` parameter that takes an array of attributes. [Read more](https://github.com/CMB2/CMB2/wiki/Field-Types#attributes).
|
511 |
* Removed `cmb_std_filter` in favor of `cmb_default_filter`. **THIS IS A BREAKING CHANGE**
|
@@ -515,13 +681,13 @@ All notable changes to this project will be documented in this file.
|
|
515 |
* New JavaScript events, `cmb_add_row` and `cmb_remove_row` for hooking in and manipulating the new row's data.
|
516 |
* New filter, `cmb_localized_data`, for modifiying localized data passed to the CMB JS.
|
517 |
|
518 |
-
|
519 |
-
* Resolved occasional issue where only the first character of the label/value was
|
520 |
|
521 |
|
522 |
-
|
523 |
|
524 |
-
|
525 |
|
526 |
* Change the way the `'cmb_validate_{$field['type']}'` filter works.
|
527 |
It is now passed a null value vs saved value. If null is returned, default sanitization will follow. **THIS IS A BREAKING CHANGE**. If you're already using this filter, take note.
|
@@ -531,7 +697,7 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
531 |
* Updated `file_list` images to be displayed horizontally instead of vertically. props [@IgorCode](https://github.com/IgorCode), ([#467](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/467))
|
532 |
* Use `get_the_terms` where possible since the data is cached.
|
533 |
|
534 |
-
|
535 |
|
536 |
* Fixed wysiwyg escaping slashes. props [@gregrickaby](https://github.com/gregrickaby), ([#465](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/465))
|
537 |
* Replaced `__DIR__`, as `dirname( __FILE__ )` is easier to maintain back-compatibility.
|
@@ -539,11 +705,11 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
539 |
* Fix undeclared JS variable. [@veelen](https://github.com/veelen), ([#451](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/451))
|
540 |
* Fix `file_list` errors when removing all files and saving.
|
541 |
* Set correct `object_id` to be used later in `cmb_show_on` filter. [@lauravaq](https://github.com/lauravaq), ([#445](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/445))
|
542 |
-
* Fix sanitization recursion
|
543 |
|
544 |
-
|
545 |
|
546 |
-
|
547 |
|
548 |
* Now works with option pages and site settings. ([view example in wiki](https://github.com/CMB2/CMB2/wiki/Using-CMB-to-create-an-Admin-Theme-Options-Page))
|
549 |
* two filters to override the setting and getting of options, `cmb_override_option_get_$option_key` and `cmb_override_option_save_$option_key` respectively. Handy for using plugins like [WP Large Options](https://github.com/voceconnect/wp-large-options/) ([also here](http://vip.wordpress.com/plugins/wp-large-options/)).
|
@@ -551,9 +717,9 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
551 |
* New sanitization class to sanitize data when saved.
|
552 |
* New callback field parameter, `sanitization_cb`, for performing your own sanitization.
|
553 |
* new `cmb_Meta_Box_types::esc()` method that handles escaping data for display.
|
554 |
-
* New callback field parameter, `escape_cb`, for performing your own data escaping, as well as a new filter, `
|
555 |
|
556 |
-
|
557 |
|
558 |
* Fixed wysiwyg editor button padding. props [@corvannoorloos](https://github.com/corvannoorloos), ([#391](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/391))
|
559 |
* A few php < 5.3 errors were addressed.
|
@@ -562,7 +728,7 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
562 |
* Occasionally fields wouldn't save because of the admin show_on filter.
|
563 |
* Smaller images loaded to the file field type will no longer be blown up larger than their dimensions.
|
564 |
|
565 |
-
|
566 |
|
567 |
* Added `text_datetime_timestamp_timezone` type, a datetime combo field with an additional timezone drop down, props [@dessibelle](https://github.com/dessibelle)
|
568 |
* Added `select_timezone` type, a standalone time zone select dropdown. The time zone select can be used with standalone `text_datetime_timestamp` if desired. Props [@dessibelle](https://github.com/dessibelle)
|
@@ -574,7 +740,7 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
574 |
* `text`, `text_small`, `text_medium`, `text_url`, `text_email`, & `text_money` fields now all have the option to be repeatable. Props [@jtsternberg](https://github.com/jtsternberg)
|
575 |
* Custom metaboxes can now be added for user meta. Add them on the user add/edit screen, or in a custom user profile edit page on the front-end. Props [@tw2113](https://github.com/tw2113), [@jtsternberg](https://github.com/jtsternberg)
|
576 |
|
577 |
-
|
578 |
|
579 |
* Added field "before" and "after" options for each field. Solves issue with '$' not being the desired text_money monetary symbol, props [@GaryJones](https://github.com/GaryJones)
|
580 |
* Added filter for 'std' default fallback value, props [@messenlehner](https://github.com/messenlehner)
|
@@ -583,16 +749,16 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
583 |
* Better file-extension check for images, props [@GhostToast](https://github.com/GhostToast)
|
584 |
* New filter, `cmb_valid_img_types`, for whitelisted image file-extensions, props [@jtsternberg](https://github.com/jtsternberg)
|
585 |
|
586 |
-
|
587 |
* Added field type and field id classes to each cmb table row, props [@jtsternberg](https://github.com/jtsternberg)
|
588 |
|
589 |
-
|
590 |
* Added post type comparison to prevent storing null values for taxonomy selectors, props [@norcross](https://github.com/norcross)
|
591 |
|
592 |
-
|
593 |
* Added `oEmbed` field type with ajax display, props [@jtsternberg](https://github.com/jtsternberg)
|
594 |
|
595 |
-
|
596 |
* __Note: This release requires WordPress 3.3+__
|
597 |
* Cleaned up scripts being queued, props [@jaredatch](https://github.com/jaredatch)
|
598 |
* Cleaned up and reorganized jQuery, props [@GaryJones](https://github.com/GaryJones)
|
@@ -609,25 +775,25 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
609 |
* Added color picker, props [@jaredatch](https://github.com/jaredatch)
|
610 |
* Added readme.md markdown file, props [@jaredatch](https://github.com/jaredatch)
|
611 |
|
612 |
-
|
613 |
* Added jQuery timepicker, props [@norcross](https://github.com/norcross)
|
614 |
* Added 'raw' textarea to convert special HTML entities back to characters, props [@norcross](https://github.com/norcross)
|
615 |
* Added missing examples on example-functions.php, props [@norcross](https://github.com/norcross)
|
616 |
|
617 |
-
|
618 |
* Added the new wp_editor() function for the WYSIWYG dialog box, props [@jcpry](https://github.com/jcpry)
|
619 |
* Created 'cmb_show_on' filter to define your own Show On Filters, props [@billerickson](https://github.com/billerickson)
|
620 |
* Added page template show_on filter, props [@billerickson](https://github.com/billerickson)
|
621 |
* Improvements to the 'file' field type, props [@randyhoyt](https://github.com/randyhoyt)
|
622 |
* Allow for default values on 'radio' and 'radio_inline' field types, props [@billerickson](https://github.com/billerickson)
|
623 |
|
624 |
-
|
625 |
* Enabled the ability to define your own custom field types (issue #28). props [@randyhoyt](https://github.com/randyhoyt)
|
626 |
|
627 |
-
|
628 |
* Added the ability to limit metaboxes to certain posts by id. props [@billerickson](https://github.com/billerickson)
|
629 |
|
630 |
-
|
631 |
* Fixed define to prevent notices. props [@destos](https://github.com/destos)
|
632 |
* Added text_date_timestap option. props [@andrewyno](https://github.com/andrewyno)
|
633 |
* Fixed WYSIWYG paragraph breaking/spacing bug. props [@wpsmith](https://github.com/wpsmith)
|
@@ -635,5 +801,18 @@ It is now passed a null value vs saved value. If null is returned, default sanit
|
|
635 |
* Fixed script causing the dashboard widgets to not be collapsible.
|
636 |
* Fixed various spacing and whitespace inconsistencies
|
637 |
|
638 |
-
|
639 |
* Think we have a release that is mostly working. We'll say the initial release :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== CMB2 ===
|
2 |
+
Contributors: jtsternberg, webdevstudios, zao, tw2113
|
3 |
+
Donate link: https://cmb2.io
|
4 |
+
Tags: metaboxes, forms, fields, options, settings
|
5 |
+
Requires at least: 3.8.0
|
6 |
+
Tested up to: 4.9.1
|
7 |
+
Stable tag: 2.3.0
|
8 |
+
License: GPLv2 or later
|
9 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
+
|
11 |
+
CMB2 is a metabox, custom fields, and forms library for WordPress that will blow your mind.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
|
15 |
+
CMB2 is a developer's toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind. Easily manage meta for posts, terms, users, comments, or create custom option pages.
|
16 |
+
|
17 |
+
CMB2 is a complete rewrite of Custom Metaboxes and Fields for WordPress. To get started, please follow the examples in the included `example-functions.php` file and have a look at the [basic usage instructions](https://github.com/CMB2/CMB2/wiki/Basic-Usage).
|
18 |
+
|
19 |
+
You can see a list of available field types [here](https://github.com/CMB2/CMB2/wiki/Field-Types#types).
|
20 |
+
|
21 |
+
### Contribution
|
22 |
+
Development occurs on Github, and all contributions welcome. Please read the [CONTRIBUTING](https://github.com/CMB2/CMB2/blob/master/CONTRIBUTING.md) doc for more details.
|
23 |
|
24 |
+
A complete list of all our awesome contributors found here: [github.com/CMB2/CMB2/graphs/contributors](https://github.com/CMB2/CMB2/graphs/contributors)
|
25 |
|
26 |
+
### Features:
|
27 |
|
28 |
+
* Create metaboxes to be used on post edit screens.
|
29 |
+
* [Create forms to be used on an options pages](https://github.com/CMB2/CMB2/wiki/Using-CMB-to-create-an-Admin-Theme-Options-Page).
|
30 |
+
* Create forms to handle user meta and display them on user profile add/edit pages.
|
31 |
+
* Create forms to handle term meta and display wherever your taxonomies are used.
|
32 |
+
* [Flexible API that allows you to use CMB forms almost anywhere, even on the front-end](https://github.com/CMB2/CMB2/wiki/Bringing-Metaboxes-to-the-Front-end).
|
33 |
+
* [Several field types are included](https://github.com/CMB2/CMB2/wiki/Field-Types).
|
34 |
+
* [Custom API hook that allows you to create your own field types](https://github.com/CMB2/CMB2/wiki/Adding-your-own-field-types).
|
35 |
+
* There are numerous hooks and filters, allowing you to modify many aspects of the library (without editing it directly).
|
36 |
+
* Repeatable fields for most field types are supported, as well as repeatable field groups.
|
37 |
+
* CMB2 is safe to bundle with any project. It will only load the newest version in the system.
|
38 |
|
39 |
+
### Translation
|
40 |
+
* Thanks to many in the CMB2 community and to our friends at [wp-translations.org](http://wp-translations.org/project/cmb2/), we have a good start on several translations for CMB2. Please feel free to [work with wp-translations.org](http://wp-translations.org/project/cmb2/) to provide even more!
|
41 |
|
42 |
+
### Documentation
|
43 |
+
* CMB2 documentation can be found at [the CMB2 wiki](https://github.com/CMB2/CMB2/wiki) on github. Also, If you're into reading code and inline documentation, we tried to keep all functions and methods fully inline-documented.
|
44 |
+
|
45 |
+
### 3rd Party Resources
|
46 |
+
|
47 |
+
##### Custom Field Types
|
48 |
+
* [CMB2 Field Type: CMB Attached Posts Field](https://github.com/coreymcollins/cmb-attached-posts) from [coreymcollins](https://github.com/coreymcollins): `custom_attached_posts`, for attaching posts to a page.
|
49 |
+
* [CMB2 Field Type: Post Search Ajax](https://github.com/alexis-magina/cmb2-field-post-search-ajax) by [alexis-magina](https://github.com/alexis-magina): `post_search_ajax` Attach posts to each other. Same approach as [CMB2 Attached Posts Field](https://github.com/coreymcollins/cmb-attached-posts) but with Ajax request, multiple/single option, and different UI.
|
50 |
+
* [CMB2 Field Type: CMB2 Post Search field](https://github.com/CMB2/CMB2-Post-Search-field): `post_search_text` adds a post-search dialog for searching/attaching other post IDs.
|
51 |
+
* [CMB2 Field Type: CMB2 User Search field](https://github.com/Mte90/CMB2-User-Search-field) from [Mte90](https://github.com/Mte90): `user_search_text` adds a user-search dialog for searching/attaching other User IDs.
|
52 |
+
* [CMB2 Field Type: Google Maps](https://github.com/mustardBees/cmb_field_map) from [mustardBees](https://github.com/mustardBees): Custom field type for Google Maps.
|
53 |
+
> The `pw_map` field stores the latitude/longitude values which you can then use to display a map in your theme.
|
54 |
+
|
55 |
+
* [CMB2 Field Type: Select2](https://github.com/mustardBees/cmb-field-select2) from [mustardBees](https://github.com/mustardBees): Custom field types which use the [Select2](http://ivaynberg.github.io/select2/) script:
|
56 |
+
|
57 |
+
> 1. The `pw_select field` acts much like the default select field. However, it adds typeahead-style search allowing you to quickly make a selection from a large list
|
58 |
+
> 2. The `pw_multiselect` field allows you to select multiple values with typeahead-style search. The values can be dragged and dropped to reorder
|
59 |
+
|
60 |
+
* [CMB Field Type: Slider](https://github.com/qmatt/cmb2-field-slider) from [mattkrupnik](https://github.com/mattkrupnik/): Adds a jQuery UI Slider field.
|
61 |
+
* [WDS CMB2 Date Range Field](https://github.com/CMB2/CMB2-Date-Range-Field) from [dustyf](https://github.com/dustyf) of [WebDevStudios](https://github.com/WebDevStudios): Adds a date range field.
|
62 |
+
* [CMB2 Remote Image Select](https://github.com/CMB2/CMB2-Remote-Image-Select-Field) from [JayWood](https://github.com/JayWood) of [WebDevStudios](https://github.com/WebDevStudios): Allows users to enter a URL in a text field and select a single image for use in post meta. Similar to Facebook's featured image selector.
|
63 |
+
* [CMB Field Type: Sorter](https://wordpress.org/plugins/cmb-field-type-sorter/): This plugin gives you two CMB field types based on the Sorter script.
|
64 |
+
* [CMB Field Type: Tags](https://github.com/florianbeck/cmb2-field-type-tags): WordPress-Tags-like field type for CMB2. _note: this does not set the post tags, but simply provides a unique text input_
|
65 |
+
* [CMB Field Type: Link Picker](https://wordpress.org/plugins/link-picker-for-cmb2/): Using the Link Picker for CMB2 control, you can choose a link from your WordPress site, or manually enter a link. You can also identify if the link should open in a new window, or not.
|
66 |
+
* [CMB Field Type: MultidatesPicker](https://github.com/origgami/cmb2-multidates-picker): Creates a CMB2 field type that enables a multiple date calendar. It uses a plugin called [MultiDatesPicker v1.6.3 for jQuery UI](http://multidatespickr.sourceforge.net/).
|
67 |
+
* [CMB Field Type: CMB2-radio-image](https://github.com/satwinderrathore/CMB2-radio-image): Image as radio buttons.
|
68 |
+
* [CMB2 Term Select](https://github.com/florianbeck/cmb2-field-type-tags): Special CMB2 Field that allows users to define an autocomplete text field for terms. _Note: this will set the taxonomy terms, but has the option (`'apply_term' => false`) to disable and save the term ids as data instead (like for options pages, etc)._
|
69 |
+
* [CMB2 Related Links](https://github.com/jtsternberg/CMB2-Related-Links): Allows users to add a related links via a repeating field group. Field inputs are powered by the [CMB2 Field Type: CMB2 Post Search field](https://github.com/CMB2/CMB2-Post-Search-field) documented above, and so each link can be populated with existing WordPress content by clicking on the search button. _Note: this is not a standard field type, but instead a function you use in combination with CMB2::add_field()._
|
70 |
+
* [CMB2 Field Type: Order](https://github.com/rubengc/cmb2-field-order) by [rubengc](https://github.com/rubengc): Allows users to define custom order of predefined options.
|
71 |
+
* [CMB2 Field Type: Animation](https://github.com/rubengc/cmb2-field-animation) by [rubengc](https://github.com/rubengc): Allows users to pickup an animation from [Animate.css](https://github.com/daneden/animate.css) (includes preview of chosen animation).
|
72 |
+
* [CMB2 Field Type: Ajax Search](https://github.com/rubengc/cmb2-field-ajax-search) by [rubengc](https://github.com/rubengc): Based on [CMB2 Field Type: Post Search Ajax](https://github.com/alexis-magina/cmb2-field-post-search-ajax), adds the ability to attach posts/users/terms, and the ability to limit the maximum number of attached objects.
|
73 |
+
* [CMB2 Field Type: Visual Style Editor](https://github.com/rubengc/cmb2-field-visual-style-editor) by [rubengc](https://github.com/rubengc): Custom field for CMB2 which allows customizing style from a small set of controls.
|
74 |
+
* [CMB2 Field Type: CMB2 Roadway Segments](https://github.com/pixelwatt/cmb2-roadway-segments) by [pixelwatt](https://github.com/pixelwatt): This plugin adds a new CMB2 fieldtype for drawing roadway segments onto a map and provides a shortcode for display.
|
75 |
+
|
76 |
+
##### Other Helpful Resources
|
77 |
+
* [WordPress Shortcode Button](https://github.com/jtsternberg/Shortcode_Button): Uses CMB2 fields to generate fields for shortcode input modals.
|
78 |
+
* [WDS-Simple-Page-Builder](https://github.com/WebDevStudios/WDS-Simple-Page-Builder): Uses existing template parts in the currently-active theme to build a customized page with rearrangeable elements. Built with CMB2.
|
79 |
+
* [CMB2 Example Theme](https://github.com/CMB2/CMB2-Example-Theme): Demonstrate how to include CMB2 in your theme, as well as some cool tips and tricks.
|
80 |
+
* [facetwp-cmb2](https://github.com/FacetWP/facetwp-cmb2): FacetWP integration with CMB2.
|
81 |
+
* [CMB2-grid](https://github.com/origgami/CMB2-grid) from [origgami](https://github.com/origgami/): A grid system for WordPress CMB2 library that allows the creation of columns for a better layout in the admin.
|
82 |
+
* [CMB2 Metatabs Options](https://github.com/rogerlos/cmb2-metatabs-options) from [rogerlos](https://github.com/rogerlos/): CMO makes it easy to create options pages with multiple metaboxes--and optional WordPress admin tabs.
|
83 |
+
* [CMB2 Conditionals](https://github.com/jcchavezs/cmb2-conditionals) from [jcchavezs](https://github.com/jcchavezs/): Allows developers to relate fields so the display of one is conditional on the value of another.
|
84 |
+
* [CMB2 Metabox Code Generator](http://willthemoor.github.io/cmb2-metabox-generator/) from [willthemoor](https://github.com/willthemoor/): Skip the boring bits. Use this generator to create fully functional CMB2 metaboxes easily. Now with bulk entry!
|
85 |
+
* [Caldera Metaplate](https://wordpress.org/plugins/caldera-metaplate/) by [CalderaWP](https://calderawp.com/): Not specific to CMB2, but allows creating templates for outputting your custom fields.
|
86 |
+
* [Yoast CMB2 Field Analysis WP Plugin](https://github.com/alexis-magina/yoast-cmb2-field-analysis) by [alexis-magina](https://github.com/alexis-magina): This plugin adds in a js based method of recalculating Yoast SEO's content scores when updating page content, specifically custom meta fields added via the CMB2 library.
|
87 |
+
|
88 |
+
### Links
|
89 |
+
* [Project Homepage](http://cmb2.io)
|
90 |
+
* [Github project page](https://github.com/CMB2/CMB2)
|
91 |
+
* [Documentation (GitHub wiki)](https://github.com/CMB2/CMB2/wiki)
|
92 |
+
* [Snippet Library](https://github.com/CMB2/CMB2-Snippet-Library/)
|
93 |
+
|
94 |
+
**[View CHANGELOG](https://github.com/CMB2/CMB2/blob/master/CHANGELOG.md)**
|
95 |
+
|
96 |
+
### Known Issues
|
97 |
+
|
98 |
+
* Metabox containing WYSIWYG editor cannot be moved or used in a repeatable way at this time (this is a TinyMCE issue).
|
99 |
+
* Not all fields work well in a repeatable group.
|
100 |
+
|
101 |
+
== Installation ==
|
102 |
+
|
103 |
+
If installing the plugin from wordpress.org:
|
104 |
+
|
105 |
+
1. Upload the entire `/CMB2` directory to the `/wp-content/plugins/` directory.
|
106 |
+
2. Activate CMB2 through the 'Plugins' menu in WordPress.
|
107 |
+
2. Copy (and rename if desired) `example-functions.php` into to your theme or plugin's directory.
|
108 |
+
2. Edit to only include the fields you need and rename the functions.
|
109 |
+
4. Profit.
|
110 |
+
|
111 |
+
If including the library in your plugin or theme:
|
112 |
+
|
113 |
+
1. Place the CMB directory inside of your theme or plugin.
|
114 |
+
2. Copy (and rename if desired) `example-functions.php` into a folder *above* the CMB directory OR copy the entirety of its contents to your theme's `functions.php` file.
|
115 |
+
2. Edit to only include the fields you need and rename the functions (CMB directory should be left unedited in order to easily update the library).
|
116 |
+
4. Profit.
|
117 |
+
|
118 |
+
== Frequently Asked Questions ==
|
119 |
+
|
120 |
+
FAQ's usually end up in the [github wiki](https://github.com/CMB2/CMB2/wiki).
|
121 |
+
|
122 |
+
== Changelog ==
|
123 |
+
|
124 |
+
### 2.3.0
|
125 |
+
|
126 |
+
#### Enhancements
|
127 |
+
|
128 |
+
* Updated Italian translation. Props [@Mte90](https://github.com/Mte90) ([#1067](https://github.com/CMB2/CMB2/issues/1067)).
|
129 |
+
* Starting with this release, we are fully switching to the more communicative and standard [Semantic Versioning](https://semver.org/). ([#1061](https://github.com/CMB2/CMB2/issues/1061)).
|
130 |
+
|
131 |
+
#### Bug Fixes
|
132 |
+
|
133 |
+
* Update for compatibility with PHP 7.2 (e.g. fixes `Fatal error: Declaration of CMB2_Type_Colorpicker::render() must be compatible with CMB2_Type_Text::render($args = Array)...`). ([#1070](https://github.com/CMB2/CMB2/issues/1070), [#1074](https://github.com/CMB2/CMB2/issues/1074), [#1075](https://github.com/CMB2/CMB2/issues/1075)).
|
134 |
+
|
135 |
+
### 2.2.6.2
|
136 |
+
|
137 |
+
#### Bug Fixes
|
138 |
+
|
139 |
+
* Fix another issue (introduced in 2.2.6) with repeatable fields not being able to save additional fields. Props [@anhskohbo](https://github.com/anhskohbo) ([#1059](https://github.com/CMB2/CMB2/pull/1059), [#1058](https://github.com/CMB2/CMB2/issues/1058)).
|
140 |
+
* Only dequeue `jw-cmb2-rgba-picker-js` script (and enqueue our `wp-color-picker-alpha`) if it is actually found.
|
141 |
+
|
142 |
+
### 2.2.6.1
|
143 |
+
|
144 |
+
#### Enhancements
|
145 |
+
* Merge in the [CMB2 RGBa Colorpicker](https://github.com/JayWood/CMB2_RGBa_Picker) field type functionality to the CMB2 colopicker field type. Adds the ability to add an alpha (transparency) slider to the colorpicker by adding the `'alpha'` option [to the field options array](https://github.com/CMB2/CMB2/blob/6fce2e7ba8f41345a23bc2064e30433bdb11c16c/example-functions.php#L263-L265). Thank you to [JayWood](https://github.com/JayWood) for his work on his custom field type.
|
146 |
+
|
147 |
+
#### Bug Fixes
|
148 |
+
|
149 |
+
* Fix issue (introduced in 2.2.6) with complex fields set as repeatable not being able to save additional fields. Fixes [#1054](https://github.com/CMB2/CMB2/issues/1054).
|
150 |
+
|
151 |
+
### 2.2.6
|
152 |
+
|
153 |
+
#### Enhancements
|
154 |
+
|
155 |
+
* Move the fetching of group label and description to _after_ calling `'before_group'` parameter.
|
156 |
+
* Allow using the `'render_row_cb'` param for group fields. Fixes [#1041](https://github.com/CMB2/CMB2/issues/1041).
|
157 |
+
* Allow resetting cached CMB2 field objects (new 3rd parameter to `CMB2::get_field()`).
|
158 |
+
* Allow resetting cached callback results (`CMB2_Base::unset_param_callback_cache()`).
|
159 |
+
* Persian translation provided by [@reza-irdev](https://github.com/reza-irdev) ([#1046](https://github.com/CMB2/CMB2/issues/1046)).
|
160 |
+
* Added a `'message_cb'` box property, which allows defining a custom callback for adding options-save messages on `options-page` boxes.
|
161 |
+
* Updated many the oembed-related unit tests to more reliably test the relevant parts, and not so much the actual success of the WordPress functions.
|
162 |
+
* Updated travis config to Install PHP5.2/5.3 on trusty for unit tests. Stolen from [gutenberg/pull/2049](https://github.com/WordPress/gutenberg/pull/2049). Intended to compensate for Travis removing support for PHP 5.2/5.3.
|
163 |
+
|
164 |
+
#### Bug Fixes
|
165 |
+
|
166 |
+
* Ensure `'file'` field type ID is removed from the database if the `'file'` field type's value is empty ([Support thread](https://wordpress.org/support/topic/bug-field-of-type-file-does-not-delete-postmeta-properly/)).
|
167 |
+
* Fix JS errors when `user_can_richedit()` is false ("Disable the visual editor when writing" user option is checked, or various unsupported browsers). See [#1031](https://github.com/CMB2/CMB2/pull/1031).
|
168 |
+
* Fix issue where some European date formats (e.g. `F j, Y`) would not properly translate into jQuery UI date formats. [Support thread](https://wordpress.org/support/topic/using-wordpresss-date-time-format-settings)
|
169 |
+
* Fix repeating fields within repeating groups having the values/indexes incorrectly associated. Props [@daggerhart](https://github.com/daggerhart) ([#1047](https://github.com/CMB2/CMB2/pull/1047)). Fixes [#1035](https://github.com/CMB2/CMB2/issues/1035), [#348](https://github.com/CMB2/CMB2/issues/348).
|
170 |
+
* Fixed multiple update messages on settings pages when CMB2 option pages were registered ([#1049](https://github.com/CMB2/CMB2/issues/1049)).
|
171 |
+
* Fix issue where using multiple oembed fields could cause incorrectly cached arguments to be used.
|
172 |
+
* Fix bug where `'select_all_button' => false` was not working for `'taxonomy_multicheck'` field type ([#1005](https://github.com/CMB2/CMB2/issues/1005)).
|
173 |
+
|
174 |
+
### 2.2.5.3
|
175 |
+
|
176 |
+
#### Enhancements
|
177 |
+
|
178 |
+
* Update to instead initate CMB2 hookup via `"cmb2_init_hookup_{$cmb_id}"` hook. Allows plugins to unhook/rehook/etc.
|
179 |
+
|
180 |
+
#### Bug Fixes
|
181 |
|
182 |
* Spelling/Grammar fixes. Props [@garrett-eclipse](https://github.com/garrett-eclipse) ([#1012](https://github.com/CMB2/CMB2/pull/1012)).
|
183 |
* Fix "PHP Strict Standards: Static function should not be abstract" notice.
|
187 |
* Change the updated-settings notice query variable so that WordPress does not auto-add settings notices on top of ours.
|
188 |
* For settings pages, only output settings errors if WordPress does not do it by default (for sub-pages of `options-general.php`), and if the errors are not disabled via the `'disable_settings_errors'` box property.
|
189 |
|
190 |
+
### 2.2.5.2
|
191 |
|
192 |
+
#### Bug Fixes
|
193 |
|
194 |
+
* Fix issue in 2.2.5 with non-sortable repeatable groups not having new groups values be emptied on creation/clone.
|
195 |
+
* Fix issue in 2.2.5 with options pages not saving when parent_slug was used. Fixes [#1008](https://github.com/CMB2/CMB2/issues/1008).
|
196 |
|
197 |
+
### 2.2.5.1
|
198 |
|
199 |
+
#### Bug Fixes
|
200 |
|
201 |
+
* Fix issue in 2.2.5 which caused empty repeatable groups having the buttons set to have a disabled "Remove Group" button.
|
202 |
|
203 |
+
### 2.2.5 - 2017-08-07
|
204 |
|
205 |
+
#### Enhancements
|
206 |
|
207 |
* Options pages are now first-class CMB2 citizens, and registering a box to show on an options page will automatically register the menu page and output the form on the page. [See example](https://github.com/CMB2/CMB2/blob/v2.2.5/example-functions.php#L640-L683). (The [snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages) in the snippet library will be updated to reflect this change)
|
208 |
* Improved Options Page styling. Props [@anhskohbo](https://github.com/anhskohbo) ([#1006](https://github.com/CMB2/CMB2/pull/1006)).
|
209 |
* Improved cohesive styles for repeatable fields. Props [@anhskohbo](https://github.com/anhskohbo) ([#819](https://github.com/CMB2/CMB2/pull/819)).
|
210 |
+
* New field types, `'taxonomy_radio_hierarchical'`, and `'taxonomy_multicheck_hierarchical'`, for displaying taxonomy options in a hierarchical layout. Props to [eriktelepovsky](https://github.com/eriktelepovsky) for the [working code](https://github.com/CMB2/CMB2/issues/640#issuecomment-246938690). ([#640](https://github.com/CMB2/CMB2/issues/640))
|
211 |
* Removing last repeat item row (and repeat group row) is now somewhat allowed in that the "remove" button simply resets the last item to empty. Fixes [#312](https://github.com/CMB2/CMB2/issues/312).
|
212 |
* Enable the additional media library modal filters. Fixes [#873](https://github.com/CMB2/CMB2/issues/873).
|
213 |
* Sanitize the attributes added via the `cmb2_group_wrap_attributes` filter.
|
220 |
* Break `CMB2_Field:options()` method apart to allow re-setting options from field params. Related: [reaktivstudios/cmb2-flexible-content/pull/8](https://github.com/reaktivstudios/cmb2-flexible-content/pull/8).
|
221 |
* New `CMB2:box_types()` method for getting the array of registered `'object_types'` for a box. Ensures the return is an array.
|
222 |
* Improved inline hooks documentation.
|
223 |
+
* Updated several CMB2 methods to return the CMB2 object (for method chaining). Methods include:
|
224 |
* `CMB2::show_form()`
|
225 |
* `CMB2::render_form_open()`
|
226 |
* `CMB2::render_form_close()`
|
233 |
* `CMB2::after_save()`
|
234 |
* `CMB2::add_fields()`
|
235 |
|
236 |
+
#### Bug Fixes
|
237 |
|
238 |
* Update for `file`/`file_list` fields to properly show a preview for SVG images. Fixes [#874](https://github.com/CMB2/CMB2/pull/874).
|
239 |
* Fix and standardize inconsistent button classes. Update all buttons to use the `.button-secondary` class instead of the `.button` class. This alleviates some front-end issues for themes which target the `.button` class. _This is a backwards-compatibility break._ If your theme or plugin targets the `.button` class within CMB2, you will need to update to use `.button-secondary`.
|
245 |
* Fix jQuery Migrate's `jQuery.fn.attr('value', val) no longer sets properties` warning.
|
246 |
* Fix issue with CMB2 being too aggressive with stripping slashes from values. Fixes [#981](https://github.com/CMB2/CMB2/issues/981).
|
247 |
|
248 |
+
### 2.2.4 - 2017-02-27
|
249 |
|
250 |
+
#### Enhancements
|
251 |
|
252 |
* Modify `'taxonomy_*'` fields to return stored terms for non-post objects.
|
253 |
* Modify `CMB2::get_sanitized_values()` to return the sanitized `'taxonomy_*'` field values. Also added `"cmb2_return_taxonomy_values_{$cmb_id}"` filter to modify if `'taxonomy_*'` field values are returned. Fixes [#538](https://github.com/CMB2/CMB2/issues/538).
|
268 |
|
269 |
Props [@norcross](https://github.com/norcross) ([#836](https://github.com/CMB2/CMB2/pull/836)).
|
270 |
* New field parameter, `'render_class'`, allowing you to override the default `'CMB2_Type_Base'` class that is used when rendering the field. This provides interesting object-oriented ways to override default CMB2 behavior by subclassing the default class and overriding methods. The render class can also be overridden with the `"cmb2_render_class_{$fieldtype}"` filter, which is passed the default render class name as well as the `CMB2_Types` object, but this should be used sparingly, and within the context of your project's boxes/fields or you could break other plugins'/themes' CMB2 fields.
|
271 |
+
* Improvements to the `file`/`file_list` fields javascript APIs, including using undersore templates.
|
272 |
* Small improvements to the styling for the `file_list` field type.
|
273 |
* New action hook, `cmb2_footer_enqueue`, which occurs after CMB2 enqueues its assets.
|
274 |
* Example functions clean up. Props [@PavelK27](https://github.com/PavelK27) ([#866](https://github.com/CMB2/CMB2/pull/866)).
|
275 |
+
* New `CMB2_Utils` methods, `get_available_image_sizes()` and `get_named_size()`. Props [@Cai333](https://github.com/Cai333).
|
276 |
|
277 |
+
#### Bug Fixes
|
278 |
|
279 |
* Fix datepicker month/year dropdown text color. On windows, the option text was showing as white (invisible). Fixes [#770](https://github.com/CMB2/CMB2/issues/770).
|
280 |
* Repeatable WYSIWYG no longer breaks if `'quicktags'` param is set to false. Props [@timburden](https://github.com/timburden) ([#797](https://github.com/CMB2/CMB2/pull/797), [#796](https://github.com/CMB2/CMB2/issues/796)).
|
289 |
* Do not silence notices/errors in `CMB2_Utils::get_file_ext()`.
|
290 |
* If `title` field type has no name value, then only output a span element (instead of a header element).
|
291 |
|
292 |
+
### 2.2.3.1 - 2016-11-08
|
293 |
|
294 |
+
#### Enhancements
|
295 |
|
296 |
* Better styling for disabled group "X" buttons, and add title attr. Fixes [#773](https://github.com/CMB2/CMB2/issues/773).
|
297 |
|
298 |
+
#### Bug Fixes
|
299 |
|
300 |
* Use quotes for `label[for=""]` selector. Fixed `Syntax error, unrecognized expression`. Props [@anhskohbo](https://github.com/anhskohbo) ([#789](https://github.com/CMB2/CMB2/pull/789)).
|
301 |
* Fix `ReferenceError: tinyMCE is not defined` javascript errors (happening when trying to remove a repeatable field/group). Fixes [#790](https://github.com/CMB2/CMB2/issues/790), and [#730](https://github.com/CMB2/CMB2/issues/730).
|
302 |
* Fix REST API `'show_in_rest'` examples in `example-functions.php`. Any REST API boxes/fields must use the `'cmb2_init'` hook (as opposed to the `'cmb2_admin_init'` hook).
|
303 |
|
304 |
+
### 2.2.3 - 2016-10-25
|
305 |
|
306 |
+
#### Enhancements
|
307 |
|
308 |
* CMB2 REST API! CMB2 now has WP REST API endpoints for displaying your boxes and fields data, as well as registers rest fields in the existing post, user, term, and comment endpoints (in the cmb2 namespace). Enabling the REST API for your boxes/fields is opt-in, meaning it will not be automatically enabled. For more info, [check out the wiki](https://github.com/CMB2/CMB2/wiki/REST-API).
|
309 |
* Small string improvement, move a period inside the translatable string. Props [@pedro-mendonca](https://github.com/pedro-mendonca) ([#672](https://github.com/CMB2/CMB2/pull/672)).
|
314 |
* CMB2 JS object is now instantiated without stomping existing object, to enable extending.
|
315 |
* New field parameter for taxonomy fields, `'remove_default'` which allows disabling the default taxonomy metabox. Props [@c3mdigital](https://github.com/c3mdigital) ([#593](https://github.com/CMB2/CMB2/pull/593)).
|
316 |
* Change `'row_classes'` to just `'classes'`, to mirror the metabox `'classes'` property. Also now accepts a `'classes_cb'` parameter for specifying a callback which returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. (`'row_classes'` will continue to work, but is deprecated)
|
317 |
+
* Make wysiwyg editors work in the repeatable groups context. A standard repeatable (non-group) wysiwyg field is not supported (but will possibly be included in a future update). Props [@johnsonpaul1014](https://github.com/johnsonpaul1014) ([#26](https://github.com/CMB2/CMB2/pull/26), [#99](https://github.com/CMB2/CMB2/pull/99), [#260](https://github.com/CMB2/CMB2/pull/260), [#264](https://github.com/CMB2/CMB2/pull/264), [#356](https://github.com/CMB2/CMB2/pull/356), [#431](https://github.com/CMB2/CMB2/pull/431), [#462](https://github.com/CMB2/CMB2/pull/462), [#657](https://github.com/CMB2/CMB2/pull/657), [#693](https://github.com/CMB2/CMB2/pull/693)).
|
318 |
* Add an id to the heading tag in the title field. This allows linking to a particular title using the id.
|
319 |
* Internationalization improvements. Props [ramiy](https://github.com/ramiy) ([#696](https://github.com/CMB2/CMB2/pull/696)).
|
320 |
* Ensure that saving does not happen during a switch-to-blog session, as data would be saved to the wrong object. [See more](https://wordpress.org/support/topic/bug-in-lastest-version?replies=2).
|
332 |
...
|
333 |
```
|
334 |
|
335 |
+
#### Bug Fixes
|
336 |
|
337 |
* If custom field types use a method and the Type object has not been instantiated, Try to guess the Type object and instantiate.
|
338 |
* Normalize WordPress root path (`ABSPATH`) and theme rooth path (`get_theme_root()`). Props [@rianbotha](https://github.com/rianbotha) ([#677](https://github.com/CMB2/CMB2/pull/677), [#676](https://github.com/CMB2/CMB2/pull/676)).
|
339 |
* Fix issue with `'cmb2_remove_row'` Javascript callback for non-group row removal. Fixes [#729](https://github.com/CMB2/CMB2/pull/729)).
|
340 |
* Fix issue with missing assignment of variable (undefined variable). Props [@anhskohbo](https://github.com/anhskohbo) ([#779](https://github.com/CMB2/CMB2/pull/779)).
|
341 |
|
342 |
+
### 2.2.2.1 - 2016-06-27
|
343 |
|
344 |
+
#### Bug Fixes
|
345 |
|
346 |
* Fix issue that kept CMB2 stylesheet from being enqueued when using the [options-page snippets](https://github.com/CMB2/CMB2-Snippet-Library/tree/master/options-and-settings-pages).
|
347 |
* Fix issue which caused the CMB2 column display styles to be enqueued in the wrong pages. Now only enqueues on admin pages with columns.
|
348 |
|
349 |
+
### 2.2.2 - 2016-06-27
|
350 |
|
351 |
+
#### Enhancements
|
352 |
|
353 |
* You can now set admin post-listing columns with an extra field parameter, `'column' => true,`. If you want to dictate what position the column is, use `'column' => array( 'position' => 2 ),`. If you want to dictate the column title (instead of using the field `'name'` value), use `'column' => array( 'name' => 'My Column' ),`. If you need to specify the column display callback, set the `'display_cb'` parameter to [a callback function](https://github.com/CMB2/CMB2/wiki/Field-Parameters#render_row_cb). Columns work for post (all post-types), comment, user, and term object types.
|
354 |
* Updated Datepicker styles using JJJ's "jQuery UI Datepicker CSS for WordPress", so props Props [@stuttter](https://github.com/stuttter), [@johnjamesjacoby](https://github.com/johnjamesjacoby). Also cleaned up the timepicker styles (specifically the buttons) to more closely align with the datepicker and WordPress styles.
|
366 |
* New `CMB2_Utils` public methods, `get_url_from_dir()`, `get_file_ext()`, `get_file_name_from_path()`, and `wp_at_least()`.
|
367 |
* Add a `cmb_pre_init` Javascript event to allow overriding CMB2 defaults via JS.
|
368 |
|
369 |
+
#### Bug Fixes
|
370 |
* Fix issue with 'default' callback not being applied in all instances. Introduced new `CMB2_Field::get_default()` method, and `'default_cb'` field parameter. Using the `'default'` field parameter with a callback will be deprecated in the next few releases. ([#572](https://github.com/CMB2/CMB2/issues/572)).
|
371 |
* Be sure to call `CMB2_Field::row_classes()` for group field rows. Also, update CSS to use the "cmb-type-group" classname instead of "cmb-repeat-group-wrap".
|
372 |
* Introduce new `'text'` and `'text_cb'` field parameters for overriding CMB2 text strings instead of using the `'options'` array. ([#630](https://github.com/CMB2/CMB2/pull/630))
|
375 |
* Allow for optional/empty money field. Props [@jrfnl](https://github.com/jrfnl) ([#577](https://github.com/CMB2/CMB2/pull/577)).
|
376 |
* The `CMB2::$updated` parameter (which contains field ids for all fields updated during a save) now also correctly adds group field ids to the array.
|
377 |
|
378 |
+
### 2.2.1
|
379 |
|
380 |
+
#### Bug Fixes
|
381 |
|
382 |
* Fixes back-compatibility issue which could allow multiple CMB2 instances to load (causing fatal errors). ([#520](https://github.com/CMB2/CMB2/pull/520))
|
383 |
|
384 |
+
### 2.2.0 - 2016-02-27
|
385 |
|
386 |
+
#### Enhancements
|
387 |
|
388 |
* Term Meta! As of WordPress 4.4, [WordPress will have the ability to use term metadata](https://make.wordpress.org/core/2015/10/23/4-4-taxonomy-roundup/). CMB2 will work with term meta out of the box. To do so, see the example cmb registration in the `yourprefix_register_taxonomy_metabox` function in [example-functions.php](https://github.com/CMB2/CMB2/blob/master/example-functions.php).
|
389 |
* New hooks which hook in after save field action: `'cmb2_save_field'` and `"cmb2_save_field_{$field_id}"`. Props [wpsmith](https://github.com/wpsmith) ([#475](https://github.com/CMB2/CMB2/pull/475)).
|
395 |
* Fix some inline documentation issues. Props [@jrfnl](https://github.com/jrfnl) ([#579](https://github.com/CMB2/CMB2/pull/579)).
|
396 |
* Include `.gitattributes` file for excluding development resources when using Composer. Props [@benoitchantre](https://github.com/benoitchantre) ([#575](https://github.com/CMB2/CMB2/pull/575), [#53](https://github.com/CMB2/CMB2/pull/53)).
|
397 |
|
398 |
+
|
399 |
+
#### Bug Fixes
|
400 |
|
401 |
* Fixed issue with `'taxonomy_select'` field type where a term which evaluated falsey would not be displayed properly. Props [adamcapriola](https://github.com/adamcapriola) ([#477](https://github.com/CMB2/CMB2/pull/477)).
|
402 |
* Fix issue with colorpickers not changing when sorting groups.
|
406 |
* Fix issue with oembed fields not working correctly on options pages. ([#542](https://github.com/CMB2/CMB2/pull/542)).
|
407 |
* Fix issue with repeatable field <button> elements stealing focus from "submit" button.
|
408 |
|
409 |
+
### 2.1.2 - 2015-10-01
|
410 |
|
411 |
+
#### Bug Fixes
|
412 |
|
413 |
* Fixes back-compatibility issue when adding fields array to the metabox registration. ([#472](https://github.com/CMB2/CMB2/pull/472))
|
414 |
|
415 |
+
### 2.1.1 - 2015-09-30
|
416 |
|
417 |
+
#### Enhancements
|
418 |
|
419 |
* Make all CMB2::save_fields arguments optional to fall-back to `$_POST` data. Props [JPry](https://github.com/JPry).
|
420 |
* New filter, `cmb2_non_repeatable_fields` for adding additional fields to the blacklist of repeatable field-types. Props [JPry](https://github.com/JPry) ([#430](https://github.com/CMB2/CMB2/pull/430)).
|
426 |
* Update `CMB2_Utils::image_id_from_url` to be more reliable. Props [wpscholar](https://github.com/wpscholar), ([#453](https://github.com/CMB2/CMB2/pull/453)).
|
427 |
* `cmb2_get_option` now takes a default fallback value as a third parameter.
|
428 |
|
429 |
+
#### Bug Fixes
|
430 |
|
431 |
* Address issue where `'file'` and `'file_list'` field results were getting mixed. Props [augustuswm](https://github.com/augustuswm) ([#382](https://github.com/CMB2/CMB2/pull/382), [#250](https://github.com/CMB2/CMB2/pull/250), [#296](https://github.com/CMB2/CMB2/pull/296)).
|
432 |
* Fix long-standing issues with radio and multicheck fields in repeatable groups losing their values when new rows are added. ([#341](https://github.com/CMB2/CMB2/pull/341), [#304](https://github.com/CMB2/CMB2/pull/304), [#263](https://github.com/CMB2/CMB2/pull/263), [#246](https://github.com/CMB2/CMB2/pull/246), [#150](https://github.com/CMB2/CMB2/pull/150))
|
436 |
* Fixes issue with `'file_list'` fields not saving properly when in repeatable groups display. Props [jamiechong](https://github.com/jamiechong) ([#433](https://github.com/CMB2/CMB2/pull/433),[#187](https://github.com/CMB2/CMB2/pull/187)).
|
437 |
* Update `'taxonomy_radio_inline'` and `'taxonomy_multicheck_inline'` fields sanitization method to use the same method as the non-inline versions. Props [superfreund](https://github.com/superfreund) ([#454](https://github.com/CMB2/CMB2/pull/454)).
|
438 |
|
439 |
+
### 2.1.0 - 2015-08-05
|
440 |
|
441 |
+
#### Bug Fixes
|
442 |
|
443 |
* Fix user fields not saving. Props [achavez](https://github.com/achavez), ([#417](https://github.com/CMB2/CMB2/pull/417)).
|
444 |
|
445 |
+
### 2.0.9 - 2015-07-28
|
|
|
|
|
446 |
|
447 |
+
#### Bug Fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
|
449 |
* `'multicheck_inline'`, `'taxonomy_radio_inline'`, and `'taxonomy_multicheck_inline'` field types were not outputting anything since it's value was not being returned. Props [ediamin](https://github.com/ediamin), ([#367](https://github.com/CMB2/CMB2/pull/367), ([#405](https://github.com/CMB2/CMB2/pull/405)).
|
450 |
* `'hidden'` type fields were not honoring the `'show_on_cb'` callback. Props [JPry](https://github.com/JPry), ([commits](https://github.com/CMB2/CMB2/compare/5a4146eec546089fbe1a1c859d680dfda3a86ee2...1ef5ef1e3b2260ab381090c4abe9dc7234cfa0a6)).
|
454 |
* Ensure value passed to `strtotime` in `make_valid_time_stamp` is cast to a string. Props [vajrasar](https://github.com/vajrasar) ([#389](https://github.com/CMB2/CMB2/pull/389)).
|
455 |
* Fixed issue with Windows IIS and bundling CMB2 in the theme. Props [DevinWalker](https://github.com/DevinWalker), ([#400](https://github.com/CMB2/CMB2/pull/400), [#401](https://github.com/CMB2/CMB2/pull/401))
|
456 |
|
457 |
+
#### Enhancements
|
458 |
+
|
459 |
+
* Updated/Added many translations. Props [fxbenard](https://github.com/fxbenard), ([#203](https://github.com/CMB2/CMB2/pull/344)) and [Mte90](https://github.com/Mte90) for the Italian translation.
|
460 |
+
* Updated `'file_list'` field type to have a more intuitive selection in the media library, and updated the 'Use file' text in the button. Props [SteveHoneyNZ](https://github.com/SteveHoneyNZ) ([#357](https://github.com/CMB2/CMB2/pull/357), [#358](https://github.com/CMB2/CMB2/pull/358)).
|
461 |
+
* `'closed'` group field option parameter introduced in order to set the groups as collapsed by default. Requested in [#391](https://github.com/CMB2/CMB2/issues/391).
|
462 |
+
* Added `"cmb2_{$object_type}_process_fields_{$cmb_id}"` hook for hooking in and modifying the metabox or fields before the fields are processed/sanitized for saving.
|
463 |
+
* Added Comment Metabox support. Props [GregLancaster71](https://github.com/GregLancaster71) ([#238](https://github.com/CMB2/CMB2/pull/238), [#244](https://github.com/CMB2/CMB2/pull/244)).
|
464 |
+
* New "cmb2_{$field_id}_is_valid_img_ext" filter for determining if a field value has a valid image file-type extension.
|
465 |
+
|
466 |
+
### 2.0.8 - 2015-06-01
|
467 |
|
468 |
+
#### Bug Fixes
|
469 |
|
470 |
* Fix color-picker field not enqueueing the colorpicker script. ([#333](https://github.com/CMB2/CMB2/issues/333))
|
471 |
|
472 |
+
### 2.0.7 - 2015-05-28
|
473 |
|
474 |
+
#### Enhancements
|
475 |
|
476 |
* Ability to use non-repeatable group fields by setting the `'repeatable'` field param to `false` when registering a group field type. Props [marcusbattle](https://github.com/marcusbattle), ([#159](https://github.com/CMB2/CMB2/pull/159)).
|
477 |
* Add and enqeueue a front-end specific CSS file which adds additional styles which are typically covered by wp-admin css. ([#311](https://github.com/CMB2/CMB2/issues/311))
|
478 |
* Better handling of the CMB2 javascript (and CSS) required dependencies array. Dependencies are now only added conditionally based on the field types that are actually visible. ([#136](https://github.com/CMB2/CMB2/issues/136))
|
479 |
+
* **THIS IS A BREAKING CHANGE:** The `group` field type's `'show_on_cb'` property now receives the `CMB2_Field` object instance as an argument instead of the `CMB2` instance. If you're using the `'show_on_cb'` property for a `group` field, please adjust accordingly. _note: you can still retrieve the `CMB2` instance via the `cmb2_get_metabox` helper function._
|
480 |
* New dynamic hook, `"cmb2_save_{$object_type}_fields_{$this->cmb_id}"`, to complement the existing `"cmb2_save_{$object_type}_fields"` hook.
|
|
|
481 |
* German translation provided by Friedhelm Jost.
|
482 |
|
483 |
+
#### Bug Fixes
|
484 |
|
485 |
* Fix incorrect repeatable group title number. ([#310](https://github.com/CMB2/CMB2/pull/310))
|
486 |
* Fix obscure bug which prevented group field arguments from being passed to the sub-fields (like `show_names` and `context`).
|
487 |
* Fixed occasional issue when adding a group row, the previous row's content would be cloned. ([#257](https://github.com/CMB2/CMB2/pull/257))
|
488 |
|
489 |
+
### 2.0.6 - 2015-04-30
|
490 |
|
491 |
+
#### Enhancements
|
492 |
|
493 |
* New metabox/form parameter, `show_on_cb`, allows you to conditionally display a cmb metabox/form via a callback. The `$cmb` object gets passed as a parameter to the callback. This complements the `'show_on_cb'` parameter that already exists for individual fields. Using this callback is similar to using the `'cmb2_show_on'` filter, but only applies to that specific metabox and it is recommended to use this callback instead as it minimizes th risk that your filter will affect other metaboxes.
|
494 |
* Taxonomy types no longer save a value. The value getting saved was causing confusion and is not meant to be used. To use the saved taxonomy data, you need to use the WordPress term api, `get_the_terms `, `get_the_term_list`, etc.
|
503 |
* an `'object_type'` parameter to explictly set that in the `$cmb` object.
|
504 |
* an `'enqueue_js'` parameter to explicitly disable the CMB JS enqueue. This is handy if you're not planning on using any of the fields which require JS (like color/date pickers, wysiwyg, file, etc).
|
505 |
|
506 |
+
#### Bug Fixes
|
507 |
|
508 |
* Fix issue with oembed fields in repeatable groups where changing video changed it for all fields in a group.
|
509 |
* Fix empty arrays (like in the group field) saving as a value.
|
514 |
* @type bool $repeat Whether current field is repeatable
|
515 |
* @type bool $single Whether current field is a single database row
|
516 |
|
517 |
+
### 2.0.5 - 2015-03-17
|
518 |
|
519 |
+
#### Bug Fixes
|
|
|
|
|
520 |
|
521 |
* Fix grouped fields display (first field was being repeated), broken in 2.0.3.
|
522 |
|
523 |
+
### 2.0.4 - 2015-03-16
|
524 |
|
525 |
+
#### Enhancements
|
526 |
|
527 |
* `select`, `radio`, `radio_inline` field types now all accept the `'show_option_none'` field parameter. This parameter allows you to set the text to display for showing a 'no selection' option. Default will be `false`, which means a 'none' option will not be added. Set to `true` to use the default text, 'None', or specify another value, i.e. 'No selection'.
|
528 |
|
529 |
+
#### Bug Fixes
|
530 |
|
531 |
* Fix back-compatibility when adding group field sub-fields via old array method (vs using the `CMB2:add_group_field()` method). Thanks to [norcross](https://github.com/norcross) for reporting.
|
532 |
* Fix occasional jQuery issues with group-field indexes.
|
533 |
|
534 |
+
### 2.0.3 - 2015-03-15
|
535 |
|
536 |
+
##### Enhancements
|
537 |
|
538 |
* New constant, `CMB2_DIR`, which stores the file-path to the CMB2 directory.
|
539 |
* `text_date`, `text_time`, `text_date_timestamp`, `text_datetime_timestamp`, and ` text_datetime_timestamp_timezone` field types now take an arguments array so they can be extended by custom field types.
|
542 |
* Added a callback option for the field default value. The callback gets passed an array of all the field parameters as the first argument, and the field object as the second argument. (which means you can get the post id using `$field->object_id`). ([#233](https://github.com/CMB2/CMB2/issues/233)).
|
543 |
* New `CMB2::get_field()` method and `cmb2_get_field` helper function for retrieving a `CMB2_Field` object from the array of registered fields for a metabox.
|
544 |
* New `CMB2::get_sanitized_values()` method and `cmb2_get_metabox_sanitized_values` helper function for retrieving sanitized values from an array of values (usually `$_POST` data).
|
545 |
+
* New `'save_fields'` metabox property that can be used to disable (by setting `'save_fields' => false`) the automatic saving of the fields when the form is submitted. These can be useful when you want to handle the saving of the fields yourself, or want to use submitted data for other purposes like generating new posts, or sending emails, etc.
|
546 |
|
547 |
+
##### Bug Fixes
|
548 |
|
549 |
* Fix commented out text_datetime_timestamp_timezone field registration example in `example-functions.php`. Props [cliffordp](https://github.com/cliffordp), ([#203](https://github.com/CMB2/CMB2/pull/203)).
|
550 |
* Fix sidebar styling for money fields and fields with textareas. ([#234](https://github.com/CMB2/CMB2/issues/234))
|
551 |
* Fix `CMB2_Sanitize` class to properly use the stripslashed value (which was added in [#162](https://github.com/CMB2/CMB2/pull/162) but never used). Props [dustyf](https://github.com/dustyf), ([#241](https://github.com/CMB2/CMB2/pull/241)).
|
552 |
|
553 |
+
### 2.0.2 - 2015-02-15
|
554 |
|
555 |
+
##### Enhancements
|
556 |
|
557 |
* Use the more appropriate `add_meta_boxes` hook for hooking in metaboxes to post-edit screen. Thanks [@inspiraaz](https://github.com/inspiraaz) for reporting. ([#161](https://github.com/CMB2/CMB2/issues/161))
|
558 |
* Add a `row_classes` field param which allows you to add additional classes to the cmb-row wrap. This parameter can take a string, or array, or can take a callback that returns a string or array. The callback will receive `$field_args` as the first argument, and the CMB2_Field `$field` object as the second argument. Reported/requested in [#68](https://github.com/CMB2/CMB2/issues/68).
|
563 |
* New CMB2_Boxes method, [`CMB2_Boxes::remove()`](https://github.com/CMB2/CMB2-Snippet-Library/blob/master/filters-and-actions/cmb2_init_before_hookup-remove-cmb2-metabox.php).
|
564 |
* When clicking on a file/image in the `file`, or `file_list` type, the media modal will open with that image selected. Props [johnsonpaul1014](https://github.com/johnsonpaul1014), ([#120](https://github.com/CMB2/CMB2/pull/120)).
|
565 |
|
566 |
+
### 2.0.1 - 2015-02-02
|
|
|
567 |
|
568 |
2.0.1 is the official version after beta, and includes all the changes from 2.0.0 (beta).
|
569 |
|
570 |
+
### 2.0.0(beta) - 2014-08-16
|
571 |
|
572 |
2.0.0 is the official version number for the transition to CMB2, and 2.0.1 is the official version after beta. It is a complete rewrite. Improvements and fixes are listed below. __Note: This release requires WordPress 3.8+__
|
573 |
+
|
574 |
+
##### Enhancements
|
575 |
|
576 |
* Converted `<table>` markup to more generic `<div>` markup to be more extensible and allow easier styling.
|
577 |
* Much better handling and display of repeatable groups.
|
578 |
* Entirely translation-ready [with full translations](http://wp-translations.org/project/cmb2/) in Spanish, French (Props [@fredserva](https://github.com/fredserva) - [#127](https://github.com/CMB2/CMB2/pull/127)), Finnish (Props [@onnimonni](https://github.com/onnimonni) - [#108](https://github.com/CMB2/CMB2/pull/108)), Swedish (Props [@EyesX](https://github.com/EyesX) - [#141](https://github.com/CMB2/CMB2/pull/141)), and English.
|
579 |
+
* Add cmb fields to new user page. Props [GioSensation](https://github.com/GioSensation), ([#616](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/616)).
|
580 |
* Improved and additional [helper-functions](https://github.com/CMB2/CMB2/blob/master/includes/helper-functions.php).
|
581 |
* Added new features and translation for datepicker. Props [kalicki](https://github.com/kalicki), ([#657](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/657)).
|
582 |
* General code standards cleanup. Props [gregrickaby](https://github.com/gregrickaby), ([#17](https://github.com/CMB2/CMB2/pull/17) & others).
|
594 |
* [New before/after dynamic form hooks](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-the-dynamic-beforeafter-form-hooks).
|
595 |
* Larger unit test coverage. Props to [@pmgarman](https://github.com/pmgarman) for assistance. ([#90](https://github.com/CMB2/CMB2/pull/90) and [#91](https://github.com/CMB2/CMB2/pull/91))
|
596 |
* Added helper function to update an option. Props [mAAdhaTTah](https://github.com/mAAdhaTTah), ([#110](https://github.com/CMB2/CMB2/pull/110)).
|
597 |
+
* More JS hooks during repeat group shifting. Props [AlchemyUnited](https://github.com/AlchemyUnited), ([#125](https://github.com/CMB2/CMB2/pull/125)).
|
598 |
* [New metabox config option for defaulting to closed](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#setting-a-metabox-to-closed-by-default).
|
599 |
* New hooks, [`cmb2_init`](https://github.com/CMB2/CMB2/wiki/Tips-&-Tricks#using-cmb2-helper-functions-and-cmb2_init) and `cmb2_init_{$cmb_id}`.
|
600 |
|
601 |
+
##### Bug Fixes
|
602 |
|
603 |
* New mechanism to ensure CMB2 only loads the most recent version of CMB2 in your system. This fixes the issue where another bundled version could conflict or take precendent over your up-to-date version.
|
604 |
* Fix issue with field labels being hidden. Props [mustardBees](https://github.com/mustardBees), ([#48](https://github.com/CMB2/CMB2/pull/48)).
|
610 |
* Fix metabox form not being returned to caller. Props [akshayagarwal](https://github.com/akshayagarwal), ([#145](https://github.com/CMB2/CMB2/pull/145)).
|
611 |
* Run stripslashes before saving data, since WordPress forces magic quotes. Props [clifgriffin](https://github.com/clifgriffin), ([#162](https://github.com/CMB2/CMB2/pull/162)).
|
612 |
|
613 |
+
### 1.3.0 - (never released, merged into CMB2)
|
614 |
+
|
615 |
+
##### Enhancements
|
616 |
|
|
|
|
|
617 |
* Localize Date, Time, and Color picker defaults so that they can be overridden via the `cmb_localized_data` filter. ([#528](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/528))
|
618 |
* Change third parameter for 'cmb_metabox_form' to be an args array. Optional arguments include `echo`, `form_format`, and `save_button`.
|
619 |
* Add support for `show_option_none` argument for `taxonomy_select` and `taxonomy_radio` field types. Also adds the following filters: `cmb_all_or_nothing_types`, `cmb_taxonomy_select_default_value`, `cmb_taxonomy_select_{$this->_id()}_default_value`, `cmb_taxonomy_radio_{$this->_id()}_default_value`, `cmb_taxonomy_radio_default_value`. Props [@pmgarman](https://github.com/pmgarman), ([#569](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/569)).
|
620 |
* Make the list items in the `file_list` field type drag & drop sortable. Props [twoelevenjay](https://github.com/twoelevenjay), ([#603](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/603)).
|
621 |
|
622 |
+
##### Bug Fixes
|
623 |
|
624 |
* Fixed typo in closing `</th>` tag. Props [@CivicImages](https://github.com/CivicImages). ([#616](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/616))
|
625 |
|
626 |
+
### 1.2.0 - 2014-05-03
|
627 |
+
|
628 |
+
##### Enhancements
|
629 |
|
|
|
|
|
630 |
* Add support for custom date/time formats. Props [@Scrent](https://github.com/Scrent). ([#506](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/506))
|
631 |
* Simplify `wysiwyg` escaping and allow it to be overridden via the `escape_cb` parameter. ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/491))
|
632 |
* Add a 'Select/Deselect all' button for the `multicheck` field type.
|
634 |
* New field parameter, `show_on_cb`, allows you to conditionally display a field via a callback. ([#47](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/47))
|
635 |
* Unit testing (the beginning). Props [@brichards](https://github.com/brichards) and [@camdensegal](https://github.com/camdensegal).
|
636 |
|
637 |
+
##### Bug Fixes
|
638 |
|
639 |
* Fixed issue where remove file button wouldn't clear the url field. ([#514](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/514))
|
640 |
* `wysiwyg` fields now allow underscores. Fixes some wysiwyg display issues in WordPress 3.8. Props [@lswilson](https://github.com/lswilson). ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/491))
|
645 |
|
646 |
|
647 |
|
648 |
+
### 1.1.3 - 2014-04-07
|
649 |
|
650 |
+
##### Bug Fixes
|
651 |
|
652 |
* Update `cmb_get_field_value` function as it was passing the parameters to `cmb_get_field` in the wrong order.
|
653 |
* Fix repeating fields not working correctly if meta key or prefix contained an integer. ([#503](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/503))
|
654 |
|
655 |
+
### 1.1.2 - 2014-04-05
|
656 |
|
657 |
+
##### Bug Fixes
|
658 |
|
659 |
* Fix issue with `cmb_Meta_Box_types.php` calling a missing method, `image_id_from_url`. ([#502](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/502))
|
660 |
|
661 |
|
662 |
+
### 1.1.1 - 2014-04-03
|
663 |
|
664 |
+
##### Bug Fixes
|
665 |
|
666 |
* Radio button values were not showing saved value. ([#500](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/500))
|
667 |
|
668 |
+
### 1.1.0 - 2014-04-02
|
669 |
|
670 |
+
##### Enhancements
|
671 |
|
672 |
* [Repeatable groups](https://github.com/CMB2/CMB2/wiki/Field-Types#group)
|
673 |
* Support for more fields to be repeatable, including oEmbed field, and date, time, and color picker fields, etc.
|
674 |
+
* Codebase has been revamped to be more modular and object-oriented.
|
675 |
* New filter, `"cmb_{$element}_attributes" ` for modifying an element's attributes.
|
676 |
* Every field now supports an `attributes` parameter that takes an array of attributes. [Read more](https://github.com/CMB2/CMB2/wiki/Field-Types#attributes).
|
677 |
* Removed `cmb_std_filter` in favor of `cmb_default_filter`. **THIS IS A BREAKING CHANGE**
|
681 |
* New JavaScript events, `cmb_add_row` and `cmb_remove_row` for hooking in and manipulating the new row's data.
|
682 |
* New filter, `cmb_localized_data`, for modifiying localized data passed to the CMB JS.
|
683 |
|
684 |
+
##### Bug Fixes
|
685 |
+
* Resolved occasional issue where only the first character of the label/value was displayed. props [@mustardBees](https://github.com/mustardBees), ([#486](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/486))
|
686 |
|
687 |
|
688 |
+
### 1.0.2 - 2014-03-03
|
689 |
|
690 |
+
##### Enhancements
|
691 |
|
692 |
* Change the way the `'cmb_validate_{$field['type']}'` filter works.
|
693 |
It is now passed a null value vs saved value. If null is returned, default sanitization will follow. **THIS IS A BREAKING CHANGE**. If you're already using this filter, take note.
|
697 |
* Updated `file_list` images to be displayed horizontally instead of vertically. props [@IgorCode](https://github.com/IgorCode), ([#467](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/467))
|
698 |
* Use `get_the_terms` where possible since the data is cached.
|
699 |
|
700 |
+
##### Bug Fixes
|
701 |
|
702 |
* Fixed wysiwyg escaping slashes. props [@gregrickaby](https://github.com/gregrickaby), ([#465](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/465))
|
703 |
* Replaced `__DIR__`, as `dirname( __FILE__ )` is easier to maintain back-compatibility.
|
705 |
* Fix undeclared JS variable. [@veelen](https://github.com/veelen), ([#451](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/451))
|
706 |
* Fix `file_list` errors when removing all files and saving.
|
707 |
* Set correct `object_id` to be used later in `cmb_show_on` filter. [@lauravaq](https://github.com/lauravaq), ([#445](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/445))
|
708 |
+
* Fix sanitization recursion memory issues.
|
709 |
|
710 |
+
### 1.0.1 - 2014-01-24
|
711 |
|
712 |
+
##### Enhancements
|
713 |
|
714 |
* Now works with option pages and site settings. ([view example in wiki](https://github.com/CMB2/CMB2/wiki/Using-CMB-to-create-an-Admin-Theme-Options-Page))
|
715 |
* two filters to override the setting and getting of options, `cmb_override_option_get_$option_key` and `cmb_override_option_save_$option_key` respectively. Handy for using plugins like [WP Large Options](https://github.com/voceconnect/wp-large-options/) ([also here](http://vip.wordpress.com/plugins/wp-large-options/)).
|
717 |
* New sanitization class to sanitize data when saved.
|
718 |
* New callback field parameter, `sanitization_cb`, for performing your own sanitization.
|
719 |
* new `cmb_Meta_Box_types::esc()` method that handles escaping data for display.
|
720 |
+
* New callback field parameter, `escape_cb`, for performing your own data escaping, as well as a new filter, `"cmb_types_esc_{$field_type}"`.
|
721 |
|
722 |
+
##### Bug Fixes
|
723 |
|
724 |
* Fixed wysiwyg editor button padding. props [@corvannoorloos](https://github.com/corvannoorloos), ([#391](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/391))
|
725 |
* A few php < 5.3 errors were addressed.
|
728 |
* Occasionally fields wouldn't save because of the admin show_on filter.
|
729 |
* Smaller images loaded to the file field type will no longer be blown up larger than their dimensions.
|
730 |
|
731 |
+
### 1.0.0 - 2013-11-30
|
732 |
|
733 |
* Added `text_datetime_timestamp_timezone` type, a datetime combo field with an additional timezone drop down, props [@dessibelle](https://github.com/dessibelle)
|
734 |
* Added `select_timezone` type, a standalone time zone select dropdown. The time zone select can be used with standalone `text_datetime_timestamp` if desired. Props [@dessibelle](https://github.com/dessibelle)
|
740 |
* `text`, `text_small`, `text_medium`, `text_url`, `text_email`, & `text_money` fields now all have the option to be repeatable. Props [@jtsternberg](https://github.com/jtsternberg)
|
741 |
* Custom metaboxes can now be added for user meta. Add them on the user add/edit screen, or in a custom user profile edit page on the front-end. Props [@tw2113](https://github.com/tw2113), [@jtsternberg](https://github.com/jtsternberg)
|
742 |
|
743 |
+
### 0.9.4
|
744 |
|
745 |
* Added field "before" and "after" options for each field. Solves issue with '$' not being the desired text_money monetary symbol, props [@GaryJones](https://github.com/GaryJones)
|
746 |
* Added filter for 'std' default fallback value, props [@messenlehner](https://github.com/messenlehner)
|
749 |
* Better file-extension check for images, props [@GhostToast](https://github.com/GhostToast)
|
750 |
* New filter, `cmb_valid_img_types`, for whitelisted image file-extensions, props [@jtsternberg](https://github.com/jtsternberg)
|
751 |
|
752 |
+
### 0.9.3
|
753 |
* Added field type and field id classes to each cmb table row, props [@jtsternberg](https://github.com/jtsternberg)
|
754 |
|
755 |
+
### 0.9.2
|
756 |
* Added post type comparison to prevent storing null values for taxonomy selectors, props [@norcross](https://github.com/norcross)
|
757 |
|
758 |
+
### 0.9.1
|
759 |
* Added `oEmbed` field type with ajax display, props [@jtsternberg](https://github.com/jtsternberg)
|
760 |
|
761 |
+
### 0.9
|
762 |
* __Note: This release requires WordPress 3.3+__
|
763 |
* Cleaned up scripts being queued, props [@jaredatch](https://github.com/jaredatch)
|
764 |
* Cleaned up and reorganized jQuery, props [@GaryJones](https://github.com/GaryJones)
|
775 |
* Added color picker, props [@jaredatch](https://github.com/jaredatch)
|
776 |
* Added readme.md markdown file, props [@jaredatch](https://github.com/jaredatch)
|
777 |
|
778 |
+
### 0.8 - 2012-01-19
|
779 |
* Added jQuery timepicker, props [@norcross](https://github.com/norcross)
|
780 |
* Added 'raw' textarea to convert special HTML entities back to characters, props [@norcross](https://github.com/norcross)
|
781 |
* Added missing examples on example-functions.php, props [@norcross](https://github.com/norcross)
|
782 |
|
783 |
+
### 0.7
|
784 |
* Added the new wp_editor() function for the WYSIWYG dialog box, props [@jcpry](https://github.com/jcpry)
|
785 |
* Created 'cmb_show_on' filter to define your own Show On Filters, props [@billerickson](https://github.com/billerickson)
|
786 |
* Added page template show_on filter, props [@billerickson](https://github.com/billerickson)
|
787 |
* Improvements to the 'file' field type, props [@randyhoyt](https://github.com/randyhoyt)
|
788 |
* Allow for default values on 'radio' and 'radio_inline' field types, props [@billerickson](https://github.com/billerickson)
|
789 |
|
790 |
+
### 0.6.1
|
791 |
* Enabled the ability to define your own custom field types (issue #28). props [@randyhoyt](https://github.com/randyhoyt)
|
792 |
|
793 |
+
### 0.6
|
794 |
* Added the ability to limit metaboxes to certain posts by id. props [@billerickson](https://github.com/billerickson)
|
795 |
|
796 |
+
### 0.5
|
797 |
* Fixed define to prevent notices. props [@destos](https://github.com/destos)
|
798 |
* Added text_date_timestap option. props [@andrewyno](https://github.com/andrewyno)
|
799 |
* Fixed WYSIWYG paragraph breaking/spacing bug. props [@wpsmith](https://github.com/wpsmith)
|
801 |
* Fixed script causing the dashboard widgets to not be collapsible.
|
802 |
* Fixed various spacing and whitespace inconsistencies
|
803 |
|
804 |
+
### 0.4
|
805 |
* Think we have a release that is mostly working. We'll say the initial release :)
|
806 |
+
|
807 |
+
== Upgrade Notice ==
|
808 |
+
|
809 |
+
### 2.3.0
|
810 |
+
|
811 |
+
#### Enhancements
|
812 |
+
|
813 |
+
* Updated Italian translation. Props [@Mte90](https://github.com/Mte90) ([#1067](https://github.com/CMB2/CMB2/issues/1067)).
|
814 |
+
* Starting with this release, we are fully switching to the more communicative and standard [Semantic Versioning](https://semver.org/). ([#1061](https://github.com/CMB2/CMB2/issues/1061)).
|
815 |
+
|
816 |
+
#### Bug Fixes
|
817 |
+
|
818 |
+
* Update for compatibility with PHP 7.2 (e.g. fixes `Fatal error: Declaration of CMB2_Type_Colorpicker::render() must be compatible with CMB2_Type_Text::render($args = Array)...`). ([#1070](https://github.com/CMB2/CMB2/issues/1070), [#1074](https://github.com/CMB2/CMB2/issues/1074), [#1075](https://github.com/CMB2/CMB2/issues/1075)).
|
includes/vendor/composer/ClassLoader.php
DELETED
@@ -1,445 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of Composer.
|
5 |
-
*
|
6 |
-
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
-
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
-
*
|
9 |
-
* For the full copyright and license information, please view the LICENSE
|
10 |
-
* file that was distributed with this source code.
|
11 |
-
*/
|
12 |
-
|
13 |
-
namespace Composer\Autoload;
|
14 |
-
|
15 |
-
/**
|
16 |
-
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
-
*
|
18 |
-
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
-
*
|
20 |
-
* // register classes with namespaces
|
21 |
-
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
-
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
-
*
|
24 |
-
* // activate the autoloader
|
25 |
-
* $loader->register();
|
26 |
-
*
|
27 |
-
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
-
* $loader->setUseIncludePath(true);
|
29 |
-
*
|
30 |
-
* In this example, if you try to use a class in the Symfony\Component
|
31 |
-
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
-
* the autoloader will first look for the class under the component/
|
33 |
-
* directory, and it will then fallback to the framework/ directory if not
|
34 |
-
* found before giving up.
|
35 |
-
*
|
36 |
-
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
-
*
|
38 |
-
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
-
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see http://www.php-fig.org/psr/psr-0/
|
41 |
-
* @see http://www.php-fig.org/psr/psr-4/
|
42 |
-
*/
|
43 |
-
class ClassLoader
|
44 |
-
{
|
45 |
-
// PSR-4
|
46 |
-
private $prefixLengthsPsr4 = array();
|
47 |
-
private $prefixDirsPsr4 = array();
|
48 |
-
private $fallbackDirsPsr4 = array();
|
49 |
-
|
50 |
-
// PSR-0
|
51 |
-
private $prefixesPsr0 = array();
|
52 |
-
private $fallbackDirsPsr0 = array();
|
53 |
-
|
54 |
-
private $useIncludePath = false;
|
55 |
-
private $classMap = array();
|
56 |
-
private $classMapAuthoritative = false;
|
57 |
-
private $missingClasses = array();
|
58 |
-
private $apcuPrefix;
|
59 |
-
|
60 |
-
public function getPrefixes()
|
61 |
-
{
|
62 |
-
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
-
}
|
65 |
-
|
66 |
-
return array();
|
67 |
-
}
|
68 |
-
|
69 |
-
public function getPrefixesPsr4()
|
70 |
-
{
|
71 |
-
return $this->prefixDirsPsr4;
|
72 |
-
}
|
73 |
-
|
74 |
-
public function getFallbackDirs()
|
75 |
-
{
|
76 |
-
return $this->fallbackDirsPsr0;
|
77 |
-
}
|
78 |
-
|
79 |
-
public function getFallbackDirsPsr4()
|
80 |
-
{
|
81 |
-
return $this->fallbackDirsPsr4;
|
82 |
-
}
|
83 |
-
|
84 |
-
public function getClassMap()
|
85 |
-
{
|
86 |
-
return $this->classMap;
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @param array $classMap Class to filename map
|
91 |
-
*/
|
92 |
-
public function addClassMap(array $classMap)
|
93 |
-
{
|
94 |
-
if ($this->classMap) {
|
95 |
-
$this->classMap = array_merge($this->classMap, $classMap);
|
96 |
-
} else {
|
97 |
-
$this->classMap = $classMap;
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
/**
|
102 |
-
* Registers a set of PSR-0 directories for a given prefix, either
|
103 |
-
* appending or prepending to the ones previously set for this prefix.
|
104 |
-
*
|
105 |
-
* @param string $prefix The prefix
|
106 |
-
* @param array|string $paths The PSR-0 root directories
|
107 |
-
* @param bool $prepend Whether to prepend the directories
|
108 |
-
*/
|
109 |
-
public function add($prefix, $paths, $prepend = false)
|
110 |
-
{
|
111 |
-
if (!$prefix) {
|
112 |
-
if ($prepend) {
|
113 |
-
$this->fallbackDirsPsr0 = array_merge(
|
114 |
-
(array) $paths,
|
115 |
-
$this->fallbackDirsPsr0
|
116 |
-
);
|
117 |
-
} else {
|
118 |
-
$this->fallbackDirsPsr0 = array_merge(
|
119 |
-
$this->fallbackDirsPsr0,
|
120 |
-
(array) $paths
|
121 |
-
);
|
122 |
-
}
|
123 |
-
|
124 |
-
return;
|
125 |
-
}
|
126 |
-
|
127 |
-
$first = $prefix[0];
|
128 |
-
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
129 |
-
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
130 |
-
|
131 |
-
return;
|
132 |
-
}
|
133 |
-
if ($prepend) {
|
134 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
135 |
-
(array) $paths,
|
136 |
-
$this->prefixesPsr0[$first][$prefix]
|
137 |
-
);
|
138 |
-
} else {
|
139 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
140 |
-
$this->prefixesPsr0[$first][$prefix],
|
141 |
-
(array) $paths
|
142 |
-
);
|
143 |
-
}
|
144 |
-
}
|
145 |
-
|
146 |
-
/**
|
147 |
-
* Registers a set of PSR-4 directories for a given namespace, either
|
148 |
-
* appending or prepending to the ones previously set for this namespace.
|
149 |
-
*
|
150 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
151 |
-
* @param array|string $paths The PSR-4 base directories
|
152 |
-
* @param bool $prepend Whether to prepend the directories
|
153 |
-
*
|
154 |
-
* @throws \InvalidArgumentException
|
155 |
-
*/
|
156 |
-
public function addPsr4($prefix, $paths, $prepend = false)
|
157 |
-
{
|
158 |
-
if (!$prefix) {
|
159 |
-
// Register directories for the root namespace.
|
160 |
-
if ($prepend) {
|
161 |
-
$this->fallbackDirsPsr4 = array_merge(
|
162 |
-
(array) $paths,
|
163 |
-
$this->fallbackDirsPsr4
|
164 |
-
);
|
165 |
-
} else {
|
166 |
-
$this->fallbackDirsPsr4 = array_merge(
|
167 |
-
$this->fallbackDirsPsr4,
|
168 |
-
(array) $paths
|
169 |
-
);
|
170 |
-
}
|
171 |
-
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
172 |
-
// Register directories for a new namespace.
|
173 |
-
$length = strlen($prefix);
|
174 |
-
if ('\\' !== $prefix[$length - 1]) {
|
175 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
176 |
-
}
|
177 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
178 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
179 |
-
} elseif ($prepend) {
|
180 |
-
// Prepend directories for an already registered namespace.
|
181 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
182 |
-
(array) $paths,
|
183 |
-
$this->prefixDirsPsr4[$prefix]
|
184 |
-
);
|
185 |
-
} else {
|
186 |
-
// Append directories for an already registered namespace.
|
187 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
188 |
-
$this->prefixDirsPsr4[$prefix],
|
189 |
-
(array) $paths
|
190 |
-
);
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
/**
|
195 |
-
* Registers a set of PSR-0 directories for a given prefix,
|
196 |
-
* replacing any others previously set for this prefix.
|
197 |
-
*
|
198 |
-
* @param string $prefix The prefix
|
199 |
-
* @param array|string $paths The PSR-0 base directories
|
200 |
-
*/
|
201 |
-
public function set($prefix, $paths)
|
202 |
-
{
|
203 |
-
if (!$prefix) {
|
204 |
-
$this->fallbackDirsPsr0 = (array) $paths;
|
205 |
-
} else {
|
206 |
-
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
207 |
-
}
|
208 |
-
}
|
209 |
-
|
210 |
-
/**
|
211 |
-
* Registers a set of PSR-4 directories for a given namespace,
|
212 |
-
* replacing any others previously set for this namespace.
|
213 |
-
*
|
214 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
215 |
-
* @param array|string $paths The PSR-4 base directories
|
216 |
-
*
|
217 |
-
* @throws \InvalidArgumentException
|
218 |
-
*/
|
219 |
-
public function setPsr4($prefix, $paths)
|
220 |
-
{
|
221 |
-
if (!$prefix) {
|
222 |
-
$this->fallbackDirsPsr4 = (array) $paths;
|
223 |
-
} else {
|
224 |
-
$length = strlen($prefix);
|
225 |
-
if ('\\' !== $prefix[$length - 1]) {
|
226 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
227 |
-
}
|
228 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
229 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
230 |
-
}
|
231 |
-
}
|
232 |
-
|
233 |
-
/**
|
234 |
-
* Turns on searching the include path for class files.
|
235 |
-
*
|
236 |
-
* @param bool $useIncludePath
|
237 |
-
*/
|
238 |
-
public function setUseIncludePath($useIncludePath)
|
239 |
-
{
|
240 |
-
$this->useIncludePath = $useIncludePath;
|
241 |
-
}
|
242 |
-
|
243 |
-
/**
|
244 |
-
* Can be used to check if the autoloader uses the include path to check
|
245 |
-
* for classes.
|
246 |
-
*
|
247 |
-
* @return bool
|
248 |
-
*/
|
249 |
-
public function getUseIncludePath()
|
250 |
-
{
|
251 |
-
return $this->useIncludePath;
|
252 |
-
}
|
253 |
-
|
254 |
-
/**
|
255 |
-
* Turns off searching the prefix and fallback directories for classes
|
256 |
-
* that have not been registered with the class map.
|
257 |
-
*
|
258 |
-
* @param bool $classMapAuthoritative
|
259 |
-
*/
|
260 |
-
public function setClassMapAuthoritative($classMapAuthoritative)
|
261 |
-
{
|
262 |
-
$this->classMapAuthoritative = $classMapAuthoritative;
|
263 |
-
}
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Should class lookup fail if not found in the current class map?
|
267 |
-
*
|
268 |
-
* @return bool
|
269 |
-
*/
|
270 |
-
public function isClassMapAuthoritative()
|
271 |
-
{
|
272 |
-
return $this->classMapAuthoritative;
|
273 |
-
}
|
274 |
-
|
275 |
-
/**
|
276 |
-
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
-
*
|
278 |
-
* @param string|null $apcuPrefix
|
279 |
-
*/
|
280 |
-
public function setApcuPrefix($apcuPrefix)
|
281 |
-
{
|
282 |
-
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
283 |
-
}
|
284 |
-
|
285 |
-
/**
|
286 |
-
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
-
*
|
288 |
-
* @return string|null
|
289 |
-
*/
|
290 |
-
public function getApcuPrefix()
|
291 |
-
{
|
292 |
-
return $this->apcuPrefix;
|
293 |
-
}
|
294 |
-
|
295 |
-
/**
|
296 |
-
* Registers this instance as an autoloader.
|
297 |
-
*
|
298 |
-
* @param bool $prepend Whether to prepend the autoloader or not
|
299 |
-
*/
|
300 |
-
public function register($prepend = false)
|
301 |
-
{
|
302 |
-
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
303 |
-
}
|
304 |
-
|
305 |
-
/**
|
306 |
-
* Unregisters this instance as an autoloader.
|
307 |
-
*/
|
308 |
-
public function unregister()
|
309 |
-
{
|
310 |
-
spl_autoload_unregister(array($this, 'loadClass'));
|
311 |
-
}
|
312 |
-
|
313 |
-
/**
|
314 |
-
* Loads the given class or interface.
|
315 |
-
*
|
316 |
-
* @param string $class The name of the class
|
317 |
-
* @return bool|null True if loaded, null otherwise
|
318 |
-
*/
|
319 |
-
public function loadClass($class)
|
320 |
-
{
|
321 |
-
if ($file = $this->findFile($class)) {
|
322 |
-
includeFile($file);
|
323 |
-
|
324 |
-
return true;
|
325 |
-
}
|
326 |
-
}
|
327 |
-
|
328 |
-
/**
|
329 |
-
* Finds the path to the file where the class is defined.
|
330 |
-
*
|
331 |
-
* @param string $class The name of the class
|
332 |
-
*
|
333 |
-
* @return string|false The path if found, false otherwise
|
334 |
-
*/
|
335 |
-
public function findFile($class)
|
336 |
-
{
|
337 |
-
// class map lookup
|
338 |
-
if (isset($this->classMap[$class])) {
|
339 |
-
return $this->classMap[$class];
|
340 |
-
}
|
341 |
-
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
-
return false;
|
343 |
-
}
|
344 |
-
if (null !== $this->apcuPrefix) {
|
345 |
-
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
-
if ($hit) {
|
347 |
-
return $file;
|
348 |
-
}
|
349 |
-
}
|
350 |
-
|
351 |
-
$file = $this->findFileWithExtension($class, '.php');
|
352 |
-
|
353 |
-
// Search for Hack files if we are running on HHVM
|
354 |
-
if (false === $file && defined('HHVM_VERSION')) {
|
355 |
-
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
-
}
|
357 |
-
|
358 |
-
if (null !== $this->apcuPrefix) {
|
359 |
-
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
-
}
|
361 |
-
|
362 |
-
if (false === $file) {
|
363 |
-
// Remember that this class does not exist.
|
364 |
-
$this->missingClasses[$class] = true;
|
365 |
-
}
|
366 |
-
|
367 |
-
return $file;
|
368 |
-
}
|
369 |
-
|
370 |
-
private function findFileWithExtension($class, $ext)
|
371 |
-
{
|
372 |
-
// PSR-4 lookup
|
373 |
-
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
374 |
-
|
375 |
-
$first = $class[0];
|
376 |
-
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
-
$subPath = $class;
|
378 |
-
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
-
$subPath = substr($subPath, 0, $lastPos);
|
380 |
-
$search = $subPath.'\\';
|
381 |
-
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
-
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
383 |
-
$length = $this->prefixLengthsPsr4[$first][$search];
|
384 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
385 |
-
return $file;
|
386 |
-
}
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
}
|
391 |
-
|
392 |
-
// PSR-4 fallback dirs
|
393 |
-
foreach ($this->fallbackDirsPsr4 as $dir) {
|
394 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
395 |
-
return $file;
|
396 |
-
}
|
397 |
-
}
|
398 |
-
|
399 |
-
// PSR-0 lookup
|
400 |
-
if (false !== $pos = strrpos($class, '\\')) {
|
401 |
-
// namespaced class name
|
402 |
-
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
403 |
-
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
404 |
-
} else {
|
405 |
-
// PEAR-like class name
|
406 |
-
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
407 |
-
}
|
408 |
-
|
409 |
-
if (isset($this->prefixesPsr0[$first])) {
|
410 |
-
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
411 |
-
if (0 === strpos($class, $prefix)) {
|
412 |
-
foreach ($dirs as $dir) {
|
413 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
414 |
-
return $file;
|
415 |
-
}
|
416 |
-
}
|
417 |
-
}
|
418 |
-
}
|
419 |
-
}
|
420 |
-
|
421 |
-
// PSR-0 fallback dirs
|
422 |
-
foreach ($this->fallbackDirsPsr0 as $dir) {
|
423 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
424 |
-
return $file;
|
425 |
-
}
|
426 |
-
}
|
427 |
-
|
428 |
-
// PSR-0 include paths.
|
429 |
-
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
430 |
-
return $file;
|
431 |
-
}
|
432 |
-
|
433 |
-
return false;
|
434 |
-
}
|
435 |
-
}
|
436 |
-
|
437 |
-
/**
|
438 |
-
* Scope isolated include.
|
439 |
-
*
|
440 |
-
* Prevents access to $this/self from included files.
|
441 |
-
*/
|
442 |
-
function includeFile($file)
|
443 |
-
{
|
444 |
-
include $file;
|
445 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
|
2 |
-
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
-
|
4 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
-
of this software and associated documentation files (the "Software"), to deal
|
6 |
-
in the Software without restriction, including without limitation the rights
|
7 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
-
to do so, subject to the following conditions:
|
10 |
-
|
11 |
-
The above copyright notice and this permission notice shall be included in all
|
12 |
-
copies or substantial portions of the Software.
|
13 |
-
|
14 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
-
THE SOFTWARE.
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_classmap.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_classmap.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname(dirname($vendorDir));
|
7 |
-
|
8 |
-
return array(
|
9 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_namespaces.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_namespaces.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname(dirname($vendorDir));
|
7 |
-
|
8 |
-
return array(
|
9 |
-
'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src'),
|
10 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_psr4.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_psr4.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname(dirname($vendorDir));
|
7 |
-
|
8 |
-
return array(
|
9 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_real.php
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_real.php @generated by Composer
|
4 |
-
|
5 |
-
class ComposerAutoloaderInit7cea7511504eb01ba01aef4ad46e80c8
|
6 |
-
{
|
7 |
-
private static $loader;
|
8 |
-
|
9 |
-
public static function loadClassLoader($class)
|
10 |
-
{
|
11 |
-
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
-
require __DIR__ . '/ClassLoader.php';
|
13 |
-
}
|
14 |
-
}
|
15 |
-
|
16 |
-
public static function getLoader()
|
17 |
-
{
|
18 |
-
if (null !== self::$loader) {
|
19 |
-
return self::$loader;
|
20 |
-
}
|
21 |
-
|
22 |
-
spl_autoload_register(array('ComposerAutoloaderInit7cea7511504eb01ba01aef4ad46e80c8', 'loadClassLoader'), true, true);
|
23 |
-
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('ComposerAutoloaderInit7cea7511504eb01ba01aef4ad46e80c8', 'loadClassLoader'));
|
25 |
-
|
26 |
-
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
-
if ($useStaticLoader) {
|
28 |
-
require_once __DIR__ . '/autoload_static.php';
|
29 |
-
|
30 |
-
call_user_func(\Composer\Autoload\ComposerStaticInit7cea7511504eb01ba01aef4ad46e80c8::getInitializer($loader));
|
31 |
-
} else {
|
32 |
-
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
-
foreach ($map as $namespace => $path) {
|
34 |
-
$loader->set($namespace, $path);
|
35 |
-
}
|
36 |
-
|
37 |
-
$map = require __DIR__ . '/autoload_psr4.php';
|
38 |
-
foreach ($map as $namespace => $path) {
|
39 |
-
$loader->setPsr4($namespace, $path);
|
40 |
-
}
|
41 |
-
|
42 |
-
$classMap = require __DIR__ . '/autoload_classmap.php';
|
43 |
-
if ($classMap) {
|
44 |
-
$loader->addClassMap($classMap);
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
$loader->register(true);
|
49 |
-
|
50 |
-
return $loader;
|
51 |
-
}
|
52 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/autoload_static.php
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_static.php @generated by Composer
|
4 |
-
|
5 |
-
namespace Composer\Autoload;
|
6 |
-
|
7 |
-
class ComposerStaticInit7cea7511504eb01ba01aef4ad46e80c8
|
8 |
-
{
|
9 |
-
public static $prefixesPsr0 = array (
|
10 |
-
'C' =>
|
11 |
-
array (
|
12 |
-
'Composer\\Installers\\' =>
|
13 |
-
array (
|
14 |
-
0 => __DIR__ . '/..' . '/composer/installers/src',
|
15 |
-
),
|
16 |
-
),
|
17 |
-
);
|
18 |
-
|
19 |
-
public static function getInitializer(ClassLoader $loader)
|
20 |
-
{
|
21 |
-
return \Closure::bind(function () use ($loader) {
|
22 |
-
$loader->prefixesPsr0 = ComposerStaticInit7cea7511504eb01ba01aef4ad46e80c8::$prefixesPsr0;
|
23 |
-
|
24 |
-
}, null, ClassLoader::class);
|
25 |
-
}
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installed.json
DELETED
@@ -1,235 +0,0 @@
|
|
1 |
-
[
|
2 |
-
{
|
3 |
-
"name": "composer/installers",
|
4 |
-
"version": "v1.0.12",
|
5 |
-
"version_normalized": "1.0.12.0",
|
6 |
-
"source": {
|
7 |
-
"type": "git",
|
8 |
-
"url": "https://github.com/composer/installers.git",
|
9 |
-
"reference": "4127333b03e8b4c08d081958548aae5419d1a2fa"
|
10 |
-
},
|
11 |
-
"dist": {
|
12 |
-
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/4127333b03e8b4c08d081958548aae5419d1a2fa",
|
14 |
-
"reference": "4127333b03e8b4c08d081958548aae5419d1a2fa",
|
15 |
-
"shasum": ""
|
16 |
-
},
|
17 |
-
"replace": {
|
18 |
-
"shama/baton": "*"
|
19 |
-
},
|
20 |
-
"require-dev": {
|
21 |
-
"composer/composer": "1.0.*@dev",
|
22 |
-
"phpunit/phpunit": "3.7.*"
|
23 |
-
},
|
24 |
-
"time": "2014-02-24T04:21:34+00:00",
|
25 |
-
"type": "composer-installer",
|
26 |
-
"extra": {
|
27 |
-
"class": "Composer\\Installers\\Installer",
|
28 |
-
"branch-alias": {
|
29 |
-
"dev-master": "1.0-dev"
|
30 |
-
}
|
31 |
-
},
|
32 |
-
"installation-source": "dist",
|
33 |
-
"autoload": {
|
34 |
-
"psr-0": {
|
35 |
-
"Composer\\Installers\\": "src/"
|
36 |
-
}
|
37 |
-
},
|
38 |
-
"notification-url": "https://packagist.org/downloads/",
|
39 |
-
"license": [
|
40 |
-
"MIT"
|
41 |
-
],
|
42 |
-
"authors": [
|
43 |
-
{
|
44 |
-
"name": "Kyle Robinson Young",
|
45 |
-
"email": "kyle@dontkry.com",
|
46 |
-
"homepage": "https://github.com/shama",
|
47 |
-
"role": "Developer"
|
48 |
-
}
|
49 |
-
],
|
50 |
-
"description": "A multi-framework Composer library installer",
|
51 |
-
"homepage": "http://composer.github.com/installers/",
|
52 |
-
"keywords": [
|
53 |
-
"Craft",
|
54 |
-
"Hurad",
|
55 |
-
"MODX Evo",
|
56 |
-
"OXID",
|
57 |
-
"WolfCMS",
|
58 |
-
"agl",
|
59 |
-
"annotatecms",
|
60 |
-
"cakephp",
|
61 |
-
"codeigniter",
|
62 |
-
"concrete5",
|
63 |
-
"croogo",
|
64 |
-
"drupal",
|
65 |
-
"elgg",
|
66 |
-
"fuelphp",
|
67 |
-
"installer",
|
68 |
-
"joomla",
|
69 |
-
"kohana",
|
70 |
-
"laravel",
|
71 |
-
"lithium",
|
72 |
-
"magento",
|
73 |
-
"mako",
|
74 |
-
"mediawiki",
|
75 |
-
"modulework",
|
76 |
-
"phpbb",
|
77 |
-
"piwik",
|
78 |
-
"ppi",
|
79 |
-
"shopware",
|
80 |
-
"silverstripe",
|
81 |
-
"symfony",
|
82 |
-
"typo3",
|
83 |
-
"wordpress",
|
84 |
-
"zend",
|
85 |
-
"zikula"
|
86 |
-
]
|
87 |
-
},
|
88 |
-
{
|
89 |
-
"name": "stackadroit/cmb2-extensions",
|
90 |
-
"version": "dev-master",
|
91 |
-
"version_normalized": "9999999-dev",
|
92 |
-
"source": {
|
93 |
-
"type": "git",
|
94 |
-
"url": "https://github.com/stackadroit/cmb2-extensions.git",
|
95 |
-
"reference": "8b713418fd46ec016ea1680599231c6a06c745af"
|
96 |
-
},
|
97 |
-
"dist": {
|
98 |
-
"type": "zip",
|
99 |
-
"url": "https://api.github.com/repos/stackadroit/cmb2-extensions/zipball/8b713418fd46ec016ea1680599231c6a06c745af",
|
100 |
-
"reference": "8b713418fd46ec016ea1680599231c6a06c745af",
|
101 |
-
"shasum": ""
|
102 |
-
},
|
103 |
-
"require": {
|
104 |
-
"php": ">5.2.4"
|
105 |
-
},
|
106 |
-
"require-dev": {
|
107 |
-
"phpunit/phpunit": "3.7.*"
|
108 |
-
},
|
109 |
-
"suggest": {
|
110 |
-
"composer/installers": "~1.0"
|
111 |
-
},
|
112 |
-
"time": "2017-10-21T20:55:08+00:00",
|
113 |
-
"type": "wordpress-plugin",
|
114 |
-
"installation-source": "source",
|
115 |
-
"notification-url": "https://packagist.org/downloads/",
|
116 |
-
"license": [
|
117 |
-
"GPL-3.0+"
|
118 |
-
],
|
119 |
-
"authors": [
|
120 |
-
{
|
121 |
-
"name": "Praneeth Polu",
|
122 |
-
"email": "contact@polupraneeth.me",
|
123 |
-
"homepage": "https://github.com/polupraneeth/",
|
124 |
-
"role": "Developer"
|
125 |
-
},
|
126 |
-
{
|
127 |
-
"name": "Team StackThemes",
|
128 |
-
"email": "stackthemes@stackadroit.com",
|
129 |
-
"homepage": "https://github.com/stackadroit",
|
130 |
-
"role": "Developer"
|
131 |
-
}
|
132 |
-
],
|
133 |
-
"description": "This is a CMB2 Extension repository which help modify the default behavior of CMB2 and extends it's functionality.",
|
134 |
-
"homepage": "https://github.com/stackadroit/cmb2-extensions",
|
135 |
-
"keywords": [
|
136 |
-
"CMB2",
|
137 |
-
"metabox",
|
138 |
-
"plugin",
|
139 |
-
"wordpress"
|
140 |
-
]
|
141 |
-
},
|
142 |
-
{
|
143 |
-
"name": "webdevstudios/cmb2",
|
144 |
-
"version": "v2.2.5.3",
|
145 |
-
"version_normalized": "2.2.5.3",
|
146 |
-
"source": {
|
147 |
-
"type": "git",
|
148 |
-
"url": "https://github.com/CMB2/CMB2.git",
|
149 |
-
"reference": "5c9bdb6e99e17e4dad71ebbc68dab5def3c64e12"
|
150 |
-
},
|
151 |
-
"dist": {
|
152 |
-
"type": "zip",
|
153 |
-
"url": "https://api.github.com/repos/CMB2/CMB2/zipball/5c9bdb6e99e17e4dad71ebbc68dab5def3c64e12",
|
154 |
-
"reference": "5c9bdb6e99e17e4dad71ebbc68dab5def3c64e12",
|
155 |
-
"shasum": ""
|
156 |
-
},
|
157 |
-
"require": {
|
158 |
-
"php": ">5.2.4"
|
159 |
-
},
|
160 |
-
"require-dev": {
|
161 |
-
"phpunit/phpunit": "3.7.*"
|
162 |
-
},
|
163 |
-
"suggest": {
|
164 |
-
"composer/installers": "~1.0"
|
165 |
-
},
|
166 |
-
"time": "2017-08-22T18:14:34+00:00",
|
167 |
-
"type": "wordpress-plugin",
|
168 |
-
"installation-source": "dist",
|
169 |
-
"notification-url": "https://packagist.org/downloads/",
|
170 |
-
"license": [
|
171 |
-
"GPL-2.0+"
|
172 |
-
],
|
173 |
-
"authors": [
|
174 |
-
{
|
175 |
-
"name": "WebDevStudios",
|
176 |
-
"email": "contact@webdevstudios.com",
|
177 |
-
"homepage": "https://github.com/WebDevStudios",
|
178 |
-
"role": "Developer"
|
179 |
-
},
|
180 |
-
{
|
181 |
-
"name": "Justin Sternberg",
|
182 |
-
"email": "justin@dsgnwrks.pro",
|
183 |
-
"homepage": "https://dsgnwrks.pro",
|
184 |
-
"role": "Developer"
|
185 |
-
},
|
186 |
-
{
|
187 |
-
"name": "Zao",
|
188 |
-
"email": "office@zao.com",
|
189 |
-
"homepage": "http://zao.is",
|
190 |
-
"role": "Developer"
|
191 |
-
}
|
192 |
-
],
|
193 |
-
"description": "CMB2 is a metabox, custom fields, and forms library for WordPress that will blow your mind.",
|
194 |
-
"homepage": "https://github.com/CMB2/CMB2",
|
195 |
-
"keywords": [
|
196 |
-
"metabox",
|
197 |
-
"plugin",
|
198 |
-
"wordpress"
|
199 |
-
]
|
200 |
-
},
|
201 |
-
{
|
202 |
-
"name": "freemius/wordpress-sdk",
|
203 |
-
"version": "dev-master",
|
204 |
-
"version_normalized": "9999999-dev",
|
205 |
-
"source": {
|
206 |
-
"type": "git",
|
207 |
-
"url": "https://github.com/Freemius/wordpress-sdk.git",
|
208 |
-
"reference": "1992b7ffd07d5a6c169a4fa587aa335a6ef78021"
|
209 |
-
},
|
210 |
-
"dist": {
|
211 |
-
"type": "zip",
|
212 |
-
"url": "https://api.github.com/repos/Freemius/wordpress-sdk/zipball/1992b7ffd07d5a6c169a4fa587aa335a6ef78021",
|
213 |
-
"reference": "1992b7ffd07d5a6c169a4fa587aa335a6ef78021",
|
214 |
-
"shasum": ""
|
215 |
-
},
|
216 |
-
"require": {
|
217 |
-
"php": ">=5.2"
|
218 |
-
},
|
219 |
-
"time": "2017-08-31T07:35:00+00:00",
|
220 |
-
"type": "library",
|
221 |
-
"installation-source": "source",
|
222 |
-
"notification-url": "https://packagist.org/downloads/",
|
223 |
-
"license": [
|
224 |
-
"GPL-2.0+"
|
225 |
-
],
|
226 |
-
"description": "Freemius WordPress SDK",
|
227 |
-
"homepage": "https://freemius.com",
|
228 |
-
"keywords": [
|
229 |
-
"freemius",
|
230 |
-
"plugin",
|
231 |
-
"sdk",
|
232 |
-
"wordpress"
|
233 |
-
]
|
234 |
-
}
|
235 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/LICENSE
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
Copyright (c) 2012 Kyle Robinson Young
|
2 |
-
|
3 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
-
of this software and associated documentation files (the "Software"), to deal
|
5 |
-
in the Software without restriction, including without limitation the rights
|
6 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
8 |
-
to do so, subject to the following conditions:
|
9 |
-
|
10 |
-
The above copyright notice and this permission notice shall be included in all
|
11 |
-
copies or substantial portions of the Software.
|
12 |
-
|
13 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19 |
-
THE SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/README.md
DELETED
@@ -1,172 +0,0 @@
|
|
1 |
-
# A Multi-Framework [Composer](http://getcomposer.org) Library Installer
|
2 |
-
|
3 |
-
[![Build Status](https://secure.travis-ci.org/composer/installers.png)](http://travis-ci.org/composer/installers)
|
4 |
-
|
5 |
-
This is for PHP package authors to require in their `composer.json`. It will
|
6 |
-
install their package to the correct location based on the specified package
|
7 |
-
type.
|
8 |
-
|
9 |
-
The goal of `installers` is to be a simple package type to install path map.
|
10 |
-
Users can also customize the install path per package and package authors can
|
11 |
-
modify the package name upon installing.
|
12 |
-
|
13 |
-
`installers` isn't intended on replacing all custom installers. If your
|
14 |
-
package requires special installation handling then by all means, create a
|
15 |
-
custom installer to handle it.
|
16 |
-
|
17 |
-
**Natively Supported Frameworks**:
|
18 |
-
|
19 |
-
The following frameworks natively work with Composer and will be
|
20 |
-
installed to the default `vendor` directory. `composer/installers`
|
21 |
-
is not needed to install packages with these frameworks:
|
22 |
-
|
23 |
-
* Aura
|
24 |
-
* Symfony2
|
25 |
-
* Yii
|
26 |
-
* Yii2
|
27 |
-
|
28 |
-
**Current Supported Package Types**:
|
29 |
-
|
30 |
-
> Stable types are marked as **bold**, this means that installation paths
|
31 |
-
> for those type will not be changed. Any adjustment for those types would
|
32 |
-
> require creation of brand new type that will cover required changes.
|
33 |
-
|
34 |
-
| Framework | Types
|
35 |
-
| --------- | -----
|
36 |
-
| AGL | `agl-module`
|
37 |
-
| AnnotateCms | `annotatecms-module`<br>`annotatecms-component`<br>`annotatecms-service`
|
38 |
-
| CakePHP 2+ | **`cakephp-plugin`**
|
39 |
-
| CodeIgniter | `codeigniter-library`<br>`codeigniter-third-party`<br>`codeigniter-module`
|
40 |
-
| concrete5 | `concrete5-block`<br>`concrete5-package`<br>`concrete5-theme`
|
41 |
-
| Craft | `craft-plugin`
|
42 |
-
| Croogo | `croogo-plugin`<br>`croogo-theme`
|
43 |
-
| Drupal | <b>`drupal-module`<br>`drupal-theme`</b><br>`drupal-profile`<br>`drupal-drush`
|
44 |
-
| Elgg | `elgg-plugin`
|
45 |
-
| FuelPHP v1.x | `fuel-module`<br>`fuel-package`<br/>`fuel-theme`
|
46 |
-
| Hurad | `hurad-plugin`<br>`hurad-theme`
|
47 |
-
| Joomla | `joomla-component`<br>`joomla-module`<br>`joomla-template`<br>`joomla-plugin`<br>`joomla-library`
|
48 |
-
| Kohana | **`kohana-module`**
|
49 |
-
| Laravel | `laravel-library`
|
50 |
-
| Lithium | **`lithium-library`<br>`lithium-source`**
|
51 |
-
| Magento | `magento-library`<br>`magento-skin`<br>`magento-theme`
|
52 |
-
| Mako | `mako-package`
|
53 |
-
| MODX Evo | `modxevo-snippet`<br>`modxevo-plugin`<br>`modxevo-module`<br>`modxevo-template`<br>`modxevo-lib`
|
54 |
-
| MediaWiki | `mediawiki-extension`
|
55 |
-
| OXID | `oxid-module`
|
56 |
-
| MODULEWork | `modulework-module`
|
57 |
-
| Piwik | `piwik-plugin`
|
58 |
-
| phpBB | `phpbb-extension`<br>`phpbb-style`<br>`phpbb-language`
|
59 |
-
| PPI | **`ppi-module`**
|
60 |
-
| shopware | `shopware-backend-plugin`<br/>`shopware-core-plugin`<br/>`shopware-frontend-plugin`<br/>`shopware-theme`
|
61 |
-
| SilverStripe | `silverstripe-module`<br>`silverstripe-theme`
|
62 |
-
| symfony1 | **`symfony1-plugin`**
|
63 |
-
| TYPO3 Flow | `typo3-flow-package`<br>`typo3-flow-framework`<br>`typo3-flow-plugin`<br>`typo3-flow-site`<br>`typo3-flow-boilerplate`<br>`typo3-flow-build`
|
64 |
-
| TYPO3 CMS | `typo3-cms-extension`
|
65 |
-
| Wolf CMS | `wolfcms-plugin`
|
66 |
-
| WordPress | <b>`wordpress-plugin`<br>`wordpress-theme`</b><br>`wordpress-muplugin`
|
67 |
-
| Zend | `zend-library`<br>`zend-extra`<br>`zend-module`
|
68 |
-
| Zikula | `zikula-module`<br>`zikula-theme`
|
69 |
-
|
70 |
-
## Example `composer.json` File
|
71 |
-
|
72 |
-
This is an example for a CakePHP plugin. The only important parts to set in your
|
73 |
-
composer.json file are `"type": "cakephp-plugin"` which describes what your
|
74 |
-
package is and `"require": { "composer/installers": "~1.0" }` which tells composer
|
75 |
-
to load the custom installers.
|
76 |
-
|
77 |
-
```json
|
78 |
-
{
|
79 |
-
"name": "you/ftp",
|
80 |
-
"type": "cakephp-plugin",
|
81 |
-
"require": {
|
82 |
-
"composer/installers": "~1.0"
|
83 |
-
}
|
84 |
-
}
|
85 |
-
```
|
86 |
-
|
87 |
-
This would install your package to the `Plugin/Ftp/` folder of a CakePHP app
|
88 |
-
when a user runs `php composer.phar install`.
|
89 |
-
|
90 |
-
So submit your packages to [packagist.org](http://packagist.org)!
|
91 |
-
|
92 |
-
## Custom Install Paths
|
93 |
-
|
94 |
-
If you are consuming a package that uses the `composer/installers` you can
|
95 |
-
override the install path with the following extra in your `composer.json`:
|
96 |
-
|
97 |
-
```json
|
98 |
-
{
|
99 |
-
"extra": {
|
100 |
-
"installer-paths": {
|
101 |
-
"your/custom/path/{$name}/": ["shama/ftp", "vendor/package"]
|
102 |
-
}
|
103 |
-
}
|
104 |
-
}
|
105 |
-
```
|
106 |
-
|
107 |
-
A package type can have a custom installation path with a `type:` prefix.
|
108 |
-
|
109 |
-
``` json
|
110 |
-
{
|
111 |
-
"extra": {
|
112 |
-
"installer-paths": {
|
113 |
-
"your/custom/path/{$name}/": ["type:wordpress-plugin"]
|
114 |
-
}
|
115 |
-
}
|
116 |
-
}
|
117 |
-
```
|
118 |
-
|
119 |
-
This would use your custom path for each of the listed packages. The available
|
120 |
-
variables to use in your paths are: `{$name}`, `{$vendor}`, `{$type}`.
|
121 |
-
|
122 |
-
## Custom Install Names
|
123 |
-
|
124 |
-
If you're a package author and need your package to be named differently when
|
125 |
-
installed consider using the `installer-name` extra.
|
126 |
-
|
127 |
-
For example you have a package named `shama/cakephp-ftp` with the type
|
128 |
-
`cakephp-plugin`. Installing with `composer/installers` would install to the
|
129 |
-
path `Plugin/CakephpFtp`. Due to the strict naming conventions, you as a
|
130 |
-
package author actually need the package to be named and installed to
|
131 |
-
`Plugin/Ftp`. Using the following config within your **package** `composer.json`
|
132 |
-
will allow this:
|
133 |
-
|
134 |
-
```json
|
135 |
-
{
|
136 |
-
"name": "shama/cakephp-ftp",
|
137 |
-
"type": "cakephp-plugin",
|
138 |
-
"extra": {
|
139 |
-
"installer-name": "Ftp"
|
140 |
-
}
|
141 |
-
}
|
142 |
-
```
|
143 |
-
|
144 |
-
Please note the name entered into `installer-name` will be the final and will
|
145 |
-
not be inflected.
|
146 |
-
|
147 |
-
## Contribute!
|
148 |
-
|
149 |
-
* [Fork and clone](https://help.github.com/articles/fork-a-repo).
|
150 |
-
* Run the command `php composer.phar install --dev` to install the dev
|
151 |
-
dependencies. See [Composer](https://github.com/composer/composer#installation--usage).
|
152 |
-
* Use the command `phpunit` to run the tests. See [PHPUnit](http://phpunit.de).
|
153 |
-
* Create a branch, commit, push and send us a
|
154 |
-
[pull request](https://help.github.com/articles/using-pull-requests).
|
155 |
-
|
156 |
-
To ensure a consistent code base, you should make sure the code follows the
|
157 |
-
[Coding Standards](http://symfony.com/doc/2.0/contributing/code/standards.html)
|
158 |
-
which we borrowed from Symfony.
|
159 |
-
|
160 |
-
If you would like to help, please take a look at the list of
|
161 |
-
[issues](https://github.com/composer/installers/issues).
|
162 |
-
|
163 |
-
### Should we allow dynamic package types or paths? No.
|
164 |
-
What are they? The ability for a package author to determine where a package
|
165 |
-
will be installed either through setting the path directly in their
|
166 |
-
`composer.json` or through a dynamic package type: `"type":
|
167 |
-
"framework-install-here"`.
|
168 |
-
|
169 |
-
It has been proposed many times. Even implemented once early on and then
|
170 |
-
removed. `installers` won't do this because it would allow a single package
|
171 |
-
author to wipe out entire folders without the user's consent. That user would
|
172 |
-
then come here to yell at us.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/composer.json
DELETED
@@ -1,65 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "composer/installers",
|
3 |
-
"type": "composer-installer",
|
4 |
-
"license": "MIT",
|
5 |
-
"description": "A multi-framework Composer library installer",
|
6 |
-
"keywords": [
|
7 |
-
"installer",
|
8 |
-
"AGL",
|
9 |
-
"AnnotateCms",
|
10 |
-
"CakePHP",
|
11 |
-
"CodeIgniter",
|
12 |
-
"concrete5",
|
13 |
-
"Craft",
|
14 |
-
"Croogo",
|
15 |
-
"Drupal",
|
16 |
-
"Elgg",
|
17 |
-
"FuelPHP",
|
18 |
-
"Hurad",
|
19 |
-
"Joomla",
|
20 |
-
"Kohana",
|
21 |
-
"Laravel",
|
22 |
-
"Lithium",
|
23 |
-
"Magento",
|
24 |
-
"Mako",
|
25 |
-
"MODX Evo",
|
26 |
-
"MediaWiki",
|
27 |
-
"OXID",
|
28 |
-
"MODULEWork",
|
29 |
-
"Piwik",
|
30 |
-
"phpBB",
|
31 |
-
"PPI",
|
32 |
-
"shopware",
|
33 |
-
"SilverStripe",
|
34 |
-
"symfony",
|
35 |
-
"TYPO3",
|
36 |
-
"WolfCMS",
|
37 |
-
"WordPress",
|
38 |
-
"Zend",
|
39 |
-
"Zikula"
|
40 |
-
],
|
41 |
-
"homepage": "http://composer.github.com/installers/",
|
42 |
-
"authors": [
|
43 |
-
{
|
44 |
-
"name": "Kyle Robinson Young",
|
45 |
-
"email": "kyle@dontkry.com",
|
46 |
-
"homepage": "https://github.com/shama"
|
47 |
-
}
|
48 |
-
],
|
49 |
-
"autoload": {
|
50 |
-
"psr-0": { "Composer\\Installers\\": "src/" }
|
51 |
-
},
|
52 |
-
"extra": {
|
53 |
-
"class": "Composer\\Installers\\Installer",
|
54 |
-
"branch-alias": {
|
55 |
-
"dev-master": "1.0-dev"
|
56 |
-
}
|
57 |
-
},
|
58 |
-
"replace": {
|
59 |
-
"shama/baton": "*"
|
60 |
-
},
|
61 |
-
"require-dev": {
|
62 |
-
"composer/composer": "1.0.*@dev",
|
63 |
-
"phpunit/phpunit": "3.7.*"
|
64 |
-
}
|
65 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/phpunit.xml.dist
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
|
3 |
-
<phpunit backupGlobals="false"
|
4 |
-
backupStaticAttributes="false"
|
5 |
-
colors="true"
|
6 |
-
convertErrorsToExceptions="true"
|
7 |
-
convertNoticesToExceptions="true"
|
8 |
-
convertWarningsToExceptions="true"
|
9 |
-
processIsolation="false"
|
10 |
-
stopOnFailure="false"
|
11 |
-
syntaxCheck="false"
|
12 |
-
bootstrap="tests/bootstrap.php"
|
13 |
-
>
|
14 |
-
<testsuites>
|
15 |
-
<testsuite name="Installers Test Suite">
|
16 |
-
<directory>tests/Composer/Installers</directory>
|
17 |
-
</testsuite>
|
18 |
-
</testsuites>
|
19 |
-
|
20 |
-
<filter>
|
21 |
-
<whitelist>
|
22 |
-
<directory>src/Composer/Installers</directory>
|
23 |
-
</whitelist>
|
24 |
-
</filter>
|
25 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/AglInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AglInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'More/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function($matches) {
|
16 |
-
return strtoupper($matches[1]);
|
17 |
-
}, $vars['name']);
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class AnnotateCmsInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'addons/modules/{$name}/',
|
8 |
-
'component' => 'addons/components/{$name}/',
|
9 |
-
'service' => 'addons/services/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
DELETED
@@ -1,130 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Composer;
|
5 |
-
use Composer\Package\PackageInterface;
|
6 |
-
|
7 |
-
abstract class BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array();
|
10 |
-
protected $composer;
|
11 |
-
protected $package;
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Initializes base installer.
|
15 |
-
*
|
16 |
-
* @param PackageInterface $package
|
17 |
-
* @param Composer $composer
|
18 |
-
*/
|
19 |
-
public function __construct(PackageInterface $package = null, Composer $composer = null)
|
20 |
-
{
|
21 |
-
$this->composer = $composer;
|
22 |
-
$this->package = $package;
|
23 |
-
}
|
24 |
-
|
25 |
-
/**
|
26 |
-
* Return the install path based on package type.
|
27 |
-
*
|
28 |
-
* @param PackageInterface $package
|
29 |
-
* @param string $frameworkType
|
30 |
-
* @return string
|
31 |
-
*/
|
32 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
33 |
-
{
|
34 |
-
$type = $this->package->getType();
|
35 |
-
|
36 |
-
$prettyName = $this->package->getPrettyName();
|
37 |
-
if (strpos($prettyName, '/') !== false) {
|
38 |
-
list($vendor, $name) = explode('/', $prettyName);
|
39 |
-
} else {
|
40 |
-
$vendor = '';
|
41 |
-
$name = $prettyName;
|
42 |
-
}
|
43 |
-
|
44 |
-
$availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type'));
|
45 |
-
|
46 |
-
$extra = $package->getExtra();
|
47 |
-
if (!empty($extra['installer-name'])) {
|
48 |
-
$availableVars['name'] = $extra['installer-name'];
|
49 |
-
}
|
50 |
-
|
51 |
-
if ($this->composer->getPackage()) {
|
52 |
-
$extra = $this->composer->getPackage()->getExtra();
|
53 |
-
if (!empty($extra['installer-paths'])) {
|
54 |
-
$customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type);
|
55 |
-
if ($customPath !== false) {
|
56 |
-
return $this->templatePath($customPath, $availableVars);
|
57 |
-
}
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
$packageType = substr($type, strlen($frameworkType) + 1);
|
62 |
-
if (!isset($this->locations[$packageType])) {
|
63 |
-
throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
|
64 |
-
}
|
65 |
-
|
66 |
-
return $this->templatePath($this->locations[$packageType], $availableVars);
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* For an installer to override to modify the vars per installer.
|
71 |
-
*
|
72 |
-
* @param array $vars
|
73 |
-
* @return array
|
74 |
-
*/
|
75 |
-
public function inflectPackageVars($vars)
|
76 |
-
{
|
77 |
-
return $vars;
|
78 |
-
}
|
79 |
-
|
80 |
-
/**
|
81 |
-
* Gets the installer's locations
|
82 |
-
*
|
83 |
-
* @return array
|
84 |
-
*/
|
85 |
-
public function getLocations()
|
86 |
-
{
|
87 |
-
return $this->locations;
|
88 |
-
}
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Replace vars in a path
|
92 |
-
*
|
93 |
-
* @param string $path
|
94 |
-
* @param array $vars
|
95 |
-
* @return string
|
96 |
-
*/
|
97 |
-
protected function templatePath($path, array $vars = array())
|
98 |
-
{
|
99 |
-
if (strpos($path, '{') !== false) {
|
100 |
-
extract($vars);
|
101 |
-
preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches);
|
102 |
-
if (!empty($matches[1])) {
|
103 |
-
foreach ($matches[1] as $var) {
|
104 |
-
$path = str_replace('{$' . $var . '}', $$var, $path);
|
105 |
-
}
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
return $path;
|
110 |
-
}
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Search through a passed paths array for a custom install path.
|
114 |
-
*
|
115 |
-
* @param array $paths
|
116 |
-
* @param string $name
|
117 |
-
* @param string $type
|
118 |
-
* @return string
|
119 |
-
*/
|
120 |
-
protected function mapCustomInstallPaths(array $paths, $name, $type)
|
121 |
-
{
|
122 |
-
foreach ($paths as $path => $names) {
|
123 |
-
if (in_array($name, $names) || in_array('type:' . $type, $names)) {
|
124 |
-
return $path;
|
125 |
-
}
|
126 |
-
}
|
127 |
-
|
128 |
-
return false;
|
129 |
-
}
|
130 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CakePHPInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'Plugin/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
16 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
17 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CodeIgniterInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'application/libraries/{$name}/',
|
8 |
-
'third-party' => 'application/third_party/{$name}/',
|
9 |
-
'module' => 'application/modules/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class Concrete5Installer extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'block' => 'blocks/{$name}/',
|
8 |
-
'package' => 'packages/{$name}/',
|
9 |
-
'theme' => 'themes/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CraftInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'craft/plugins/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class CroogoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'Plugin/{$name}/',
|
8 |
-
'theme' => 'View/Themed/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name to CamelCase
|
13 |
-
*/
|
14 |
-
public function inflectPackageVars($vars)
|
15 |
-
{
|
16 |
-
$vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
|
17 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class DrupalInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
'theme' => 'themes/{$name}/',
|
9 |
-
'profile' => 'profiles/{$name}/',
|
10 |
-
'drush' => 'drush/{$name}/',
|
11 |
-
);
|
12 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ElggInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'mod/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class FuelInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'fuel/app/modules/{$name}/',
|
8 |
-
'package' => 'fuel/packages/{$name}/',
|
9 |
-
'theme' => 'fuel/themes/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class HuradInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'Plugin/{$name}/',
|
8 |
-
'theme' => 'View/Themed/{$name}/',
|
9 |
-
);
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Format package name to CamelCase
|
13 |
-
*/
|
14 |
-
public function inflectPackageVars($vars)
|
15 |
-
{
|
16 |
-
$vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
|
17 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
18 |
-
|
19 |
-
return $vars;
|
20 |
-
}
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/Installer.php
DELETED
@@ -1,138 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Installer\LibraryInstaller;
|
5 |
-
use Composer\Package\PackageInterface;
|
6 |
-
use Composer\Repository\InstalledRepositoryInterface;
|
7 |
-
|
8 |
-
class Installer extends LibraryInstaller
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
* Package types to installer class map
|
12 |
-
*
|
13 |
-
* @var array
|
14 |
-
*/
|
15 |
-
private $supportedTypes = array(
|
16 |
-
'agl' => 'AglInstaller',
|
17 |
-
'annotatecms' => 'AnnotateCmsInstaller',
|
18 |
-
'cakephp' => 'CakePHPInstaller',
|
19 |
-
'codeigniter' => 'CodeIgniterInstaller',
|
20 |
-
'concrete5' => 'Concrete5Installer',
|
21 |
-
'craft' => 'CraftInstaller',
|
22 |
-
'croogo' => 'CroogoInstaller',
|
23 |
-
'drupal' => 'DrupalInstaller',
|
24 |
-
'elgg' => 'ElggInstaller',
|
25 |
-
'piwik' => 'PiwikInstaller',
|
26 |
-
'fuel' => 'FuelInstaller',
|
27 |
-
'hurad' => 'HuradInstaller',
|
28 |
-
'joomla' => 'JoomlaInstaller',
|
29 |
-
'kohana' => 'KohanaInstaller',
|
30 |
-
'laravel' => 'LaravelInstaller',
|
31 |
-
'lithium' => 'LithiumInstaller',
|
32 |
-
'magento' => 'MagentoInstaller',
|
33 |
-
'mako' => 'MakoInstaller',
|
34 |
-
'modxevo' => 'MODXEvoInstaller',
|
35 |
-
'mediawiki' => 'MediaWikiInstaller',
|
36 |
-
'modulework' => 'MODULEWorkInstaller',
|
37 |
-
'oxid' => 'OxidInstaller',
|
38 |
-
'phpbb' => 'PhpBBInstaller',
|
39 |
-
'piwik' => 'PiwikInstaller',
|
40 |
-
'ppi' => 'PPIInstaller',
|
41 |
-
'shopware' => 'ShopwareInstaller',
|
42 |
-
'silverstripe' => 'SilverStripeInstaller',
|
43 |
-
'symfony1' => 'Symfony1Installer',
|
44 |
-
'wolfcms' => 'WolfCMSInstaller',
|
45 |
-
'wordpress' => 'WordPressInstaller',
|
46 |
-
'zend' => 'ZendInstaller',
|
47 |
-
'zikula' => 'ZikulaInstaller',
|
48 |
-
'typo3-flow' => 'TYPO3FlowInstaller',
|
49 |
-
'typo3-cms' => 'TYPO3CmsInstaller',
|
50 |
-
);
|
51 |
-
|
52 |
-
/**
|
53 |
-
* {@inheritDoc}
|
54 |
-
*/
|
55 |
-
public function getInstallPath(PackageInterface $package)
|
56 |
-
{
|
57 |
-
$type = $package->getType();
|
58 |
-
$frameworkType = $this->findFrameworkType($type);
|
59 |
-
|
60 |
-
if ($frameworkType === false) {
|
61 |
-
throw new \InvalidArgumentException(
|
62 |
-
'Sorry the package type of this package is not yet supported.'
|
63 |
-
);
|
64 |
-
}
|
65 |
-
|
66 |
-
$class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
67 |
-
$installer = new $class($package, $this->composer);
|
68 |
-
|
69 |
-
return $installer->getInstallPath($package, $frameworkType);
|
70 |
-
}
|
71 |
-
|
72 |
-
public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
|
73 |
-
{
|
74 |
-
if (!$repo->hasPackage($package)) {
|
75 |
-
throw new \InvalidArgumentException('Package is not installed: '.$package);
|
76 |
-
}
|
77 |
-
|
78 |
-
$repo->removePackage($package);
|
79 |
-
|
80 |
-
$installPath = $this->getInstallPath($package);
|
81 |
-
$this->io->write(sprintf('Deleting %s - %s', $installPath, $this->filesystem->removeDirectory($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* {@inheritDoc}
|
86 |
-
*/
|
87 |
-
public function supports($packageType)
|
88 |
-
{
|
89 |
-
$frameworkType = $this->findFrameworkType($packageType);
|
90 |
-
|
91 |
-
if ($frameworkType === false) {
|
92 |
-
return false;
|
93 |
-
}
|
94 |
-
|
95 |
-
$locationPattern = $this->getLocationPattern($frameworkType);
|
96 |
-
return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1;
|
97 |
-
}
|
98 |
-
|
99 |
-
/**
|
100 |
-
* Finds a supported framework type if it exists and returns it
|
101 |
-
*
|
102 |
-
* @param string $type
|
103 |
-
* @return string
|
104 |
-
*/
|
105 |
-
protected function findFrameworkType($type)
|
106 |
-
{
|
107 |
-
$frameworkType = false;
|
108 |
-
|
109 |
-
foreach ($this->supportedTypes as $key => $val) {
|
110 |
-
if ($key === substr($type, 0, strlen($key))) {
|
111 |
-
$frameworkType = substr($type, 0, strlen($key));
|
112 |
-
break;
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
-
return $frameworkType;
|
117 |
-
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Get the second part of the regular expression to check for support of a
|
121 |
-
* package type
|
122 |
-
*
|
123 |
-
* @param string $frameworkType
|
124 |
-
* @return string
|
125 |
-
*/
|
126 |
-
protected function getLocationPattern($frameworkType)
|
127 |
-
{
|
128 |
-
$pattern = false;
|
129 |
-
if (!empty($this->supportedTypes[$frameworkType])) {
|
130 |
-
$frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
|
131 |
-
/** @var BaseInstaller $framework */
|
132 |
-
$framework = new $frameworkClass;
|
133 |
-
$locations = array_keys($framework->getLocations());
|
134 |
-
$pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
|
135 |
-
}
|
136 |
-
return $pattern ? : '(\w+)';
|
137 |
-
}
|
138 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class JoomlaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'component' => 'components/{$name}/',
|
8 |
-
'module' => 'modules/{$name}/',
|
9 |
-
'template' => 'templates/{$name}/',
|
10 |
-
'plugin' => 'plugins/{$name}/',
|
11 |
-
'library' => 'libraries/{$name}/',
|
12 |
-
);
|
13 |
-
|
14 |
-
// TODO: Add inflector for mod_ and com_ names
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class KohanaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class LaravelInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'libraries/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class LithiumInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'libraries/{$name}/',
|
8 |
-
'source' => 'libraries/_source/{$name}/',
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MODULEWorkInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* An installer to handle MODX Evolution specifics when installing packages.
|
6 |
-
*/
|
7 |
-
class MODXEvoInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'snippet' => 'assets/snippets/{$name}/',
|
11 |
-
'plugin' => 'assets/plugins/{$name}/',
|
12 |
-
'module' => 'assets/modules/{$name}/',
|
13 |
-
'template' => 'assets/templates/{$name}/',
|
14 |
-
'lib' => 'assets/lib/{$name}/'
|
15 |
-
);
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MagentoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'theme' => 'app/design/frontend/{$name}/',
|
8 |
-
'skin' => 'skin/frontend/default/{$name}/',
|
9 |
-
'library' => 'lib/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MakoInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'package' => 'app/packages/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class MediaWikiInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'extensions/{$name}/',
|
8 |
-
);
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Format package name to CamelCase keeping existing uppercase chars.
|
12 |
-
*/
|
13 |
-
public function inflectPackageVars($vars)
|
14 |
-
{
|
15 |
-
$vars['name'] = str_replace('-', ' ', $vars['name']);
|
16 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
17 |
-
|
18 |
-
return $vars;
|
19 |
-
}
|
20 |
-
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class OxidInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PPIInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class PhpBBInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'extension' => 'ext/{$vendor}/{$name}/',
|
8 |
-
'language' => 'language/{$name}/',
|
9 |
-
'style' => 'styles/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Class PiwikInstaller
|
6 |
-
*
|
7 |
-
* @package Composer\Installers
|
8 |
-
*/
|
9 |
-
class PiwikInstaller extends BaseInstaller
|
10 |
-
{
|
11 |
-
/**
|
12 |
-
* @var array
|
13 |
-
*/
|
14 |
-
protected $locations = array(
|
15 |
-
'plugin' => 'plugins/{$name}/',
|
16 |
-
);
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Format package name to CamelCase
|
20 |
-
* @param array $vars
|
21 |
-
*
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
27 |
-
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
28 |
-
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
29 |
-
|
30 |
-
return $vars;
|
31 |
-
}
|
32 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
DELETED
@@ -1,58 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Plugin/theme installer for shopware
|
6 |
-
* @author Benjamin Boit
|
7 |
-
*/
|
8 |
-
class ShopwareInstaller extends BaseInstaller
|
9 |
-
{
|
10 |
-
protected $locations = array(
|
11 |
-
'backend-plugin' => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
|
12 |
-
'core-plugin' => 'engine/Shopware/Plugins/Local/Core/{$name}/',
|
13 |
-
'frontend-plugin' => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
|
14 |
-
'theme' => 'templates/{$name}/'
|
15 |
-
);
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Transforms the names
|
19 |
-
* @param array $vars
|
20 |
-
* @return array
|
21 |
-
*/
|
22 |
-
public function inflectPackageVars($vars)
|
23 |
-
{
|
24 |
-
if($vars['type'] === 'shopware-theme') {
|
25 |
-
return $this->correctThemeName($vars);
|
26 |
-
} else {
|
27 |
-
return $this->correctPluginName($vars);
|
28 |
-
}
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Changes the name to a camelcased combination of vendor and name
|
33 |
-
* @param array $vars
|
34 |
-
* @return array
|
35 |
-
*/
|
36 |
-
private function correctPluginName($vars)
|
37 |
-
{
|
38 |
-
$camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
39 |
-
return strtoupper($matches[0][1]);
|
40 |
-
}, $vars['name']);
|
41 |
-
|
42 |
-
$vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
|
43 |
-
|
44 |
-
return $vars;
|
45 |
-
}
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Changes the name to a underscore separated name
|
49 |
-
* @param array $vars
|
50 |
-
* @return array
|
51 |
-
*/
|
52 |
-
private function correctThemeName($vars)
|
53 |
-
{
|
54 |
-
$vars['name'] = str_replace('-', '_', $vars['name']);
|
55 |
-
|
56 |
-
return $vars;
|
57 |
-
}
|
58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
use Composer\Package\PackageInterface;
|
5 |
-
|
6 |
-
class SilverStripeInstaller extends BaseInstaller
|
7 |
-
{
|
8 |
-
protected $locations = array(
|
9 |
-
'module' => '{$name}/',
|
10 |
-
'theme' => 'themes/{$name}/',
|
11 |
-
);
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Return the install path based on package type.
|
15 |
-
*
|
16 |
-
* Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
|
17 |
-
* must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
|
18 |
-
*
|
19 |
-
* @param PackageInterface $package
|
20 |
-
* @param string $frameworkType
|
21 |
-
* @return string
|
22 |
-
*/
|
23 |
-
public function getInstallPath(PackageInterface $package, $frameworkType = '')
|
24 |
-
{
|
25 |
-
if (
|
26 |
-
$package->getName() == 'silverstripe/framework'
|
27 |
-
&& preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
|
28 |
-
&& version_compare($package->getVersion(), '2.999.999') < 0
|
29 |
-
) {
|
30 |
-
return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
|
31 |
-
} else {
|
32 |
-
return parent::getInstallPath($package, $frameworkType);
|
33 |
-
}
|
34 |
-
|
35 |
-
}
|
36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Plugin installer for symfony 1.x
|
6 |
-
*
|
7 |
-
* @author Jérôme Tamarelle <jerome@tamarelle.net>
|
8 |
-
*/
|
9 |
-
class Symfony1Installer extends BaseInstaller
|
10 |
-
{
|
11 |
-
protected $locations = array(
|
12 |
-
'plugin' => 'plugins/{$name}/',
|
13 |
-
);
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Format package name to CamelCase
|
17 |
-
*/
|
18 |
-
public function inflectPackageVars($vars)
|
19 |
-
{
|
20 |
-
$vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
|
21 |
-
return strtoupper($matches[0][1]);
|
22 |
-
}, $vars['name']);
|
23 |
-
|
24 |
-
return $vars;
|
25 |
-
}
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Extension installer for TYPO3 CMS
|
6 |
-
*
|
7 |
-
* @author Sascha Egerer <sascha.egerer@dkd.de>
|
8 |
-
*/
|
9 |
-
class TYPO3CmsInstaller extends BaseInstaller
|
10 |
-
{
|
11 |
-
protected $locations = array(
|
12 |
-
'extension' => 'typo3conf/ext/{$name}/',
|
13 |
-
);
|
14 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
/**
|
5 |
-
* An installer to handle TYPO3 Flow specifics when installing packages.
|
6 |
-
*/
|
7 |
-
class TYPO3FlowInstaller extends BaseInstaller
|
8 |
-
{
|
9 |
-
protected $locations = array(
|
10 |
-
'package' => 'Packages/Application/{$name}/',
|
11 |
-
'framework' => 'Packages/Framework/{$name}/',
|
12 |
-
'plugin' => 'Packages/Plugins/{$name}/',
|
13 |
-
'site' => 'Packages/Sites/{$name}/',
|
14 |
-
'boilerplate' => 'Packages/Boilerplates/{$name}/',
|
15 |
-
'build' => 'Build/{$name}/',
|
16 |
-
);
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Modify the package name to be a TYPO3 Flow style key.
|
20 |
-
*
|
21 |
-
* @param array $vars
|
22 |
-
* @return array
|
23 |
-
*/
|
24 |
-
public function inflectPackageVars($vars)
|
25 |
-
{
|
26 |
-
$autoload = $this->package->getAutoload();
|
27 |
-
if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
|
28 |
-
$namespace = key($autoload['psr-0']);
|
29 |
-
$vars['name'] = str_replace('\\', '.', $namespace);
|
30 |
-
}
|
31 |
-
return $vars;
|
32 |
-
}
|
33 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class WolfCMSInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'wolf/plugins/{$name}/',
|
8 |
-
);
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class WordPressInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'plugin' => 'wp-content/plugins/{$name}/',
|
8 |
-
'theme' => 'wp-content/themes/{$name}/',
|
9 |
-
'muplugin' => 'wp-content/mu-plugins/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ZendInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'library' => 'library/{$name}/',
|
8 |
-
'extra' => 'extras/library/{$name}/',
|
9 |
-
'module' => 'module/{$name}/',
|
10 |
-
);
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers;
|
3 |
-
|
4 |
-
class ZikulaInstaller extends BaseInstaller
|
5 |
-
{
|
6 |
-
protected $locations = array(
|
7 |
-
'module' => 'modules/{$vendor}-{$name}/',
|
8 |
-
'theme' => 'themes/{$vendor}-{$name}/'
|
9 |
-
);
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/src/bootstrap.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
function includeIfExists($file)
|
3 |
-
{
|
4 |
-
if (file_exists($file)) {
|
5 |
-
return include $file;
|
6 |
-
}
|
7 |
-
}
|
8 |
-
if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
|
9 |
-
die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
|
10 |
-
'curl -s http://getcomposer.org/installer | php'.PHP_EOL.
|
11 |
-
'php composer.phar install'.PHP_EOL);
|
12 |
-
}
|
13 |
-
return $loader;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
DELETED
@@ -1,46 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers\Test;
|
3 |
-
|
4 |
-
use Composer\Installers\CakePHPInstaller;
|
5 |
-
use Composer\Package\Package;
|
6 |
-
use Composer\Composer;
|
7 |
-
use Composer\Config;
|
8 |
-
|
9 |
-
class CakePHPInstallerTest extends TestCase
|
10 |
-
{
|
11 |
-
private $composer;
|
12 |
-
private $io;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* setUp
|
16 |
-
*
|
17 |
-
* @return void
|
18 |
-
*/
|
19 |
-
public function setUp()
|
20 |
-
{
|
21 |
-
$this->package = new Package('CamelCased', '1.0', '1.0');
|
22 |
-
$this->io = $this->getMock('Composer\IO\PackageInterface');
|
23 |
-
$this->composer = new Composer();
|
24 |
-
}
|
25 |
-
|
26 |
-
/**
|
27 |
-
* testInflectPackageVars
|
28 |
-
*
|
29 |
-
* @return void
|
30 |
-
*/
|
31 |
-
public function testInflectPackageVars()
|
32 |
-
{
|
33 |
-
$installer = new CakePHPInstaller($this->package, $this->composer);
|
34 |
-
$result = $installer->inflectPackageVars(array('name' => 'CamelCased'));
|
35 |
-
$this->assertEquals($result, array('name' => 'CamelCased'));
|
36 |
-
|
37 |
-
$installer = new CakePHPInstaller($this->package, $this->composer);
|
38 |
-
$result = $installer->inflectPackageVars(array('name' => 'with-dash'));
|
39 |
-
$this->assertEquals($result, array('name' => 'WithDash'));
|
40 |
-
|
41 |
-
$installer = new CakePHPInstaller($this->package, $this->composer);
|
42 |
-
$result = $installer->inflectPackageVars(array('name' => 'with_underscore'));
|
43 |
-
$this->assertEquals($result, array('name' => 'WithUnderscore'));
|
44 |
-
}
|
45 |
-
|
46 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
DELETED
@@ -1,349 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers\Test;
|
3 |
-
|
4 |
-
use Composer\Installers\Installer;
|
5 |
-
use Composer\Util\Filesystem;
|
6 |
-
use Composer\Package\Package;
|
7 |
-
use Composer\Package\RootPackage;
|
8 |
-
use Composer\Composer;
|
9 |
-
use Composer\Config;
|
10 |
-
|
11 |
-
class InstallerTest extends TestCase
|
12 |
-
{
|
13 |
-
private $composer;
|
14 |
-
private $config;
|
15 |
-
private $vendorDir;
|
16 |
-
private $binDir;
|
17 |
-
private $dm;
|
18 |
-
private $repository;
|
19 |
-
private $io;
|
20 |
-
private $fs;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* setUp
|
24 |
-
*
|
25 |
-
* @return void
|
26 |
-
*/
|
27 |
-
public function setUp()
|
28 |
-
{
|
29 |
-
$this->fs = new Filesystem;
|
30 |
-
|
31 |
-
$this->composer = new Composer();
|
32 |
-
$this->config = new Config();
|
33 |
-
$this->composer->setConfig($this->config);
|
34 |
-
|
35 |
-
$this->vendorDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-vendor';
|
36 |
-
$this->ensureDirectoryExistsAndClear($this->vendorDir);
|
37 |
-
|
38 |
-
$this->binDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-bin';
|
39 |
-
$this->ensureDirectoryExistsAndClear($this->binDir);
|
40 |
-
|
41 |
-
$this->config->merge(array(
|
42 |
-
'config' => array(
|
43 |
-
'vendor-dir' => $this->vendorDir,
|
44 |
-
'bin-dir' => $this->binDir,
|
45 |
-
),
|
46 |
-
));
|
47 |
-
|
48 |
-
$this->dm = $this->getMockBuilder('Composer\Downloader\DownloadManager')
|
49 |
-
->disableOriginalConstructor()
|
50 |
-
->getMock();
|
51 |
-
$this->composer->setDownloadManager($this->dm);
|
52 |
-
|
53 |
-
$this->repository = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
|
54 |
-
$this->io = $this->getMock('Composer\IO\IOInterface');
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* tearDown
|
59 |
-
*
|
60 |
-
* @return void
|
61 |
-
*/
|
62 |
-
public function tearDown()
|
63 |
-
{
|
64 |
-
$this->fs->removeDirectory($this->vendorDir);
|
65 |
-
$this->fs->removeDirectory($this->binDir);
|
66 |
-
}
|
67 |
-
|
68 |
-
/**
|
69 |
-
* testSupports
|
70 |
-
*
|
71 |
-
* @return void
|
72 |
-
*
|
73 |
-
* @dataProvider dataForTestSupport
|
74 |
-
*/
|
75 |
-
public function testSupports($type, $expected)
|
76 |
-
{
|
77 |
-
$installer = new Installer($this->io, $this->composer);
|
78 |
-
$this->assertSame($expected, $installer->supports($type), sprintf('Failed to show support for %s', $type));
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* dataForTestSupport
|
83 |
-
*/
|
84 |
-
public function dataForTestSupport()
|
85 |
-
{
|
86 |
-
return array(
|
87 |
-
array('agl-module', true),
|
88 |
-
array('annotatecms-module', true),
|
89 |
-
array('annotatecms-component', true),
|
90 |
-
array('annotatecms-service', true),
|
91 |
-
array('cakephp', false),
|
92 |
-
array('cakephp-', false),
|
93 |
-
array('cakephp-app', false),
|
94 |
-
array('cakephp-plugin', true),
|
95 |
-
array('codeigniter-app', false),
|
96 |
-
array('codeigniter-library', true),
|
97 |
-
array('codeigniter-third-party', true),
|
98 |
-
array('codeigniter-module', true),
|
99 |
-
array('concrete5-block', true),
|
100 |
-
array('concrete5-package', true),
|
101 |
-
array('concrete5-theme', true),
|
102 |
-
array('craft-plugin', true),
|
103 |
-
array('croogo-plugin', true),
|
104 |
-
array('croogo-theme', true),
|
105 |
-
array('drupal-module', true),
|
106 |
-
array('elgg-plugin', true),
|
107 |
-
array('fuel-module', true),
|
108 |
-
array('fuel-package', true),
|
109 |
-
array('hurad-plugin', true),
|
110 |
-
array('hurad-theme', true),
|
111 |
-
array('joomla-library', true),
|
112 |
-
array('kohana-module', true),
|
113 |
-
array('laravel-library', true),
|
114 |
-
array('lithium-library', true),
|
115 |
-
array('magento-library', true),
|
116 |
-
array('mako-package', true),
|
117 |
-
array('modxevo-snippet', true),
|
118 |
-
array('modxevo-plugin', true),
|
119 |
-
array('modxevo-module', true),
|
120 |
-
array('modxevo-template', true),
|
121 |
-
array('modxevo-lib', true),
|
122 |
-
array('mediawiki-extension', true),
|
123 |
-
array('modulework-module', true),
|
124 |
-
array('piwik-plugin', true),
|
125 |
-
array('phpbb-extension', true),
|
126 |
-
array('ppi-module', true),
|
127 |
-
array('shopware-backend-plugin', true),
|
128 |
-
array('shopware-core-plugin', true),
|
129 |
-
array('shopware-frontend-plugin', true),
|
130 |
-
array('shopware-theme', true),
|
131 |
-
array('silverstripe-module', true),
|
132 |
-
array('silverstripe-theme', true),
|
133 |
-
array('symfony1-plugin', true),
|
134 |
-
array('typo3-flow-plugin', true),
|
135 |
-
array('typo3-cms-extension', true),
|
136 |
-
array('wolfcms-plugin', true),
|
137 |
-
array('wordpress-plugin', true),
|
138 |
-
array('wordpress-core', false),
|
139 |
-
array('zend-library', true),
|
140 |
-
array('zikula-module', true),
|
141 |
-
array('zikula-theme', true),
|
142 |
-
);
|
143 |
-
}
|
144 |
-
|
145 |
-
/**
|
146 |
-
* testInstallPath
|
147 |
-
*
|
148 |
-
* @dataProvider dataForTestInstallPath
|
149 |
-
*/
|
150 |
-
public function testInstallPath($type, $path, $name, $version = '1.0.0')
|
151 |
-
{
|
152 |
-
$installer = new Installer($this->io, $this->composer);
|
153 |
-
$package = new Package($name, $version, $version);
|
154 |
-
|
155 |
-
$package->setType($type);
|
156 |
-
$result = $installer->getInstallPath($package);
|
157 |
-
$this->assertEquals($path, $result);
|
158 |
-
}
|
159 |
-
|
160 |
-
/**
|
161 |
-
* dataFormTestInstallPath
|
162 |
-
*/
|
163 |
-
public function dataForTestInstallPath()
|
164 |
-
{
|
165 |
-
return array(
|
166 |
-
array('agl-module', 'More/MyTestPackage/', 'agl/my_test-package'),
|
167 |
-
array('annotatecms-module', 'addons/modules/my_module/', 'vysinsky/my_module'),
|
168 |
-
array('annotatecms-component', 'addons/components/my_component/', 'vysinsky/my_component'),
|
169 |
-
array('annotatecms-service', 'addons/services/my_service/', 'vysinsky/my_service'),
|
170 |
-
array('cakephp-plugin', 'Plugin/Ftp/', 'shama/ftp'),
|
171 |
-
array('codeigniter-library', 'application/libraries/my_package/', 'shama/my_package'),
|
172 |
-
array('codeigniter-module', 'application/modules/my_package/', 'shama/my_package'),
|
173 |
-
array('concrete5-block', 'blocks/concrete5_block/', 'remo/concrete5_block'),
|
174 |
-
array('concrete5-package', 'packages/concrete5_package/', 'remo/concrete5_package'),
|
175 |
-
array('concrete5-theme', 'themes/concrete5_theme/', 'remo/concrete5_theme'),
|
176 |
-
array('craft-plugin', 'craft/plugins/my_plugin/', 'mdcpepper/my_plugin'),
|
177 |
-
array('croogo-plugin', 'Plugin/Sitemaps/', 'fahad19/sitemaps'),
|
178 |
-
array('croogo-theme', 'View/Themed/Readable/', 'rchavik/readable'),
|
179 |
-
array('drupal-module', 'modules/my_module/', 'shama/my_module'),
|
180 |
-
array('drupal-theme', 'themes/my_module/', 'shama/my_module'),
|
181 |
-
array('drupal-profile', 'profiles/my_module/', 'shama/my_module'),
|
182 |
-
array('drupal-drush', 'drush/my_module/', 'shama/my_module'),
|
183 |
-
array('elgg-plugin', 'mod/sample_plugin/', 'test/sample_plugin'),
|
184 |
-
array('fuel-module', 'fuel/app/modules/module/', 'fuel/module'),
|
185 |
-
array('fuel-package', 'fuel/packages/orm/', 'fuel/orm'),
|
186 |
-
array('hurad-plugin', 'Plugin/Akismet/', 'atkrad/akismet'),
|
187 |
-
array('hurad-theme', 'View/Themed/Hurad2013/', 'atkrad/Hurad2013'),
|
188 |
-
array('joomla-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
|
189 |
-
array('kohana-module', 'modules/my_package/', 'shama/my_package'),
|
190 |
-
array('laravel-library', 'libraries/my_package/', 'shama/my_package'),
|
191 |
-
array('lithium-library', 'libraries/li3_test/', 'user/li3_test'),
|
192 |
-
array('magento-library', 'lib/foo/', 'test/foo'),
|
193 |
-
array('modxevo-snippet', 'assets/snippets/my_snippet/', 'shama/my_snippet'),
|
194 |
-
array('modxevo-plugin', 'assets/plugins/my_plugin/', 'shama/my_plugin'),
|
195 |
-
array('modxevo-module', 'assets/modules/my_module/', 'shama/my_module'),
|
196 |
-
array('modxevo-template', 'assets/templates/my_template/', 'shama/my_template'),
|
197 |
-
array('modxevo-lib', 'assets/lib/my_lib/', 'shama/my_lib'),
|
198 |
-
array('mako-package', 'app/packages/my_package/', 'shama/my_package'),
|
199 |
-
array('mediawiki-extension', 'extensions/APC/', 'author/APC' ),
|
200 |
-
array('mediawiki-extension', 'extensions/UploadWizard/', 'author/upload-wizard' ),
|
201 |
-
array('mediawiki-extension', 'extensions/SyntaxHighlight_GeSHi/', 'author/syntax-highlight_GeSHi' ),
|
202 |
-
array('modulework-module', 'modules/my_package/', 'shama/my_package'),
|
203 |
-
array('piwik-plugin', 'plugins/VisitSummary/', 'shama/visit-summary'),
|
204 |
-
array('phpbb-extension', 'ext/test/foo/', 'test/foo'),
|
205 |
-
array('phpbb-style', 'styles/foo/', 'test/foo'),
|
206 |
-
array('phpbb-language', 'language/foo/', 'test/foo'),
|
207 |
-
array('ppi-module', 'modules/foo/', 'test/foo'),
|
208 |
-
array('shopware-backend-plugin', 'engine/Shopware/Plugins/Local/Backend/ShamaMyBackendPlugin/', 'shama/my-backend-plugin'),
|
209 |
-
array('shopware-core-plugin', 'engine/Shopware/Plugins/Local/Core/ShamaMyCorePlugin/', 'shama/my-core-plugin'),
|
210 |
-
array('shopware-frontend-plugin', 'engine/Shopware/Plugins/Local/Frontend/ShamaMyFrontendPlugin/', 'shama/my-frontend-plugin'),
|
211 |
-
array('shopware-theme', 'templates/my_theme/', 'shama/my-theme'),
|
212 |
-
array('silverstripe-module', 'my_module/', 'shama/my_module'),
|
213 |
-
array('silverstripe-module', 'sapphire/', 'silverstripe/framework', '2.4.0'),
|
214 |
-
array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0'),
|
215 |
-
array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0-rc1'),
|
216 |
-
array('silverstripe-module', 'framework/', 'silverstripe/framework', 'my/branch'),
|
217 |
-
array('silverstripe-theme', 'themes/my_theme/', 'shama/my_theme'),
|
218 |
-
array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sfShamaPlugin'),
|
219 |
-
array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sf-shama-plugin'),
|
220 |
-
array('typo3-flow-package', 'Packages/Application/my_package/', 'shama/my_package'),
|
221 |
-
array('typo3-flow-build', 'Build/my_package/', 'shama/my_package'),
|
222 |
-
array('typo3-cms-extension', 'typo3conf/ext/my_extension/', 'shama/my_extension'),
|
223 |
-
array('wolfcms-plugin', 'wolf/plugins/my_plugin/', 'shama/my_plugin'),
|
224 |
-
array('wordpress-plugin', 'wp-content/plugins/my_plugin/', 'shama/my_plugin'),
|
225 |
-
array('wordpress-muplugin', 'wp-content/mu-plugins/my_plugin/', 'shama/my_plugin'),
|
226 |
-
array('zend-extra', 'extras/library/zend_test/', 'shama/zend_test'),
|
227 |
-
array('zikula-module', 'modules/my-test_module/', 'my/test_module'),
|
228 |
-
array('zikula-theme', 'themes/my-test_theme/', 'my/test_theme'),
|
229 |
-
);
|
230 |
-
}
|
231 |
-
|
232 |
-
/**
|
233 |
-
* testGetCakePHPInstallPathException
|
234 |
-
*
|
235 |
-
* @return void
|
236 |
-
*
|
237 |
-
* @expectedException \InvalidArgumentException
|
238 |
-
*/
|
239 |
-
public function testGetCakePHPInstallPathException()
|
240 |
-
{
|
241 |
-
$installer = new Installer($this->io, $this->composer);
|
242 |
-
$package = new Package('shama/ftp', '1.0.0', '1.0.0');
|
243 |
-
|
244 |
-
$package->setType('cakephp-whoops');
|
245 |
-
$result = $installer->getInstallPath($package);
|
246 |
-
}
|
247 |
-
|
248 |
-
/**
|
249 |
-
* testCustomInstallPath
|
250 |
-
*/
|
251 |
-
public function testCustomInstallPath()
|
252 |
-
{
|
253 |
-
$installer = new Installer($this->io, $this->composer);
|
254 |
-
$package = new Package('shama/ftp', '1.0.0', '1.0.0');
|
255 |
-
$package->setType('cakephp-plugin');
|
256 |
-
$consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
|
257 |
-
$this->composer->setPackage($consumerPackage);
|
258 |
-
$consumerPackage->setExtra(array(
|
259 |
-
'installer-paths' => array(
|
260 |
-
'my/custom/path/{$name}/' => array(
|
261 |
-
'shama/ftp',
|
262 |
-
'foo/bar',
|
263 |
-
),
|
264 |
-
),
|
265 |
-
));
|
266 |
-
$result = $installer->getInstallPath($package);
|
267 |
-
$this->assertEquals('my/custom/path/Ftp/', $result);
|
268 |
-
}
|
269 |
-
|
270 |
-
/**
|
271 |
-
* testCustomInstallerName
|
272 |
-
*/
|
273 |
-
public function testCustomInstallerName() {
|
274 |
-
$installer = new Installer($this->io, $this->composer);
|
275 |
-
$package = new Package('shama/cakephp-ftp-plugin', '1.0.0', '1.0.0');
|
276 |
-
$package->setType('cakephp-plugin');
|
277 |
-
$package->setExtra(array(
|
278 |
-
'installer-name' => 'FTP',
|
279 |
-
));
|
280 |
-
$result = $installer->getInstallPath($package);
|
281 |
-
$this->assertEquals('Plugin/FTP/', $result);
|
282 |
-
}
|
283 |
-
|
284 |
-
/**
|
285 |
-
* testCustomTypePath
|
286 |
-
*/
|
287 |
-
public function testCustomTypePath() {
|
288 |
-
$installer = new Installer($this->io, $this->composer);
|
289 |
-
$package = new Package('slbmeh/my_plugin', '1.0.0', '1.0.0');
|
290 |
-
$package->setType('wordpress-plugin');
|
291 |
-
$consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
|
292 |
-
$this->composer->setPackage($consumerPackage);
|
293 |
-
$consumerPackage->setExtra(array(
|
294 |
-
'installer-paths' => array(
|
295 |
-
'my/custom/path/{$name}/' => array(
|
296 |
-
'type:wordpress-plugin'
|
297 |
-
),
|
298 |
-
),
|
299 |
-
));
|
300 |
-
$result = $installer->getInstallPath($package);
|
301 |
-
$this->assertEquals('my/custom/path/my_plugin/', $result);
|
302 |
-
}
|
303 |
-
|
304 |
-
/**
|
305 |
-
* testNoVendorName
|
306 |
-
*/
|
307 |
-
public function testNoVendorName()
|
308 |
-
{
|
309 |
-
$installer = new Installer($this->io, $this->composer);
|
310 |
-
$package = new Package('sfPhpunitPlugin', '1.0.0', '1.0.0');
|
311 |
-
|
312 |
-
$package->setType('symfony1-plugin');
|
313 |
-
$result = $installer->getInstallPath($package);
|
314 |
-
$this->assertEquals('plugins/sfPhpunitPlugin/', $result);
|
315 |
-
}
|
316 |
-
|
317 |
-
/**
|
318 |
-
* testTypo3Inflection
|
319 |
-
*/
|
320 |
-
public function testTypo3Inflection()
|
321 |
-
{
|
322 |
-
$installer = new Installer($this->io, $this->composer);
|
323 |
-
$package = new Package('typo3/fluid', '1.0.0', '1.0.0');
|
324 |
-
|
325 |
-
$package->setAutoload(array(
|
326 |
-
'psr-0' => array(
|
327 |
-
'TYPO3\\Fluid' => 'Classes',
|
328 |
-
),
|
329 |
-
));
|
330 |
-
|
331 |
-
$package->setType('typo3-flow-package');
|
332 |
-
$result = $installer->getInstallPath($package);
|
333 |
-
$this->assertEquals('Packages/Application/TYPO3.Fluid/', $result);
|
334 |
-
}
|
335 |
-
|
336 |
-
public function testUninstallAndDeletePackageFromLocalRepo()
|
337 |
-
{
|
338 |
-
$package = new Package('foo', '1.0.0', '1.0.0');
|
339 |
-
|
340 |
-
$installer = $this->getMock('Composer\Installers\Installer', array('getInstallPath'), array($this->io, $this->composer));
|
341 |
-
$installer->expects($this->once())->method('getInstallPath')->with($package)->will($this->returnValue(sys_get_temp_dir().'/foo'));
|
342 |
-
|
343 |
-
$repo = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
|
344 |
-
$repo->expects($this->once())->method('hasPackage')->with($package)->will($this->returnValue(true));
|
345 |
-
$repo->expects($this->once())->method('removePackage')->with($package);
|
346 |
-
|
347 |
-
$installer->uninstall($repo, $package);
|
348 |
-
}
|
349 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers\Test;
|
3 |
-
|
4 |
-
use Composer\Installers\MediaWikiInstaller;
|
5 |
-
use Composer\Package\Package;
|
6 |
-
use Composer\Composer;
|
7 |
-
use Composer\Config;
|
8 |
-
|
9 |
-
class MediaWikiInstallerTest extends \PHPUnit_Framework_TestCase
|
10 |
-
{
|
11 |
-
/**
|
12 |
-
* @var MediaWikiInstaller
|
13 |
-
*/
|
14 |
-
private $installer;
|
15 |
-
|
16 |
-
public function setUp()
|
17 |
-
{
|
18 |
-
$this->installer = new MediaWikiInstaller(
|
19 |
-
new Package('NyanCat', '4.2', '4.2'),
|
20 |
-
new Composer()
|
21 |
-
);
|
22 |
-
}
|
23 |
-
|
24 |
-
/**
|
25 |
-
* @dataProvider packageNameInflectionProvider
|
26 |
-
*/
|
27 |
-
public function testInflectPackageVars($input, $expected)
|
28 |
-
{
|
29 |
-
$this->assertEquals(
|
30 |
-
$this->installer->inflectPackageVars(array('name' => $input)),
|
31 |
-
array('name' => $expected)
|
32 |
-
);
|
33 |
-
}
|
34 |
-
|
35 |
-
public function packageNameInflectionProvider()
|
36 |
-
{
|
37 |
-
return array(
|
38 |
-
array(
|
39 |
-
'sub-page-list',
|
40 |
-
'SubPageList',
|
41 |
-
),
|
42 |
-
array(
|
43 |
-
'semantic-mediawiki',
|
44 |
-
'SemanticMediawiki',
|
45 |
-
)
|
46 |
-
);
|
47 |
-
}
|
48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php
DELETED
@@ -1,64 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Composer\Installers\Test;
|
3 |
-
|
4 |
-
use Composer\Composer;
|
5 |
-
use Composer\Config;
|
6 |
-
use Composer\Installers\PiwikInstaller;
|
7 |
-
use Composer\Package\Package;
|
8 |
-
use Composer\Package\PackageInterface;
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Class PiwikInstallerTest
|
12 |
-
*
|
13 |
-
* @package Composer\Installers\Test
|
14 |
-
*/
|
15 |
-
class PiwikInstallerTest extends TestCase
|
16 |
-
{
|
17 |
-
/**
|
18 |
-
* @varComposer
|
19 |
-
*/
|
20 |
-
private $composer;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @var PackageInterface
|
24 |
-
*/
|
25 |
-
private $io;
|
26 |
-
|
27 |
-
/**
|
28 |
-
* @var Package
|
29 |
-
*/
|
30 |
-
private $package;
|
31 |
-
|
32 |
-
/**
|
33 |
-
* setUp
|
34 |
-
*
|
35 |
-
* @return void
|
36 |
-
*/
|
37 |
-
public function setUp()
|
38 |
-
{
|
39 |
-
$this->package = new Package('VisitSummary', '1.0', '1.0');
|
40 |
-
$this->io = $this->getMock('Composer\IO\PackageInterface');
|
41 |
-
$this->composer = new Composer();
|
42 |
-
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* testInflectPackageVars
|
46 |
-
*
|
47 |
-
* @return void
|
48 |
-
*/
|
49 |
-
public function testInflectPackageVars()
|
50 |
-
{
|
51 |
-
$installer = new PiwikInstaller($this->package, $this->composer);
|
52 |
-
$result = $installer->inflectPackageVars(array('name' => 'VisitSummary'));
|
53 |
-
$this->assertEquals($result, array('name' => 'VisitSummary'));
|
54 |
-
|
55 |
-
$installer = new PiwikInstaller($this->package, $this->composer);
|
56 |
-
$result = $installer->inflectPackageVars(array('name' => 'visit-summary'));
|
57 |
-
$this->assertEquals($result, array('name' => 'VisitSummary'));
|
58 |
-
|
59 |
-
$installer = new PiwikInstaller($this->package, $this->composer);
|
60 |
-
$result = $installer->inflectPackageVars(array('name' => 'visit_summary'));
|
61 |
-
$this->assertEquals($result, array('name' => 'VisitSummary'));
|
62 |
-
}
|
63 |
-
|
64 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
DELETED
@@ -1,64 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of Composer.
|
5 |
-
*
|
6 |
-
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
-
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
-
*
|
9 |
-
* For the full copyright and license information, please view the LICENSE
|
10 |
-
* file that was distributed with this source code.
|
11 |
-
*/
|
12 |
-
|
13 |
-
namespace Composer\Installers\Test;
|
14 |
-
|
15 |
-
use Composer\Package\Version\VersionParser;
|
16 |
-
use Composer\Package\Package;
|
17 |
-
use Composer\Package\AliasPackage;
|
18 |
-
use Composer\Package\LinkConstraint\VersionConstraint;
|
19 |
-
use Composer\Util\Filesystem;
|
20 |
-
|
21 |
-
abstract class TestCase extends \PHPUnit_Framework_TestCase
|
22 |
-
{
|
23 |
-
private static $parser;
|
24 |
-
|
25 |
-
protected static function getVersionParser()
|
26 |
-
{
|
27 |
-
if (!self::$parser) {
|
28 |
-
self::$parser = new VersionParser();
|
29 |
-
}
|
30 |
-
|
31 |
-
return self::$parser;
|
32 |
-
}
|
33 |
-
|
34 |
-
protected function getVersionConstraint($operator, $version)
|
35 |
-
{
|
36 |
-
return new VersionConstraint(
|
37 |
-
$operator,
|
38 |
-
self::getVersionParser()->normalize($version)
|
39 |
-
);
|
40 |
-
}
|
41 |
-
|
42 |
-
protected function getPackage($name, $version)
|
43 |
-
{
|
44 |
-
$normVersion = self::getVersionParser()->normalize($version);
|
45 |
-
|
46 |
-
return new Package($name, $normVersion, $version);
|
47 |
-
}
|
48 |
-
|
49 |
-
protected function getAliasPackage($package, $version)
|
50 |
-
{
|
51 |
-
$normVersion = self::getVersionParser()->normalize($version);
|
52 |
-
|
53 |
-
return new AliasPackage($package, $normVersion, $version);
|
54 |
-
}
|
55 |
-
|
56 |
-
protected function ensureDirectoryExistsAndClear($directory)
|
57 |
-
{
|
58 |
-
$fs = new Filesystem();
|
59 |
-
if (is_dir($directory)) {
|
60 |
-
$fs->removeDirectory($directory);
|
61 |
-
}
|
62 |
-
mkdir($directory, 0777, true);
|
63 |
-
}
|
64 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/composer/installers/tests/bootstrap.php
DELETED
@@ -1,4 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$loader = require __DIR__ . '/../src/bootstrap.php';
|
4 |
-
$loader->add('Composer\Installers\Test', __DIR__);
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/README.md
DELETED
@@ -1,253 +0,0 @@
|
|
1 |
-
Freemius WordPress SDK
|
2 |
-
======================
|
3 |
-
|
4 |
-
[Monetization](https://freemius.com/wordpress/), [analytics](https://freemius.com/wordpress/insights/), and marketing automation platform for plugin & theme developers. Freemius empower developers to create prosperous subscription based businesses.
|
5 |
-
|
6 |
-
You can see some of the WordPress.org plugins & themes that are utilizing the power of Freemius here:
|
7 |
-
|
8 |
-
https://includewp.com/freemius/#focus
|
9 |
-
|
10 |
-
If you are a WordPress plugin or theme developer and you are interested to monetize with Freemius you can [sign-up here for free](https://dashboard.freemius.com/register/):
|
11 |
-
|
12 |
-
https://dashboard.freemius.com/register/
|
13 |
-
|
14 |
-
**Below you'll find the integration instructions for our WordPress SDK.**
|
15 |
-
|
16 |
-
## Code Documentation
|
17 |
-
|
18 |
-
You can find the SDK's PHP-Doc documentation here:
|
19 |
-
https://codedoc.pub/freemius/wordpress-sdk/master/
|
20 |
-
|
21 |
-
## Initializing the SDK
|
22 |
-
|
23 |
-
Copy the code below and paste it into the top of your main plugin's PHP file, right after the plugin's header comment:
|
24 |
-
|
25 |
-
```php
|
26 |
-
<?php
|
27 |
-
// Create a helper function for easy SDK access.
|
28 |
-
function my_prefix_fs() {
|
29 |
-
global $my_prefix_fs;
|
30 |
-
if ( ! isset( $my_prefix_fs ) ) {
|
31 |
-
// Include Freemius SDK.
|
32 |
-
require_once dirname(__FILE__) . '/freemius/start.php';
|
33 |
-
|
34 |
-
$my_prefix_fs = fs_dynamic_init( array(
|
35 |
-
'id' => '1234',
|
36 |
-
'slug' => 'my-plugin-slug',
|
37 |
-
'menu_slug' => 'my_menu_slug', // You can also use __FILE__
|
38 |
-
'public_key' => 'pk_MY_PUBLIC_KEY',
|
39 |
-
'is_live' => true,
|
40 |
-
'is_premium' => true,
|
41 |
-
'has_addons' => false,
|
42 |
-
'has_paid_plans' => false,
|
43 |
-
// Set the SDK to work in a sandbox mode (for development & testing).
|
44 |
-
// IMPORTANT: MAKE SURE TO REMOVE SECRET KEY BEFORE DEPLOYMENT.
|
45 |
-
'secret_key' => 'sk_MY_SECRET_KEY',
|
46 |
-
) );
|
47 |
-
}
|
48 |
-
|
49 |
-
return $my_prefix_fs;
|
50 |
-
}
|
51 |
-
|
52 |
-
// Init Freemius.
|
53 |
-
my_prefix_fs();
|
54 |
-
?>
|
55 |
-
```
|
56 |
-
|
57 |
-
- **1234** - Replace with your plugin's ID.
|
58 |
-
- **pk_MY_PUBLIC_KEY** - Replace with your plugin's public key.
|
59 |
-
- **sk_MY_SECRET_KEY** - Replace with your plugin's secret key.
|
60 |
-
- **my-plugin-slug** - Replace with your plugin's WordPress.org slug.
|
61 |
-
- **my_menu_slug** - Replace with your admin dashboard settings menu slug.
|
62 |
-
|
63 |
-
|
64 |
-
## Usage example
|
65 |
-
|
66 |
-
You can call the SDK by using the shortcode function:
|
67 |
-
|
68 |
-
```php
|
69 |
-
<?php my_prefix_fs()->get_upgrade_url(); ?>
|
70 |
-
```
|
71 |
-
|
72 |
-
Or when calling Freemius multiple times in a scope, it's recommended to use it with the global variable:
|
73 |
-
|
74 |
-
```php
|
75 |
-
<?php
|
76 |
-
global $my_prefix_fs;
|
77 |
-
$my_prefix_fs->get_account_url();
|
78 |
-
?>
|
79 |
-
```
|
80 |
-
|
81 |
-
## Adding license based logic examples
|
82 |
-
|
83 |
-
Add marketing content to encourage your users to upgrade for your paid version:
|
84 |
-
|
85 |
-
```php
|
86 |
-
<?php
|
87 |
-
if ( my_prefix_fs()->is_not_paying() ) {
|
88 |
-
echo '<section><h1>' . esc_html__('Awesome Premium Features', 'my-plugin-slug') . '</h1>';
|
89 |
-
echo '<a href="' . my_prefix_fs()->get_upgrade_url() . '">' .
|
90 |
-
esc_html__('Upgrade Now!', 'my-plugin-slug') .
|
91 |
-
'</a>';
|
92 |
-
echo '</section>';
|
93 |
-
}
|
94 |
-
?>
|
95 |
-
```
|
96 |
-
|
97 |
-
Add logic which will only be available in your premium plugin version:
|
98 |
-
|
99 |
-
```php
|
100 |
-
<?php
|
101 |
-
// This "if" block will be auto removed from the Free version.
|
102 |
-
if ( my_prefix_fs()->is__premium_only() ) {
|
103 |
-
|
104 |
-
// ... premium only logic ...
|
105 |
-
|
106 |
-
}
|
107 |
-
?>
|
108 |
-
```
|
109 |
-
|
110 |
-
To add a function which will only be available in your premium plugin version, simply add __premium_only as the suffix of the function name. Just make sure that all lines that call that method directly or by hooks, are also wrapped in premium only logic:
|
111 |
-
|
112 |
-
```php
|
113 |
-
<?php
|
114 |
-
class My_Plugin {
|
115 |
-
function init() {
|
116 |
-
...
|
117 |
-
|
118 |
-
// This "if" block will be auto removed from the free version.
|
119 |
-
if ( my_prefix_fs()->is__premium_only() ) {
|
120 |
-
// Init premium version.
|
121 |
-
$this->admin_init__premium_only();
|
122 |
-
|
123 |
-
add_action( 'admin_init', array( &$this, 'admin_init_hook__premium_only' );
|
124 |
-
}
|
125 |
-
|
126 |
-
...
|
127 |
-
}
|
128 |
-
|
129 |
-
// This method will be only included in the premium version.
|
130 |
-
function admin_init__premium_only() {
|
131 |
-
...
|
132 |
-
}
|
133 |
-
|
134 |
-
// This method will be only included in the premium version.
|
135 |
-
function admin_init_hook__premium_only() {
|
136 |
-
...
|
137 |
-
}
|
138 |
-
}
|
139 |
-
?>
|
140 |
-
```
|
141 |
-
|
142 |
-
Add logic which will only be executed for customers in your 'professional' plan:
|
143 |
-
|
144 |
-
```php
|
145 |
-
<?php
|
146 |
-
if ( my_prefix_fs()->is_plan('professional', true) ) {
|
147 |
-
// .. logic related to Professional plan only ...
|
148 |
-
}
|
149 |
-
?>
|
150 |
-
```
|
151 |
-
|
152 |
-
Add logic which will only be executed for customers in your 'professional' plan or higher plans:
|
153 |
-
|
154 |
-
```php
|
155 |
-
<?php
|
156 |
-
if ( my_prefix_fs()->is_plan('professional') ) {
|
157 |
-
// ... logic related to Professional plan and higher plans ...
|
158 |
-
}
|
159 |
-
?>
|
160 |
-
```
|
161 |
-
|
162 |
-
Add logic which will only be available in your premium plugin version AND will only be executed for customers in your 'professional' plan (and higher plans):
|
163 |
-
|
164 |
-
```php
|
165 |
-
<?php
|
166 |
-
// This "if" block will be auto removed from the Free version.
|
167 |
-
if ( my_prefix_fs()->is_plan__premium_only('professional') ) {
|
168 |
-
// ... logic related to Professional plan and higher plans ...
|
169 |
-
}
|
170 |
-
?>
|
171 |
-
```
|
172 |
-
|
173 |
-
Add logic only for users in trial:
|
174 |
-
|
175 |
-
```php
|
176 |
-
<?php
|
177 |
-
if ( my_prefix_fs()->is_trial() ) {
|
178 |
-
// ... logic for users in trial ...
|
179 |
-
}
|
180 |
-
?>
|
181 |
-
```
|
182 |
-
|
183 |
-
Add logic for specified paid plan:
|
184 |
-
|
185 |
-
```php
|
186 |
-
<?php
|
187 |
-
// This "if" block will be auto removed from the Free version.
|
188 |
-
if ( my_prefix_fs()->is__premium_only() ) {
|
189 |
-
if ( my_prefix_fs()->is_plan( 'professional', true ) ) {
|
190 |
-
|
191 |
-
// ... logic related to Professional plan only ...
|
192 |
-
|
193 |
-
} else if ( my_prefix_fs()->is_plan( 'business' ) ) {
|
194 |
-
|
195 |
-
// ... logic related to Business plan and higher plans ...
|
196 |
-
|
197 |
-
}
|
198 |
-
}
|
199 |
-
?>
|
200 |
-
```
|
201 |
-
|
202 |
-
## Excluding files and folders from the free plugin version
|
203 |
-
There are two ways to exclude files from your free version.
|
204 |
-
|
205 |
-
1. Add `__premium_only` just before the file extension. For example, functions__premium_only.php will be only included in the premium plugin version. This works for all type of files, not only PHP.
|
206 |
-
2. Add `@fs_premium_only` a sepcial meta tag to the plugin's main PHP file header. Example:
|
207 |
-
```php
|
208 |
-
<?php
|
209 |
-
/**
|
210 |
-
* Plugin Name: My Very Awesome Plugin
|
211 |
-
* Plugin URI: http://my-awesome-plugin.com
|
212 |
-
* Description: Create and manage Awesomeness right in WordPress.
|
213 |
-
* Version: 1.0.0
|
214 |
-
* Author: Awesomattic
|
215 |
-
* Author URI: http://my-awesome-plugin.com/me/
|
216 |
-
* License: GPLv2
|
217 |
-
* Text Domain: myplugin
|
218 |
-
* Domain Path: /langs
|
219 |
-
*
|
220 |
-
* @fs_premium_only /lib/functions.php, /premium-files/
|
221 |
-
*/
|
222 |
-
|
223 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
224 |
-
exit;
|
225 |
-
}
|
226 |
-
|
227 |
-
// ... my code ...
|
228 |
-
?>
|
229 |
-
```
|
230 |
-
The file `/lib/functions.php` and the directory `/premium-files/` will be removed from the free plugin version.
|
231 |
-
|
232 |
-
# WordPress.org Compliance
|
233 |
-
Based on [WordPress.org Guidelines](https://wordpress.org/plugins/about/guidelines/) you are not allowed to submit a plugin that has premium code in it:
|
234 |
-
> All code hosted by WordPress.org servers must be free and fully-functional. If you want to sell advanced features for a plugin (such as a "pro" version), then you must sell and serve that code from your own site, we will not host it on our servers.
|
235 |
-
|
236 |
-
Therefore, if you want to deploy your free plugin's version to WordPress.org, make sure you wrap all your premium code with `if ( my_prefix_fs()->{{ method }}__premium_only() )` or the other methods provided to exclude premium features & files from the free version.
|
237 |
-
|
238 |
-
## Deployment
|
239 |
-
Zip your plugin's root folder and upload it in the Deployment section in the *Freemius Developer's Dashboard*.
|
240 |
-
The plugin will be scanned and processed by a custom developed *PHP Processor* which will auto-generate two versions of your plugin:
|
241 |
-
|
242 |
-
1. **Premium version**: Identical to your uploaded version, including all code (except your `secret_key`). Will be enabled for download ONLY for your paying or in trial customers.
|
243 |
-
2. **Free version**: The code stripped from all your paid features (based on the logic added wrapped in `{ method }__premium_only()`).
|
244 |
-
|
245 |
-
The free version is the one that you should give your users to download. Therefore, download the free generated version and upload to your site. Or, if your plugin was WordPress.org complaint and you made sure to exclude all your premium code with the different provided techniques, you can deploy the downloaded free version to the .org repo.
|
246 |
-
|
247 |
-
## Reporting Bugs
|
248 |
-
Email dev [at] freemius [dot] com
|
249 |
-
|
250 |
-
## FAQ
|
251 |
-
|
252 |
-
## Copyright
|
253 |
-
Freemius, Inc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/assets/css/admin/affiliation.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
@charset "UTF-8";#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;padding:0;margin-left:0}#fs_affiliation_content_wrapper ul li{box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:'✓';margin-right:10px;font-weight:bold}#fs_affiliation_content_wrapper p:not(.description),#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper label{font-size:16px !important;line-height:26px !important}#fs_affiliation_content_wrapper .button{margin-top:20px;margin-bottom:7px;line-height:35px;height:40px;font-size:16px}#fs_affiliation_content_wrapper .button#cancel_button{margin-right:5px}#fs_affiliation_content_wrapper form .input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form .input-container .input-label{font-weight:bold;display:block;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text label,#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text textarea{display:block}#fs_affiliation_content_wrapper form .input-container #add_domain,#fs_affiliation_content_wrapper form .input-container .remove-domain{text-decoration:none;display:inline-block;margin-top:3px}#fs_affiliation_content_wrapper form .input-container #add_domain:focus,#fs_affiliation_content_wrapper form .input-container .remove-domain:focus{box-shadow:none}#fs_affiliation_content_wrapper form .input-container #add_domain.disabled,#fs_affiliation_content_wrapper form .input-container .remove-domain.disabled{color:#aaa;cursor:default}#fs_affiliation_content_wrapper form #extra_domains_container .description{margin-top:0;position:relative;top:-4px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain{display:inline-block;margin-right:5px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain:last-of-type{margin-bottom:0}
|
includes/vendor/freemius/wordpress-sdk/assets/css/admin/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/assets/css/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/assets/img/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/assets/js/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/assets/scss/_mixins.scss
CHANGED
@@ -132,19 +132,6 @@ $useIEFilters: 0;
|
|
132 |
}
|
133 |
}
|
134 |
|
135 |
-
/*@mixin rgba-bg ($hex, $alpha, $ie: $useIEFilters) {
|
136 |
-
@if $ie == 1 {
|
137 |
-
background-color: none;
|
138 |
-
$hexopac: ie-hex-str(rgba($hex, $alpha));
|
139 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#{$hexopac}',EndColorStr='#{$hexopac}}');
|
140 |
-
-ms-filter: quote(progid:DXImageTransform.Microsoft.gradient(startColorStr='#{$hexopac}',EndColorStr='#{$hexopac}'));
|
141 |
-
}
|
142 |
-
@else {
|
143 |
-
background-color: $hex;
|
144 |
-
background-color: rgba($hex, $alpha);
|
145 |
-
}
|
146 |
-
}*/
|
147 |
-
|
148 |
@mixin perspective($perspective) {
|
149 |
-moz-perspective: $perspective;
|
150 |
-ms-perspective: $perspective;
|
132 |
}
|
133 |
}
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
@mixin perspective($perspective) {
|
136 |
-moz-perspective: $perspective;
|
137 |
-ms-perspective: $perspective;
|
includes/vendor/freemius/wordpress-sdk/assets/scss/_vars.scss
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
$is_production: true;
|
2 |
-
|
3 |
-
$img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
|
4 |
-
|
5 |
-
$layout_width: 960px;
|
6 |
-
$admin_mobile_max_width: 782px;
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/assets/scss/admin/affiliation.scss
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "../start";
|
2 |
+
|
3 |
+
#fs_affiliation_content_wrapper {
|
4 |
+
#messages {
|
5 |
+
margin-top: 25px;
|
6 |
+
}
|
7 |
+
|
8 |
+
h3 {
|
9 |
+
font-size: 24px;
|
10 |
+
padding: 0;
|
11 |
+
margin-left: 0;
|
12 |
+
}
|
13 |
+
|
14 |
+
ul {
|
15 |
+
li {
|
16 |
+
@include box-sizing(border-box);
|
17 |
+
list-style-type: none;
|
18 |
+
|
19 |
+
&:before {
|
20 |
+
content: '✓';
|
21 |
+
margin-right: 10px;
|
22 |
+
font-weight: bold;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
p:not(.description), li, label {
|
28 |
+
font-size: 16px !important;
|
29 |
+
line-height: 26px !important;
|
30 |
+
}
|
31 |
+
|
32 |
+
.button {
|
33 |
+
margin-top: 20px;
|
34 |
+
margin-bottom: 7px;
|
35 |
+
line-height: 35px;
|
36 |
+
height: 40px;
|
37 |
+
font-size: 16px;
|
38 |
+
|
39 |
+
&#cancel_button {
|
40 |
+
margin-right: 5px;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
form {
|
45 |
+
.input-container {
|
46 |
+
.input-label {
|
47 |
+
font-weight: bold;
|
48 |
+
display: block;
|
49 |
+
width: 100%;
|
50 |
+
}
|
51 |
+
|
52 |
+
&.input-container-text {
|
53 |
+
label, input, textarea {
|
54 |
+
display: block;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
margin-bottom: 15px;
|
59 |
+
|
60 |
+
#add_domain, .remove-domain {
|
61 |
+
text-decoration: none;
|
62 |
+
display: inline-block;
|
63 |
+
margin-top: 3px;
|
64 |
+
|
65 |
+
&:focus {
|
66 |
+
box-shadow: none;
|
67 |
+
}
|
68 |
+
|
69 |
+
&.disabled {
|
70 |
+
color: #aaa;
|
71 |
+
cursor: default;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
#extra_domains_container {
|
77 |
+
.description {
|
78 |
+
margin-top: 0;
|
79 |
+
position: relative;
|
80 |
+
top: -4px;
|
81 |
+
}
|
82 |
+
|
83 |
+
.extra-domain-input-container {
|
84 |
+
margin-bottom: 15px;
|
85 |
+
|
86 |
+
.domain {
|
87 |
+
display: inline-block;
|
88 |
+
margin-right: 5px;
|
89 |
+
|
90 |
+
&:last-of-type {
|
91 |
+
margin-bottom: 0;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
}
|
97 |
+
}
|
includes/vendor/freemius/wordpress-sdk/assets/scss/admin/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/assets/scss/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/composer.json
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "freemius/wordpress-sdk",
|
3 |
-
"description": "Freemius WordPress SDK",
|
4 |
-
"keywords": ["freemius", "wordpress", "plugin", "sdk"],
|
5 |
-
"homepage": "https://freemius.com",
|
6 |
-
"license": "GPL-2.0+",
|
7 |
-
"require": {
|
8 |
-
"php": ">=5.2"
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/config.php
CHANGED
@@ -231,7 +231,7 @@
|
|
231 |
}
|
232 |
|
233 |
if ( ! defined( 'FS_CHECKOUT__ADDRESS_LOCALHOST' ) ) {
|
234 |
-
define( 'FS_CHECKOUT__ADDRESS_LOCALHOST', 'http://checkout.freemius:8080' );
|
235 |
}
|
236 |
|
237 |
if ( ! defined( 'FS_CHECKOUT__ADDRESS' ) ) {
|
@@ -285,6 +285,9 @@
|
|
285 |
if ( ! defined( 'WP_FS__TIME_24_HOURS_IN_SEC' ) ) {
|
286 |
define( 'WP_FS__TIME_24_HOURS_IN_SEC', 86400 );
|
287 |
}
|
|
|
|
|
|
|
288 |
|
289 |
#--------------------------------------------------------------------------------
|
290 |
#region Debugging
|
231 |
}
|
232 |
|
233 |
if ( ! defined( 'FS_CHECKOUT__ADDRESS_LOCALHOST' ) ) {
|
234 |
+
define( 'FS_CHECKOUT__ADDRESS_LOCALHOST', 'http://checkout.freemius-local.com:8080' );
|
235 |
}
|
236 |
|
237 |
if ( ! defined( 'FS_CHECKOUT__ADDRESS' ) ) {
|
285 |
if ( ! defined( 'WP_FS__TIME_24_HOURS_IN_SEC' ) ) {
|
286 |
define( 'WP_FS__TIME_24_HOURS_IN_SEC', 86400 );
|
287 |
}
|
288 |
+
if ( ! defined( 'WP_FS__TIME_WEEK_IN_SEC' ) ) {
|
289 |
+
define( 'WP_FS__TIME_WEEK_IN_SEC', 7 * WP_FS__TIME_24_HOURS_IN_SEC );
|
290 |
+
}
|
291 |
|
292 |
#--------------------------------------------------------------------------------
|
293 |
#region Debugging
|
includes/vendor/freemius/wordpress-sdk/gulpfile.js
DELETED
@@ -1,139 +0,0 @@
|
|
1 |
-
var gulp = require('gulp');
|
2 |
-
var path = require('path');
|
3 |
-
var filesystem = require('fs');
|
4 |
-
var wpPot = require('gulp-wp-pot');
|
5 |
-
var gettext = require('gulp-gettext');
|
6 |
-
var sort = require('gulp-sort');
|
7 |
-
var pofill = require('gulp-pofill');
|
8 |
-
var rename = require('gulp-rename');
|
9 |
-
var clean = require('gulp-clean');
|
10 |
-
|
11 |
-
var languagesFolder = './languages/';
|
12 |
-
|
13 |
-
var options = require('./transifex-config.json')
|
14 |
-
|
15 |
-
function getFolders(dir) {
|
16 |
-
return filesystem.readdirSync(dir)
|
17 |
-
.filter(function (file) {
|
18 |
-
return filesystem.statSync(path.join(dir, file)).isDirectory();
|
19 |
-
});
|
20 |
-
}
|
21 |
-
|
22 |
-
var transifex = require('gulp-transifex').createClient(options);
|
23 |
-
|
24 |
-
// Create POT out of i18n.php.
|
25 |
-
gulp.task('prepare-source', function () {
|
26 |
-
gulp.src('includes/i18n.php')
|
27 |
-
.pipe(sort())
|
28 |
-
.pipe(wpPot({
|
29 |
-
destFile : 'freemius.pot',
|
30 |
-
package : 'freemius',
|
31 |
-
bugReport : 'https://github.com/Freemius/wordpress-sdk/issues',
|
32 |
-
lastTranslator : 'Vova Feldman <vova@freemius.com>',
|
33 |
-
team : 'Freemius Team <admin@freemius.com>',
|
34 |
-
gettextFunctions: [
|
35 |
-
{name: '_fs_text'},
|
36 |
-
{name: '_fs_echo'},
|
37 |
-
{name: '_fs_esc_attr'},
|
38 |
-
{name: '_fs_esc_attr_echo'},
|
39 |
-
{name: '_fs_esc_html'},
|
40 |
-
{name: '_fs_esc_html_echo'},
|
41 |
-
{name: '_fs_x', context: 2},
|
42 |
-
{name: '_fs_ex', context: 2},
|
43 |
-
{name: '_fs_esc_attr_x', context: 2},
|
44 |
-
{name: '_fs_esc_html_x', context: 2},
|
45 |
-
{name: '_fs_n', plural: 2},
|
46 |
-
{name: '_fs_n_noop', plural: 2},
|
47 |
-
{name: '_fs_nx', plural: 2, context: 4},
|
48 |
-
{name: '_fs_nx_noop', plural: 2, context: 3}
|
49 |
-
]
|
50 |
-
}))
|
51 |
-
.pipe(gulp.dest(languagesFolder + 'freemius.pot'));
|
52 |
-
|
53 |
-
// Create English PO out of the POT.
|
54 |
-
return gulp.src(languagesFolder + 'freemius.pot')
|
55 |
-
.pipe(pofill({
|
56 |
-
items: function (item) {
|
57 |
-
// If msgstr is empty, use identity translation
|
58 |
-
if (!item.msgstr.length) {
|
59 |
-
item.msgstr = [''];
|
60 |
-
}
|
61 |
-
if (!item.msgstr[0]) {
|
62 |
-
item.msgstr[0] = item.msgid;
|
63 |
-
}
|
64 |
-
return item;
|
65 |
-
}
|
66 |
-
}))
|
67 |
-
.pipe(rename('freemius-en.po'))
|
68 |
-
.pipe(gulp.dest(languagesFolder));
|
69 |
-
});
|
70 |
-
|
71 |
-
// Push updated po resource to transifex.
|
72 |
-
gulp.task('update-transifex', ['prepare-source'], function () {
|
73 |
-
return gulp.src(languagesFolder + 'freemius-en.po')
|
74 |
-
.pipe(transifex.pushResource());
|
75 |
-
});
|
76 |
-
|
77 |
-
// Download latest *.po translations.
|
78 |
-
gulp.task('download-translations', ['update-transifex'], function () {
|
79 |
-
return gulp.src(languagesFolder + 'freemius-en.po')
|
80 |
-
.pipe(transifex.pullResource());
|
81 |
-
});
|
82 |
-
|
83 |
-
// Move translations to languages root.
|
84 |
-
gulp.task('prepare-translations', ['download-translations'], function () {
|
85 |
-
var folders = getFolders(languagesFolder);
|
86 |
-
|
87 |
-
return folders.map(function (folder) {
|
88 |
-
return gulp.src(path.join(languagesFolder, folder, 'freemius-en.po'))
|
89 |
-
.pipe(rename('freemius-' + folder + '.po'))
|
90 |
-
.pipe(gulp.dest(languagesFolder));
|
91 |
-
});
|
92 |
-
});
|
93 |
-
|
94 |
-
// Feel up empty translations with English.
|
95 |
-
gulp.task('translations-feelup', ['prepare-translations'], function () {
|
96 |
-
return gulp.src(languagesFolder + '*.po')
|
97 |
-
.pipe(pofill({
|
98 |
-
items: function (item) {
|
99 |
-
// If msgstr is empty, use identity translation
|
100 |
-
if (0 == item.msgstr.length) {
|
101 |
-
item.msgstr = [''];
|
102 |
-
}
|
103 |
-
if (0 == item.msgstr[0].length) {
|
104 |
-
// item.msgid[0] = item.msgid;
|
105 |
-
item.msgstr[0] = item.msgid;
|
106 |
-
}
|
107 |
-
return item;
|
108 |
-
}
|
109 |
-
}))
|
110 |
-
.pipe(gulp.dest(languagesFolder));
|
111 |
-
});
|
112 |
-
|
113 |
-
// Cleanup temporary translation folders.
|
114 |
-
gulp.task('cleanup', ['prepare-translations'], function () {
|
115 |
-
var folders = getFolders(languagesFolder);
|
116 |
-
|
117 |
-
return folders.map(function (folder) {
|
118 |
-
return gulp.src(path.join(languagesFolder, folder), {read: false})
|
119 |
-
.pipe(clean());
|
120 |
-
});
|
121 |
-
});
|
122 |
-
|
123 |
-
// Compile *.po to *.mo binaries for usage.
|
124 |
-
gulp.task('compile-translations', ['translations-feelup'], function () {
|
125 |
-
// Compile POs to MOs.
|
126 |
-
return gulp.src(languagesFolder + '*.po')
|
127 |
-
.pipe(gettext())
|
128 |
-
.pipe(gulp.dest(languagesFolder))
|
129 |
-
});
|
130 |
-
|
131 |
-
gulp.task('default', [], function () {
|
132 |
-
gulp.run('prepare-source');
|
133 |
-
gulp.run('update-transifex');
|
134 |
-
gulp.run('download-translations');
|
135 |
-
gulp.run('prepare-translations');
|
136 |
-
gulp.run('translations-feelup');
|
137 |
-
gulp.run('cleanup');
|
138 |
-
gulp.run('compile-translations');
|
139 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/includes/class-freemius.php
CHANGED
@@ -271,6 +271,33 @@
|
|
271 |
*/
|
272 |
private static $_instances = array();
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
#region Uninstall Reasons IDs
|
275 |
|
276 |
const REASON_NO_LONGER_NEEDED = 1;
|
@@ -528,6 +555,18 @@
|
|
528 |
return;
|
529 |
}
|
530 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
531 |
if ( version_compare( $sdk_prev_version, '1.1.5', '<' ) &&
|
532 |
version_compare( $sdk_version, '1.1.5', '>=' )
|
533 |
) {
|
@@ -551,6 +590,46 @@
|
|
551 |
}
|
552 |
}
|
553 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
/**
|
555 |
* @author Vova Feldman (@svovaf)
|
556 |
* @since 1.2.2.7
|
@@ -732,6 +811,8 @@
|
|
732 |
'_install_premium_version_ajax_action'
|
733 |
) );
|
734 |
|
|
|
|
|
735 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
736 |
|
737 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
@@ -739,6 +820,7 @@
|
|
739 |
$this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) );
|
740 |
|
741 |
add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
|
|
|
742 |
add_action( 'admin_init', array( &$this, '_enqueue_common_css' ) );
|
743 |
|
744 |
/**
|
@@ -844,8 +926,11 @@
|
|
844 |
// Try to load the cached value of the file path.
|
845 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
846 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
847 |
-
|
848 |
-
|
|
|
|
|
|
|
849 |
}
|
850 |
}
|
851 |
|
@@ -864,15 +949,16 @@
|
|
864 |
if ( isset( $this->_storage->plugin_main_file ) &&
|
865 |
isset( $this->_storage->plugin_main_file->prev_path )
|
866 |
) {
|
867 |
-
|
868 |
-
|
|
|
869 |
}
|
870 |
}
|
871 |
|
872 |
wp_die(
|
873 |
-
$this->
|
874 |
" Module: {$this->_slug}; SDK: " . WP_FS__SDK_VERSION . ";",
|
875 |
-
$this->
|
876 |
array( 'back_link' => true )
|
877 |
);
|
878 |
}
|
@@ -888,8 +974,61 @@
|
|
888 |
'path' => $id_slug_type_path_map[ $this->_module_id ]['path'],
|
889 |
);
|
890 |
|
891 |
-
return $id_slug_type_path_map[ $this->_module_id ]['path'];
|
892 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
893 |
|
894 |
/**
|
895 |
* @author Leo Fajardo (@leorw)
|
@@ -912,7 +1051,19 @@
|
|
912 |
$store_option = true;
|
913 |
}
|
914 |
|
915 |
-
if ( ! isset( $id_slug_type_path_map[ $module_id ]['path'] )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
916 |
$caller_main_file_and_type = $this->get_caller_main_file_and_type();
|
917 |
|
918 |
$id_slug_type_path_map[ $module_id ]['type'] = $caller_main_file_and_type->module_type;
|
@@ -1002,8 +1153,18 @@
|
|
1002 |
*/
|
1003 |
|
1004 |
if ( $caller_file_path == fs_normalize_path( realpath( trailingslashit( $themes_dir ) . basename( dirname( $caller_file_path ) ) . '/' . basename( $caller_file_path ) ) ) ) {
|
1005 |
-
$module_type
|
1006 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1007 |
continue;
|
1008 |
}
|
1009 |
}
|
@@ -1021,7 +1182,7 @@
|
|
1021 |
|
1022 |
if ( isset( $caller_map[ $caller_file_hash ] ) ) {
|
1023 |
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
1024 |
-
$caller_file_candidate = $caller_map[ $caller_file_hash ];
|
1025 |
}
|
1026 |
}
|
1027 |
|
@@ -1113,18 +1274,18 @@
|
|
1113 |
|
1114 |
$reason_found_better_plugin = array(
|
1115 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
1116 |
-
'text' => sprintf( $this->
|
1117 |
'input_type' => 'textfield',
|
1118 |
-
'input_placeholder' => sprintf( $this->
|
1119 |
);
|
1120 |
|
1121 |
$reason_temporary_deactivation = array(
|
1122 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
1123 |
'text' => sprintf(
|
1124 |
-
$this->
|
1125 |
strtolower( $this->is_plugin() ?
|
1126 |
-
$this->
|
1127 |
-
$this->
|
1128 |
)
|
1129 |
),
|
1130 |
'input_type' => '',
|
@@ -1133,7 +1294,7 @@
|
|
1133 |
|
1134 |
$reason_other = array(
|
1135 |
'id' => self::REASON_OTHER,
|
1136 |
-
'text' => $this->
|
1137 |
'input_type' => 'textfield',
|
1138 |
'input_placeholder' => ''
|
1139 |
);
|
@@ -1141,27 +1302,27 @@
|
|
1141 |
$long_term_user_reasons = array(
|
1142 |
array(
|
1143 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
1144 |
-
'text' => sprintf( $this->
|
1145 |
'input_type' => '',
|
1146 |
'input_placeholder' => ''
|
1147 |
),
|
1148 |
$reason_found_better_plugin,
|
1149 |
array(
|
1150 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
1151 |
-
'text' => sprintf( $this->
|
1152 |
'input_type' => '',
|
1153 |
'input_placeholder' => ''
|
1154 |
),
|
1155 |
array(
|
1156 |
'id' => self::REASON_BROKE_MY_SITE,
|
1157 |
-
'text' => sprintf( $this->
|
1158 |
'input_type' => '',
|
1159 |
'input_placeholder' => '',
|
1160 |
'internal_message' => $contact_support_template
|
1161 |
),
|
1162 |
array(
|
1163 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
1164 |
-
'text' => sprintf( $this->
|
1165 |
'input_type' => '',
|
1166 |
'input_placeholder' => '',
|
1167 |
'internal_message' => $contact_support_template
|
@@ -1171,15 +1332,15 @@
|
|
1171 |
if ( $this->is_paying() ) {
|
1172 |
$long_term_user_reasons[] = array(
|
1173 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
1174 |
-
'text' => $this->
|
1175 |
'input_type' => 'textfield',
|
1176 |
-
'input_placeholder' => $this->
|
1177 |
);
|
1178 |
}
|
1179 |
|
1180 |
$reason_dont_share_info = array(
|
1181 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
1182 |
-
'text' => $this->
|
1183 |
'input_type' => '',
|
1184 |
'input_placeholder' => ''
|
1185 |
);
|
@@ -1200,7 +1361,7 @@
|
|
1200 |
'non-registered-and-non-anonymous-short-term' => array(
|
1201 |
array(
|
1202 |
'id' => self::REASON_DIDNT_WORK,
|
1203 |
-
'text' => sprintf( $this->
|
1204 |
'input_type' => '',
|
1205 |
'input_placeholder' => ''
|
1206 |
),
|
@@ -1210,7 +1371,7 @@
|
|
1210 |
'short-term' => array(
|
1211 |
array(
|
1212 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
1213 |
-
'text' => $this->
|
1214 |
'input_type' => '',
|
1215 |
'input_placeholder' => '',
|
1216 |
'internal_message' => $contact_support_template
|
@@ -1218,27 +1379,27 @@
|
|
1218 |
$reason_found_better_plugin,
|
1219 |
array(
|
1220 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
1221 |
-
'text' => sprintf( $this->
|
1222 |
'input_type' => 'textarea',
|
1223 |
-
'input_placeholder' => $this->
|
1224 |
),
|
1225 |
array(
|
1226 |
'id' => self::REASON_NOT_WORKING,
|
1227 |
-
'text' => sprintf( $this->
|
1228 |
'input_type' => 'textarea',
|
1229 |
-
'input_placeholder' => $this->
|
1230 |
),
|
1231 |
array(
|
1232 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
1233 |
-
'text' => $this->
|
1234 |
'input_type' => 'textarea',
|
1235 |
-
'input_placeholder' => $this->
|
1236 |
),
|
1237 |
array(
|
1238 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
1239 |
-
'text' => sprintf( $this->
|
1240 |
'input_type' => 'textarea',
|
1241 |
-
'input_placeholder' => $this->
|
1242 |
)
|
1243 |
)
|
1244 |
);
|
@@ -1774,7 +1935,7 @@
|
|
1774 |
|
1775 |
self::$_static_logger->entrance();
|
1776 |
|
1777 |
-
$title = sprintf( '%s [v.%s]',
|
1778 |
|
1779 |
if ( WP_FS__DEV_MODE ) {
|
1780 |
// Add top-level debug menu item.
|
@@ -2181,29 +2342,36 @@
|
|
2181 |
*
|
2182 |
* @return string
|
2183 |
*/
|
2184 |
-
|
2185 |
-
|
2186 |
|
2187 |
-
|
2188 |
-
|
2189 |
|
2190 |
-
|
2191 |
-
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
|
2198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2199 |
|
2200 |
-
|
2201 |
-
|
2202 |
|
2203 |
-
|
2204 |
|
2205 |
-
|
2206 |
-
|
2207 |
|
2208 |
/**
|
2209 |
* @author Vova Feldman (@svovaf)
|
@@ -2283,6 +2451,18 @@
|
|
2283 |
// $admin_email = get_option( 'admin_email' );
|
2284 |
$admin_email = $current_user->user_email;
|
2285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2286 |
$message = false;
|
2287 |
if ( is_object( $api_result ) &&
|
2288 |
isset( $api_result->error ) &&
|
@@ -2309,15 +2489,15 @@
|
|
2309 |
if ( ! empty( $missing_methods ) ) {
|
2310 |
$missing_methods = sprintf(
|
2311 |
'<br><br><b>%s</b> %s',
|
2312 |
-
$this->
|
2313 |
$missing_methods
|
2314 |
);
|
2315 |
}
|
2316 |
}
|
2317 |
|
2318 |
$message = sprintf(
|
2319 |
-
|
2320 |
-
$this->
|
2321 |
$missing_methods .
|
2322 |
' %s',
|
2323 |
'<b>' . $this->get_plugin_name() . '</b>',
|
@@ -2325,95 +2505,95 @@
|
|
2325 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2326 |
sprintf(
|
2327 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
2328 |
-
$this->
|
2329 |
' - ' . sprintf(
|
2330 |
-
$this->
|
2331 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2332 |
)
|
2333 |
),
|
2334 |
sprintf(
|
2335 |
'<b>%s</b> - %s',
|
2336 |
-
|
2337 |
-
sprintf( $this->
|
2338 |
),
|
2339 |
sprintf(
|
2340 |
-
'<a href="%s"><b>%s</b></a
|
2341 |
-
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=
|
2342 |
-
$
|
2343 |
-
|
2344 |
)
|
2345 |
)
|
2346 |
);
|
2347 |
break;
|
2348 |
case 'cloudflare_ddos_protection':
|
2349 |
$message = sprintf(
|
2350 |
-
|
2351 |
-
$this->
|
2352 |
-
|
2353 |
' %s',
|
2354 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2355 |
sprintf(
|
2356 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2357 |
sprintf(
|
2358 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
2359 |
-
$
|
2360 |
' - ' . sprintf(
|
2361 |
-
$
|
2362 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2363 |
)
|
2364 |
),
|
2365 |
sprintf(
|
2366 |
-
'<a href="%s" target="_blank"><b>%s</b></a
|
2367 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2368 |
-
$
|
2369 |
-
|
2370 |
),
|
2371 |
sprintf(
|
2372 |
-
'<a href="%s"><b>%s</b></a
|
2373 |
-
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=
|
2374 |
-
$
|
2375 |
-
|
2376 |
)
|
2377 |
)
|
2378 |
);
|
2379 |
break;
|
2380 |
case 'squid_cache_block':
|
2381 |
$message = sprintf(
|
2382 |
-
|
2383 |
-
$this->
|
2384 |
' %s',
|
2385 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2386 |
sprintf(
|
2387 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2388 |
sprintf(
|
2389 |
-
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a
|
2390 |
-
$this->
|
2391 |
-
|
2392 |
-
$this->
|
2393 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2394 |
)
|
2395 |
),
|
2396 |
sprintf(
|
2397 |
'<b>%s</b> - %s',
|
2398 |
-
|
2399 |
sprintf(
|
2400 |
-
$this->
|
2401 |
// We use a filter since the plugin might require additional API connectivity.
|
2402 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com', 'wp.freemius.com' ) ) ) . '</b>',
|
2403 |
$this->_module_type
|
2404 |
)
|
2405 |
),
|
2406 |
sprintf(
|
2407 |
-
'<a href="%s"><b>%s</b></a
|
2408 |
-
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=
|
2409 |
-
$
|
2410 |
-
|
2411 |
)
|
2412 |
)
|
2413 |
);
|
2414 |
break;
|
2415 |
// default:
|
2416 |
-
// $message = $this->
|
2417 |
// break;
|
2418 |
}
|
2419 |
}
|
@@ -2421,25 +2601,27 @@
|
|
2421 |
$message_id = 'failed_connect_api';
|
2422 |
$type = 'error';
|
2423 |
|
|
|
|
|
2424 |
if ( false === $message ) {
|
2425 |
if ( $is_first_failure ) {
|
2426 |
// First attempt failed.
|
2427 |
$message = sprintf(
|
2428 |
-
|
2429 |
-
|
2430 |
-
$this->
|
2431 |
'%s',
|
2432 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2433 |
sprintf(
|
2434 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
2435 |
sprintf(
|
2436 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
2437 |
-
$this->
|
2438 |
),
|
2439 |
sprintf(
|
2440 |
'<a href="%s" class="button">%s</a>',
|
2441 |
-
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=
|
2442 |
-
$this->
|
2443 |
)
|
2444 |
)
|
2445 |
);
|
@@ -2449,32 +2631,32 @@
|
|
2449 |
} else {
|
2450 |
// Second connectivity attempt failed.
|
2451 |
$message = sprintf(
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
' %s',
|
2456 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2457 |
sprintf(
|
2458 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2459 |
sprintf(
|
2460 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
2461 |
-
$
|
2462 |
' - ' . sprintf(
|
2463 |
-
$
|
2464 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2465 |
)
|
2466 |
),
|
2467 |
sprintf(
|
2468 |
-
'<a href="%s" target="_blank"><b>%s</b></a
|
2469 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2470 |
-
$
|
2471 |
-
|
2472 |
),
|
2473 |
sprintf(
|
2474 |
-
'<a href="%s"><b>%s</b></a
|
2475 |
-
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=
|
2476 |
-
$
|
2477 |
-
|
2478 |
)
|
2479 |
)
|
2480 |
);
|
@@ -2484,7 +2666,7 @@
|
|
2484 |
$this->_admin_notices->add_sticky(
|
2485 |
$message,
|
2486 |
$message_id,
|
2487 |
-
$this->
|
2488 |
$type
|
2489 |
);
|
2490 |
}
|
@@ -2551,7 +2733,7 @@
|
|
2551 |
|
2552 |
$this->_admin_notices->add_sticky(
|
2553 |
sprintf(
|
2554 |
-
$this->
|
2555 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2556 |
),
|
2557 |
'server_details_sent'
|
@@ -2942,10 +3124,10 @@
|
|
2942 |
|
2943 |
$this->_admin_notices->add(
|
2944 |
( ! empty( $parent_name ) ?
|
2945 |
-
sprintf( $this->
|
2946 |
-
sprintf( $this->
|
2947 |
),
|
2948 |
-
$this->
|
2949 |
'error'
|
2950 |
);
|
2951 |
|
@@ -3064,7 +3246,7 @@
|
|
3064 |
$this->_logger->api_error( $result );
|
3065 |
|
3066 |
self::shoot_ajax_failure(
|
3067 |
-
$this->
|
3068 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
3069 |
$result->error->message :
|
3070 |
var_export( $result, true ) )
|
@@ -3089,7 +3271,7 @@
|
|
3089 |
$this->_logger->api_error( $result );
|
3090 |
|
3091 |
self::shoot_ajax_failure(
|
3092 |
-
$this->
|
3093 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
3094 |
$result->error->message :
|
3095 |
var_export( $result, true ) )
|
@@ -3276,17 +3458,17 @@
|
|
3276 |
new FS_Plugin();
|
3277 |
|
3278 |
$plugin->update( array(
|
3279 |
-
'id'
|
3280 |
-
'
|
3281 |
-
'
|
3282 |
-
'
|
3283 |
-
'
|
3284 |
-
'
|
3285 |
-
'
|
3286 |
-
'
|
3287 |
-
'
|
3288 |
-
'
|
3289 |
-
|
3290 |
) );
|
3291 |
|
3292 |
if ( $plugin->is_updated() ) {
|
@@ -3495,11 +3677,14 @@
|
|
3495 |
'license_activated',
|
3496 |
) );
|
3497 |
|
3498 |
-
$this->
|
3499 |
-
|
3500 |
-
|
3501 |
-
|
3502 |
-
|
|
|
|
|
|
|
3503 |
} else {
|
3504 |
// Remove sticky message related to premium code activation.
|
3505 |
$this->_admin_notices->remove_sticky( 'premium_activated' );
|
@@ -3510,11 +3695,12 @@
|
|
3510 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
3511 |
$this->_admin_notices->add_sticky(
|
3512 |
sprintf(
|
3513 |
-
|
|
|
3514 |
$this->_site->plan->title
|
3515 |
) . $this->get_complete_upgrade_instructions(),
|
3516 |
'plan_upgraded',
|
3517 |
-
$this->
|
3518 |
);
|
3519 |
}
|
3520 |
}
|
@@ -3777,19 +3963,25 @@
|
|
3777 |
|
3778 |
$this->_parent->_admin_notices->add_sticky(
|
3779 |
sprintf(
|
3780 |
-
|
3781 |
-
|
3782 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3783 |
),
|
3784 |
'<b>' . $this->_plugin->title . '</b>'
|
3785 |
) . ' ' . sprintf(
|
3786 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3787 |
$this->_parent->addon_url( $this->_slug ),
|
3788 |
-
esc_attr( sprintf( $this->_parent->
|
3789 |
-
$this->_parent->
|
3790 |
),
|
3791 |
'no_addon_license_' . $this->_slug,
|
3792 |
-
( $is_after_trial_cancel ? '' : $this->_parent->
|
3793 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3794 |
);
|
3795 |
|
@@ -4223,10 +4415,12 @@
|
|
4223 |
|
4224 |
$this->_admin_notices->add_sticky(
|
4225 |
sprintf(
|
4226 |
-
$this->
|
4227 |
'<b>' . $this->get_plugin_name() . '</b>',
|
4228 |
'<b>' . $email . '</b>',
|
4229 |
-
|
|
|
|
|
4230 |
),
|
4231 |
'activation_pending',
|
4232 |
'Thanks!'
|
@@ -4305,10 +4499,11 @@
|
|
4305 |
// Show notice for new plugin installations.
|
4306 |
$this->_admin_notices->add(
|
4307 |
sprintf(
|
4308 |
-
$this->
|
4309 |
sprintf( '<b><a href="%s">%s</a></b>',
|
4310 |
$this->get_activation_url(),
|
4311 |
-
sprintf( $this->
|
|
|
4312 |
)
|
4313 |
),
|
4314 |
'',
|
@@ -4321,11 +4516,11 @@
|
|
4321 |
// Show notice for new plugin installations.
|
4322 |
$this->_admin_notices->add_sticky(
|
4323 |
sprintf(
|
4324 |
-
$this->
|
4325 |
$this->_module_type,
|
4326 |
sprintf( '<b><a href="%s">%s</a></b>',
|
4327 |
$this->get_activation_url(),
|
4328 |
-
sprintf( $this->
|
4329 |
)
|
4330 |
),
|
4331 |
'connect_account',
|
@@ -4710,8 +4905,9 @@
|
|
4710 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
4711 |
if ( $is_premium_version_activation ) {
|
4712 |
$this->_admin_notices->add(
|
4713 |
-
sprintf( $this->
|
4714 |
-
$this->
|
|
|
4715 |
);
|
4716 |
}
|
4717 |
} else if ( $this->is_anonymous() ) {
|
@@ -5794,13 +5990,13 @@
|
|
5794 |
*/
|
5795 |
function get_module_label( $lowercase = false ) {
|
5796 |
$label = $this->is_addon() ?
|
5797 |
-
$this->
|
5798 |
( $this->is_plugin() ?
|
5799 |
-
$this->
|
5800 |
-
$this->
|
5801 |
|
5802 |
if ( $lowercase ) {
|
5803 |
-
$label = strtolower( $
|
5804 |
}
|
5805 |
|
5806 |
return $label;
|
@@ -6921,13 +7117,13 @@
|
|
6921 |
if ( isset( $install->error ) ) {
|
6922 |
$error = $install->error->message;
|
6923 |
} else {
|
6924 |
-
|
6925 |
-
$fs->get_parent_instance() :
|
6926 |
-
$fs;
|
6927 |
|
6928 |
-
|
|
|
|
|
6929 |
|
6930 |
-
|
6931 |
}
|
6932 |
} else {
|
6933 |
$next_page = $fs->opt_in( false, false, false, $license_key );
|
@@ -7054,9 +7250,9 @@
|
|
7054 |
$error = $result->error;
|
7055 |
|
7056 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
7057 |
-
$error = $this->
|
7058 |
} else if ( 'no_license' === $error->code ) {
|
7059 |
-
$error = $this->
|
7060 |
} else {
|
7061 |
$error = $error->message;
|
7062 |
}
|
@@ -7067,7 +7263,7 @@
|
|
7067 |
);
|
7068 |
|
7069 |
if ( false !== $error ) {
|
7070 |
-
$licenses['error'] = sprintf( '%s... %s', $this->
|
7071 |
}
|
7072 |
|
7073 |
echo json_encode( $licenses );
|
@@ -7100,7 +7296,7 @@
|
|
7100 |
if ( self::is_ajax() &&
|
7101 |
'admin-ajax.php' === $pagenow
|
7102 |
) {
|
7103 |
-
$referer =
|
7104 |
|
7105 |
if ( is_string( $referer ) ) {
|
7106 |
$parts = explode( '?', $referer );
|
@@ -7137,6 +7333,222 @@
|
|
7137 |
return ( 'themes.php' === self::get_current_page() );
|
7138 |
}
|
7139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7140 |
#----------------------------------------------------------------------------------
|
7141 |
#region URL Generators
|
7142 |
#----------------------------------------------------------------------------------
|
@@ -7586,7 +7998,10 @@
|
|
7586 |
) ), admin_url( 'admin.php', 'admin' ) );
|
7587 |
} else {
|
7588 |
// Plugin without a settings page.
|
7589 |
-
|
|
|
|
|
|
|
7590 |
}
|
7591 |
}
|
7592 |
}
|
@@ -8007,8 +8422,19 @@
|
|
8007 |
$this->_site = clone $site;
|
8008 |
$this->_site->plan = self::decrypt_entity( $this->_site->plan );
|
8009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8010 |
// Load relevant user.
|
8011 |
-
$this->_user = clone $users[ $
|
8012 |
|
8013 |
// Load plans.
|
8014 |
$this->_plans = $plans[ $this->_slug ];
|
@@ -8156,6 +8582,7 @@
|
|
8156 |
* In this case, the user and site info will be sent to the server but no
|
8157 |
* data will be saved to the WP installation's database.
|
8158 |
* @param number|bool $trial_plan_id
|
|
|
8159 |
*
|
8160 |
* @return string|object
|
8161 |
* @use WP_Error
|
@@ -8166,7 +8593,8 @@
|
|
8166 |
$last = false,
|
8167 |
$license_key = false,
|
8168 |
$is_uninstall = false,
|
8169 |
-
$trial_plan_id = false
|
|
|
8170 |
) {
|
8171 |
$this->_logger->entrance();
|
8172 |
|
@@ -8219,7 +8647,28 @@
|
|
8219 |
);
|
8220 |
}
|
8221 |
|
8222 |
-
$params['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8223 |
|
8224 |
$url = WP_FS__ADDRESS . '/action/service/user/install/';
|
8225 |
if ( isset( $_COOKIE['XDEBUG_SESSION'] ) ) {
|
@@ -8276,7 +8725,19 @@
|
|
8276 |
return true;
|
8277 |
}
|
8278 |
|
8279 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8280 |
|
8281 |
if ( empty( $decoded ) ) {
|
8282 |
return false;
|
@@ -8294,7 +8755,9 @@
|
|
8294 |
} else if ( isset( $decoded->pending_activation ) && $decoded->pending_activation ) {
|
8295 |
// Pending activation, add message.
|
8296 |
return $this->set_pending_confirmation(
|
8297 |
-
|
|
|
|
|
8298 |
false,
|
8299 |
$filtered_license_key,
|
8300 |
! empty( $params['trial_plan_id'] )
|
@@ -8360,7 +8823,7 @@
|
|
8360 |
|
8361 |
$this->_admin_notices->remove_sticky( 'connect_account' );
|
8362 |
|
8363 |
-
if ( $this->is_pending_activation() ) {
|
8364 |
// Remove pending activation sticky notice (if still exist).
|
8365 |
$this->_admin_notices->remove_sticky( 'activation_pending' );
|
8366 |
|
@@ -8369,31 +8832,32 @@
|
|
8369 |
|
8370 |
if ( ! $this->is_paying_or_trial() ) {
|
8371 |
$this->_admin_notices->add_sticky(
|
8372 |
-
sprintf( $this->
|
|
|
8373 |
'activation_complete'
|
8374 |
);
|
8375 |
}
|
8376 |
}
|
8377 |
|
8378 |
if ( $this->is_paying_or_trial() ) {
|
8379 |
-
if ( ! $this->is_premium() || ! $this->has_premium_version() ) {
|
8380 |
if ( $this->is_paying() ) {
|
8381 |
$this->_admin_notices->add_sticky(
|
8382 |
sprintf(
|
8383 |
-
$this->
|
8384 |
$this->_site->plan->title
|
8385 |
) . $this->get_complete_upgrade_instructions(),
|
8386 |
'plan_upgraded',
|
8387 |
-
$this->
|
8388 |
);
|
8389 |
} else {
|
8390 |
$this->_admin_notices->add_sticky(
|
8391 |
sprintf(
|
8392 |
-
$this->
|
8393 |
'<i>' . $this->get_plugin_name() . '</i>'
|
8394 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
8395 |
'trial_started',
|
8396 |
-
$this->
|
8397 |
);
|
8398 |
}
|
8399 |
}
|
@@ -8678,14 +9142,26 @@
|
|
8678 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
8679 |
|
8680 |
$this->_admin_notices->add(
|
8681 |
-
sprintf( $this->
|
8682 |
-
$this->
|
8683 |
-
$this->
|
8684 |
'error'
|
8685 |
);
|
8686 |
|
8687 |
if ( $redirect ) {
|
8688 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8689 |
}
|
8690 |
|
8691 |
return $install;
|
@@ -8722,9 +9198,9 @@
|
|
8722 |
|
8723 |
if ( isset( $addon_install->error ) ) {
|
8724 |
$this->_admin_notices->add(
|
8725 |
-
sprintf( $this->
|
8726 |
-
$this->
|
8727 |
-
$this->
|
8728 |
'error'
|
8729 |
);
|
8730 |
|
@@ -8783,15 +9259,23 @@
|
|
8783 |
|
8784 |
if ( isset( $parent_install->error ) ) {
|
8785 |
$this->_admin_notices->add(
|
8786 |
-
sprintf( $this->
|
8787 |
-
$this->
|
8788 |
-
$this->
|
8789 |
'error'
|
8790 |
);
|
8791 |
|
8792 |
return;
|
8793 |
}
|
8794 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8795 |
// First of all, set site info - otherwise we won't
|
8796 |
// be able to invoke API calls.
|
8797 |
$parent_fs->_site = new FS_Site( $parent_install );
|
@@ -8984,9 +9468,9 @@
|
|
8984 |
|
8985 |
if ( false !== $hook ) {
|
8986 |
if ( fs_request_is_action( $this->get_unique_affix() . '_activate_existing' ) ) {
|
8987 |
-
|
8988 |
} else if ( fs_request_is_action( $this->get_unique_affix() . '_activate_new' ) ) {
|
8989 |
-
|
8990 |
}
|
8991 |
}
|
8992 |
}
|
@@ -9034,15 +9518,15 @@
|
|
9034 |
* @return string
|
9035 |
*/
|
9036 |
function get_pricing_cta_label() {
|
9037 |
-
$label = 'upgrade';
|
9038 |
|
9039 |
if ( $this->is_in_trial_promotion() &&
|
9040 |
! $this->is_paying_or_trial()
|
9041 |
) {
|
9042 |
// If running a trial promotion, modify the pricing to load the trial.
|
9043 |
-
$label = 'start-trial';
|
9044 |
} else if ( $this->is_paying() ) {
|
9045 |
-
$label = 'pricing';
|
9046 |
}
|
9047 |
|
9048 |
return $label;
|
@@ -9079,6 +9563,20 @@
|
|
9079 |
* @since 1.2.2.7 Also add submenu items when running in a free .org theme so the tabs will be visible.
|
9080 |
*/
|
9081 |
if ( ! $this->is_activation_mode() || $this->is_free_wp_org_theme() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9082 |
if ( $this->is_registered() ) {
|
9083 |
$show_account = (
|
9084 |
$this->is_submenu_item_visible( 'account' ) &&
|
@@ -9090,9 +9588,9 @@
|
|
9090 |
|
9091 |
// Add user account page.
|
9092 |
$this->add_submenu_item(
|
9093 |
-
$this->
|
9094 |
array( &$this, '_account_page_render' ),
|
9095 |
-
$this->get_plugin_name() . ' – ' . $this->
|
9096 |
'manage_options',
|
9097 |
'account',
|
9098 |
array( &$this, '_account_page_load' ),
|
@@ -9103,9 +9601,9 @@
|
|
9103 |
|
9104 |
// Add contact page.
|
9105 |
$this->add_submenu_item(
|
9106 |
-
$this->
|
9107 |
array( &$this, '_contact_page_render' ),
|
9108 |
-
$this->get_plugin_name() . ' – ' . $this->
|
9109 |
'manage_options',
|
9110 |
'contact',
|
9111 |
'Freemius::_clean_admin_content_section',
|
@@ -9115,9 +9613,9 @@
|
|
9115 |
|
9116 |
if ( $this->has_addons() ) {
|
9117 |
$this->add_submenu_item(
|
9118 |
-
$this->
|
9119 |
array( &$this, '_addons_page_render' ),
|
9120 |
-
$this->get_plugin_name() . ' – ' . $this->
|
9121 |
'manage_options',
|
9122 |
'addons',
|
9123 |
array( &$this, '_addons_page_load' ),
|
@@ -9131,7 +9629,7 @@
|
|
9131 |
$this->is_pricing_page_visible()
|
9132 |
);
|
9133 |
|
9134 |
-
$
|
9135 |
$pricing_class = 'upgrade-mode';
|
9136 |
if ( $show_pricing ) {
|
9137 |
if ( $this->is_in_trial_promotion() &&
|
@@ -9146,9 +9644,9 @@
|
|
9146 |
|
9147 |
// Add upgrade/pricing page.
|
9148 |
$this->add_submenu_item(
|
9149 |
-
|
9150 |
array( &$this, '_pricing_page_render' ),
|
9151 |
-
$this->get_plugin_name() . ' – ' . $this->
|
9152 |
'manage_options',
|
9153 |
'pricing',
|
9154 |
'Freemius::_clean_admin_content_section',
|
@@ -9328,7 +9826,7 @@
|
|
9328 |
|
9329 |
if ( ! $this->is_activation_mode() ) {
|
9330 |
$this->add_submenu_link_item(
|
9331 |
-
$this->apply_filters( 'support_forum_submenu', $this->
|
9332 |
$this->get_support_forum_url(),
|
9333 |
'wp-support-forum',
|
9334 |
null,
|
@@ -9840,7 +10338,23 @@
|
|
9840 |
$encrypted_site = clone $this->_site;
|
9841 |
$encrypted_site->plan = self::_encrypt_entity( $this->_site->plan );
|
9842 |
|
9843 |
-
$sites
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9844 |
$sites[ $this->_slug ] = $encrypted_site;
|
9845 |
|
9846 |
$this->set_account_option( 'sites', $sites, $store );
|
@@ -10052,8 +10566,8 @@
|
|
10052 |
$this->do_action( 'account_email_verified', $user->email );
|
10053 |
|
10054 |
$this->_admin_notices->add(
|
10055 |
-
$this->
|
10056 |
-
$this->
|
10057 |
'success',
|
10058 |
// Make admin sticky if account menu item is invisible,
|
10059 |
// since the page will be auto redirected to the plugin's
|
@@ -10185,21 +10699,24 @@
|
|
10185 |
* @return FS_Plugin_Plan[]|object
|
10186 |
*/
|
10187 |
private function _fetch_plugin_plans() {
|
10188 |
-
|
10189 |
-
|
10190 |
|
10191 |
-
|
|
|
|
|
|
|
10192 |
|
10193 |
-
|
10194 |
-
|
10195 |
-
|
10196 |
-
|
10197 |
|
10198 |
-
|
10199 |
-
|
10200 |
|
10201 |
-
|
10202 |
-
|
10203 |
|
10204 |
/**
|
10205 |
* @author Vova Feldman (@svovaf)
|
@@ -10584,24 +11101,18 @@
|
|
10584 |
}
|
10585 |
|
10586 |
$this->_admin_notices->add_sticky(
|
10587 |
-
|
10588 |
-
|
10589 |
-
$this->
|
10590 |
-
|
10591 |
-
|
10592 |
-
|
10593 |
-
|
10594 |
-
)
|
10595 |
-
|
10596 |
-
|
10597 |
-
$this->get_text( 'addon-successfully-purchased-message' ),
|
10598 |
-
$addon->title
|
10599 |
-
) . ' ' . $this->get_latest_download_link(
|
10600 |
-
$this->get_text( 'download-latest-version' ),
|
10601 |
-
$addon_id
|
10602 |
-
),
|
10603 |
'addon_plan_upgraded_' . $addon->slug,
|
10604 |
-
$this->
|
10605 |
);
|
10606 |
}
|
10607 |
}
|
@@ -10646,11 +11157,11 @@
|
|
10646 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
10647 |
self::$_global_admin_notices->add(
|
10648 |
sprintf(
|
10649 |
-
$this->
|
10650 |
$this->get_plugin_name(),
|
10651 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
10652 |
-
) . '<br> ' . $this->
|
10653 |
-
$this->
|
10654 |
'error',
|
10655 |
$background,
|
10656 |
false,
|
@@ -10660,8 +11171,8 @@
|
|
10660 |
} else {
|
10661 |
// Authentication params are broken.
|
10662 |
$this->_admin_notices->add(
|
10663 |
-
$this->
|
10664 |
-
$this->
|
10665 |
'error'
|
10666 |
);
|
10667 |
}
|
@@ -10777,6 +11288,8 @@
|
|
10777 |
}
|
10778 |
}
|
10779 |
|
|
|
|
|
10780 |
if ( $this->has_paid_plan() ) {
|
10781 |
switch ( $plan_change ) {
|
10782 |
case 'none':
|
@@ -10788,19 +11301,19 @@
|
|
10788 |
if ( $plan->is_free() ) {
|
10789 |
$this->_admin_notices->add(
|
10790 |
sprintf(
|
10791 |
-
$this->
|
10792 |
-
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' . $this->
|
10793 |
) . ' ' . sprintf(
|
10794 |
'<a href="%s">%s</a>',
|
10795 |
$this->contact_url(
|
10796 |
'bug',
|
10797 |
-
sprintf( $this->
|
10798 |
strtoupper( $plan->name )
|
10799 |
)
|
10800 |
),
|
10801 |
-
$this->
|
10802 |
),
|
10803 |
-
$
|
10804 |
);
|
10805 |
}
|
10806 |
}
|
@@ -10808,11 +11321,11 @@
|
|
10808 |
case 'upgraded':
|
10809 |
$this->_admin_notices->add_sticky(
|
10810 |
sprintf(
|
10811 |
-
$this->
|
10812 |
'<i>' . $this->get_plugin_name() . '</i>'
|
10813 |
) . $this->get_complete_upgrade_instructions(),
|
10814 |
'plan_upgraded',
|
10815 |
-
$this->
|
10816 |
);
|
10817 |
|
10818 |
$this->_admin_notices->remove_sticky( array(
|
@@ -10825,7 +11338,7 @@
|
|
10825 |
case 'changed':
|
10826 |
$this->_admin_notices->add_sticky(
|
10827 |
sprintf(
|
10828 |
-
$this->
|
10829 |
$this->_site->plan->title
|
10830 |
),
|
10831 |
'plan_changed'
|
@@ -10840,41 +11353,41 @@
|
|
10840 |
break;
|
10841 |
case 'downgraded':
|
10842 |
$this->_admin_notices->add_sticky(
|
10843 |
-
sprintf( $this->
|
10844 |
'license_expired',
|
10845 |
-
$
|
10846 |
);
|
10847 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
10848 |
break;
|
10849 |
case 'cancelled':
|
10850 |
$this->_admin_notices->add(
|
10851 |
-
$this->
|
10852 |
sprintf(
|
10853 |
'<a href="%s">%s</a>',
|
10854 |
$this->contact_url( 'bug' ),
|
10855 |
-
$this->
|
10856 |
),
|
10857 |
-
$
|
10858 |
'error'
|
10859 |
);
|
10860 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
10861 |
break;
|
10862 |
case 'expired':
|
10863 |
$this->_admin_notices->add_sticky(
|
10864 |
-
sprintf( $this->
|
10865 |
'license_expired',
|
10866 |
-
$
|
10867 |
);
|
10868 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
10869 |
break;
|
10870 |
case 'trial_started':
|
10871 |
$this->_admin_notices->add_sticky(
|
10872 |
sprintf(
|
10873 |
-
$this->
|
10874 |
'<i>' . $this->get_plugin_name() . '</i>'
|
10875 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
10876 |
'trial_started',
|
10877 |
-
$this->
|
10878 |
);
|
10879 |
|
10880 |
$this->_admin_notices->remove_sticky( array(
|
@@ -10883,9 +11396,9 @@
|
|
10883 |
break;
|
10884 |
case 'trial_expired':
|
10885 |
$this->_admin_notices->add_sticky(
|
10886 |
-
$this->
|
10887 |
'trial_expired',
|
10888 |
-
$
|
10889 |
);
|
10890 |
$this->_admin_notices->remove_sticky( array(
|
10891 |
'trial_started',
|
@@ -10953,23 +11466,22 @@
|
|
10953 |
if ( ! $background ) {
|
10954 |
$this->_admin_notices->add( sprintf(
|
10955 |
'%s %s',
|
10956 |
-
$this->
|
10957 |
( is_object( $license ) && isset( $license->error ) ?
|
10958 |
$license->error->message :
|
10959 |
sprintf( '%s<br><code>%s</code>',
|
10960 |
-
$this->
|
10961 |
var_export( $license, true )
|
10962 |
)
|
10963 |
)
|
10964 |
),
|
10965 |
-
$this->
|
10966 |
'error'
|
10967 |
);
|
10968 |
}
|
10969 |
|
10970 |
return;
|
10971 |
}
|
10972 |
-
|
10973 |
$premium_license = new FS_Plugin_License( $license );
|
10974 |
|
10975 |
// Updated site plan.
|
@@ -10984,10 +11496,10 @@
|
|
10984 |
|
10985 |
if ( ! $background ) {
|
10986 |
$this->_admin_notices->add_sticky(
|
10987 |
-
$this->
|
10988 |
$this->get_complete_upgrade_instructions(),
|
10989 |
'license_activated',
|
10990 |
-
$this->
|
10991 |
);
|
10992 |
}
|
10993 |
|
@@ -11006,10 +11518,12 @@
|
|
11006 |
protected function _deactivate_license( $show_notice = true ) {
|
11007 |
$this->_logger->entrance();
|
11008 |
|
|
|
|
|
11009 |
if ( ! is_object( $this->_license ) ) {
|
11010 |
$this->_admin_notices->add(
|
11011 |
-
sprintf( $this->
|
11012 |
-
$
|
11013 |
);
|
11014 |
|
11015 |
return;
|
@@ -11020,9 +11534,9 @@
|
|
11020 |
|
11021 |
if ( isset( $license->error ) ) {
|
11022 |
$this->_admin_notices->add(
|
11023 |
-
$this->
|
11024 |
-
$this->
|
11025 |
-
$
|
11026 |
'error'
|
11027 |
);
|
11028 |
|
@@ -11047,8 +11561,8 @@
|
|
11047 |
|
11048 |
if ( $show_notice ) {
|
11049 |
$this->_admin_notices->add(
|
11050 |
-
sprintf( $this->
|
11051 |
-
$this->
|
11052 |
);
|
11053 |
}
|
11054 |
|
@@ -11096,7 +11610,7 @@
|
|
11096 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
11097 |
|
11098 |
$this->_admin_notices->add(
|
11099 |
-
sprintf( $this->
|
11100 |
$plan->title,
|
11101 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
11102 |
)
|
@@ -11106,8 +11620,8 @@
|
|
11106 |
$this->_store_site();
|
11107 |
} else {
|
11108 |
$this->_admin_notices->add(
|
11109 |
-
$this->
|
11110 |
-
$this->
|
11111 |
'error'
|
11112 |
);
|
11113 |
}
|
@@ -11124,11 +11638,14 @@
|
|
11124 |
function start_trial( $plan_name = false ) {
|
11125 |
$this->_logger->entrance();
|
11126 |
|
|
|
|
|
|
|
11127 |
if ( $this->is_trial() ) {
|
11128 |
// Already in trial mode.
|
11129 |
$this->_admin_notices->add(
|
11130 |
-
sprintf( $this->
|
11131 |
-
$
|
11132 |
'error'
|
11133 |
);
|
11134 |
|
@@ -11138,8 +11655,8 @@
|
|
11138 |
if ( $this->_site->is_trial_utilized() ) {
|
11139 |
// Trial was already utilized.
|
11140 |
$this->_admin_notices->add(
|
11141 |
-
$this->
|
11142 |
-
$
|
11143 |
'error'
|
11144 |
);
|
11145 |
|
@@ -11152,8 +11669,8 @@
|
|
11152 |
if ( false === $plan ) {
|
11153 |
// Plan doesn't exist.
|
11154 |
$this->_admin_notices->add(
|
11155 |
-
sprintf( $this->
|
11156 |
-
$
|
11157 |
'error'
|
11158 |
);
|
11159 |
|
@@ -11163,8 +11680,8 @@
|
|
11163 |
if ( ! $plan->has_trial() ) {
|
11164 |
// Plan doesn't exist.
|
11165 |
$this->_admin_notices->add(
|
11166 |
-
sprintf( $this->
|
11167 |
-
$
|
11168 |
'error'
|
11169 |
);
|
11170 |
|
@@ -11174,8 +11691,8 @@
|
|
11174 |
if ( ! $this->has_trial_plan() ) {
|
11175 |
// None of the plans have a trial.
|
11176 |
$this->_admin_notices->add(
|
11177 |
-
sprintf( $this->
|
11178 |
-
$
|
11179 |
'error'
|
11180 |
);
|
11181 |
|
@@ -11193,9 +11710,9 @@
|
|
11193 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
11194 |
// Some API error while trying to start the trial.
|
11195 |
$this->_admin_notices->add(
|
11196 |
-
sprintf( $this->
|
11197 |
. ' ' . var_export( $plan, true ),
|
11198 |
-
$
|
11199 |
'error'
|
11200 |
);
|
11201 |
|
@@ -11219,10 +11736,13 @@
|
|
11219 |
private function _cancel_trial() {
|
11220 |
$this->_logger->entrance();
|
11221 |
|
|
|
|
|
|
|
11222 |
if ( ! $this->is_trial() ) {
|
11223 |
$this->_admin_notices->add(
|
11224 |
-
$this->
|
11225 |
-
$
|
11226 |
'error'
|
11227 |
);
|
11228 |
|
@@ -11272,7 +11792,7 @@
|
|
11272 |
! $this->deactivate_premium_only_addon_without_license( true )
|
11273 |
) {
|
11274 |
$this->_admin_notices->add(
|
11275 |
-
sprintf( $this->
|
11276 |
);
|
11277 |
}
|
11278 |
|
@@ -11280,8 +11800,8 @@
|
|
11280 |
unset( $this->_storage->trial_plan );
|
11281 |
} else {
|
11282 |
$this->_admin_notices->add(
|
11283 |
-
$this->
|
11284 |
-
$
|
11285 |
'error'
|
11286 |
);
|
11287 |
}
|
@@ -11518,21 +12038,26 @@
|
|
11518 |
if ( ! $background ) {
|
11519 |
$this->_admin_notices->add(
|
11520 |
sprintf(
|
11521 |
-
|
|
|
11522 |
$update->version,
|
11523 |
sprintf(
|
11524 |
'<a href="%s" target="_blank">%s</a>',
|
11525 |
$this->get_account_url( 'download_latest' ),
|
11526 |
-
sprintf(
|
|
|
|
|
|
|
|
|
11527 |
)
|
11528 |
),
|
11529 |
-
$this->
|
11530 |
);
|
11531 |
}
|
11532 |
} else if ( false === $new_version && ! $background ) {
|
11533 |
$this->_admin_notices->add(
|
11534 |
-
$this->
|
11535 |
-
$this->
|
11536 |
);
|
11537 |
}
|
11538 |
|
@@ -11798,7 +12323,7 @@
|
|
11798 |
|
11799 |
if ( ! isset( $result->error ) ) {
|
11800 |
$this->_admin_notices->add( sprintf(
|
11801 |
-
$this->
|
11802 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
11803 |
) );
|
11804 |
} else {
|
@@ -11886,6 +12411,9 @@
|
|
11886 |
$plugin_id = fs_request_get( 'plugin_id', $this->get_id() );
|
11887 |
$action = fs_get_action();
|
11888 |
|
|
|
|
|
|
|
11889 |
switch ( $action ) {
|
11890 |
case 'delete_account':
|
11891 |
check_admin_referer( $action );
|
@@ -11940,6 +12468,14 @@
|
|
11940 |
|
11941 |
if ( $plugin_id == $this->get_id() ) {
|
11942 |
$this->_deactivate_license();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11943 |
} else {
|
11944 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
11945 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
@@ -11962,20 +12498,20 @@
|
|
11962 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
11963 |
|
11964 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
11965 |
-
$this->_admin_notices->add( sprintf( $this->
|
11966 |
}
|
11967 |
break;
|
11968 |
case 'owner_confirmed':
|
11969 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
11970 |
|
11971 |
-
$this->_admin_notices->add( sprintf( $this->
|
11972 |
break;
|
11973 |
case 'candidate_confirmed':
|
11974 |
if ( $this->complete_change_owner() ) {
|
11975 |
$this->_admin_notices->add_sticky(
|
11976 |
-
sprintf( $this->
|
11977 |
'ownership_changed',
|
11978 |
-
$this->
|
11979 |
);
|
11980 |
} else {
|
11981 |
// @todo Handle failed ownership change message.
|
@@ -11995,23 +12531,23 @@
|
|
11995 |
switch ( $result->error->code ) {
|
11996 |
case 'user_exist':
|
11997 |
$this->_admin_notices->add(
|
11998 |
-
$this->
|
11999 |
-
sprintf( $this->
|
12000 |
sprintf(
|
12001 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
12002 |
$this->get_account_url( 'change_owner', array(
|
12003 |
'state' => 'init',
|
12004 |
'candidate_email' => $new_email
|
12005 |
) ),
|
12006 |
-
$this->
|
12007 |
),
|
12008 |
-
$
|
12009 |
'error'
|
12010 |
);
|
12011 |
break;
|
12012 |
}
|
12013 |
} else {
|
12014 |
-
$this->_admin_notices->add( $this->
|
12015 |
}
|
12016 |
|
12017 |
return;
|
@@ -12023,12 +12559,12 @@
|
|
12023 |
|
12024 |
if ( isset( $result->error ) ) {
|
12025 |
$this->_admin_notices->add(
|
12026 |
-
$this->
|
12027 |
-
$
|
12028 |
'error'
|
12029 |
);
|
12030 |
} else {
|
12031 |
-
$this->_admin_notices->add( $this->
|
12032 |
}
|
12033 |
|
12034 |
return;
|
@@ -12088,8 +12624,10 @@
|
|
12088 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
12089 |
|
12090 |
$this->_admin_notices->add( sprintf(
|
12091 |
-
|
12092 |
-
|
|
|
|
|
12093 |
|
12094 |
return;
|
12095 |
}
|
@@ -12142,6 +12680,24 @@
|
|
12142 |
$this->do_action( 'account_page_load_before_departure' );
|
12143 |
}
|
12144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12145 |
/**
|
12146 |
* Render account page.
|
12147 |
*
|
@@ -12152,11 +12708,7 @@
|
|
12152 |
$this->_logger->entrance();
|
12153 |
|
12154 |
$template = 'account.php';
|
12155 |
-
|
12156 |
-
$template = 'billing.php';
|
12157 |
-
}
|
12158 |
-
|
12159 |
-
$vars = array( 'id' => $this->_module_id );
|
12160 |
|
12161 |
/**
|
12162 |
* Added filter to the template to allow developers wrapping the template
|
@@ -12213,8 +12765,8 @@
|
|
12213 |
|
12214 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
12215 |
$this->_admin_notices->add(
|
12216 |
-
sprintf( $this->
|
12217 |
-
$this->
|
12218 |
'update-nag'
|
12219 |
);
|
12220 |
}
|
@@ -12532,7 +13084,7 @@
|
|
12532 |
$trial_period = $this->_trial_days;
|
12533 |
$require_payment = $this->_is_trial_require_payment;
|
12534 |
$trial_url = $this->get_trial_url();
|
12535 |
-
$plans_string = strtolower( $this->
|
12536 |
|
12537 |
if ( $this->is_registered() ) {
|
12538 |
// If opted-in, override trial with up to date data from API.
|
@@ -12572,7 +13124,7 @@
|
|
12572 |
}
|
12573 |
|
12574 |
$message = sprintf(
|
12575 |
-
$this->
|
12576 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
12577 |
$plans_string,
|
12578 |
$trial_period
|
@@ -12580,15 +13132,15 @@
|
|
12580 |
|
12581 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
12582 |
$cc_string = $require_payment ?
|
12583 |
-
sprintf( $this->
|
12584 |
-
$this->
|
12585 |
|
12586 |
|
12587 |
// Start trial button.
|
12588 |
$button = ' ' . sprintf(
|
12589 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
12590 |
$trial_url,
|
12591 |
-
$this->
|
12592 |
);
|
12593 |
|
12594 |
$this->_admin_notices->add_sticky(
|
@@ -12603,6 +13155,90 @@
|
|
12603 |
return true;
|
12604 |
}
|
12605 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12606 |
/**
|
12607 |
* @author Vova Feldman (@svovaf)
|
12608 |
* @since 1.2.1.5
|
@@ -12705,7 +13341,7 @@
|
|
12705 |
if ( $this->is_registered() ) {
|
12706 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
12707 |
$this->add_plugin_action_link(
|
12708 |
-
$this->
|
12709 |
$this->get_upgrade_url(),
|
12710 |
false,
|
12711 |
7,
|
@@ -12715,7 +13351,7 @@
|
|
12715 |
|
12716 |
if ( $this->has_addons() ) {
|
12717 |
$this->add_plugin_action_link(
|
12718 |
-
$this->
|
12719 |
$this->_get_admin_page_url( 'addons' ),
|
12720 |
false,
|
12721 |
9,
|
@@ -12743,11 +13379,9 @@
|
|
12743 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
12744 |
}
|
12745 |
|
12746 |
-
$link_text = $this->
|
12747 |
-
$this->
|
12748 |
-
|
12749 |
-
'change-license'
|
12750 |
-
);
|
12751 |
|
12752 |
$this->add_plugin_action_link(
|
12753 |
$link_text,
|
@@ -12808,14 +13442,14 @@
|
|
12808 |
|
12809 |
if ( $this->is_registered() ) {
|
12810 |
if ( $this->is_tracking_allowed() ) {
|
12811 |
-
$link_text_id = 'opt-out';
|
12812 |
} else {
|
12813 |
-
$link_text_id = 'opt-in';
|
12814 |
}
|
12815 |
|
12816 |
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
|
12817 |
} else {
|
12818 |
-
$link_text_id = 'opt-in';
|
12819 |
|
12820 |
$params = ! $this->is_anonymous() ?
|
12821 |
array() :
|
@@ -12829,7 +13463,7 @@
|
|
12829 |
|
12830 |
if ( $this->is_plugin() && self::is_plugins_page() ) {
|
12831 |
$this->add_plugin_action_link(
|
12832 |
-
|
12833 |
$url,
|
12834 |
false,
|
12835 |
13,
|
@@ -12998,20 +13632,21 @@
|
|
12998 |
|
12999 |
// @since 1.2.1.5 The free version is auto deactivated.
|
13000 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
13001 |
-
( '<li>' . $this->
|
13002 |
'';
|
13003 |
|
13004 |
return sprintf(
|
13005 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
13006 |
-
$this->
|
13007 |
$this->get_latest_download_link( sprintf(
|
13008 |
-
|
|
|
13009 |
$plan_title
|
13010 |
) ),
|
13011 |
$deactivation_step,
|
13012 |
-
$this->
|
13013 |
'//bit.ly/upload-wp-' . $this->_module_type . 's',
|
13014 |
-
$this->
|
13015 |
);
|
13016 |
}
|
13017 |
|
@@ -13027,6 +13662,46 @@
|
|
13027 |
return fs_text( $key, $this->_slug );
|
13028 |
}
|
13029 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13030 |
#----------------------------------------------------------------------------------
|
13031 |
#region Versioning
|
13032 |
#----------------------------------------------------------------------------------
|
@@ -13130,17 +13805,17 @@
|
|
13130 |
if ( ! $this->is_registered() ) {
|
13131 |
// Not registered.
|
13132 |
self::shoot_ajax_failure( array(
|
13133 |
-
'message' => $this->
|
13134 |
'code' => 'premium_installed',
|
13135 |
) );
|
13136 |
}
|
13137 |
|
13138 |
-
$plugin_id = fs_request_get( '
|
13139 |
|
13140 |
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
13141 |
// Invalid ID.
|
13142 |
self::shoot_ajax_failure( array(
|
13143 |
-
'message' => $this->
|
13144 |
'code' => 'invalid_module_id',
|
13145 |
) );
|
13146 |
}
|
@@ -13149,21 +13824,21 @@
|
|
13149 |
if ( $this->is_premium() ) {
|
13150 |
// Already using the premium code version.
|
13151 |
self::shoot_ajax_failure( array(
|
13152 |
-
'message' => $this->
|
13153 |
'code' => 'premium_installed',
|
13154 |
) );
|
13155 |
}
|
13156 |
if ( ! $this->can_use_premium_code() ) {
|
13157 |
// Don't have access to the premium code.
|
13158 |
self::shoot_ajax_failure( array(
|
13159 |
-
'message' => $this->
|
13160 |
'code' => 'invalid_license',
|
13161 |
) );
|
13162 |
}
|
13163 |
if ( ! $this->has_release_on_freemius() ) {
|
13164 |
// Plugin is a serviceware, no premium code version.
|
13165 |
self::shoot_ajax_failure( array(
|
13166 |
-
'message' => $this->
|
13167 |
'code' => 'premium_version_missing',
|
13168 |
) );
|
13169 |
}
|
@@ -13173,7 +13848,7 @@
|
|
13173 |
if ( ! is_object( $addon ) ) {
|
13174 |
// Invalid add-on ID.
|
13175 |
self::shoot_ajax_failure( array(
|
13176 |
-
'message' => $this->
|
13177 |
'code' => 'invalid_module_id',
|
13178 |
) );
|
13179 |
}
|
@@ -13181,7 +13856,7 @@
|
|
13181 |
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
13182 |
// Premium add-on version is already activated.
|
13183 |
self::shoot_ajax_failure( array(
|
13184 |
-
'message' => $this->
|
13185 |
'code' => 'premium_installed',
|
13186 |
) );
|
13187 |
}
|
@@ -13253,10 +13928,11 @@
|
|
13253 |
}
|
13254 |
}
|
13255 |
|
13256 |
-
|
13257 |
-
|
13258 |
-
|
13259 |
-
|
|
|
13260 |
|
13261 |
fs_require_template( 'auto-installation.php', $vars );
|
13262 |
}
|
@@ -13526,7 +14202,7 @@
|
|
13526 |
require_once WP_FS__DIR_INCLUDES . '/customizer/class-fs-customizer-upsell-control.php';
|
13527 |
|
13528 |
$customizer->add_section( 'freemius_upsell', array(
|
13529 |
-
'title' => '★ ' . $this->
|
13530 |
'priority' => 1,
|
13531 |
) );
|
13532 |
$customizer->add_setting( 'freemius_upsell', array(
|
@@ -13644,4 +14320,4 @@
|
|
13644 |
}
|
13645 |
|
13646 |
#endregion
|
13647 |
-
}
|
271 |
*/
|
272 |
private static $_instances = array();
|
273 |
|
274 |
+
/**
|
275 |
+
* @author Leo Fajardo (@leorw)
|
276 |
+
*
|
277 |
+
* @since 1.2.3
|
278 |
+
*
|
279 |
+
* @var FS_Affiliate
|
280 |
+
*/
|
281 |
+
private $affiliate = null;
|
282 |
+
|
283 |
+
/**
|
284 |
+
* @author Leo Fajardo (@leorw)
|
285 |
+
*
|
286 |
+
* @since 1.2.3
|
287 |
+
*
|
288 |
+
* @var FS_AffiliateTerms
|
289 |
+
*/
|
290 |
+
private $plugin_affiliate_terms = null;
|
291 |
+
|
292 |
+
/**
|
293 |
+
* @author Leo Fajardo (@leorw)
|
294 |
+
*
|
295 |
+
* @since 1.2.3
|
296 |
+
*
|
297 |
+
* @var FS_AffiliateTerms
|
298 |
+
*/
|
299 |
+
private $custom_affiliate_terms = null;
|
300 |
+
|
301 |
#region Uninstall Reasons IDs
|
302 |
|
303 |
const REASON_NO_LONGER_NEEDED = 1;
|
555 |
return;
|
556 |
}
|
557 |
|
558 |
+
if ( version_compare( $sdk_prev_version, '1.2.3', '<' ) &&
|
559 |
+
version_compare( $sdk_version, '1.2.3', '>=' )
|
560 |
+
) {
|
561 |
+
/**
|
562 |
+
* Starting from version 1.2.3, paths are stored as relative paths and not absolute paths; so when
|
563 |
+
* upgrading to 1.2.3, make paths relative.
|
564 |
+
*
|
565 |
+
* @author Leo Fajardo (@leorw)
|
566 |
+
*/
|
567 |
+
$this->make_paths_relative();
|
568 |
+
}
|
569 |
+
|
570 |
if ( version_compare( $sdk_prev_version, '1.1.5', '<' ) &&
|
571 |
version_compare( $sdk_version, '1.1.5', '>=' )
|
572 |
) {
|
590 |
}
|
591 |
}
|
592 |
|
593 |
+
/**
|
594 |
+
* Makes paths relative.
|
595 |
+
*
|
596 |
+
* @author Leo Fajardo
|
597 |
+
* @since 1.2.3
|
598 |
+
*/
|
599 |
+
private function make_paths_relative() {
|
600 |
+
$id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array() );
|
601 |
+
|
602 |
+
if ( isset( $id_slug_type_path_map[ $this->_module_id ]['path'] ) ) {
|
603 |
+
$id_slug_type_path_map[ $this->_module_id ]['path'] = $this->get_relative_path( $id_slug_type_path_map[ $this->_module_id ]['path'] );
|
604 |
+
|
605 |
+
self::$_accounts->set_option( 'id_slug_type_path_map', $id_slug_type_path_map, true );
|
606 |
+
}
|
607 |
+
|
608 |
+
if ( isset( $this->_storage->plugin_main_file ) ) {
|
609 |
+
$plugin_main_file = $this->_storage->plugin_main_file;
|
610 |
+
|
611 |
+
if ( isset( $plugin_main_file->path ) ) {
|
612 |
+
$this->_storage->plugin_main_file->path = $this->get_relative_path( $this->_storage->plugin_main_file->path );
|
613 |
+
} else if ( isset( $plugin_main_file->prev_path ) ) {
|
614 |
+
$this->_storage->plugin_main_file->prev_path = $this->get_relative_path( $this->_storage->plugin_main_file->prev_path );
|
615 |
+
}
|
616 |
+
}
|
617 |
+
|
618 |
+
// Remove invalid path that is still associated with the current slug if there's any.
|
619 |
+
$file_slug_map = self::$_accounts->get_option( 'file_slug_map', array() );
|
620 |
+
foreach ( $file_slug_map as $plugin_basename => $slug ) {
|
621 |
+
if ( $slug === $this->_slug &&
|
622 |
+
$plugin_basename !== $this->_plugin_basename &&
|
623 |
+
! file_exists( $this->get_absolute_path( $plugin_basename ) )
|
624 |
+
) {
|
625 |
+
unset( $file_slug_map[ $plugin_basename ] );
|
626 |
+
self::$_accounts->set_option( 'file_slug_map', $file_slug_map, true );
|
627 |
+
|
628 |
+
break;
|
629 |
+
}
|
630 |
+
}
|
631 |
+
}
|
632 |
+
|
633 |
/**
|
634 |
* @author Vova Feldman (@svovaf)
|
635 |
* @since 1.2.2.7
|
811 |
'_install_premium_version_ajax_action'
|
812 |
) );
|
813 |
|
814 |
+
$this->add_ajax_action( 'submit_affiliate_application', array( &$this, '_submit_affiliate_application' ) );
|
815 |
+
|
816 |
$this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
|
817 |
|
818 |
$this->add_action( 'sdk_version_update', array( &$this, '_data_migration' ), WP_FS__DEFAULT_PRIORITY, 2 );
|
820 |
$this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) );
|
821 |
|
822 |
add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
|
823 |
+
add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) );
|
824 |
add_action( 'admin_init', array( &$this, '_enqueue_common_css' ) );
|
825 |
|
826 |
/**
|
926 |
// Try to load the cached value of the file path.
|
927 |
if ( isset( $this->_storage->plugin_main_file ) ) {
|
928 |
$plugin_main_file = $this->_storage->plugin_main_file;
|
929 |
+
if ( isset( $plugin_main_file->path ) ) {
|
930 |
+
$absolute_path = $this->get_absolute_path( $plugin_main_file->path );
|
931 |
+
if ( file_exists( $absolute_path ) ) {
|
932 |
+
return $absolute_path;
|
933 |
+
}
|
934 |
}
|
935 |
}
|
936 |
|
949 |
if ( isset( $this->_storage->plugin_main_file ) &&
|
950 |
isset( $this->_storage->plugin_main_file->prev_path )
|
951 |
) {
|
952 |
+
$absolute_path = $this->get_absolute_path( $this->_storage->plugin_main_file->prev_path );
|
953 |
+
if ( file_exists( $absolute_path ) ) {
|
954 |
+
return $absolute_path;
|
955 |
}
|
956 |
}
|
957 |
|
958 |
wp_die(
|
959 |
+
$this->get_text_inline( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.', 'failed-finding-main-path' ) .
|
960 |
" Module: {$this->_slug}; SDK: " . WP_FS__SDK_VERSION . ";",
|
961 |
+
$this->get_text_inline( 'Error', 'error' ),
|
962 |
array( 'back_link' => true )
|
963 |
);
|
964 |
}
|
974 |
'path' => $id_slug_type_path_map[ $this->_module_id ]['path'],
|
975 |
);
|
976 |
|
977 |
+
return $this->get_absolute_path( $id_slug_type_path_map[ $this->_module_id ]['path'] );
|
978 |
+
}
|
979 |
+
|
980 |
+
/**
|
981 |
+
* @author Leo Fajardo (@leorw)
|
982 |
+
* @since 1.2.3
|
983 |
+
*
|
984 |
+
* @param string $path
|
985 |
+
*
|
986 |
+
* @return string
|
987 |
+
*/
|
988 |
+
private function get_relative_path( $path ) {
|
989 |
+
$module_root_dir = $this->get_module_root_dir_path();
|
990 |
+
if ( 0 === strpos( $path, $module_root_dir ) ) {
|
991 |
+
$path = substr( $path, strlen( $module_root_dir ) );
|
992 |
+
}
|
993 |
+
|
994 |
+
return $path;
|
995 |
+
}
|
996 |
+
|
997 |
+
/**
|
998 |
+
* @author Leo Fajardo (@leorw)
|
999 |
+
* @since 1.2.3
|
1000 |
+
*
|
1001 |
+
* @param string $path
|
1002 |
+
* @param string|bool $module_type
|
1003 |
+
*
|
1004 |
+
* @return string
|
1005 |
+
*/
|
1006 |
+
private function get_absolute_path( $path, $module_type = false ) {
|
1007 |
+
$module_root_dir = $this->get_module_root_dir_path( $module_type );
|
1008 |
+
if ( 0 !== strpos( $path, $module_root_dir ) ) {
|
1009 |
+
$path = fs_normalize_path( $module_root_dir . $path );
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
return $path;
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
/**
|
1016 |
+
* @author Leo Fajardo (@leorw)
|
1017 |
+
* @since 1.2.3
|
1018 |
+
*
|
1019 |
+
* @param string|bool $module_type
|
1020 |
+
*
|
1021 |
+
* @return string
|
1022 |
+
*/
|
1023 |
+
private function get_module_root_dir_path( $module_type = false ) {
|
1024 |
+
$is_plugin = empty( $module_type ) ?
|
1025 |
+
$this->is_plugin() :
|
1026 |
+
( WP_FS__MODULE_TYPE_PLUGIN === $module_type );
|
1027 |
+
|
1028 |
+
return fs_normalize_path( trailingslashit( $is_plugin ?
|
1029 |
+
WP_PLUGIN_DIR :
|
1030 |
+
get_theme_root() ) );
|
1031 |
+
}
|
1032 |
|
1033 |
/**
|
1034 |
* @author Leo Fajardo (@leorw)
|
1051 |
$store_option = true;
|
1052 |
}
|
1053 |
|
1054 |
+
if ( ! isset( $id_slug_type_path_map[ $module_id ]['path'] ) ||
|
1055 |
+
/**
|
1056 |
+
* This verification is for cases when suddenly the same module
|
1057 |
+
* is installed but with a different folder name.
|
1058 |
+
*
|
1059 |
+
* @author Vova Feldman (@svovaf)
|
1060 |
+
* @since 1.2.3
|
1061 |
+
*/
|
1062 |
+
! file_exists( $this->get_absolute_path(
|
1063 |
+
$id_slug_type_path_map[ $module_id ]['path'],
|
1064 |
+
$id_slug_type_path_map[ $module_id ]['type']
|
1065 |
+
) )
|
1066 |
+
) {
|
1067 |
$caller_main_file_and_type = $this->get_caller_main_file_and_type();
|
1068 |
|
1069 |
$id_slug_type_path_map[ $module_id ]['type'] = $caller_main_file_and_type->module_type;
|
1153 |
*/
|
1154 |
|
1155 |
if ( $caller_file_path == fs_normalize_path( realpath( trailingslashit( $themes_dir ) . basename( dirname( $caller_file_path ) ) . '/' . basename( $caller_file_path ) ) ) ) {
|
1156 |
+
$module_type = WP_FS__MODULE_TYPE_THEME;
|
1157 |
+
|
1158 |
+
/**
|
1159 |
+
* Relative path of the theme, e.g.:
|
1160 |
+
* `my-theme/functions.php`
|
1161 |
+
*
|
1162 |
+
* @author Leo Fajardo (@leorw)
|
1163 |
+
*/
|
1164 |
+
$caller_file_candidate = basename( dirname( $caller_file_path ) ) .
|
1165 |
+
'/' .
|
1166 |
+
basename( $caller_file_path );
|
1167 |
+
|
1168 |
continue;
|
1169 |
}
|
1170 |
}
|
1182 |
|
1183 |
if ( isset( $caller_map[ $caller_file_hash ] ) ) {
|
1184 |
$module_type = WP_FS__MODULE_TYPE_PLUGIN;
|
1185 |
+
$caller_file_candidate = plugin_basename( $caller_map[ $caller_file_hash ] );
|
1186 |
}
|
1187 |
}
|
1188 |
|
1274 |
|
1275 |
$reason_found_better_plugin = array(
|
1276 |
'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
|
1277 |
+
'text' => sprintf( $this->get_text_inline( 'I found a better %s', 'reason-found-a-better-plugin' ), $module_type ),
|
1278 |
'input_type' => 'textfield',
|
1279 |
+
'input_placeholder' => sprintf( $this->get_text_inline( "What's the %s's name?", 'placeholder-plugin-name' ), $module_type ),
|
1280 |
);
|
1281 |
|
1282 |
$reason_temporary_deactivation = array(
|
1283 |
'id' => self::REASON_TEMPORARY_DEACTIVATION,
|
1284 |
'text' => sprintf(
|
1285 |
+
$this->get_text_inline( "It's a temporary %s. I'm just debugging an issue.", 'reason-temporary-x' ),
|
1286 |
strtolower( $this->is_plugin() ?
|
1287 |
+
$this->get_text_inline( 'Deactivation', 'deactivation' ) :
|
1288 |
+
$this->get_text_inline( 'Theme Switch', 'theme-switch' )
|
1289 |
)
|
1290 |
),
|
1291 |
'input_type' => '',
|
1294 |
|
1295 |
$reason_other = array(
|
1296 |
'id' => self::REASON_OTHER,
|
1297 |
+
'text' => $this->get_text_inline( 'Other', 'reason-other' ),
|
1298 |
'input_type' => 'textfield',
|
1299 |
'input_placeholder' => ''
|
1300 |
);
|
1302 |
$long_term_user_reasons = array(
|
1303 |
array(
|
1304 |
'id' => self::REASON_NO_LONGER_NEEDED,
|
1305 |
+
'text' => sprintf( $this->get_text_inline( 'I no longer need the %s', 'reason-no-longer-needed' ), $module_type ),
|
1306 |
'input_type' => '',
|
1307 |
'input_placeholder' => ''
|
1308 |
),
|
1309 |
$reason_found_better_plugin,
|
1310 |
array(
|
1311 |
'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
|
1312 |
+
'text' => sprintf( $this->get_text_inline( 'I only needed the %s for a short period', 'reason-needed-for-a-short-period' ), $module_type ),
|
1313 |
'input_type' => '',
|
1314 |
'input_placeholder' => ''
|
1315 |
),
|
1316 |
array(
|
1317 |
'id' => self::REASON_BROKE_MY_SITE,
|
1318 |
+
'text' => sprintf( $this->get_text_inline( 'The %s broke my site', 'reason-broke-my-site' ), $module_type ),
|
1319 |
'input_type' => '',
|
1320 |
'input_placeholder' => '',
|
1321 |
'internal_message' => $contact_support_template
|
1322 |
),
|
1323 |
array(
|
1324 |
'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
|
1325 |
+
'text' => sprintf( $this->get_text_inline( 'The %s suddenly stopped working', 'reason-suddenly-stopped-working' ), $module_type ),
|
1326 |
'input_type' => '',
|
1327 |
'input_placeholder' => '',
|
1328 |
'internal_message' => $contact_support_template
|
1332 |
if ( $this->is_paying() ) {
|
1333 |
$long_term_user_reasons[] = array(
|
1334 |
'id' => self::REASON_CANT_PAY_ANYMORE,
|
1335 |
+
'text' => $this->get_text_inline( "I can't pay for it anymore", 'reason-cant-pay-anymore' ),
|
1336 |
'input_type' => 'textfield',
|
1337 |
+
'input_placeholder' => $this->get_text_inline( 'What price would you feel comfortable paying?', 'placeholder-comfortable-price' )
|
1338 |
);
|
1339 |
}
|
1340 |
|
1341 |
$reason_dont_share_info = array(
|
1342 |
'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
|
1343 |
+
'text' => $this->get_text_inline( "I don't like to share my information with you", 'reason-dont-like-to-share-my-information' ),
|
1344 |
'input_type' => '',
|
1345 |
'input_placeholder' => ''
|
1346 |
);
|
1361 |
'non-registered-and-non-anonymous-short-term' => array(
|
1362 |
array(
|
1363 |
'id' => self::REASON_DIDNT_WORK,
|
1364 |
+
'text' => sprintf( $this->get_text_inline( "The %s didn't work", 'reason-didnt-work' ), $module_type ),
|
1365 |
'input_type' => '',
|
1366 |
'input_placeholder' => ''
|
1367 |
),
|
1371 |
'short-term' => array(
|
1372 |
array(
|
1373 |
'id' => self::REASON_COULDNT_MAKE_IT_WORK,
|
1374 |
+
'text' => $this->get_text_inline( "I couldn't understand how to make it work", 'reason-couldnt-make-it-work' ),
|
1375 |
'input_type' => '',
|
1376 |
'input_placeholder' => '',
|
1377 |
'internal_message' => $contact_support_template
|
1379 |
$reason_found_better_plugin,
|
1380 |
array(
|
1381 |
'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
|
1382 |
+
'text' => sprintf( $this->get_text_inline( "The %s is great, but I need specific feature that you don't support", 'reason-great-but-need-specific-feature' ), $module_type ),
|
1383 |
'input_type' => 'textarea',
|
1384 |
+
'input_placeholder' => $this->get_text_inline( 'What feature?', 'placeholder-feature' )
|
1385 |
),
|
1386 |
array(
|
1387 |
'id' => self::REASON_NOT_WORKING,
|
1388 |
+
'text' => sprintf( $this->get_text_inline( 'The %s is not working', 'reason-not-working' ), $module_type ),
|
1389 |
'input_type' => 'textarea',
|
1390 |
+
'input_placeholder' => $this->get_text_inline( "Kindly share what didn't work so we can fix it for future users...", 'placeholder-share-what-didnt-work' )
|
1391 |
),
|
1392 |
array(
|
1393 |
'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
|
1394 |
+
'text' => $this->get_text_inline( "It's not what I was looking for", 'reason-not-what-i-was-looking-for' ),
|
1395 |
'input_type' => 'textarea',
|
1396 |
+
'input_placeholder' => $this->get_text_inline( "What you've been looking for?", 'placeholder-what-youve-been-looking-for' )
|
1397 |
),
|
1398 |
array(
|
1399 |
'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
|
1400 |
+
'text' => sprintf( $this->get_text_inline( "The %s didn't work as expected", 'reason-didnt-work-as-expected' ), $module_type ),
|
1401 |
'input_type' => 'textarea',
|
1402 |
+
'input_placeholder' => $this->get_text_inline( 'What did you expect?', 'placeholder-what-did-you-expect' )
|
1403 |
)
|
1404 |
)
|
1405 |
);
|
1935 |
|
1936 |
self::$_static_logger->entrance();
|
1937 |
|
1938 |
+
$title = sprintf( '%s [v.%s]', fs_text_inline( 'Freemius Debug' ), WP_FS__SDK_VERSION );
|
1939 |
|
1940 |
if ( WP_FS__DEV_MODE ) {
|
1941 |
// Add top-level debug menu item.
|
2342 |
*
|
2343 |
* @return string
|
2344 |
*/
|
2345 |
+
function get_anonymous_id() {
|
2346 |
+
$unique_id = self::$_accounts->get_option( 'unique_id' );
|
2347 |
|
2348 |
+
if ( empty( $unique_id ) || ! is_string( $unique_id ) ) {
|
2349 |
+
$key = get_site_url();
|
2350 |
|
2351 |
+
// If localhost, assign microtime instead of domain.
|
2352 |
+
if ( WP_FS__IS_LOCALHOST ||
|
2353 |
+
false !== strpos( $key, 'localhost' ) ||
|
2354 |
+
false === strpos( $key, '.' )
|
2355 |
+
) {
|
2356 |
+
$key = microtime();
|
2357 |
+
}
|
2358 |
|
2359 |
+
/**
|
2360 |
+
* Base the unique identifier on the WP secure authentication key. Which
|
2361 |
+
* turns the key into a secret anonymous identifier.
|
2362 |
+
*
|
2363 |
+
* @author Vova Feldman (@svovaf)
|
2364 |
+
* @since 1.2.3
|
2365 |
+
*/
|
2366 |
+
$unique_id = md5( $key . SECURE_AUTH_KEY );
|
2367 |
|
2368 |
+
self::$_accounts->set_option( 'unique_id', $unique_id, true );
|
2369 |
+
}
|
2370 |
|
2371 |
+
$this->_logger->departure( $unique_id );
|
2372 |
|
2373 |
+
return $unique_id;
|
2374 |
+
}
|
2375 |
|
2376 |
/**
|
2377 |
* @author Vova Feldman (@svovaf)
|
2451 |
// $admin_email = get_option( 'admin_email' );
|
2452 |
$admin_email = $current_user->user_email;
|
2453 |
|
2454 |
+
// Aliases.
|
2455 |
+
$deactivate_plugin_title = $this->esc_html_inline( 'That\'s exhausting, please deactivate', 'deactivate-plugin-title' );
|
2456 |
+
$deactivate_plugin_desc = $this->esc_html_inline( 'We feel your frustration and sincerely apologize for the inconvenience. Hope to see you again in the future.', 'deactivate-plugin-desc' );
|
2457 |
+
$install_previous_title = $this->esc_html_inline( 'Let\'s try your previous version', 'install-previous-title' );
|
2458 |
+
$install_previous_desc = $this->esc_html_inline( 'Uninstall this version and install the previous one.', 'install-previous-desc' );
|
2459 |
+
$fix_issue_title = $this->esc_html_inline( 'Yes - I\'m giving you a chance to fix it', 'fix-issue-title' );
|
2460 |
+
$fix_issue_desc = $this->esc_html_inline( 'We will do our best to whitelist your server and resolve this issue ASAP. You will get a follow-up email to %s once we have an update.', 'fix-issue-desc' );
|
2461 |
+
/* translators: %s: product title (e.g. "Awesome Plugin" requires an access to...) */
|
2462 |
+
$x_requires_access_to_api = $this->esc_html_inline( '%s requires an access to our API.', 'x-requires-access-to-api' );
|
2463 |
+
$sysadmin_title = $this->esc_html_inline( 'I\'m a system administrator', 'sysadmin-title' );
|
2464 |
+
$happy_to_resolve_issue_asap = $this->esc_html_inline( 'We are sure it\'s an issue on our side and more than happy to resolve it for you ASAP if you give us a chance.', 'happy-to-resolve-issue-asap' );
|
2465 |
+
|
2466 |
$message = false;
|
2467 |
if ( is_object( $api_result ) &&
|
2468 |
isset( $api_result->error ) &&
|
2489 |
if ( ! empty( $missing_methods ) ) {
|
2490 |
$missing_methods = sprintf(
|
2491 |
'<br><br><b>%s</b> %s',
|
2492 |
+
$this->esc_html_inline( 'Disabled method(s):', 'curl-disabled-methods' ),
|
2493 |
$missing_methods
|
2494 |
);
|
2495 |
}
|
2496 |
}
|
2497 |
|
2498 |
$message = sprintf(
|
2499 |
+
$x_requires_access_to_api . ' ' .
|
2500 |
+
$this->esc_html_inline( 'We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server.', 'curl-missing-message' ) . ' ' .
|
2501 |
$missing_methods .
|
2502 |
' %s',
|
2503 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2505 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2506 |
sprintf(
|
2507 |
'<a class="fs-resolve" data-type="curl" href="#"><b>%s</b></a>%s',
|
2508 |
+
$this->get_text_inline( 'I don\'t know what is cURL or how to install it, help me!', 'curl-missing-no-clue-title' ),
|
2509 |
' - ' . sprintf(
|
2510 |
+
$this->get_text_inline( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.', 'curl-missing-no-clue-desc' ),
|
2511 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2512 |
)
|
2513 |
),
|
2514 |
sprintf(
|
2515 |
'<b>%s</b> - %s',
|
2516 |
+
$sysadmin_title,
|
2517 |
+
esc_html( sprintf( $this->get_text_inline( 'Great, please install cURL and enable it in your php.ini file. In addition, search for the \'disable_functions\' directive in your php.ini file and remove any disabled methods starting with \'curl_\'. To make sure it was successfully activated, use \'phpinfo()\'. Once activated, deactivate the %s and reactivate it back again.', 'curl-missing-sysadmin-desc' ), $this->get_module_label( true ) ) )
|
2518 |
),
|
2519 |
sprintf(
|
2520 |
+
'<a href="%s"><b>%s</b></a> - %s',
|
2521 |
+
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=all&paged=1&s=', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2522 |
+
$deactivate_plugin_title,
|
2523 |
+
$deactivate_plugin_desc
|
2524 |
)
|
2525 |
)
|
2526 |
);
|
2527 |
break;
|
2528 |
case 'cloudflare_ddos_protection':
|
2529 |
$message = sprintf(
|
2530 |
+
$x_requires_access_to_api . ' ' .
|
2531 |
+
$this->esc_html_inline( 'From unknown reason, CloudFlare, the firewall we use, blocks the connection.', 'cloudflare-blocks-connection-message' ) . ' ' .
|
2532 |
+
$happy_to_resolve_issue_asap .
|
2533 |
' %s',
|
2534 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2535 |
sprintf(
|
2536 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2537 |
sprintf(
|
2538 |
'<a class="fs-resolve" data-type="cloudflare" href="#"><b>%s</b></a>%s',
|
2539 |
+
$fix_issue_title,
|
2540 |
' - ' . sprintf(
|
2541 |
+
$fix_issue_desc,
|
2542 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2543 |
)
|
2544 |
),
|
2545 |
sprintf(
|
2546 |
+
'<a href="%s" target="_blank"><b>%s</b></a> - %s',
|
2547 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2548 |
+
$install_previous_title,
|
2549 |
+
$install_previous_desc
|
2550 |
),
|
2551 |
sprintf(
|
2552 |
+
'<a href="%s"><b>%s</b></a> - %s',
|
2553 |
+
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=all&paged=1&s=' . '', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2554 |
+
$deactivate_plugin_title,
|
2555 |
+
$deactivate_plugin_desc
|
2556 |
)
|
2557 |
)
|
2558 |
);
|
2559 |
break;
|
2560 |
case 'squid_cache_block':
|
2561 |
$message = sprintf(
|
2562 |
+
$x_requires_access_to_api . ' ' .
|
2563 |
+
$this->esc_html_inline( 'It looks like your server is using Squid ACL (access control lists), which blocks the connection.', 'squid-blocks-connection-message' ) .
|
2564 |
' %s',
|
2565 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2566 |
sprintf(
|
2567 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2568 |
sprintf(
|
2569 |
+
'<a class="fs-resolve" data-type="squid" href="#"><b>%s</b></a> - %s',
|
2570 |
+
$this->esc_html_inline( 'I don\'t know what is Squid or ACL, help me!', 'squid-no-clue-title' ),
|
2571 |
+
sprintf(
|
2572 |
+
$this->esc_html_inline( 'We\'ll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update.', 'squid-no-clue-desc' ),
|
2573 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2574 |
)
|
2575 |
),
|
2576 |
sprintf(
|
2577 |
'<b>%s</b> - %s',
|
2578 |
+
$sysadmin_title,
|
2579 |
sprintf(
|
2580 |
+
$this->esc_html_inline( 'Great, please whitelist the following domains: %s. Once you are done, deactivate the %s and activate it again.', 'squid-sysadmin-desc' ),
|
2581 |
// We use a filter since the plugin might require additional API connectivity.
|
2582 |
'<b>' . implode( ', ', $this->apply_filters( 'api_domains', array( 'api.freemius.com', 'wp.freemius.com' ) ) ) . '</b>',
|
2583 |
$this->_module_type
|
2584 |
)
|
2585 |
),
|
2586 |
sprintf(
|
2587 |
+
'<a href="%s"><b>%s</b></a> - %s',
|
2588 |
+
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=all&paged=1&s=', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2589 |
+
$deactivate_plugin_title,
|
2590 |
+
$deactivate_plugin_desc
|
2591 |
)
|
2592 |
)
|
2593 |
);
|
2594 |
break;
|
2595 |
// default:
|
2596 |
+
// $message = $this->get_text_inline( 'connectivity-test-fails-message' );
|
2597 |
// break;
|
2598 |
}
|
2599 |
}
|
2601 |
$message_id = 'failed_connect_api';
|
2602 |
$type = 'error';
|
2603 |
|
2604 |
+
$connectivity_test_fails_message = $this->esc_html_inline( 'From unknown reason, the API connectivity test failed.', 'connectivity-test-fails-message' );
|
2605 |
+
|
2606 |
if ( false === $message ) {
|
2607 |
if ( $is_first_failure ) {
|
2608 |
// First attempt failed.
|
2609 |
$message = sprintf(
|
2610 |
+
$x_requires_access_to_api . ' ' .
|
2611 |
+
$connectivity_test_fails_message . ' ' .
|
2612 |
+
$this->esc_html_inline( 'It\'s probably a temporary issue on our end. Just to be sure, with your permission, would it be o.k to run another connectivity test?', 'connectivity-test-maybe-temporary' ) . '<br><br>' .
|
2613 |
'%s',
|
2614 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2615 |
sprintf(
|
2616 |
'<div id="fs_firewall_issue_options">%s %s</div>',
|
2617 |
sprintf(
|
2618 |
'<a class="button button-primary fs-resolve" data-type="retry_ping" href="#">%s</a>',
|
2619 |
+
$this->get_text_inline( 'Yes - do your thing', 'yes-do-your-thing' )
|
2620 |
),
|
2621 |
sprintf(
|
2622 |
'<a href="%s" class="button">%s</a>',
|
2623 |
+
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=all&paged=1&s=', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2624 |
+
$this->get_text_inline( 'No - just deactivate', 'no-deactivate' )
|
2625 |
)
|
2626 |
)
|
2627 |
);
|
2631 |
} else {
|
2632 |
// Second connectivity attempt failed.
|
2633 |
$message = sprintf(
|
2634 |
+
$x_requires_access_to_api . ' ' .
|
2635 |
+
$connectivity_test_fails_message . ' ' .
|
2636 |
+
$happy_to_resolve_issue_asap .
|
2637 |
' %s',
|
2638 |
'<b>' . $this->get_plugin_name() . '</b>',
|
2639 |
sprintf(
|
2640 |
'<ol id="fs_firewall_issue_options"><li>%s</li><li>%s</li><li>%s</li></ol>',
|
2641 |
sprintf(
|
2642 |
'<a class="fs-resolve" data-type="general" href="#"><b>%s</b></a>%s',
|
2643 |
+
$fix_issue_title,
|
2644 |
' - ' . sprintf(
|
2645 |
+
$fix_issue_desc,
|
2646 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2647 |
)
|
2648 |
),
|
2649 |
sprintf(
|
2650 |
+
'<a href="%s" target="_blank"><b>%s</b></a> - %s',
|
2651 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
2652 |
+
$install_previous_title,
|
2653 |
+
$install_previous_desc
|
2654 |
),
|
2655 |
sprintf(
|
2656 |
+
'<a href="%s"><b>%s</b></a> - %s',
|
2657 |
+
wp_nonce_url( 'plugins.php?action=deactivate&plugin=' . $this->_plugin_basename . '&plugin_status=all&paged=1&s=', 'deactivate-plugin_' . $this->_plugin_basename ),
|
2658 |
+
$deactivate_plugin_title,
|
2659 |
+
$deactivate_plugin_desc
|
2660 |
)
|
2661 |
)
|
2662 |
);
|
2666 |
$this->_admin_notices->add_sticky(
|
2667 |
$message,
|
2668 |
$message_id,
|
2669 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
2670 |
$type
|
2671 |
);
|
2672 |
}
|
2733 |
|
2734 |
$this->_admin_notices->add_sticky(
|
2735 |
sprintf(
|
2736 |
+
$this->get_text_inline( 'Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience.', 'fix-request-sent-message' ),
|
2737 |
'<a href="mailto:' . $admin_email . '">' . $admin_email . '</a>'
|
2738 |
),
|
2739 |
'server_details_sent'
|
3124 |
|
3125 |
$this->_admin_notices->add(
|
3126 |
( ! empty( $parent_name ) ?
|
3127 |
+
sprintf( $this->get_text_x_inline( '%s cannot run without %s.', 'addonX cannot run without pluginY', 'addon-x-cannot-run-without-y' ), $this->get_plugin_name(), $parent_name ) :
|
3128 |
+
sprintf( $this->get_text_x_inline( '%s cannot run without the plugin.', 'addonX cannot run...', 'addon-x-cannot-run-without-parent' ), $this->get_plugin_name() )
|
3129 |
),
|
3130 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
3131 |
'error'
|
3132 |
);
|
3133 |
|
3246 |
$this->_logger->api_error( $result );
|
3247 |
|
3248 |
self::shoot_ajax_failure(
|
3249 |
+
sprintf( $this->get_text_inline( 'Unexpected API error. Please contact the %s\'s author with the following error.', 'unexpected-api-error' ), $this->_module_type ) .
|
3250 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
3251 |
$result->error->message :
|
3252 |
var_export( $result, true ) )
|
3271 |
$this->_logger->api_error( $result );
|
3272 |
|
3273 |
self::shoot_ajax_failure(
|
3274 |
+
sprintf( $this->get_text_inline( 'Unexpected API error. Please contact the %s\'s author with the following error.', 'unexpected-api-error' ), $this->_module_type ) .
|
3275 |
( $this->is_api_error( $result ) && isset( $result->error ) ?
|
3276 |
$result->error->message :
|
3277 |
var_export( $result, true ) )
|
3458 |
new FS_Plugin();
|
3459 |
|
3460 |
$plugin->update( array(
|
3461 |
+
'id' => $id,
|
3462 |
+
'type' => $this->get_option( $plugin_info, 'type', $this->_module_type),
|
3463 |
+
'public_key' => $public_key,
|
3464 |
+
'slug' => $this->_slug,
|
3465 |
+
'parent_plugin_id' => $parent_id,
|
3466 |
+
'version' => $this->get_plugin_version(),
|
3467 |
+
'title' => $this->get_plugin_name(),
|
3468 |
+
'file' => $this->_plugin_basename,
|
3469 |
+
'is_premium' => $this->get_bool_option( $plugin_info, 'is_premium', true ),
|
3470 |
+
'is_live' => $this->get_bool_option( $plugin_info, 'is_live', true ),
|
3471 |
+
'affiliate_moderation' => $this->get_option( $plugin_info, 'has_affiliation' ),
|
3472 |
) );
|
3473 |
|
3474 |
if ( $plugin->is_updated() ) {
|
3677 |
'license_activated',
|
3678 |
) );
|
3679 |
|
3680 |
+
if ( ! $this->is_only_premium() ) {
|
3681 |
+
$this->_admin_notices->add_sticky(
|
3682 |
+
sprintf( $this->get_text_inline( 'Premium %s version was successfully activated.', 'premium-activated-message' ), $this->_module_type ),
|
3683 |
+
'premium_activated',
|
3684 |
+
$this->get_text_x_inline( 'W00t',
|
3685 |
+
'Used to express elation, enthusiasm, or triumph (especially in electronic communication).', 'woot' ) . '!'
|
3686 |
+
);
|
3687 |
+
}
|
3688 |
} else {
|
3689 |
// Remove sticky message related to premium code activation.
|
3690 |
$this->_admin_notices->remove_sticky( 'premium_activated' );
|
3695 |
if ( $this->is_paying() && ! $this->is_premium() ) {
|
3696 |
$this->_admin_notices->add_sticky(
|
3697 |
sprintf(
|
3698 |
+
/* translators: %s: License type (e.g. you have a professional license) */
|
3699 |
+
$this->get_text_inline( 'You have a %s license.', 'you-have-x-license' ),
|
3700 |
$this->_site->plan->title
|
3701 |
) . $this->get_complete_upgrade_instructions(),
|
3702 |
'plan_upgraded',
|
3703 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
3704 |
);
|
3705 |
}
|
3706 |
}
|
3963 |
|
3964 |
$this->_parent->_admin_notices->add_sticky(
|
3965 |
sprintf(
|
3966 |
+
($is_after_trial_cancel ?
|
3967 |
+
$this->_parent->get_text_inline(
|
3968 |
+
'%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you\'ll have to purchase a license.',
|
3969 |
+
'addon-trial-cancelled-message'
|
3970 |
+
) :
|
3971 |
+
$this->_parent->get_text_inline(
|
3972 |
+
'%s is a premium only add-on. You have to purchase a license first before activating the plugin.',
|
3973 |
+
'addon-no-license-message'
|
3974 |
+
)
|
3975 |
),
|
3976 |
'<b>' . $this->_plugin->title . '</b>'
|
3977 |
) . ' ' . sprintf(
|
3978 |
'<a href="%s" aria-label="%s" class="button button-primary" style="margin-left: 10px; vertical-align: middle;">%s ➜</a>',
|
3979 |
$this->_parent->addon_url( $this->_slug ),
|
3980 |
+
esc_attr( sprintf( $this->_parent->get_text_inline( 'More information about %s', 'more-information-about-x' ), $this->_plugin->title ) ),
|
3981 |
+
$this->_parent->get_text_inline( 'Purchase License', 'purchase-license' )
|
3982 |
),
|
3983 |
'no_addon_license_' . $this->_slug,
|
3984 |
+
( $is_after_trial_cancel ? '' : $this->_parent->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...' ),
|
3985 |
( $is_after_trial_cancel ? 'success' : 'error' )
|
3986 |
);
|
3987 |
|
4415 |
|
4416 |
$this->_admin_notices->add_sticky(
|
4417 |
sprintf(
|
4418 |
+
$this->get_text_inline( 'You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s.', 'pending-activation-message' ),
|
4419 |
'<b>' . $this->get_plugin_name() . '</b>',
|
4420 |
'<b>' . $email . '</b>',
|
4421 |
+
( $is_pending_trial ?
|
4422 |
+
$this->get_text_inline( 'start the trial', 'start-the-trial' ) :
|
4423 |
+
$this->get_text_inline( 'complete the install', 'complete-the-install' ) )
|
4424 |
),
|
4425 |
'activation_pending',
|
4426 |
'Thanks!'
|
4499 |
// Show notice for new plugin installations.
|
4500 |
$this->_admin_notices->add(
|
4501 |
sprintf(
|
4502 |
+
$this->get_text_inline( 'You are just one step away - %s', 'you-are-step-away' ),
|
4503 |
sprintf( '<b><a href="%s">%s</a></b>',
|
4504 |
$this->get_activation_url(),
|
4505 |
+
sprintf( $this->get_text_x_inline( 'Complete "%s" Activation Now',
|
4506 |
+
'%s - plugin name. As complete "PluginX" activation now', 'activate-x-now' ), $this->get_plugin_name() )
|
4507 |
)
|
4508 |
),
|
4509 |
'',
|
4516 |
// Show notice for new plugin installations.
|
4517 |
$this->_admin_notices->add_sticky(
|
4518 |
sprintf(
|
4519 |
+
$this->get_text_inline( 'We made a few tweaks to the %s, %s', 'few-plugin-tweaks' ),
|
4520 |
$this->_module_type,
|
4521 |
sprintf( '<b><a href="%s">%s</a></b>',
|
4522 |
$this->get_activation_url(),
|
4523 |
+
sprintf( $this->get_text_inline( 'Opt in to make "%s" Better!', 'optin-x-now' ), $this->get_plugin_name() )
|
4524 |
)
|
4525 |
),
|
4526 |
'connect_account',
|
4905 |
// If activating the premium module version, add an admin notice to congratulate for an upgrade completion.
|
4906 |
if ( $is_premium_version_activation ) {
|
4907 |
$this->_admin_notices->add(
|
4908 |
+
sprintf( $this->get_text_inline( 'The upgrade of %s was successfully completed.', 'successful-version-upgrade-message' ), sprintf( '<b>%s</b>', $this->_plugin->title ) ),
|
4909 |
+
$this->get_text_x_inline( 'W00t',
|
4910 |
+
'Used to express elation, enthusiasm, or triumph (especially in electronic communication).', 'woot' ) . '!'
|
4911 |
);
|
4912 |
}
|
4913 |
} else if ( $this->is_anonymous() ) {
|
5990 |
*/
|
5991 |
function get_module_label( $lowercase = false ) {
|
5992 |
$label = $this->is_addon() ?
|
5993 |
+
$this->get_text_inline( 'Add-On', 'addon' ) :
|
5994 |
( $this->is_plugin() ?
|
5995 |
+
$this->get_text_inline( 'Plugin', 'plugin' ) :
|
5996 |
+
$this->get_text_inline( 'Theme', 'theme' ) );
|
5997 |
|
5998 |
if ( $lowercase ) {
|
5999 |
+
$label = strtolower( $label );
|
6000 |
}
|
6001 |
|
6002 |
return $label;
|
7117 |
if ( isset( $install->error ) ) {
|
7118 |
$error = $install->error->message;
|
7119 |
} else {
|
7120 |
+
$fs->_sync_license( true );
|
|
|
|
|
7121 |
|
7122 |
+
$next_page = $fs->is_addon() ?
|
7123 |
+
$fs->get_parent_instance()->get_account_url() :
|
7124 |
+
$fs->get_account_url();
|
7125 |
|
7126 |
+
$fs->reconnect_locally();
|
7127 |
}
|
7128 |
} else {
|
7129 |
$next_page = $fs->opt_in( false, false, false, $license_key );
|
7250 |
$error = $result->error;
|
7251 |
|
7252 |
if ( in_array( $error->code, array( 'invalid_email', 'no_user' ) ) ) {
|
7253 |
+
$error = $this->get_text_inline( "We couldn't find your email address in the system, are you sure it's the right address?", 'email-not-found' );
|
7254 |
} else if ( 'no_license' === $error->code ) {
|
7255 |
+
$error = $this->get_text_inline( "We can't see any active licenses associated with that email address, are you sure it's the right address?", 'no-active-licenses' );
|
7256 |
} else {
|
7257 |
$error = $error->message;
|
7258 |
}
|
7263 |
);
|
7264 |
|
7265 |
if ( false !== $error ) {
|
7266 |
+
$licenses['error'] = sprintf( '%s... %s', $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ), strtolower( $error ) );
|
7267 |
}
|
7268 |
|
7269 |
echo json_encode( $licenses );
|
7296 |
if ( self::is_ajax() &&
|
7297 |
'admin-ajax.php' === $pagenow
|
7298 |
) {
|
7299 |
+
$referer = fs_get_raw_referer();
|
7300 |
|
7301 |
if ( is_string( $referer ) ) {
|
7302 |
$parts = explode( '?', $referer );
|
7333 |
return ( 'themes.php' === self::get_current_page() );
|
7334 |
}
|
7335 |
|
7336 |
+
#----------------------------------------------------------------------------------
|
7337 |
+
#region Affiliation
|
7338 |
+
#----------------------------------------------------------------------------------
|
7339 |
+
|
7340 |
+
/**
|
7341 |
+
* @author Leo Fajardo
|
7342 |
+
* @since 1.2.3
|
7343 |
+
*
|
7344 |
+
* @return bool
|
7345 |
+
*/
|
7346 |
+
function has_affiliate_program() {
|
7347 |
+
if ( ! is_object( $this->_plugin ) ) {
|
7348 |
+
return false;
|
7349 |
+
}
|
7350 |
+
|
7351 |
+
return $this->_plugin->has_affiliate_program();
|
7352 |
+
}
|
7353 |
+
|
7354 |
+
/**
|
7355 |
+
* @author Leo Fajardo (@leorw)
|
7356 |
+
* @since 1.2.4
|
7357 |
+
*/
|
7358 |
+
private function fetch_affiliate_terms() {
|
7359 |
+
if ( ! is_object( $this->plugin_affiliate_terms ) ) {
|
7360 |
+
$plugins_api = $this->get_api_plugin_scope();
|
7361 |
+
$affiliate_terms = $plugins_api->get( '/aff.json?type=affiliation', false, WP_FS__TIME_WEEK_IN_SEC );
|
7362 |
+
|
7363 |
+
if ( ! $this->is_api_result_entity( $affiliate_terms ) ) {
|
7364 |
+
return;
|
7365 |
+
}
|
7366 |
+
|
7367 |
+
$this->plugin_affiliate_terms = new FS_AffiliateTerms( $affiliate_terms );
|
7368 |
+
}
|
7369 |
+
}
|
7370 |
+
|
7371 |
+
/**
|
7372 |
+
* @author Leo Fajardo (@leorw)
|
7373 |
+
* @since 1.2.4
|
7374 |
+
*/
|
7375 |
+
private function fetch_affiliate_and_custom_terms() {
|
7376 |
+
if ( ! empty( $this->_storage->affiliate_application_data ) ) {
|
7377 |
+
$application_data = $this->_storage->affiliate_application_data;
|
7378 |
+
$flush = ( ! isset( $application_data['status'] ) || 'pending' === $application_data['status'] );
|
7379 |
+
|
7380 |
+
$users_api = $this->get_api_user_scope();
|
7381 |
+
$result = $users_api->get( "/plugins/{$this->_plugin->id}/aff/{$this->plugin_affiliate_terms->id}/affiliates.json", $flush, WP_FS__TIME_WEEK_IN_SEC );
|
7382 |
+
if ( $this->is_api_result_object( $result, 'affiliates' ) ) {
|
7383 |
+
if ( ! empty( $result->affiliates ) ) {
|
7384 |
+
$affiliate = new FS_Affiliate( $result->affiliates[0] );
|
7385 |
+
|
7386 |
+
if ( ! isset( $application_data['status'] ) || $application_data['status'] !== $affiliate->status ) {
|
7387 |
+
$application_data['status'] = $affiliate->status;
|
7388 |
+
$this->_storage->affiliate_application_data = $application_data;
|
7389 |
+
}
|
7390 |
+
|
7391 |
+
if ( $affiliate->is_using_custom_terms ) {
|
7392 |
+
$affiliate_terms = $users_api->get( "/plugins/{$this->_plugin->id}/affiliates/{$affiliate->id}/aff/{$affiliate->custom_affiliate_terms_id}.json", $flush, WP_FS__TIME_WEEK_IN_SEC );
|
7393 |
+
if ( $this->is_api_result_entity( $affiliate_terms ) ) {
|
7394 |
+
$this->custom_affiliate_terms = new FS_AffiliateTerms( $affiliate_terms );
|
7395 |
+
}
|
7396 |
+
}
|
7397 |
+
|
7398 |
+
$this->affiliate = $affiliate;
|
7399 |
+
}
|
7400 |
+
}
|
7401 |
+
}
|
7402 |
+
}
|
7403 |
+
|
7404 |
+
/**
|
7405 |
+
* @author Leo Fajardo (@leorw)
|
7406 |
+
* @since 1.2.3
|
7407 |
+
*/
|
7408 |
+
private function fetch_affiliate_and_terms() {
|
7409 |
+
$this->_logger->entrance();
|
7410 |
+
|
7411 |
+
$this->fetch_affiliate_terms();
|
7412 |
+
$this->fetch_affiliate_and_custom_terms();
|
7413 |
+
}
|
7414 |
+
|
7415 |
+
/**
|
7416 |
+
* @author Leo Fajardo
|
7417 |
+
* @since 1.2.3
|
7418 |
+
*
|
7419 |
+
* @return FS_Affiliate
|
7420 |
+
*/
|
7421 |
+
function get_affiliate() {
|
7422 |
+
return $this->affiliate;
|
7423 |
+
}
|
7424 |
+
|
7425 |
+
|
7426 |
+
/**
|
7427 |
+
* @author Leo Fajardo
|
7428 |
+
* @since 1.2.3
|
7429 |
+
*
|
7430 |
+
* @return FS_AffiliateTerms
|
7431 |
+
*/
|
7432 |
+
function get_affiliate_terms() {
|
7433 |
+
return is_object( $this->custom_affiliate_terms ) ?
|
7434 |
+
$this->custom_affiliate_terms :
|
7435 |
+
$this->plugin_affiliate_terms;
|
7436 |
+
}
|
7437 |
+
|
7438 |
+
/**
|
7439 |
+
* @author Leo Fajardo
|
7440 |
+
* @since 1.2.3
|
7441 |
+
*
|
7442 |
+
* @return FS_Affiliate|null
|
7443 |
+
*/
|
7444 |
+
function _submit_affiliate_application() {
|
7445 |
+
$this->_logger->entrance();
|
7446 |
+
|
7447 |
+
$this->check_ajax_referer( 'submit_affiliate_application' );
|
7448 |
+
|
7449 |
+
if ( ! $this->is_user_admin() ) {
|
7450 |
+
// Only for admins.
|
7451 |
+
self::shoot_ajax_failure();
|
7452 |
+
}
|
7453 |
+
|
7454 |
+
$affiliate = fs_request_get( 'affiliate' );
|
7455 |
+
|
7456 |
+
if ( empty( $affiliate['promotion_methods'] ) ) {
|
7457 |
+
unset( $affiliate['promotion_methods'] );
|
7458 |
+
}
|
7459 |
+
|
7460 |
+
if ( ! empty( $affiliate['additional_domains'] ) ) {
|
7461 |
+
$affiliate['additional_domains'] = array_unique( $affiliate['additional_domains'] );
|
7462 |
+
}
|
7463 |
+
|
7464 |
+
if ( ! $this->is_registered() ) {
|
7465 |
+
// Opt in but don't track usage.
|
7466 |
+
$next_page = $this->opt_in(
|
7467 |
+
false,
|
7468 |
+
false,
|
7469 |
+
false,
|
7470 |
+
false,
|
7471 |
+
false,
|
7472 |
+
false,
|
7473 |
+
true
|
7474 |
+
);
|
7475 |
+
|
7476 |
+
if ( is_object( $next_page ) && $this->is_api_error( $next_page ) ) {
|
7477 |
+
self::shoot_ajax_failure(
|
7478 |
+
isset( $next_page->error ) ?
|
7479 |
+
$next_page->error->message :
|
7480 |
+
var_export( $next_page, true )
|
7481 |
+
);
|
7482 |
+
} else if ( $this->is_pending_activation() ) {
|
7483 |
+
self::shoot_ajax_failure( $this->get_text_inline( 'Account is pending activation.', 'account-is-pending-activation' ) );
|
7484 |
+
}
|
7485 |
+
}
|
7486 |
+
|
7487 |
+
$this->fetch_affiliate_terms();
|
7488 |
+
|
7489 |
+
$api = $this->get_api_user_scope();
|
7490 |
+
$result = $api->call(
|
7491 |
+
( "/plugins/{$this->_plugin->id}/aff/{$this->plugin_affiliate_terms->id}/affiliates.json" ),
|
7492 |
+
'post',
|
7493 |
+
$affiliate
|
7494 |
+
);
|
7495 |
+
|
7496 |
+
if ( $this->is_api_error( $result ) ) {
|
7497 |
+
self::shoot_ajax_failure(
|
7498 |
+
isset( $result->error ) ?
|
7499 |
+
$result->error->message :
|
7500 |
+
var_export( $result, true )
|
7501 |
+
);
|
7502 |
+
}
|
7503 |
+
else
|
7504 |
+
{
|
7505 |
+
if ( $this->_admin_notices->has_sticky( 'affiliate_program' ) ) {
|
7506 |
+
$this->_admin_notices->remove_sticky( 'affiliate_program' );
|
7507 |
+
}
|
7508 |
+
|
7509 |
+
$affiliate_application_data = array(
|
7510 |
+
'status' => 'pending',
|
7511 |
+
'stats_description' => $affiliate['stats_description'],
|
7512 |
+
'promotion_method_description' => $affiliate['promotion_method_description'],
|
7513 |
+
);
|
7514 |
+
|
7515 |
+
if ( ! empty( $affiliate['promotion_methods'] ) ) {
|
7516 |
+
$affiliate_application_data['promotion_methods'] = $affiliate['promotion_methods'];
|
7517 |
+
}
|
7518 |
+
|
7519 |
+
if ( ! empty( $affiliate['domain'] ) ) {
|
7520 |
+
$affiliate_application_data['domain'] = $affiliate['domain'];
|
7521 |
+
}
|
7522 |
+
|
7523 |
+
if ( ! empty( $affiliate['additional_domains'] ) ) {
|
7524 |
+
$affiliate_application_data['additional_domains'] = $affiliate['additional_domains'];
|
7525 |
+
}
|
7526 |
+
|
7527 |
+
$this->_storage->affiliate_application_data = $affiliate_application_data;
|
7528 |
+
}
|
7529 |
+
|
7530 |
+
// Purge cached affiliate.
|
7531 |
+
$api->purge_cache( 'affiliate.json' );
|
7532 |
+
|
7533 |
+
self::shoot_ajax_success( $result );
|
7534 |
+
}
|
7535 |
+
|
7536 |
+
/**
|
7537 |
+
* @author Leo Fajardo
|
7538 |
+
* @since 1.2.3
|
7539 |
+
*
|
7540 |
+
* @return array|null
|
7541 |
+
*/
|
7542 |
+
function get_affiliate_application_data() {
|
7543 |
+
if ( empty( $this->_storage->affiliate_application_data ) ) {
|
7544 |
+
return null;
|
7545 |
+
}
|
7546 |
+
|
7547 |
+
return $this->_storage->affiliate_application_data;
|
7548 |
+
}
|
7549 |
+
|
7550 |
+
#endregion Affiliation ------------------------------------------------------------
|
7551 |
+
|
7552 |
#----------------------------------------------------------------------------------
|
7553 |
#region URL Generators
|
7554 |
#----------------------------------------------------------------------------------
|
7998 |
) ), admin_url( 'admin.php', 'admin' ) );
|
7999 |
} else {
|
8000 |
// Plugin without a settings page.
|
8001 |
+
return add_query_arg(
|
8002 |
+
$params,
|
8003 |
+
admin_url( 'plugins.php' )
|
8004 |
+
);
|
8005 |
}
|
8006 |
}
|
8007 |
}
|
8422 |
$this->_site = clone $site;
|
8423 |
$this->_site->plan = self::decrypt_entity( $this->_site->plan );
|
8424 |
|
8425 |
+
/**
|
8426 |
+
* If the install owner's details are not stored locally, use the previous user's details if available.
|
8427 |
+
*
|
8428 |
+
* @author Leo Fajardo (@leorw)
|
8429 |
+
*/
|
8430 |
+
if ( ! isset( $users[ $this->_site->user_id ] ) && FS_User::is_valid_id( $this->_storage->prev_user_id ) ) {
|
8431 |
+
$user_id = $this->_storage->prev_user_id;
|
8432 |
+
} else {
|
8433 |
+
$user_id = $this->_site->user_id;
|
8434 |
+
}
|
8435 |
+
|
8436 |
// Load relevant user.
|
8437 |
+
$this->_user = clone $users[ $user_id ];
|
8438 |
|
8439 |
// Load plans.
|
8440 |
$this->_plans = $plans[ $this->_slug ];
|
8582 |
* In this case, the user and site info will be sent to the server but no
|
8583 |
* data will be saved to the WP installation's database.
|
8584 |
* @param number|bool $trial_plan_id
|
8585 |
+
* @param bool $is_disconnected Whether or not to opt in without tracking.
|
8586 |
*
|
8587 |
* @return string|object
|
8588 |
* @use WP_Error
|
8593 |
$last = false,
|
8594 |
$license_key = false,
|
8595 |
$is_uninstall = false,
|
8596 |
+
$trial_plan_id = false,
|
8597 |
+
$is_disconnected = false
|
8598 |
) {
|
8599 |
$this->_logger->entrance();
|
8600 |
|
8647 |
);
|
8648 |
}
|
8649 |
|
8650 |
+
if ( isset( $params['license_key'] ) ) {
|
8651 |
+
$fs_user = Freemius::_get_user_by_email( $email );
|
8652 |
+
|
8653 |
+
if ( is_object( $fs_user ) ) {
|
8654 |
+
/**
|
8655 |
+
* If opting in with a context license and the context WP Admin user already opted in
|
8656 |
+
* before from the current site, add the user context security params to avoid the
|
8657 |
+
* unnecessry email activation when the context license is owned by the same context user.
|
8658 |
+
*
|
8659 |
+
* @author Leo Fajardo (@leorw)
|
8660 |
+
* @since 1.2.3
|
8661 |
+
*/
|
8662 |
+
$params = array_merge( $params, FS_Security::instance()->get_context_params(
|
8663 |
+
$fs_user,
|
8664 |
+
false,
|
8665 |
+
'install_with_existing_user'
|
8666 |
+
) );
|
8667 |
+
}
|
8668 |
+
}
|
8669 |
+
|
8670 |
+
$params['is_disconnected'] = $is_disconnected;
|
8671 |
+
$params['format'] = 'json';
|
8672 |
|
8673 |
$url = WP_FS__ADDRESS . '/action/service/user/install/';
|
8674 |
if ( isset( $_COOKIE['XDEBUG_SESSION'] ) ) {
|
8725 |
return true;
|
8726 |
}
|
8727 |
|
8728 |
+
/**
|
8729 |
+
* When json_decode() executed on PHP 5.2 with an invalid JSON, it will throw a PHP warning. Unfortunately, the new Theme Check doesn't allow PHP silencing and the theme review team isn't open to change that, therefore, instead of using `@json_decode()` we had to use the method without the `@` directive.
|
8730 |
+
*
|
8731 |
+
* @author Vova Feldman (@svovaf)
|
8732 |
+
* @since 1.2.3
|
8733 |
+
* @link https://themes.trac.wordpress.org/ticket/46134#comment:5
|
8734 |
+
* @link https://themes.trac.wordpress.org/ticket/46134#comment:9
|
8735 |
+
* @link https://themes.trac.wordpress.org/ticket/46134#comment:12
|
8736 |
+
* @link https://themes.trac.wordpress.org/ticket/46134#comment:14
|
8737 |
+
*/
|
8738 |
+
$decoded = is_string( $response['body'] ) ?
|
8739 |
+
json_decode( $response['body'] ) :
|
8740 |
+
null;
|
8741 |
|
8742 |
if ( empty( $decoded ) ) {
|
8743 |
return false;
|
8755 |
} else if ( isset( $decoded->pending_activation ) && $decoded->pending_activation ) {
|
8756 |
// Pending activation, add message.
|
8757 |
return $this->set_pending_confirmation(
|
8758 |
+
( isset( $decoded->email ) ?
|
8759 |
+
$decoded->email :
|
8760 |
+
true ),
|
8761 |
false,
|
8762 |
$filtered_license_key,
|
8763 |
! empty( $params['trial_plan_id'] )
|
8823 |
|
8824 |
$this->_admin_notices->remove_sticky( 'connect_account' );
|
8825 |
|
8826 |
+
if ( $this->is_pending_activation() || ! $this->has_settings_menu() ) {
|
8827 |
// Remove pending activation sticky notice (if still exist).
|
8828 |
$this->_admin_notices->remove_sticky( 'activation_pending' );
|
8829 |
|
8832 |
|
8833 |
if ( ! $this->is_paying_or_trial() ) {
|
8834 |
$this->_admin_notices->add_sticky(
|
8835 |
+
sprintf( $this->get_text_x_inline( '%s activation was successfully completed.',
|
8836 |
+
'pluginX activation was successfully...', 'plugin-x-activation-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
8837 |
'activation_complete'
|
8838 |
);
|
8839 |
}
|
8840 |
}
|
8841 |
|
8842 |
if ( $this->is_paying_or_trial() ) {
|
8843 |
+
if ( ! $this->is_premium() || ! $this->has_premium_version() || ! $this->has_settings_menu() ) {
|
8844 |
if ( $this->is_paying() ) {
|
8845 |
$this->_admin_notices->add_sticky(
|
8846 |
sprintf(
|
8847 |
+
$this->get_text_inline( 'Your account was successfully activated with the %s plan.', 'activation-with-plan-x-message' ),
|
8848 |
$this->_site->plan->title
|
8849 |
) . $this->get_complete_upgrade_instructions(),
|
8850 |
'plan_upgraded',
|
8851 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
8852 |
);
|
8853 |
} else {
|
8854 |
$this->_admin_notices->add_sticky(
|
8855 |
sprintf(
|
8856 |
+
$this->get_text_inline( 'Your trial has been successfully started.', 'trial-started-message' ),
|
8857 |
'<i>' . $this->get_plugin_name() . '</i>'
|
8858 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
8859 |
'trial_started',
|
8860 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
8861 |
);
|
8862 |
}
|
8863 |
}
|
9142 |
$install = $this->apply_filters( 'after_install_failure', $install, $args );
|
9143 |
|
9144 |
$this->_admin_notices->add(
|
9145 |
+
sprintf( $this->get_text_inline( 'Couldn\'t activate %s.', 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
9146 |
+
$this->get_text_inline( 'Please contact us with the following message:', 'contact-us-with-error-message' ) . ' ' . '<b>' . $install->error->message . '</b>',
|
9147 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
9148 |
'error'
|
9149 |
);
|
9150 |
|
9151 |
if ( $redirect ) {
|
9152 |
+
/**
|
9153 |
+
* We set the user before getting the user scope API handler, so the user became temporarily
|
9154 |
+
* registered (`is_registered() = true`). Since the API returned an error and we will redirect,
|
9155 |
+
* we have to set the user to `null`, otherwise, the user will be redirected to the wrong
|
9156 |
+
* activation page based on the return value of `is_registered()`. In addition, in case the
|
9157 |
+
* context plugin doesn't have a settings menu and the default page is the `Plugins` page,
|
9158 |
+
* misleading plugin activation errors will be shown on the `Plugins` page.
|
9159 |
+
*
|
9160 |
+
* @author Leo Fajardo (@leorw)
|
9161 |
+
*/
|
9162 |
+
$this->_user = null;
|
9163 |
+
|
9164 |
+
fs_redirect( $this->get_activation_url( array( 'error' => $install->error->message ) ) );
|
9165 |
}
|
9166 |
|
9167 |
return $install;
|
9198 |
|
9199 |
if ( isset( $addon_install->error ) ) {
|
9200 |
$this->_admin_notices->add(
|
9201 |
+
sprintf( $this->get_text_inline( 'Couldn\'t activate %s.', 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
9202 |
+
$this->get_text_inline( 'Please contact us with the following message:', 'contact-us-with-error-message' ) . ' ' . '<b>' . $addon_install->error->message . '</b>',
|
9203 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
9204 |
'error'
|
9205 |
);
|
9206 |
|
9259 |
|
9260 |
if ( isset( $parent_install->error ) ) {
|
9261 |
$this->_admin_notices->add(
|
9262 |
+
sprintf( $this->get_text_inline( 'Couldn\'t activate %s.', 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
9263 |
+
$this->get_text_inline( 'Please contact us with the following message:', 'contact-us-with-error-message' ) . ' ' . '<b>' . $parent_install->error->message . '</b>',
|
9264 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
9265 |
'error'
|
9266 |
);
|
9267 |
|
9268 |
return;
|
9269 |
}
|
9270 |
|
9271 |
+
$parent_fs->_admin_notices->remove_sticky( 'connect_account' );
|
9272 |
+
|
9273 |
+
if ( $parent_fs->is_pending_activation() ) {
|
9274 |
+
$parent_fs->_admin_notices->remove_sticky( 'activation_pending' );
|
9275 |
+
|
9276 |
+
unset( $parent_fs->_storage->is_pending_activation );
|
9277 |
+
}
|
9278 |
+
|
9279 |
// First of all, set site info - otherwise we won't
|
9280 |
// be able to invoke API calls.
|
9281 |
$parent_fs->_site = new FS_Site( $parent_install );
|
9468 |
|
9469 |
if ( false !== $hook ) {
|
9470 |
if ( fs_request_is_action( $this->get_unique_affix() . '_activate_existing' ) ) {
|
9471 |
+
$this->_install_with_current_user();
|
9472 |
} else if ( fs_request_is_action( $this->get_unique_affix() . '_activate_new' ) ) {
|
9473 |
+
$this->_install_with_new_user();
|
9474 |
}
|
9475 |
}
|
9476 |
}
|
9518 |
* @return string
|
9519 |
*/
|
9520 |
function get_pricing_cta_label() {
|
9521 |
+
$label = $this->get_text_inline( 'Upgrade', 'upgrade' );
|
9522 |
|
9523 |
if ( $this->is_in_trial_promotion() &&
|
9524 |
! $this->is_paying_or_trial()
|
9525 |
) {
|
9526 |
// If running a trial promotion, modify the pricing to load the trial.
|
9527 |
+
$label = $this->get_text_inline( 'Start Trial', 'start-trial' );
|
9528 |
} else if ( $this->is_paying() ) {
|
9529 |
+
$label = $this->get_text_inline( 'Pricing', 'pricing' );
|
9530 |
}
|
9531 |
|
9532 |
return $label;
|
9563 |
* @since 1.2.2.7 Also add submenu items when running in a free .org theme so the tabs will be visible.
|
9564 |
*/
|
9565 |
if ( ! $this->is_activation_mode() || $this->is_free_wp_org_theme() ) {
|
9566 |
+
if ( $this->has_affiliate_program() ) {
|
9567 |
+
// Add affiliation page.
|
9568 |
+
$this->add_submenu_item(
|
9569 |
+
$this->get_text_inline( 'Affiliation', 'affiliation' ),
|
9570 |
+
array( &$this, '_affiliation_page_render' ),
|
9571 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Affiliation', 'affiliation' ),
|
9572 |
+
'manage_options',
|
9573 |
+
'affiliation',
|
9574 |
+
'Freemius::_clean_admin_content_section',
|
9575 |
+
WP_FS__DEFAULT_PRIORITY,
|
9576 |
+
$this->is_submenu_item_visible( 'affiliation' )
|
9577 |
+
);
|
9578 |
+
}
|
9579 |
+
|
9580 |
if ( $this->is_registered() ) {
|
9581 |
$show_account = (
|
9582 |
$this->is_submenu_item_visible( 'account' ) &&
|
9588 |
|
9589 |
// Add user account page.
|
9590 |
$this->add_submenu_item(
|
9591 |
+
$this->get_text_inline( 'Account', 'account' ),
|
9592 |
array( &$this, '_account_page_render' ),
|
9593 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Account', 'account' ),
|
9594 |
'manage_options',
|
9595 |
'account',
|
9596 |
array( &$this, '_account_page_load' ),
|
9601 |
|
9602 |
// Add contact page.
|
9603 |
$this->add_submenu_item(
|
9604 |
+
$this->get_text_inline( 'Contact Us', 'contact-us' ),
|
9605 |
array( &$this, '_contact_page_render' ),
|
9606 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Contact Us', 'contact-us' ),
|
9607 |
'manage_options',
|
9608 |
'contact',
|
9609 |
'Freemius::_clean_admin_content_section',
|
9613 |
|
9614 |
if ( $this->has_addons() ) {
|
9615 |
$this->add_submenu_item(
|
9616 |
+
$this->get_text_inline( 'Add-Ons', 'add-ons' ),
|
9617 |
array( &$this, '_addons_page_render' ),
|
9618 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Add-Ons', 'add-ons' ),
|
9619 |
'manage_options',
|
9620 |
'addons',
|
9621 |
array( &$this, '_addons_page_load' ),
|
9629 |
$this->is_pricing_page_visible()
|
9630 |
);
|
9631 |
|
9632 |
+
$pricing_cta_text = $this->get_pricing_cta_label();
|
9633 |
$pricing_class = 'upgrade-mode';
|
9634 |
if ( $show_pricing ) {
|
9635 |
if ( $this->is_in_trial_promotion() &&
|
9644 |
|
9645 |
// Add upgrade/pricing page.
|
9646 |
$this->add_submenu_item(
|
9647 |
+
$pricing_cta_text . ' ' . ( is_rtl() ? '←' : '➤' ),
|
9648 |
array( &$this, '_pricing_page_render' ),
|
9649 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ),
|
9650 |
'manage_options',
|
9651 |
'pricing',
|
9652 |
'Freemius::_clean_admin_content_section',
|
9826 |
|
9827 |
if ( ! $this->is_activation_mode() ) {
|
9828 |
$this->add_submenu_link_item(
|
9829 |
+
$this->apply_filters( 'support_forum_submenu', $this->get_text_inline( 'Support Forum', 'support-forum' ) ),
|
9830 |
$this->get_support_forum_url(),
|
9831 |
'wp-support-forum',
|
9832 |
null,
|
10338 |
$encrypted_site = clone $this->_site;
|
10339 |
$encrypted_site->plan = self::_encrypt_entity( $this->_site->plan );
|
10340 |
|
10341 |
+
$sites = self::get_all_sites( $this->_module_type );
|
10342 |
+
|
10343 |
+
if ( empty( $this->_storage->prev_user_id ) && $this->_user->id != $this->_site->user_id ) {
|
10344 |
+
/**
|
10345 |
+
* Store the current user ID as the previous user ID so that the previous user can be used
|
10346 |
+
* as the install's owner while the new owner's details are not yet available.
|
10347 |
+
*
|
10348 |
+
* This will be executed only in the `replica` site. For example, there are 2 sites, namely `original`
|
10349 |
+
* and `replica`, then an ownership change was initiated and completed in the `original`, the `replica`
|
10350 |
+
* will be using the previous user until it is updated again (e.g.: until the next clone of `original`
|
10351 |
+
* into `replica`.
|
10352 |
+
*
|
10353 |
+
* @author Leo Fajardo (@leorw)
|
10354 |
+
*/
|
10355 |
+
$this->_storage->prev_user_id = $sites[ $this->_slug ]->user_id;
|
10356 |
+
}
|
10357 |
+
|
10358 |
$sites[ $this->_slug ] = $encrypted_site;
|
10359 |
|
10360 |
$this->set_account_option( 'sites', $sites, $store );
|
10566 |
$this->do_action( 'account_email_verified', $user->email );
|
10567 |
|
10568 |
$this->_admin_notices->add(
|
10569 |
+
$this->get_text_inline( 'Your email has been successfully verified - you are AWESOME!', 'email-verified-message' ),
|
10570 |
+
$this->get_text_x_inline( 'Right on', 'a positive response', 'right-on' ) . '!',
|
10571 |
'success',
|
10572 |
// Make admin sticky if account menu item is invisible,
|
10573 |
// since the page will be auto redirected to the plugin's
|
10699 |
* @return FS_Plugin_Plan[]|object
|
10700 |
*/
|
10701 |
private function _fetch_plugin_plans() {
|
10702 |
+
$this->_logger->entrance();
|
10703 |
+
$api = $this->get_api_site_scope();
|
10704 |
|
10705 |
+
/**
|
10706 |
+
* @since 1.2.3 When running in DEV mode, retrieve pending plans as well.
|
10707 |
+
*/
|
10708 |
+
$result = $api->get( '/plans.json?show_pending=' . ( $this->has_secret_key() ? 'true' : 'false' ), true );
|
10709 |
|
10710 |
+
if ( $this->is_api_result_object( $result, 'plans' ) && is_array( $result->plans ) ) {
|
10711 |
+
for ( $i = 0, $len = count( $result->plans ); $i < $len; $i ++ ) {
|
10712 |
+
$result->plans[ $i ] = new FS_Plugin_Plan( $result->plans[ $i ] );
|
10713 |
+
}
|
10714 |
|
10715 |
+
$result = $result->plans;
|
10716 |
+
}
|
10717 |
|
10718 |
+
return $result;
|
10719 |
+
}
|
10720 |
|
10721 |
/**
|
10722 |
* @author Vova Feldman (@svovaf)
|
11101 |
}
|
11102 |
|
11103 |
$this->_admin_notices->add_sticky(
|
11104 |
+
sprintf(
|
11105 |
+
( FS_Plan_Manager::instance()->has_free_plan( $plans ) ?
|
11106 |
+
$this->get_text_inline( 'Your %s Add-on plan was successfully upgraded.', 'addon-successfully-upgraded-message' ) :
|
11107 |
+
/* translators: %s:product name, e.g. Facebook add-on was successfully... */
|
11108 |
+
$this->get_text_inline( '%s Add-on was successfully purchased.', 'addon-successfully-purchased-message' ) ),
|
11109 |
+
$addon->title
|
11110 |
+
) . ' ' . $this->get_latest_download_link(
|
11111 |
+
$this->get_text_inline( 'Download the latest version', 'download-latest-version' ),
|
11112 |
+
$addon_id
|
11113 |
+
),
|
|
|
|
|
|
|
|
|
|
|
|
|
11114 |
'addon_plan_upgraded_' . $addon->slug,
|
11115 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
11116 |
);
|
11117 |
}
|
11118 |
}
|
11157 |
if ( ! self::$_global_admin_notices->has_sticky( 'api_blocked' ) ) {
|
11158 |
self::$_global_admin_notices->add(
|
11159 |
sprintf(
|
11160 |
+
$this->get_text_x_inline( 'Your server is blocking the access to Freemius\' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s', '%1s - plugin title, %2s - API domain', 'server-blocking-access' ),
|
11161 |
$this->get_plugin_name(),
|
11162 |
'<a href="' . $api->get_url() . '" target="_blank">' . $api->get_url() . '</a>'
|
11163 |
+
) . '<br> ' . $this->get_text_inline( 'Error received from the server:', 'server-error-message' ) . var_export( $site->error, true ),
|
11164 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
11165 |
'error',
|
11166 |
$background,
|
11167 |
false,
|
11171 |
} else {
|
11172 |
// Authentication params are broken.
|
11173 |
$this->_admin_notices->add(
|
11174 |
+
$this->get_text_inline( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.', 'wrong-authentication-param-message' ),
|
11175 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
11176 |
'error'
|
11177 |
);
|
11178 |
}
|
11288 |
}
|
11289 |
}
|
11290 |
|
11291 |
+
$hmm_text = $this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...';
|
11292 |
+
|
11293 |
if ( $this->has_paid_plan() ) {
|
11294 |
switch ( $plan_change ) {
|
11295 |
case 'none':
|
11301 |
if ( $plan->is_free() ) {
|
11302 |
$this->_admin_notices->add(
|
11303 |
sprintf(
|
11304 |
+
$this->get_text_inline( 'It looks like you are still on the %s plan. If you did upgrade or change your plan, it\'s probably an issue on our side - sorry.', 'plan-did-not-change-message' ),
|
11305 |
+
'<i><b>' . $plan->title . ( $this->is_trial() ? ' ' . $this->get_text_x_inline( 'Trial', 'trial period', 'trial' ) : '' ) . '</b></i>'
|
11306 |
) . ' ' . sprintf(
|
11307 |
'<a href="%s">%s</a>',
|
11308 |
$this->contact_url(
|
11309 |
'bug',
|
11310 |
+
sprintf( $this->get_text_inline( 'I have upgraded my account but when I try to Sync the License, the plan remains %s.', 'plan-did-not-change-email-message' ),
|
11311 |
strtoupper( $plan->name )
|
11312 |
)
|
11313 |
),
|
11314 |
+
$this->get_text_inline( 'Please contact us here', 'contact-us-here' )
|
11315 |
),
|
11316 |
+
$hmm_text
|
11317 |
);
|
11318 |
}
|
11319 |
}
|
11321 |
case 'upgraded':
|
11322 |
$this->_admin_notices->add_sticky(
|
11323 |
sprintf(
|
11324 |
+
$this->get_text_inline( 'Your plan was successfully upgraded.', 'plan-upgraded-message' ),
|
11325 |
'<i>' . $this->get_plugin_name() . '</i>'
|
11326 |
) . $this->get_complete_upgrade_instructions(),
|
11327 |
'plan_upgraded',
|
11328 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
11329 |
);
|
11330 |
|
11331 |
$this->_admin_notices->remove_sticky( array(
|
11338 |
case 'changed':
|
11339 |
$this->_admin_notices->add_sticky(
|
11340 |
sprintf(
|
11341 |
+
$this->get_text_inline( 'Your plan was successfully changed to %s.', 'plan-changed-to-x-message' ),
|
11342 |
$this->_site->plan->title
|
11343 |
),
|
11344 |
'plan_changed'
|
11353 |
break;
|
11354 |
case 'downgraded':
|
11355 |
$this->_admin_notices->add_sticky(
|
11356 |
+
sprintf( $this->get_text_inline( 'Your license has expired. You can still continue using the free %s forever.', 'license-expired-blocking-message' ), $this->_module_type ),
|
11357 |
'license_expired',
|
11358 |
+
$hmm_text
|
11359 |
);
|
11360 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
11361 |
break;
|
11362 |
case 'cancelled':
|
11363 |
$this->_admin_notices->add(
|
11364 |
+
$this->get_text_inline( 'Your license has been cancelled. If you think it\'s a mistake, please contact support.', 'license-cancelled' ) . ' ' .
|
11365 |
sprintf(
|
11366 |
'<a href="%s">%s</a>',
|
11367 |
$this->contact_url( 'bug' ),
|
11368 |
+
$this->get_text_inline( 'Please contact us here', 'contact-us-here' )
|
11369 |
),
|
11370 |
+
$hmm_text,
|
11371 |
'error'
|
11372 |
);
|
11373 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
11374 |
break;
|
11375 |
case 'expired':
|
11376 |
$this->_admin_notices->add_sticky(
|
11377 |
+
sprintf( $this->get_text_inline( 'Your license has expired. You can still continue using all the %s features, but you\'ll need to renew your license to continue getting updates and support.', 'license-expired-non-blocking-message' ), $this->_site->plan->title ),
|
11378 |
'license_expired',
|
11379 |
+
$hmm_text
|
11380 |
);
|
11381 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
11382 |
break;
|
11383 |
case 'trial_started':
|
11384 |
$this->_admin_notices->add_sticky(
|
11385 |
sprintf(
|
11386 |
+
$this->get_text_inline( 'Your trial has been successfully started.', 'trial-started-message' ),
|
11387 |
'<i>' . $this->get_plugin_name() . '</i>'
|
11388 |
) . $this->get_complete_upgrade_instructions( $this->_storage->trial_plan->title ),
|
11389 |
'trial_started',
|
11390 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
11391 |
);
|
11392 |
|
11393 |
$this->_admin_notices->remove_sticky( array(
|
11396 |
break;
|
11397 |
case 'trial_expired':
|
11398 |
$this->_admin_notices->add_sticky(
|
11399 |
+
$this->get_text_inline( 'Your trial has expired. You can still continue using all our free features.', 'trial-expired-message' ),
|
11400 |
'trial_expired',
|
11401 |
+
$hmm_text
|
11402 |
);
|
11403 |
$this->_admin_notices->remove_sticky( array(
|
11404 |
'trial_started',
|
11466 |
if ( ! $background ) {
|
11467 |
$this->_admin_notices->add( sprintf(
|
11468 |
'%s %s',
|
11469 |
+
$this->get_text_inline( 'It looks like the license could not be activated.', 'license-activation-failed-message' ),
|
11470 |
( is_object( $license ) && isset( $license->error ) ?
|
11471 |
$license->error->message :
|
11472 |
sprintf( '%s<br><code>%s</code>',
|
11473 |
+
$this->get_text_inline( 'Error received from the server:', 'server-error-message' ),
|
11474 |
var_export( $license, true )
|
11475 |
)
|
11476 |
)
|
11477 |
),
|
11478 |
+
$this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...',
|
11479 |
'error'
|
11480 |
);
|
11481 |
}
|
11482 |
|
11483 |
return;
|
11484 |
}
|
|
|
11485 |
$premium_license = new FS_Plugin_License( $license );
|
11486 |
|
11487 |
// Updated site plan.
|
11496 |
|
11497 |
if ( ! $background ) {
|
11498 |
$this->_admin_notices->add_sticky(
|
11499 |
+
$this->get_text_inline( 'Your license was successfully activated.', 'license-activated-message' ) .
|
11500 |
$this->get_complete_upgrade_instructions(),
|
11501 |
'license_activated',
|
11502 |
+
$this->get_text_x_inline( 'Yee-haw', 'interjection expressing joy or exuberance', 'yee-haw' ) . '!'
|
11503 |
);
|
11504 |
}
|
11505 |
|
11518 |
protected function _deactivate_license( $show_notice = true ) {
|
11519 |
$this->_logger->entrance();
|
11520 |
|
11521 |
+
$hmm_text = $this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...';
|
11522 |
+
|
11523 |
if ( ! is_object( $this->_license ) ) {
|
11524 |
$this->_admin_notices->add(
|
11525 |
+
sprintf( $this->get_text_inline( 'It looks like your site currently doesn\'t have an active license.', 'no-active-license-message' ), $this->_site->plan->title ),
|
11526 |
+
$hmm_text
|
11527 |
);
|
11528 |
|
11529 |
return;
|
11534 |
|
11535 |
if ( isset( $license->error ) ) {
|
11536 |
$this->_admin_notices->add(
|
11537 |
+
$this->get_text_inline( 'It looks like the license deactivation failed.', 'license-deactivation-failed-message' ) . '<br> ' .
|
11538 |
+
$this->get_text_inline( 'Error received from the server:', 'server-error-message' ) . ' ' . var_export( $license->error, true ),
|
11539 |
+
$hmm_text,
|
11540 |
'error'
|
11541 |
);
|
11542 |
|
11561 |
|
11562 |
if ( $show_notice ) {
|
11563 |
$this->_admin_notices->add(
|
11564 |
+
sprintf( $this->get_text_inline( 'Your license was successfully deactivated, you are back to the %s plan.', 'license-deactivation-message' ), $this->_site->plan->title ),
|
11565 |
+
$this->get_text_inline( 'O.K', 'ok' )
|
11566 |
);
|
11567 |
}
|
11568 |
|
11610 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
11611 |
|
11612 |
$this->_admin_notices->add(
|
11613 |
+
sprintf( $this->get_text_inline( 'Your plan was successfully downgraded. Your %s plan license will expire in %s.', 'plan-x-downgraded-message' ),
|
11614 |
$plan->title,
|
11615 |
human_time_diff( time(), strtotime( $this->_license->expiration ) )
|
11616 |
)
|
11620 |
$this->_store_site();
|
11621 |
} else {
|
11622 |
$this->_admin_notices->add(
|
11623 |
+
$this->get_text_inline( 'Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes.', 'plan-downgraded-failure-message' ),
|
11624 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
11625 |
'error'
|
11626 |
);
|
11627 |
}
|
11638 |
function start_trial( $plan_name = false ) {
|
11639 |
$this->_logger->entrance();
|
11640 |
|
11641 |
+
// Alias.
|
11642 |
+
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
|
11643 |
+
|
11644 |
if ( $this->is_trial() ) {
|
11645 |
// Already in trial mode.
|
11646 |
$this->_admin_notices->add(
|
11647 |
+
sprintf( $this->get_text_inline( 'You are already running the %s in a trial mode.', 'in-trial-mode' ), $this->_module_type ),
|
11648 |
+
$oops_text,
|
11649 |
'error'
|
11650 |
);
|
11651 |
|
11655 |
if ( $this->_site->is_trial_utilized() ) {
|
11656 |
// Trial was already utilized.
|
11657 |
$this->_admin_notices->add(
|
11658 |
+
$this->get_text_inline( 'You already utilized a trial before.', 'trial-utilized' ),
|
11659 |
+
$oops_text,
|
11660 |
'error'
|
11661 |
);
|
11662 |
|
11669 |
if ( false === $plan ) {
|
11670 |
// Plan doesn't exist.
|
11671 |
$this->_admin_notices->add(
|
11672 |
+
sprintf( $this->get_text_inline( 'Plan %s do not exist, therefore, can\'t start a trial.', 'trial-plan-x-not-exist' ), $plan_name ),
|
11673 |
+
$oops_text,
|
11674 |
'error'
|
11675 |
);
|
11676 |
|
11680 |
if ( ! $plan->has_trial() ) {
|
11681 |
// Plan doesn't exist.
|
11682 |
$this->_admin_notices->add(
|
11683 |
+
sprintf( $this->get_text_inline( 'Plan %s does not support a trial period.', 'plan-x-no-trial' ), $plan_name ),
|
11684 |
+
$oops_text,
|
11685 |
'error'
|
11686 |
);
|
11687 |
|
11691 |
if ( ! $this->has_trial_plan() ) {
|
11692 |
// None of the plans have a trial.
|
11693 |
$this->_admin_notices->add(
|
11694 |
+
sprintf( $this->get_text_inline( 'None of the %s\'s plans supports a trial period.', 'no-trials' ), $this->_module_type ),
|
11695 |
+
$oops_text,
|
11696 |
'error'
|
11697 |
);
|
11698 |
|
11710 |
if ( ! $this->is_api_result_entity( $plan ) ) {
|
11711 |
// Some API error while trying to start the trial.
|
11712 |
$this->_admin_notices->add(
|
11713 |
+
sprintf( $this->get_text_inline( 'Unexpected API error. Please contact the %s\'s author with the following error.', 'unexpected-api-error' ), $this->_module_type )
|
11714 |
. ' ' . var_export( $plan, true ),
|
11715 |
+
$oops_text,
|
11716 |
'error'
|
11717 |
);
|
11718 |
|
11736 |
private function _cancel_trial() {
|
11737 |
$this->_logger->entrance();
|
11738 |
|
11739 |
+
// Alias.
|
11740 |
+
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
|
11741 |
+
|
11742 |
if ( ! $this->is_trial() ) {
|
11743 |
$this->_admin_notices->add(
|
11744 |
+
$this->get_text_inline( 'It looks like you are not in trial mode anymore so there\'s nothing to cancel :)', 'trial-cancel-no-trial-message' ),
|
11745 |
+
$oops_text,
|
11746 |
'error'
|
11747 |
);
|
11748 |
|
11792 |
! $this->deactivate_premium_only_addon_without_license( true )
|
11793 |
) {
|
11794 |
$this->_admin_notices->add(
|
11795 |
+
sprintf( $this->get_text_inline( 'Your %s free trial was successfully cancelled.', 'trial-cancel-message' ), $this->_storage->trial_plan->title )
|
11796 |
);
|
11797 |
}
|
11798 |
|
11800 |
unset( $this->_storage->trial_plan );
|
11801 |
} else {
|
11802 |
$this->_admin_notices->add(
|
11803 |
+
$this->get_text_inline( 'Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes.', 'trial-cancel-failure-message' ),
|
11804 |
+
$oops_text,
|
11805 |
'error'
|
11806 |
);
|
11807 |
}
|
12038 |
if ( ! $background ) {
|
12039 |
$this->_admin_notices->add(
|
12040 |
sprintf(
|
12041 |
+
/* translators: %s: Numeric version number (e.g. '2.1.9' */
|
12042 |
+
$this->get_text_inline( 'Version %s was released.', 'version-x-released' ) . ' ' . $this->get_text_inline( 'Please download %s.', 'please-download-x' ),
|
12043 |
$update->version,
|
12044 |
sprintf(
|
12045 |
'<a href="%s" target="_blank">%s</a>',
|
12046 |
$this->get_account_url( 'download_latest' ),
|
12047 |
+
sprintf(
|
12048 |
+
/* translators: %s: plan name (e.g. latest "Professional" version) */
|
12049 |
+
$this->get_text_inline( 'the latest %s version here', 'latest-x-version' ),
|
12050 |
+
$this->_site->plan->title
|
12051 |
+
)
|
12052 |
)
|
12053 |
),
|
12054 |
+
$this->get_text_inline( 'New', 'new' ) . '!'
|
12055 |
);
|
12056 |
}
|
12057 |
} else if ( false === $new_version && ! $background ) {
|
12058 |
$this->_admin_notices->add(
|
12059 |
+
$this->get_text_inline( 'Seems like you got the latest release.', 'you-have-latest' ),
|
12060 |
+
$this->get_text_inline( 'You are all good!', 'you-are-good' )
|
12061 |
);
|
12062 |
}
|
12063 |
|
12323 |
|
12324 |
if ( ! isset( $result->error ) ) {
|
12325 |
$this->_admin_notices->add( sprintf(
|
12326 |
+
$this->get_text_inline( 'Verification mail was just sent to %s. If you can\'t find it after 5 min, please check your spam box.', 'verification-email-sent-message' ),
|
12327 |
sprintf( '<a href="mailto:%1s">%2s</a>', esc_url( $this->_user->email ), $this->_user->email )
|
12328 |
) );
|
12329 |
} else {
|
12411 |
$plugin_id = fs_request_get( 'plugin_id', $this->get_id() );
|
12412 |
$action = fs_get_action();
|
12413 |
|
12414 |
+
// Alias.
|
12415 |
+
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
|
12416 |
+
|
12417 |
switch ( $action ) {
|
12418 |
case 'delete_account':
|
12419 |
check_admin_referer( $action );
|
12468 |
|
12469 |
if ( $plugin_id == $this->get_id() ) {
|
12470 |
$this->_deactivate_license();
|
12471 |
+
|
12472 |
+
if ( $this->is_only_premium() ) {
|
12473 |
+
// Clear user and site.
|
12474 |
+
$this->_site = null;
|
12475 |
+
$this->_user = null;
|
12476 |
+
|
12477 |
+
fs_redirect( $this->get_activation_url() );
|
12478 |
+
}
|
12479 |
} else {
|
12480 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
12481 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
12498 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
12499 |
|
12500 |
if ( $this->init_change_owner( $candidate_email ) ) {
|
12501 |
+
$this->_admin_notices->add( sprintf( $this->get_text_inline( 'Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder.', 'change-owner-request-sent-x' ), '<b>' . $this->_user->email . '</b>' ) );
|
12502 |
}
|
12503 |
break;
|
12504 |
case 'owner_confirmed':
|
12505 |
$candidate_email = fs_request_get( 'candidate_email', '' );
|
12506 |
|
12507 |
+
$this->_admin_notices->add( sprintf( $this->get_text_inline( 'Thanks for confirming the ownership change. An email was just sent to %s for final approval.', 'change-owner-request_owner-confirmed' ), '<b>' . $candidate_email . '</b>' ) );
|
12508 |
break;
|
12509 |
case 'candidate_confirmed':
|
12510 |
if ( $this->complete_change_owner() ) {
|
12511 |
$this->_admin_notices->add_sticky(
|
12512 |
+
sprintf( $this->get_text_inline( '%s is the new owner of the account.', 'change-owner-request_candidate-confirmed' ), '<b>' . $this->_user->email . '</b>' ),
|
12513 |
'ownership_changed',
|
12514 |
+
$this->get_text_x_inline( 'Congrats', 'as congratulations', 'congrats' ) . '!'
|
12515 |
);
|
12516 |
} else {
|
12517 |
// @todo Handle failed ownership change message.
|
12531 |
switch ( $result->error->code ) {
|
12532 |
case 'user_exist':
|
12533 |
$this->_admin_notices->add(
|
12534 |
+
$this->get_text_inline( 'Sorry, we could not complete the email update. Another user with the same email is already registered.', 'user-exist-message' ) . ' ' .
|
12535 |
+
sprintf( $this->get_text_inline( 'If you would like to give up the ownership of the %s\'s account to %s click the Change Ownership button.', 'user-exist-message_ownership' ), $this->_module_type, '<b>' . $new_email . '</b>' ) .
|
12536 |
sprintf(
|
12537 |
'<a style="margin-left: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
12538 |
$this->get_account_url( 'change_owner', array(
|
12539 |
'state' => 'init',
|
12540 |
'candidate_email' => $new_email
|
12541 |
) ),
|
12542 |
+
$this->get_text_inline( 'Change Ownership', 'change-ownership' )
|
12543 |
),
|
12544 |
+
$oops_text,
|
12545 |
'error'
|
12546 |
);
|
12547 |
break;
|
12548 |
}
|
12549 |
} else {
|
12550 |
+
$this->_admin_notices->add( $this->get_text_inline( 'Your email was successfully updated. You should receive an email with confirmation instructions in few moments.', 'email-updated-message' ) );
|
12551 |
}
|
12552 |
|
12553 |
return;
|
12559 |
|
12560 |
if ( isset( $result->error ) ) {
|
12561 |
$this->_admin_notices->add(
|
12562 |
+
$this->get_text_inline( 'Please provide your full name.', 'name-update-failed-message' ),
|
12563 |
+
$oops_text,
|
12564 |
'error'
|
12565 |
);
|
12566 |
} else {
|
12567 |
+
$this->_admin_notices->add( $this->get_text_inline( 'Your name was successfully updated.', 'name-updated-message' ) );
|
12568 |
}
|
12569 |
|
12570 |
return;
|
12624 |
$this->do_action( 'account_property_edit', 'site', $site_property, $site_property_value );
|
12625 |
|
12626 |
$this->_admin_notices->add( sprintf(
|
12627 |
+
/* translators: %s: User's account property (e.g. email address, name) */
|
12628 |
+
$this->get_text_inline( 'You have successfully updated your %s.', 'x-updated' ),
|
12629 |
+
'<b>' . str_replace( '_', ' ', $p ) . '</b>'
|
12630 |
+
) );
|
12631 |
|
12632 |
return;
|
12633 |
}
|
12680 |
$this->do_action( 'account_page_load_before_departure' );
|
12681 |
}
|
12682 |
|
12683 |
+
/**
|
12684 |
+
* Renders the "Affiliation" page.
|
12685 |
+
*
|
12686 |
+
* @author Leo Fajardo (@leorw)
|
12687 |
+
* @since 1.2.3
|
12688 |
+
*/
|
12689 |
+
function _affiliation_page_render() {
|
12690 |
+
$this->_logger->entrance();
|
12691 |
+
|
12692 |
+
$this->fetch_affiliate_and_terms();
|
12693 |
+
|
12694 |
+
fs_enqueue_local_style( 'fs_affiliation', '/admin/affiliation.css' );
|
12695 |
+
|
12696 |
+
$vars = array( 'id' => $this->_module_id );
|
12697 |
+
echo $this->apply_filters( "/forms/affiliation.php", fs_get_template( '/forms/affiliation.php', $vars ) );
|
12698 |
+
}
|
12699 |
+
|
12700 |
+
|
12701 |
/**
|
12702 |
* Render account page.
|
12703 |
*
|
12708 |
$this->_logger->entrance();
|
12709 |
|
12710 |
$template = 'account.php';
|
12711 |
+
$vars = array( 'id' => $this->_module_id );
|
|
|
|
|
|
|
|
|
12712 |
|
12713 |
/**
|
12714 |
* Added filter to the template to allow developers wrapping the template
|
12765 |
|
12766 |
if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
|
12767 |
$this->_admin_notices->add(
|
12768 |
+
sprintf( $this->get_text_inline( 'Just letting you know that the add-ons information of %s is being pulled from an external server.', 'addons-info-external-message' ), '<b>' . $this->get_plugin_name() . '</b>' ),
|
12769 |
+
$this->get_text_x_inline( 'Heads up', 'advance notice of something that will need attention.', 'heads-up' ),
|
12770 |
'update-nag'
|
12771 |
);
|
12772 |
}
|
13084 |
$trial_period = $this->_trial_days;
|
13085 |
$require_payment = $this->_is_trial_require_payment;
|
13086 |
$trial_url = $this->get_trial_url();
|
13087 |
+
$plans_string = strtolower( $this->get_text_inline( 'Awesome', 'awesome' ) );
|
13088 |
|
13089 |
if ( $this->is_registered() ) {
|
13090 |
// If opted-in, override trial with up to date data from API.
|
13124 |
}
|
13125 |
|
13126 |
$message = sprintf(
|
13127 |
+
$this->get_text_x_inline( 'Hey', 'exclamation', 'hey' ) . '! ' . $this->get_text_inline( 'How do you like %s so far? Test all our %s premium features with a %d-day free trial.', 'trial-x-promotion-message' ),
|
13128 |
sprintf( '<b>%s</b>', $this->get_plugin_name() ),
|
13129 |
$plans_string,
|
13130 |
$trial_period
|
13132 |
|
13133 |
// "No Credit-Card Required" or "No Commitment for N Days".
|
13134 |
$cc_string = $require_payment ?
|
13135 |
+
sprintf( $this->get_text_inline( 'No commitment for %s days - cancel anytime!', 'no-commitment-for-x-days' ), $trial_period ) :
|
13136 |
+
$this->get_text_inline( 'No credit card required', 'no-cc-required' ) . '!';
|
13137 |
|
13138 |
|
13139 |
// Start trial button.
|
13140 |
$button = ' ' . sprintf(
|
13141 |
'<a style="margin-left: 10px; vertical-align: super;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
13142 |
$trial_url,
|
13143 |
+
$this->get_text_x_inline( 'Start free trial', 'call to action', 'start-free-trial' )
|
13144 |
);
|
13145 |
|
13146 |
$this->_admin_notices->add_sticky(
|
13155 |
return true;
|
13156 |
}
|
13157 |
|
13158 |
+
/**
|
13159 |
+
* Lets users/customers know that the product has an affiliate program.
|
13160 |
+
*
|
13161 |
+
* @author Leo Fajardo (@leorw)
|
13162 |
+
* @since 1.2.2.11
|
13163 |
+
*
|
13164 |
+
* @return bool Returns true if the notice has been added.
|
13165 |
+
*/
|
13166 |
+
function _add_affiliate_program_notice() {
|
13167 |
+
if ( ! $this->is_user_admin() ) {
|
13168 |
+
return false;
|
13169 |
+
}
|
13170 |
+
|
13171 |
+
if ( ! $this->is_user_in_admin() ) {
|
13172 |
+
return false;
|
13173 |
+
}
|
13174 |
+
|
13175 |
+
// Check if the notice is already shown.
|
13176 |
+
if ( $this->_admin_notices->has_sticky( 'affiliate_program' ) ) {
|
13177 |
+
return false;
|
13178 |
+
}
|
13179 |
+
|
13180 |
+
if (
|
13181 |
+
// Product has no affiliate program.
|
13182 |
+
! $this->has_affiliate_program() ||
|
13183 |
+
// User has applied for an affiliate account.
|
13184 |
+
! empty( $this->_storage->affiliate_application_data ) ) {
|
13185 |
+
return false;
|
13186 |
+
}
|
13187 |
+
|
13188 |
+
if ( ! $this->apply_filters( 'show_affiliate_program_notice', true ) ) {
|
13189 |
+
// Developer explicitly asked not to show the notice about the affiliate program.
|
13190 |
+
return false;
|
13191 |
+
}
|
13192 |
+
|
13193 |
+
if ( $this->is_activation_mode() || $this->is_pending_activation() ) {
|
13194 |
+
// If not yet opted in/skipped, or pending activation, don't show the notice.
|
13195 |
+
return false;
|
13196 |
+
}
|
13197 |
+
|
13198 |
+
$last_time_notice_was_shown = $this->_storage->get( 'affiliate_program_notice_shown', false );
|
13199 |
+
$was_notice_shown_before = ( false !== $last_time_notice_was_shown );
|
13200 |
+
|
13201 |
+
/**
|
13202 |
+
* Do not show the notice if it was already shown before or less than 30 days have passed since the initial
|
13203 |
+
* activation with FS.
|
13204 |
+
*/
|
13205 |
+
if ( $was_notice_shown_before ||
|
13206 |
+
$this->_storage->install_timestamp > ( time() - ( WP_FS__TIME_24_HOURS_IN_SEC * 30 ) )
|
13207 |
+
) {
|
13208 |
+
return false;
|
13209 |
+
}
|
13210 |
+
|
13211 |
+
if ( ! $this->is_paying() &&
|
13212 |
+
FS_Plugin::AFFILIATE_MODERATION_CUSTOMERS == $this->_plugin->affiliate_moderation ) {
|
13213 |
+
// If the user is not a customer and the affiliate program is only for customers, don't show the notice.
|
13214 |
+
return false;
|
13215 |
+
}
|
13216 |
+
|
13217 |
+
$message = sprintf(
|
13218 |
+
$this->get_text_inline( 'Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!', 'become-an-ambassador-admin-notice' ),
|
13219 |
+
sprintf( '<strong>%s</strong>', $this->get_plugin_name() ),
|
13220 |
+
$this->get_module_label( true )
|
13221 |
+
);
|
13222 |
+
|
13223 |
+
// HTML code for the "Learn more..." button.
|
13224 |
+
$button = ' ' . sprintf(
|
13225 |
+
'<a style="display: block; margin-top: 10px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
13226 |
+
$this->_get_admin_page_url( 'affiliation' ),
|
13227 |
+
$this->get_text_inline( 'Learn more', 'learn-more' ) . '...'
|
13228 |
+
);
|
13229 |
+
|
13230 |
+
$this->_admin_notices->add_sticky(
|
13231 |
+
$this->apply_filters( 'affiliate_program_notice', "{$message} {$button}" ),
|
13232 |
+
'affiliate_program',
|
13233 |
+
'',
|
13234 |
+
'promotion'
|
13235 |
+
);
|
13236 |
+
|
13237 |
+
$this->_storage->affiliate_program_notice_shown = WP_FS__SCRIPT_START_TIME;
|
13238 |
+
|
13239 |
+
return true;
|
13240 |
+
}
|
13241 |
+
|
13242 |
/**
|
13243 |
* @author Vova Feldman (@svovaf)
|
13244 |
* @since 1.2.1.5
|
13341 |
if ( $this->is_registered() ) {
|
13342 |
if ( ! $this->is_paying() && $this->has_paid_plan() ) {
|
13343 |
$this->add_plugin_action_link(
|
13344 |
+
$this->get_text_inline( 'Upgrade', 'upgrade' ),
|
13345 |
$this->get_upgrade_url(),
|
13346 |
false,
|
13347 |
7,
|
13351 |
|
13352 |
if ( $this->has_addons() ) {
|
13353 |
$this->add_plugin_action_link(
|
13354 |
+
$this->get_text_inline( 'Add-Ons', 'add-ons' ),
|
13355 |
$this->_get_admin_page_url( 'addons' ),
|
13356 |
false,
|
13357 |
9,
|
13379 |
add_action( 'admin_footer', array( &$this, '_add_license_activation_dialog_box' ) );
|
13380 |
}
|
13381 |
|
13382 |
+
$link_text = $this->is_free_plan() ?
|
13383 |
+
$this->get_text_inline( 'Activate License', 'activate-license' ) :
|
13384 |
+
$this->get_text_inline( 'Change License', 'change-license' );
|
|
|
|
|
13385 |
|
13386 |
$this->add_plugin_action_link(
|
13387 |
$link_text,
|
13442 |
|
13443 |
if ( $this->is_registered() ) {
|
13444 |
if ( $this->is_tracking_allowed() ) {
|
13445 |
+
$link_text_id = $this->get_text_inline( 'Opt Out', 'opt-out' );
|
13446 |
} else {
|
13447 |
+
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
|
13448 |
}
|
13449 |
|
13450 |
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
|
13451 |
} else {
|
13452 |
+
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
|
13453 |
|
13454 |
$params = ! $this->is_anonymous() ?
|
13455 |
array() :
|
13463 |
|
13464 |
if ( $this->is_plugin() && self::is_plugins_page() ) {
|
13465 |
$this->add_plugin_action_link(
|
13466 |
+
$link_text_id,
|
13467 |
$url,
|
13468 |
false,
|
13469 |
13,
|
13632 |
|
13633 |
// @since 1.2.1.5 The free version is auto deactivated.
|
13634 |
$deactivation_step = version_compare( $this->version, '1.2.1.5', '<' ) ?
|
13635 |
+
( '<li>' . $this->esc_html_inline( 'Deactivate the free version', 'deactivate-free-version' ) . '.</li>' ) :
|
13636 |
'';
|
13637 |
|
13638 |
return sprintf(
|
13639 |
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
13640 |
+
$this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
|
13641 |
$this->get_latest_download_link( sprintf(
|
13642 |
+
/* translators: %s: Plan title */
|
13643 |
+
$this->get_text_inline( 'Download the latest %s version', 'download-latest-x-version' ),
|
13644 |
$plan_title
|
13645 |
) ),
|
13646 |
$deactivation_step,
|
13647 |
+
$this->get_text_inline( 'Upload and activate the downloaded version', 'upload-and-activate' ),
|
13648 |
'//bit.ly/upload-wp-' . $this->_module_type . 's',
|
13649 |
+
$this->get_text_inline( 'How to upload and activate?', 'howto-upload-activate' )
|
13650 |
);
|
13651 |
}
|
13652 |
|
13662 |
return fs_text( $key, $this->_slug );
|
13663 |
}
|
13664 |
|
13665 |
+
/**
|
13666 |
+
* @author Vova Feldman (@svovaf)
|
13667 |
+
* @since 1.2.3
|
13668 |
+
*
|
13669 |
+
* @param string $text Translatable string.
|
13670 |
+
* @param string $key String key for overrides.
|
13671 |
+
*
|
13672 |
+
* @return string
|
13673 |
+
*/
|
13674 |
+
function get_text_inline( $text, $key = '' ) {
|
13675 |
+
return _fs_text_inline( $text, $key, $this->_slug );
|
13676 |
+
}
|
13677 |
+
|
13678 |
+
/**
|
13679 |
+
* @author Vova Feldman (@svovaf)
|
13680 |
+
* @since 1.2.3
|
13681 |
+
*
|
13682 |
+
* @param string $text Translatable string.
|
13683 |
+
* @param string $context Context information for the translators.
|
13684 |
+
* @param string $key String key for overrides.
|
13685 |
+
*
|
13686 |
+
* @return string
|
13687 |
+
*/
|
13688 |
+
function get_text_x_inline( $text, $context, $key ) {
|
13689 |
+
return _fs_text_x_inline( $text, $context, $key, $this->_slug );
|
13690 |
+
}
|
13691 |
+
|
13692 |
+
/**
|
13693 |
+
* @author Vova Feldman (@svovaf)
|
13694 |
+
* @since 1.2.3
|
13695 |
+
*
|
13696 |
+
* @param string $text Translatable string.
|
13697 |
+
* @param string $key String key for overrides.
|
13698 |
+
*
|
13699 |
+
* @return string
|
13700 |
+
*/
|
13701 |
+
function esc_html_inline( $text, $key ) {
|
13702 |
+
return esc_html( _fs_text_inline( $text, $key, $this->_slug ) );
|
13703 |
+
}
|
13704 |
+
|
13705 |
#----------------------------------------------------------------------------------
|
13706 |
#region Versioning
|
13707 |
#----------------------------------------------------------------------------------
|
13805 |
if ( ! $this->is_registered() ) {
|
13806 |
// Not registered.
|
13807 |
self::shoot_ajax_failure( array(
|
13808 |
+
'message' => $this->get_text_inline( 'Auto installation only works for opted-in users.', 'auto-install-error-not-opted-in' ),
|
13809 |
'code' => 'premium_installed',
|
13810 |
) );
|
13811 |
}
|
13812 |
|
13813 |
+
$plugin_id = fs_request_get( 'target_module_id', $this->get_id() );
|
13814 |
|
13815 |
if ( ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
13816 |
// Invalid ID.
|
13817 |
self::shoot_ajax_failure( array(
|
13818 |
+
'message' => $this->get_text_inline( 'Invalid module ID.', 'auto-install-error-invalid-id' ),
|
13819 |
'code' => 'invalid_module_id',
|
13820 |
) );
|
13821 |
}
|
13824 |
if ( $this->is_premium() ) {
|
13825 |
// Already using the premium code version.
|
13826 |
self::shoot_ajax_failure( array(
|
13827 |
+
'message' => $this->get_text_inline( 'Premium version already active.', 'auto-install-error-premium-activated' ),
|
13828 |
'code' => 'premium_installed',
|
13829 |
) );
|
13830 |
}
|
13831 |
if ( ! $this->can_use_premium_code() ) {
|
13832 |
// Don't have access to the premium code.
|
13833 |
self::shoot_ajax_failure( array(
|
13834 |
+
'message' => $this->get_text_inline( 'You do not have a valid license to access the premium version.', 'auto-install-error-invalid-license' ),
|
13835 |
'code' => 'invalid_license',
|
13836 |
) );
|
13837 |
}
|
13838 |
if ( ! $this->has_release_on_freemius() ) {
|
13839 |
// Plugin is a serviceware, no premium code version.
|
13840 |
self::shoot_ajax_failure( array(
|
13841 |
+
'message' => $this->get_text_inline( 'Plugin is a "Serviceware" which means it does not have a premium code version.', 'auto-install-error-serviceware' ),
|
13842 |
'code' => 'premium_version_missing',
|
13843 |
) );
|
13844 |
}
|
13848 |
if ( ! is_object( $addon ) ) {
|
13849 |
// Invalid add-on ID.
|
13850 |
self::shoot_ajax_failure( array(
|
13851 |
+
'message' => $this->get_text_inline( 'Invalid module ID.', 'auto-install-error-invalid-id' ),
|
13852 |
'code' => 'invalid_module_id',
|
13853 |
) );
|
13854 |
}
|
13856 |
if ( $this->is_addon_activated( $plugin_id, true ) ) {
|
13857 |
// Premium add-on version is already activated.
|
13858 |
self::shoot_ajax_failure( array(
|
13859 |
+
'message' => $this->get_text_inline( 'Premium add-on version already installed.', 'auto-install-error-premium-addon-activated' ),
|
13860 |
'code' => 'premium_installed',
|
13861 |
) );
|
13862 |
}
|
13928 |
}
|
13929 |
}
|
13930 |
|
13931 |
+
$vars = array(
|
13932 |
+
'id' => $this->_module_id,
|
13933 |
+
'target_module_id' => $plugin_id,
|
13934 |
+
'slug' => $this->_slug,
|
13935 |
+
);
|
13936 |
|
13937 |
fs_require_template( 'auto-installation.php', $vars );
|
13938 |
}
|
14202 |
require_once WP_FS__DIR_INCLUDES . '/customizer/class-fs-customizer-upsell-control.php';
|
14203 |
|
14204 |
$customizer->add_section( 'freemius_upsell', array(
|
14205 |
+
'title' => '★ ' . $this->get_text_inline( 'View paid features', 'view-paid-features' ),
|
14206 |
'priority' => 1,
|
14207 |
) );
|
14208 |
$customizer->add_setting( 'freemius_upsell', array(
|
14320 |
}
|
14321 |
|
14322 |
#endregion
|
14323 |
+
}
|
includes/vendor/freemius/wordpress-sdk/includes/class-fs-plugin-updater.php
CHANGED
@@ -128,7 +128,7 @@
|
|
128 |
$plugin_update_row = preg_replace(
|
129 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
130 |
'$1 $2 ' . sprintf(
|
131 |
-
$this->_fs->
|
132 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
133 |
$r->new_version ) .
|
134 |
'$4',
|
@@ -355,7 +355,7 @@ if ( !isset($info->error) ) {
|
|
355 |
$data->version = $this->_fs->get_plugin_version();
|
356 |
} else {
|
357 |
if ( $is_addon ) {
|
358 |
-
$data->name = $addon->title . ' ' . $this->_fs->
|
359 |
$data->slug = $addon->slug;
|
360 |
$data->url = WP_FS__ADDRESS;
|
361 |
$data->package = $new_version->url;
|
@@ -487,7 +487,7 @@ if ( !isset($info->error) ) {
|
|
487 |
if ( ! empty( $plugin_id ) && ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
488 |
// Invalid plugin ID.
|
489 |
return array(
|
490 |
-
'message' => $this->_fs->
|
491 |
'code' => 'invalid_module_id',
|
492 |
);
|
493 |
}
|
@@ -501,29 +501,27 @@ if ( !isset($info->error) ) {
|
|
501 |
if ( ! is_object( $addon ) ) {
|
502 |
// Invalid add-on ID.
|
503 |
return array(
|
504 |
-
'message' => $this->_fs->
|
505 |
'code' => 'invalid_module_id',
|
506 |
);
|
507 |
}
|
508 |
|
509 |
$slug = $addon->slug;
|
510 |
-
$title = $addon->title . ' ' . $this->_fs->
|
511 |
|
512 |
$is_addon = true;
|
513 |
} else {
|
514 |
$slug = $this->_fs->get_slug();
|
515 |
$title = $this->_fs->get_plugin_title() .
|
516 |
-
( $this->_fs->is_addon() ? ' ' . $this->_fs->
|
517 |
}
|
518 |
|
519 |
if ( $this->is_premium_plugin_active( $plugin_id ) ) {
|
520 |
// Premium version already activated.
|
521 |
return array(
|
522 |
-
'message' => $
|
523 |
-
|
524 |
-
|
525 |
-
'auto-install-error-premium-activated'
|
526 |
-
),
|
527 |
'code' => 'premium_installed',
|
528 |
);
|
529 |
}
|
@@ -552,7 +550,7 @@ if ( !isset($info->error) ) {
|
|
552 |
|
553 |
$skin_args = array(
|
554 |
'type' => 'web',
|
555 |
-
'title' => sprintf( $this->_fs->
|
556 |
'url' => esc_url_raw( $install_url ),
|
557 |
'nonce' => 'install-plugin_' . $slug,
|
558 |
'plugin' => '',
|
@@ -593,7 +591,7 @@ if ( !isset($info->error) ) {
|
|
593 |
global $wp_filesystem;
|
594 |
|
595 |
$error_code = 'unable_to_connect_to_filesystem';
|
596 |
-
$error_message = $this->_fs->
|
597 |
|
598 |
// Pass through the error from WP_Filesystem if one was raised.
|
599 |
if ( $wp_filesystem instanceof WP_Filesystem_Base &&
|
@@ -699,7 +697,7 @@ if ( !isset($info->error) ) {
|
|
699 |
} else {
|
700 |
return new WP_Error(
|
701 |
'rename_failed',
|
702 |
-
$this->_fs->
|
703 |
array(
|
704 |
'found' => $subdir_name,
|
705 |
'expected' => $desired_slug
|
128 |
$plugin_update_row = preg_replace(
|
129 |
'/(\<div.+>)(.+)(\<a.+\<a.+)\<\/div\>/is',
|
130 |
'$1 $2 ' . sprintf(
|
131 |
+
$this->_fs->get_text_inline( '%sRenew your license now%s to access version %s features and support.', 'renew-license-now' ),
|
132 |
'<a href="' . $this->_fs->pricing_url() . '">', '</a>',
|
133 |
$r->new_version ) .
|
134 |
'$4',
|
355 |
$data->version = $this->_fs->get_plugin_version();
|
356 |
} else {
|
357 |
if ( $is_addon ) {
|
358 |
+
$data->name = $addon->title . ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' );
|
359 |
$data->slug = $addon->slug;
|
360 |
$data->url = WP_FS__ADDRESS;
|
361 |
$data->package = $new_version->url;
|
487 |
if ( ! empty( $plugin_id ) && ! FS_Plugin::is_valid_id( $plugin_id ) ) {
|
488 |
// Invalid plugin ID.
|
489 |
return array(
|
490 |
+
'message' => $this->_fs->get_text_inline( 'Invalid module ID.', 'auto-install-error-invalid-id' ),
|
491 |
'code' => 'invalid_module_id',
|
492 |
);
|
493 |
}
|
501 |
if ( ! is_object( $addon ) ) {
|
502 |
// Invalid add-on ID.
|
503 |
return array(
|
504 |
+
'message' => $this->_fs->get_text_inline( 'Invalid module ID.', 'auto-install-error-invalid-id' ),
|
505 |
'code' => 'invalid_module_id',
|
506 |
);
|
507 |
}
|
508 |
|
509 |
$slug = $addon->slug;
|
510 |
+
$title = $addon->title . ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' );
|
511 |
|
512 |
$is_addon = true;
|
513 |
} else {
|
514 |
$slug = $this->_fs->get_slug();
|
515 |
$title = $this->_fs->get_plugin_title() .
|
516 |
+
( $this->_fs->is_addon() ? ' ' . $this->_fs->get_text_inline( 'Add-On', 'addon' ) : '' );
|
517 |
}
|
518 |
|
519 |
if ( $this->is_premium_plugin_active( $plugin_id ) ) {
|
520 |
// Premium version already activated.
|
521 |
return array(
|
522 |
+
'message' => $is_addon ?
|
523 |
+
$this->_fs->get_text_inline( 'Premium add-on version already installed.', 'auto-install-error-premium-addon-activated' ) :
|
524 |
+
$this->_fs->get_text_inline( 'Premium version already active.', 'auto-install-error-premium-activated' ),
|
|
|
|
|
525 |
'code' => 'premium_installed',
|
526 |
);
|
527 |
}
|
550 |
|
551 |
$skin_args = array(
|
552 |
'type' => 'web',
|
553 |
+
'title' => sprintf( $this->_fs->get_text_inline( 'Installing plugin: %s', 'installing-plugin-x' ), $title ),
|
554 |
'url' => esc_url_raw( $install_url ),
|
555 |
'nonce' => 'install-plugin_' . $slug,
|
556 |
'plugin' => '',
|
591 |
global $wp_filesystem;
|
592 |
|
593 |
$error_code = 'unable_to_connect_to_filesystem';
|
594 |
+
$error_message = $this->_fs->get_text_inline( 'Unable to connect to the filesystem. Please confirm your credentials.' );
|
595 |
|
596 |
// Pass through the error from WP_Filesystem if one was raised.
|
597 |
if ( $wp_filesystem instanceof WP_Filesystem_Base &&
|
697 |
} else {
|
698 |
return new WP_Error(
|
699 |
'rename_failed',
|
700 |
+
$this->_fs->get_text_inline( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'module-package-rename-failure' ),
|
701 |
array(
|
702 |
'found' => $subdir_name,
|
703 |
'expected' => $desired_slug
|
includes/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-support-section.php
CHANGED
@@ -52,19 +52,19 @@
|
|
52 |
$json['theme_title'] = $this->fs->get_plugin_name();
|
53 |
|
54 |
if ( $is_contact_visible && $is_support_visible ) {
|
55 |
-
$json['theme_title'] .= ' ' . $this->fs->
|
56 |
}
|
57 |
|
58 |
if ( $is_contact_visible ) {
|
59 |
$json['contact'] = array(
|
60 |
-
'label' => $this->fs->
|
61 |
'url' => $this->fs->contact_url(),
|
62 |
);
|
63 |
}
|
64 |
|
65 |
if ( $is_support_visible ) {
|
66 |
$json['support'] = array(
|
67 |
-
'label' => $this->fs->
|
68 |
'url' => $this->fs->get_support_forum_url()
|
69 |
);
|
70 |
}
|
52 |
$json['theme_title'] = $this->fs->get_plugin_name();
|
53 |
|
54 |
if ( $is_contact_visible && $is_support_visible ) {
|
55 |
+
$json['theme_title'] .= ' ' . $this->fs->get_text_inline( 'Support', 'support' );
|
56 |
}
|
57 |
|
58 |
if ( $is_contact_visible ) {
|
59 |
$json['contact'] = array(
|
60 |
+
'label' => $this->fs->get_text_inline( 'Contact Us', 'contact-us' ),
|
61 |
'url' => $this->fs->contact_url(),
|
62 |
);
|
63 |
}
|
64 |
|
65 |
if ( $is_support_visible ) {
|
66 |
$json['support'] = array(
|
67 |
+
'label' => $this->fs->get_text_inline( 'Support Forum', 'support-forum' ),
|
68 |
'url' => $this->fs->get_support_forum_url()
|
69 |
);
|
70 |
}
|
includes/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-upsell-control.php
CHANGED
@@ -49,7 +49,7 @@
|
|
49 |
* Json conversion
|
50 |
*/
|
51 |
public function to_json() {
|
52 |
-
$pricing_cta = esc_html( $this->fs->
|
53 |
|
54 |
parent::to_json();
|
55 |
|
@@ -103,7 +103,7 @@
|
|
103 |
$this->json['plans'] = $pricing->plans;
|
104 |
|
105 |
$this->json['strings'] = array(
|
106 |
-
'plan' => $this->fs->
|
107 |
);
|
108 |
}
|
109 |
|
49 |
* Json conversion
|
50 |
*/
|
51 |
public function to_json() {
|
52 |
+
$pricing_cta = esc_html( $this->fs->get_pricing_cta_label() ) . ' ' . ( is_rtl() ? '←' : '➤' );
|
53 |
|
54 |
parent::to_json();
|
55 |
|
103 |
$this->json['plans'] = $pricing->plans;
|
104 |
|
105 |
$this->json['strings'] = array(
|
106 |
+
'plan' => $this->fs->get_text_x_inline( 'Plan', 'as product pricing plan', 'plan' ),
|
107 |
);
|
108 |
}
|
109 |
|
includes/vendor/freemius/wordpress-sdk/includes/customizer/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
3 |
+
// Hide file structure from users on unprotected servers.
|
includes/vendor/freemius/wordpress-sdk/includes/debug/class-fs-debug-bar-panel.php
CHANGED
@@ -45,7 +45,7 @@
|
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
-
return number_format( 100 * $total_time, 2 ) . ' ' .
|
49 |
}
|
50 |
|
51 |
function render() {
|
45 |
$total_time += $l['total'];
|
46 |
}
|
47 |
|
48 |
+
return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
|
49 |
}
|
50 |
|
51 |
function render() {
|
includes/vendor/freemius/wordpress-sdk/includes/debug/debug-bar-start.php
CHANGED
@@ -38,8 +38,8 @@
|
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
-
|
42 |
-
Freemius_Debug_Bar_Panel::requests_count() . ' ' .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
38 |
require_once dirname( __FILE__ ) . '/class-fs-debug-bar-panel.php';
|
39 |
$statuses[] = array(
|
40 |
'fs_api_requests',
|
41 |
+
fs_text_inline( 'Freemius API' ),
|
42 |
+
Freemius_Debug_Bar_Panel::requests_count() . ' ' . fs_text_inline( 'Requests' ) .
|
43 |
' (' . Freemius_Debug_Bar_Panel::total_time() . ')'
|
44 |
);
|
45 |
}
|
includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate-terms.php
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.2.3
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class FS_AffiliateTerms extends FS_Scope_Entity {
|
14 |
+
|
15 |
+
#region Properties
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var bool
|
19 |
+
*/
|
20 |
+
public $is_active;
|
21 |
+
/**
|
22 |
+
* @var string Enum: `affiliation` or `rewards`. Defaults to `affiliation`.
|
23 |
+
*/
|
24 |
+
public $type;
|
25 |
+
/**
|
26 |
+
* @var string Enum: `payout` or `credit`. Defaults to `payout`.
|
27 |
+
*/
|
28 |
+
public $reward_type;
|
29 |
+
/**
|
30 |
+
* If `first`, the referral will be attributed to the first visited source containing the affiliation link that
|
31 |
+
* was clicked.
|
32 |
+
*
|
33 |
+
* @var string Enum: `first` or `last`. Defaults to `first`.
|
34 |
+
*/
|
35 |
+
public $referral_attribution;
|
36 |
+
/**
|
37 |
+
* @var int Defaults to `30`, `0` for session cookie, and `null` for endless cookie (until cookies are cleaned).
|
38 |
+
*/
|
39 |
+
public $cookie_days;
|
40 |
+
/**
|
41 |
+
* @var int
|
42 |
+
*/
|
43 |
+
public $commission;
|
44 |
+
/**
|
45 |
+
* @var string Enum: `percentage` or `dollar`. Defaults to `percentage`.
|
46 |
+
*/
|
47 |
+
public $commission_type;
|
48 |
+
/**
|
49 |
+
* @var null|int Defaults to `0` (affiliate only on first payment). `null` for commission for all renewals. If
|
50 |
+
* greater than `0`, affiliate will get paid for all renewals for `commission_renewals_days` days after
|
51 |
+
* the initial upgrade/purchase.
|
52 |
+
*/
|
53 |
+
public $commission_renewals_days;
|
54 |
+
/**
|
55 |
+
* @var int Only cents and no percentage. In US cents, e.g.: 100 = $1.00. Defaults to `null`.
|
56 |
+
*/
|
57 |
+
public $install_commission;
|
58 |
+
/**
|
59 |
+
* @var string Required default target link, e.g.: pricing page.
|
60 |
+
*/
|
61 |
+
public $default_url;
|
62 |
+
/**
|
63 |
+
* @var string One of the following: 'all', 'new_customer', 'new_user'.
|
64 |
+
* If 'all' - reward for any user type.
|
65 |
+
* If 'new_customer' - reward only for new customers.
|
66 |
+
* If 'new_user' - reward only for new users.
|
67 |
+
*/
|
68 |
+
public $reward_customer_type;
|
69 |
+
/**
|
70 |
+
* @var int Defaults to `0` (affiliate only on directly affiliated links). `null` if an affiliate will get
|
71 |
+
* paid for all customers' lifetime payments. If greater than `0`, an affiliate will get paid for all
|
72 |
+
* customer payments for `future_payments_days` days after the initial payment.
|
73 |
+
*/
|
74 |
+
public $future_payments_days;
|
75 |
+
/**
|
76 |
+
* @var bool If `true`, allow referrals from social sites.
|
77 |
+
*/
|
78 |
+
public $is_social_allowed;
|
79 |
+
/**
|
80 |
+
* @var bool If `true`, allow conversions without HTTP referrer header at all.
|
81 |
+
*/
|
82 |
+
public $is_app_allowed;
|
83 |
+
/**
|
84 |
+
* @var bool If `true`, allow referrals from any site.
|
85 |
+
*/
|
86 |
+
public $is_any_site_allowed;
|
87 |
+
|
88 |
+
#endregion Properties
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @author Leo Fajardo (@leorw)
|
92 |
+
*
|
93 |
+
* @return string
|
94 |
+
*/
|
95 |
+
function get_formatted_commission()
|
96 |
+
{
|
97 |
+
return ( 'dollar' === $this->commission_type ) ?
|
98 |
+
( '$' . $this->commission ) :
|
99 |
+
( $this->commission . '%' );
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* @author Leo Fajardo (@leorw)
|
104 |
+
*
|
105 |
+
* @return bool
|
106 |
+
*/
|
107 |
+
function has_lifetime_commission() {
|
108 |
+
return ( 0 !== $this->future_payments_days );
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* @author Leo Fajardo (@leorw)
|
113 |
+
*
|
114 |
+
* @return bool
|
115 |
+
*/
|
116 |
+
function is_session_cookie() {
|
117 |
+
return ( 0 == $this->cookie_days );
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* @author Leo Fajardo (@leorw)
|
122 |
+
*
|
123 |
+
* @return bool
|
124 |
+
*/
|
125 |
+
function has_renewals_commission() {
|
126 |
+
return ( is_null( $this->commission_renewals_days ) || $this->commission_renewals_days > 0 );
|
127 |
+
}
|
128 |
+
}
|
includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.2.3
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
class FS_Affiliate extends FS_Scope_Entity {
|
14 |
+
|
15 |
+
#region Properties
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
public $paypal_email;
|
21 |
+
/**
|
22 |
+
* @var number
|
23 |
+
*/
|
24 |
+
public $custom_affiliate_terms_id;
|
25 |
+
/**
|
26 |
+
* @var boolean
|
27 |
+
*/
|
28 |
+
public $is_using_custom_terms;
|
29 |
+
/**
|
30 |
+
* @var string status Enum: `pending`, `rejected`, `suspended`, or `active`. Defaults to `pending`.
|
31 |
+
*/
|
32 |
+
public $status;
|
33 |
+
/**
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
+
public $domain;
|
37 |
+
|
38 |
+
#endregion Properties
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @author Leo Fajardo
|
42 |
+
*
|
43 |
+
* @return bool
|
44 |
+
*/
|
45 |
+
function is_active() {
|
46 |
+
return ( 'active' === $this->status );
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @author Leo Fajardo
|
51 |
+
*
|
52 |
+
* @return bool
|
53 |
+
*/
|
54 |
+
function is_pending() {
|
55 |
+
return ( 'pending' === $this->status );
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @author Leo Fajardo
|
60 |
+
*
|
61 |
+
* @return bool
|
62 |
+
*/
|
63 |
+
function is_suspended() {
|
64 |
+
return ( 'suspended' === $this->status );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @author Leo Fajardo
|
69 |
+
*
|
70 |
+
* @return bool
|
71 |
+
*/
|
72 |
+
function is_rejected() {
|
73 |
+
return ( 'rejected' === $this->status );
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* @author Leo Fajardo
|
78 |
+
*
|
79 |
+
* @return bool
|
80 |
+
*/
|
81 |
+
function is_blocked() {
|
82 |
+
return ( 'blocked' === $this->status );
|
83 |
+
}
|
84 |
+
}
|
includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-entity.php
CHANGED
@@ -42,9 +42,9 @@
|
|
42 |
* @param bool|object $entity
|
43 |
*/
|
44 |
function __construct( $entity = false ) {
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
|
49 |
$props = fs_get_object_public_vars( $this );
|
50 |
|
42 |
* @param bool|object $entity
|
43 |
*/
|
44 |
function __construct( $entity = false ) {
|
45 |
+
if ( ! ( $entity instanceof stdClass ) && ! ( $entity instanceof FS_Entity ) ) {
|
46 |
+
return;
|
47 |
+
}
|
48 |
|
49 |
$props = fs_get_object_public_vars( $this );
|
50 |
|
includes/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin.php
CHANGED
@@ -61,6 +61,17 @@
|
|
61 |
* @var bool
|
62 |
*/
|
63 |
public $is_live;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
#endregion Install Specific Properties
|
66 |
|
@@ -90,6 +101,16 @@
|
|
90 |
return isset( $this->parent_plugin_id ) && is_numeric( $this->parent_plugin_id );
|
91 |
}
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
static function get_type() {
|
94 |
return 'plugin';
|
95 |
}
|
61 |
* @var bool
|
62 |
*/
|
63 |
public $is_live;
|
64 |
+
/**
|
65 |
+
* @author Leo Fajardo (@leorw)
|
66 |
+
*
|
67 |
+
* @since 1.2.3
|
68 |
+
*
|
69 |
+
* @var string|false false if the module doesn't have an affiliate program or one of the following:
|
70 |
+
* 'selected', 'customers', or 'all'.
|
71 |
+
*/
|
72 |
+
public $affiliate_moderation;
|
73 |
+
|
74 |
+
const AFFILIATE_MODERATION_CUSTOMERS = 'customers';
|
75 |
|
76 |
#endregion Install Specific Properties
|
77 |
|
101 |
return isset( $this->parent_plugin_id ) && is_numeric( $this->parent_plugin_id );
|
102 |
}
|
103 |
|
104 |
+
/**
|
105 |
+
* @author Leo Fajardo (@leorw)
|
106 |
+
* @since 1.2.3
|
107 |
+
*
|
108 |
+
* @return bool
|
109 |
+
*/
|
110 |
+
function has_affiliate_program() {
|
111 |
+
return ( ! empty( $this->affiliate_moderation ) );
|
112 |
+
}
|
113 |
+
|
114 |
static function get_type() {
|
115 |
return 'plugin';
|
116 |
}
|
includes/vendor/freemius/wordpress-sdk/includes/fs-core-functions.php
CHANGED
@@ -1,674 +1,1118 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
//
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.0.3
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
if ( ! function_exists( 'fs_dummy' ) ) {
|
14 |
+
function fs_dummy() {
|
15 |
+
}
|
16 |
+
}
|
17 |
+
|
18 |
+
/* Url.
|
19 |
+
--------------------------------------------------------------------------------------------*/
|
20 |
+
if ( ! function_exists( 'fs_get_url_daily_cache_killer' ) ) {
|
21 |
+
function fs_get_url_daily_cache_killer() {
|
22 |
+
return date( '\YY\Mm\Dd' );
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
/* Templates / Views.
|
27 |
+
--------------------------------------------------------------------------------------------*/
|
28 |
+
if ( ! function_exists( 'fs_get_template_path' ) ) {
|
29 |
+
function fs_get_template_path( $path ) {
|
30 |
+
return WP_FS__DIR_TEMPLATES . '/' . trim( $path, '/' );
|
31 |
+
}
|
32 |
+
|
33 |
+
function fs_include_template( $path, &$params = null ) {
|
34 |
+
$VARS = &$params;
|
35 |
+
include fs_get_template_path( $path );
|
36 |
+
}
|
37 |
+
|
38 |
+
function fs_include_once_template( $path, &$params = null ) {
|
39 |
+
$VARS = &$params;
|
40 |
+
include_once fs_get_template_path( $path );
|
41 |
+
}
|
42 |
+
|
43 |
+
function fs_require_template( $path, &$params = null ) {
|
44 |
+
$VARS = &$params;
|
45 |
+
require fs_get_template_path( $path );
|
46 |
+
}
|
47 |
+
|
48 |
+
function fs_require_once_template( $path, &$params = null ) {
|
49 |
+
$VARS = &$params;
|
50 |
+
require_once fs_get_template_path( $path );
|
51 |
+
}
|
52 |
+
|
53 |
+
function fs_get_template( $path, &$params = null ) {
|
54 |
+
ob_start();
|
55 |
+
|
56 |
+
$VARS = &$params;
|
57 |
+
require fs_get_template_path( $path );
|
58 |
+
|
59 |
+
return ob_get_clean();
|
60 |
+
}
|
61 |
+
}
|
62 |
+
|
63 |
+
/* Scripts and styles including.
|
64 |
+
--------------------------------------------------------------------------------------------*/
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Generates an absolute URL to the given path. This function ensures that the URL will be correct whether the asset
|
68 |
+
* is inside a plugin's folder or a theme's folder.
|
69 |
+
*
|
70 |
+
* Examples:
|
71 |
+
* 1. "themes" folder
|
72 |
+
* Path: C:/xampp/htdocs/fswp/wp-content/themes/twentytwelve/freemius/assets/css/admin/common.css
|
73 |
+
* URL: http://fswp:8080/wp-content/themes/twentytwelve/freemius/assets/css/admin/common.css
|
74 |
+
*
|
75 |
+
* 2. "plugins" folder
|
76 |
+
* Path: C:/xampp/htdocs/fswp/wp-content/plugins/rating-widget-premium/freemius/assets/css/admin/common.css
|
77 |
+
* URL: http://fswp:8080/wp-content/plugins/rating-widget-premium/freemius/assets/css/admin/common.css
|
78 |
+
*
|
79 |
+
* @author Leo Fajardo (@leorw)
|
80 |
+
* @since 1.2.2
|
81 |
+
*
|
82 |
+
* @param string $asset_abs_path Asset's absolute path.
|
83 |
+
*
|
84 |
+
* @return string Asset's URL.
|
85 |
+
*/
|
86 |
+
function fs_asset_url( $asset_abs_path ) {
|
87 |
+
$wp_content_dir = fs_normalize_path( WP_CONTENT_DIR );
|
88 |
+
$asset_abs_path = fs_normalize_path( $asset_abs_path );
|
89 |
+
$asset_rel_path = str_replace( $wp_content_dir, '', $asset_abs_path );
|
90 |
+
|
91 |
+
$asset_url = content_url( fs_normalize_path( $asset_rel_path ) );
|
92 |
+
|
93 |
+
return $asset_url;
|
94 |
+
}
|
95 |
+
|
96 |
+
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
97 |
+
wp_enqueue_style( $handle, fs_asset_url( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ), $deps, $ver, $media );
|
98 |
+
}
|
99 |
+
|
100 |
+
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
101 |
+
wp_enqueue_script( $handle, fs_asset_url( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ), $deps, $ver, $in_footer );
|
102 |
+
}
|
103 |
+
|
104 |
+
function fs_img_url( $path, $img_dir = WP_FS__DIR_IMG ) {
|
105 |
+
return ( fs_asset_url( $img_dir . '/' . trim( $path, '/' ) ) );
|
106 |
+
}
|
107 |
+
|
108 |
+
#--------------------------------------------------------------------------------
|
109 |
+
#region Request handlers.
|
110 |
+
#--------------------------------------------------------------------------------
|
111 |
+
|
112 |
+
if ( ! function_exists( 'fs_request_get' ) ) {
|
113 |
+
/**
|
114 |
+
* @param string $key
|
115 |
+
* @param mixed $def
|
116 |
+
* @param string|bool $type Since 1.2.1.7 - when set to 'get' will look for the value passed via querystring, when
|
117 |
+
* set to 'post' will look for the value passed via the POST request's body, otherwise,
|
118 |
+
* will check if the parameter was passed in any of the two.
|
119 |
+
*
|
120 |
+
* @return mixed
|
121 |
+
*/
|
122 |
+
function fs_request_get( $key, $def = false, $type = false ) {
|
123 |
+
if ( is_string( $type ) ) {
|
124 |
+
$type = strtolower( $type );
|
125 |
+
}
|
126 |
+
|
127 |
+
switch ( $type ) {
|
128 |
+
case 'post':
|
129 |
+
$value = isset( $_POST[ $key ] ) ? $_POST[ $key ] : $def;
|
130 |
+
break;
|
131 |
+
case 'get':
|
132 |
+
$value = isset( $_GET[ $key ] ) ? $_GET[ $key ] : $def;
|
133 |
+
break;
|
134 |
+
default:
|
135 |
+
$value = isset( $_REQUEST[ $key ] ) ? $_REQUEST[ $key ] : $def;
|
136 |
+
break;
|
137 |
+
}
|
138 |
+
|
139 |
+
return $value;
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
if ( ! function_exists( 'fs_request_has' ) ) {
|
144 |
+
function fs_request_has( $key ) {
|
145 |
+
return isset( $_REQUEST[ $key ] );
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
if ( ! function_exists( 'fs_request_get_bool' ) ) {
|
150 |
+
function fs_request_get_bool( $key, $def = false ) {
|
151 |
+
if ( ! isset( $_REQUEST[ $key ] ) ) {
|
152 |
+
return $def;
|
153 |
+
}
|
154 |
+
|
155 |
+
if ( 1 == $_REQUEST[ $key ] || 'true' === strtolower( $_REQUEST[ $key ] ) ) {
|
156 |
+
return true;
|
157 |
+
}
|
158 |
+
|
159 |
+
if ( 0 == $_REQUEST[ $key ] || 'false' === strtolower( $_REQUEST[ $key ] ) ) {
|
160 |
+
return false;
|
161 |
+
}
|
162 |
+
|
163 |
+
return $def;
|
164 |
+
}
|
165 |
+
}
|
166 |
+
|
167 |
+
if ( ! function_exists( 'fs_request_is_post' ) ) {
|
168 |
+
function fs_request_is_post() {
|
169 |
+
return ( 'post' === strtolower( $_SERVER['REQUEST_METHOD'] ) );
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
if ( ! function_exists( 'fs_request_is_get' ) ) {
|
174 |
+
function fs_request_is_get() {
|
175 |
+
return ( 'get' === strtolower( $_SERVER['REQUEST_METHOD'] ) );
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
if ( ! function_exists( 'fs_get_action' ) ) {
|
180 |
+
function fs_get_action( $action_key = 'action' ) {
|
181 |
+
if ( ! empty( $_REQUEST[ $action_key ] ) && is_string( $_REQUEST[ $action_key ] ) ) {
|
182 |
+
return strtolower( $_REQUEST[ $action_key ] );
|
183 |
+
}
|
184 |
+
|
185 |
+
if ( 'action' == $action_key ) {
|
186 |
+
$action_key = 'fs_action';
|
187 |
+
|
188 |
+
if ( ! empty( $_REQUEST[ $action_key ] ) && is_string( $_REQUEST[ $action_key ] ) ) {
|
189 |
+
return strtolower( $_REQUEST[ $action_key ] );
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
return false;
|
194 |
+
}
|
195 |
+
}
|
196 |
+
|
197 |
+
if ( ! function_exists( 'fs_request_is_action' ) ) {
|
198 |
+
function fs_request_is_action( $action, $action_key = 'action' ) {
|
199 |
+
return ( strtolower( $action ) === fs_get_action( $action_key ) );
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
if ( ! function_exists( 'fs_request_is_action_secure' ) ) {
|
204 |
+
/**
|
205 |
+
* @author Vova Feldman (@svovaf)
|
206 |
+
* @since 1.0.0
|
207 |
+
*
|
208 |
+
* @since 1.2.1.5 Allow nonce verification.
|
209 |
+
*
|
210 |
+
* @param string $action
|
211 |
+
* @param string $action_key
|
212 |
+
* @param string $nonce_key
|
213 |
+
*
|
214 |
+
* @return bool
|
215 |
+
*/
|
216 |
+
function fs_request_is_action_secure(
|
217 |
+
$action,
|
218 |
+
$action_key = 'action',
|
219 |
+
$nonce_key = 'nonce'
|
220 |
+
) {
|
221 |
+
if ( strtolower( $action ) !== fs_get_action( $action_key ) ) {
|
222 |
+
return false;
|
223 |
+
}
|
224 |
+
|
225 |
+
$nonce = ! empty( $_REQUEST[ $nonce_key ] ) ?
|
226 |
+
$_REQUEST[ $nonce_key ] :
|
227 |
+
'';
|
228 |
+
|
229 |
+
if ( empty( $nonce ) ||
|
230 |
+
( false === wp_verify_nonce( $nonce, $action ) )
|
231 |
+
) {
|
232 |
+
return false;
|
233 |
+
}
|
234 |
+
|
235 |
+
return true;
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
#endregion
|
240 |
+
|
241 |
+
if ( ! function_exists( 'fs_is_plugin_page' ) ) {
|
242 |
+
function fs_is_plugin_page( $page_slug ) {
|
243 |
+
return ( is_admin() && $page_slug === fs_request_get( 'page' ) );
|
244 |
+
}
|
245 |
+
}
|
246 |
+
|
247 |
+
if ( ! function_exists( 'fs_get_raw_referer' ) ) {
|
248 |
+
/**
|
249 |
+
* Retrieves unvalidated referer from '_wp_http_referer' or HTTP referer.
|
250 |
+
*
|
251 |
+
* Do not use for redirects, use {@see wp_get_referer()} instead.
|
252 |
+
*
|
253 |
+
* @since 1.2.3
|
254 |
+
*
|
255 |
+
* @return string|false Referer URL on success, false on failure.
|
256 |
+
*/
|
257 |
+
function fs_get_raw_referer() {
|
258 |
+
if ( function_exists( 'wp_get_raw_referer' ) ) {
|
259 |
+
return wp_get_raw_referer();
|
260 |
+
}
|
261 |
+
if ( ! empty( $_REQUEST['_wp_http_referer'] ) ) {
|
262 |
+
return wp_unslash( $_REQUEST['_wp_http_referer'] );
|
263 |
+
} else if ( ! empty( $_SERVER['HTTP_REFERER'] ) ) {
|
264 |
+
return wp_unslash( $_SERVER['HTTP_REFERER'] );
|
265 |
+
}
|
266 |
+
|
267 |
+
return false;
|
268 |
+
}
|
269 |
+
}
|
270 |
+
|
271 |
+
/* Core UI.
|
272 |
+
--------------------------------------------------------------------------------------------*/
|
273 |
+
/**
|
274 |
+
* @param number $module_id
|
275 |
+
* @param string $page
|
276 |
+
* @param string $action
|
277 |
+
* @param string $title
|
278 |
+
* @param array $params
|
279 |
+
* @param bool $is_primary
|
280 |
+
* @param string|bool $icon_class Optional class for an icon (since 1.1.7).
|
281 |
+
* @param string|bool $confirmation Optional confirmation message before submit (since 1.1.7).
|
282 |
+
* @param string $method Since 1.1.7
|
283 |
+
*
|
284 |
+
* @uses fs_ui_get_action_button()
|
285 |
+
*/
|
286 |
+
function fs_ui_action_button(
|
287 |
+
$module_id,
|
288 |
+
$page,
|
289 |
+
$action,
|
290 |
+
$title,
|
291 |
+
$params = array(),
|
292 |
+
$is_primary = true,
|
293 |
+
$icon_class = false,
|
294 |
+
$confirmation = false,
|
295 |
+
$method = 'GET'
|
296 |
+
) {
|
297 |
+
echo fs_ui_get_action_button(
|
298 |
+
$module_id,
|
299 |
+
$page,
|
300 |
+
$action,
|
301 |
+
$title,
|
302 |
+
$params,
|
303 |
+
$is_primary,
|
304 |
+
$icon_class,
|
305 |
+
$confirmation,
|
306 |
+
$method
|
307 |
+
);
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* @author Vova Feldman (@svovaf)
|
312 |
+
* @since 1.1.7
|
313 |
+
*
|
314 |
+
* @param number $module_id
|
315 |
+
* @param string $page
|
316 |
+
* @param string $action
|
317 |
+
* @param string $title
|
318 |
+
* @param array $params
|
319 |
+
* @param bool $is_primary
|
320 |
+
* @param string|bool $icon_class Optional class for an icon.
|
321 |
+
* @param string|bool $confirmation Optional confirmation message before submit.
|
322 |
+
* @param string $method
|
323 |
+
*
|
324 |
+
* @return string
|
325 |
+
*/
|
326 |
+
function fs_ui_get_action_button(
|
327 |
+
$module_id,
|
328 |
+
$page,
|
329 |
+
$action,
|
330 |
+
$title,
|
331 |
+
$params = array(),
|
332 |
+
$is_primary = true,
|
333 |
+
$icon_class = false,
|
334 |
+
$confirmation = false,
|
335 |
+
$method = 'GET'
|
336 |
+
) {
|
337 |
+
// Prepend icon (if set).
|
338 |
+
$title = ( is_string( $icon_class ) ? '<i class="' . $icon_class . '"></i> ' : '' ) . $title;
|
339 |
+
|
340 |
+
if ( is_string( $confirmation ) ) {
|
341 |
+
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="if (confirm(\'%s\')) this.parentNode.submit(); return false;">%s</a></form>',
|
342 |
+
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
343 |
+
$method,
|
344 |
+
$action,
|
345 |
+
wp_nonce_field( $action, '_wpnonce', true, false ),
|
346 |
+
'button' . ( $is_primary ? ' button-primary' : '' ),
|
347 |
+
$confirmation,
|
348 |
+
$title
|
349 |
+
);
|
350 |
+
} else if ( 'GET' !== strtoupper( $method ) ) {
|
351 |
+
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="this.parentNode.submit(); return false;">%s</a></form>',
|
352 |
+
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
353 |
+
$method,
|
354 |
+
$action,
|
355 |
+
wp_nonce_field( $action, '_wpnonce', true, false ),
|
356 |
+
'button' . ( $is_primary ? ' button-primary' : '' ),
|
357 |
+
$title
|
358 |
+
);
|
359 |
+
} else {
|
360 |
+
return sprintf( '<a href="%s" class="%s">%s</a></form>',
|
361 |
+
wp_nonce_url( freemius( $module_id )->_get_admin_page_url( $page, array_merge( $params, array( 'fs_action' => $action ) ) ), $action ),
|
362 |
+
'button' . ( $is_primary ? ' button-primary' : '' ),
|
363 |
+
$title
|
364 |
+
);
|
365 |
+
}
|
366 |
+
}
|
367 |
+
|
368 |
+
function fs_ui_action_link( $module_id, $page, $action, $title, $params = array() ) {
|
369 |
+
?><a class=""
|
370 |
+
href="<?php echo wp_nonce_url( freemius( $module_id )->_get_admin_page_url( $page, array_merge( $params, array( 'fs_action' => $action ) ) ), $action ) ?>"><?php echo $title ?></a><?php
|
371 |
+
}
|
372 |
+
|
373 |
+
/*function fs_error_handler($errno, $errstr, $errfile, $errline)
|
374 |
+
{
|
375 |
+
if (false === strpos($errfile, 'freemius/'))
|
376 |
+
{
|
377 |
+
// @todo Dump Freemius errors to local log.
|
378 |
+
}
|
379 |
+
|
380 |
+
// switch ($errno) {
|
381 |
+
// case E_USER_ERROR:
|
382 |
+
// break;
|
383 |
+
// case E_WARNING:
|
384 |
+
// case E_USER_WARNING:
|
385 |
+
// break;
|
386 |
+
// case E_NOTICE:
|
387 |
+
// case E_USER_NOTICE:
|
388 |
+
// break;
|
389 |
+
// default:
|
390 |
+
// break;
|
391 |
+
// }
|
392 |
+
}
|
393 |
+
|
394 |
+
set_error_handler('fs_error_handler');*/
|
395 |
+
|
396 |
+
if ( ! function_exists( 'fs_nonce_url' ) ) {
|
397 |
+
/**
|
398 |
+
* Retrieve URL with nonce added to URL query.
|
399 |
+
*
|
400 |
+
* Originally was using `wp_nonce_url()` but the new version
|
401 |
+
* changed the return value to escaped URL, that's not the expected
|
402 |
+
* behaviour.
|
403 |
+
*
|
404 |
+
* @author Vova Feldman (@svovaf)
|
405 |
+
* @since ~1.1.3
|
406 |
+
*
|
407 |
+
* @param string $actionurl URL to add nonce action.
|
408 |
+
* @param int|string $action Optional. Nonce action name. Default -1.
|
409 |
+
* @param string $name Optional. Nonce name. Default '_wpnonce'.
|
410 |
+
*
|
411 |
+
* @return string Escaped URL with nonce action added.
|
412 |
+
*/
|
413 |
+
function fs_nonce_url( $actionurl, $action = - 1, $name = '_wpnonce' ) {
|
414 |
+
return add_query_arg( $name, wp_create_nonce( $action ), $actionurl );
|
415 |
+
}
|
416 |
+
}
|
417 |
+
|
418 |
+
if ( ! function_exists( 'fs_starts_with' ) ) {
|
419 |
+
/**
|
420 |
+
* Check if string starts with.
|
421 |
+
*
|
422 |
+
* @author Vova Feldman (@svovaf)
|
423 |
+
* @since 1.1.3
|
424 |
+
*
|
425 |
+
* @param string $haystack
|
426 |
+
* @param string $needle
|
427 |
+
*
|
428 |
+
* @return bool
|
429 |
+
*/
|
430 |
+
function fs_starts_with( $haystack, $needle ) {
|
431 |
+
$length = strlen( $needle );
|
432 |
+
|
433 |
+
return ( substr( $haystack, 0, $length ) === $needle );
|
434 |
+
}
|
435 |
+
}
|
436 |
+
|
437 |
+
#region Url Canonization ------------------------------------------------------------------
|
438 |
+
|
439 |
+
if ( ! function_exists( 'fs_canonize_url' ) ) {
|
440 |
+
/**
|
441 |
+
* @author Vova Feldman (@svovaf)
|
442 |
+
* @since 1.1.3
|
443 |
+
*
|
444 |
+
* @param string $url
|
445 |
+
* @param bool $omit_host
|
446 |
+
* @param array $ignore_params
|
447 |
+
*
|
448 |
+
* @return string
|
449 |
+
*/
|
450 |
+
function fs_canonize_url( $url, $omit_host = false, $ignore_params = array() ) {
|
451 |
+
$parsed_url = parse_url( strtolower( $url ) );
|
452 |
+
|
453 |
+
// if ( ! isset( $parsed_url['host'] ) ) {
|
454 |
+
// return $url;
|
455 |
+
// }
|
456 |
+
|
457 |
+
$canonical = ( ( $omit_host || ! isset( $parsed_url['host'] ) ) ? '' : $parsed_url['host'] ) . $parsed_url['path'];
|
458 |
+
|
459 |
+
if ( isset( $parsed_url['query'] ) ) {
|
460 |
+
parse_str( $parsed_url['query'], $queryString );
|
461 |
+
$canonical .= '?' . fs_canonize_query_string( $queryString, $ignore_params );
|
462 |
+
}
|
463 |
+
|
464 |
+
return $canonical;
|
465 |
+
}
|
466 |
+
}
|
467 |
+
|
468 |
+
if ( ! function_exists( 'fs_canonize_query_string' ) ) {
|
469 |
+
/**
|
470 |
+
* @author Vova Feldman (@svovaf)
|
471 |
+
* @since 1.1.3
|
472 |
+
*
|
473 |
+
* @param array $params
|
474 |
+
* @param array $ignore_params
|
475 |
+
* @param bool $params_prefix
|
476 |
+
*
|
477 |
+
* @return string
|
478 |
+
*/
|
479 |
+
function fs_canonize_query_string( array $params, array &$ignore_params, $params_prefix = false ) {
|
480 |
+
if ( ! is_array( $params ) || 0 === count( $params ) ) {
|
481 |
+
return '';
|
482 |
+
}
|
483 |
+
|
484 |
+
// Url encode both keys and values
|
485 |
+
$keys = fs_urlencode_rfc3986( array_keys( $params ) );
|
486 |
+
$values = fs_urlencode_rfc3986( array_values( $params ) );
|
487 |
+
$params = array_combine( $keys, $values );
|
488 |
+
|
489 |
+
// Parameters are sorted by name, using lexicographical byte value ordering.
|
490 |
+
// Ref: Spec: 9.1.1 (1)
|
491 |
+
uksort( $params, 'strcmp' );
|
492 |
+
|
493 |
+
$pairs = array();
|
494 |
+
foreach ( $params as $parameter => $value ) {
|
495 |
+
$lower_param = strtolower( $parameter );
|
496 |
+
|
497 |
+
// Skip ignore params.
|
498 |
+
if ( in_array( $lower_param, $ignore_params ) ||
|
499 |
+
( false !== $params_prefix && fs_starts_with( $lower_param, $params_prefix ) )
|
500 |
+
) {
|
501 |
+
continue;
|
502 |
+
}
|
503 |
+
|
504 |
+
if ( is_array( $value ) ) {
|
505 |
+
// If two or more parameters share the same name, they are sorted by their value
|
506 |
+
// Ref: Spec: 9.1.1 (1)
|
507 |
+
natsort( $value );
|
508 |
+
foreach ( $value as $duplicate_value ) {
|
509 |
+
$pairs[] = $lower_param . '=' . $duplicate_value;
|
510 |
+
}
|
511 |
+
} else {
|
512 |
+
$pairs[] = $lower_param . '=' . $value;
|
513 |
+
}
|
514 |
+
}
|
515 |
+
|
516 |
+
if ( 0 === count( $pairs ) ) {
|
517 |
+
return '';
|
518 |
+
}
|
519 |
+
|
520 |
+
return implode( "&", $pairs );
|
521 |
+
}
|
522 |
+
}
|
523 |
+
|
524 |
+
if ( ! function_exists( 'fs_urlencode_rfc3986' ) ) {
|
525 |
+
/**
|
526 |
+
* @author Vova Feldman (@svovaf)
|
527 |
+
* @since 1.1.3
|
528 |
+
*
|
529 |
+
* @param string|string[] $input
|
530 |
+
*
|
531 |
+
* @return array|mixed|string
|
532 |
+
*/
|
533 |
+
function fs_urlencode_rfc3986( $input ) {
|
534 |
+
if ( is_array( $input ) ) {
|
535 |
+
return array_map( 'fs_urlencode_rfc3986', $input );
|
536 |
+
} else if ( is_scalar( $input ) ) {
|
537 |
+
return str_replace( '+', ' ', str_replace( '%7E', '~', rawurlencode( $input ) ) );
|
538 |
+
}
|
539 |
+
|
540 |
+
return '';
|
541 |
+
}
|
542 |
+
}
|
543 |
+
|
544 |
+
#endregion Url Canonization ------------------------------------------------------------------
|
545 |
+
|
546 |
+
/**
|
547 |
+
* @author Vova Feldman (@svovaf)
|
548 |
+
*
|
549 |
+
* @since 1.2.2 Changed to usage of WP_Filesystem_Direct.
|
550 |
+
*
|
551 |
+
* @param string $from URL
|
552 |
+
* @param string $to File path.
|
553 |
+
*
|
554 |
+
* @return bool Is successfully downloaded.
|
555 |
+
*/
|
556 |
+
function fs_download_image( $from, $to ) {
|
557 |
+
$dir = dirname( $to );
|
558 |
+
|
559 |
+
if ( 'direct' !== get_filesystem_method( array(), $dir ) ) {
|
560 |
+
return false;
|
561 |
+
}
|
562 |
+
|
563 |
+
if ( ! class_exists( 'WP_Filesystem_Direct' ) ) {
|
564 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
|
565 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
|
566 |
+
}
|
567 |
+
|
568 |
+
$fs = new WP_Filesystem_Direct( '' );
|
569 |
+
$tmpfile = download_url( $from );
|
570 |
+
|
571 |
+
if ( $tmpfile instanceof WP_Error ) {
|
572 |
+
// Issue downloading the file.
|
573 |
+
return false;
|
574 |
+
}
|
575 |
+
|
576 |
+
$fs->copy( $tmpfile, $to );
|
577 |
+
$fs->delete( $tmpfile );
|
578 |
+
|
579 |
+
return true;
|
580 |
+
}
|
581 |
+
|
582 |
+
/* General Utilities
|
583 |
+
--------------------------------------------------------------------------------------------*/
|
584 |
+
|
585 |
+
/**
|
586 |
+
* Sorts an array by the value of the priority key.
|
587 |
+
*
|
588 |
+
* @author Daniel Iser (@danieliser)
|
589 |
+
* @since 1.1.7
|
590 |
+
*
|
591 |
+
* @param $a
|
592 |
+
* @param $b
|
593 |
+
*
|
594 |
+
* @return int
|
595 |
+
*/
|
596 |
+
function fs_sort_by_priority( $a, $b ) {
|
597 |
+
|
598 |
+
// If b has a priority and a does not, b wins.
|
599 |
+
if ( ! isset( $a['priority'] ) && isset( $b['priority'] ) ) {
|
600 |
+
return 1;
|
601 |
+
} // If b has a priority and a does not, b wins.
|
602 |
+
elseif ( isset( $a['priority'] ) && ! isset( $b['priority'] ) ) {
|
603 |
+
return - 1;
|
604 |
+
} // If neither has a priority or both priorities are equal its a tie.
|
605 |
+
elseif ( ( ! isset( $a['priority'] ) && ! isset( $b['priority'] ) ) || $a['priority'] === $b['priority'] ) {
|
606 |
+
return 0;
|
607 |
+
}
|
608 |
+
|
609 |
+
// If both have priority return the winner.
|
610 |
+
return ( $a['priority'] < $b['priority'] ) ? - 1 : 1;
|
611 |
+
}
|
612 |
+
|
613 |
+
#--------------------------------------------------------------------------------
|
614 |
+
#region Localization
|
615 |
+
#--------------------------------------------------------------------------------
|
616 |
+
|
617 |
+
if ( ! function_exists( 'fs_text' ) ) {
|
618 |
+
/**
|
619 |
+
* Retrieve a translated text by key.
|
620 |
+
*
|
621 |
+
* @author Vova Feldman (@svovaf)
|
622 |
+
* @since 1.2.1.7
|
623 |
+
*
|
624 |
+
* @param string $key
|
625 |
+
* @param string $slug
|
626 |
+
*
|
627 |
+
* @return string
|
628 |
+
*
|
629 |
+
* @global $fs_text , $fs_text_overrides
|
630 |
+
*/
|
631 |
+
function fs_text( $key, $slug = 'freemius' ) {
|
632 |
+
return __fs( $key, $slug );
|
633 |
+
}
|
634 |
+
|
635 |
+
/**
|
636 |
+
* Get a translatable text override if exists, or `false`.
|
637 |
+
*
|
638 |
+
* @author Vova Feldman (@svovaf)
|
639 |
+
* @since 1.2.1.7
|
640 |
+
*
|
641 |
+
* @param string $text Translatable string.
|
642 |
+
* @param string $key String key for overrides.
|
643 |
+
* @param string $slug Module slug for overrides.
|
644 |
+
*
|
645 |
+
* @return string|false
|
646 |
+
*/
|
647 |
+
function fs_text_override( $text, $key, $slug ) {
|
648 |
+
global $fs_text_overrides;
|
649 |
+
|
650 |
+
/**
|
651 |
+
* Check if string is overridden.
|
652 |
+
*/
|
653 |
+
if ( ! isset( $fs_text_overrides[ $slug ] ) ) {
|
654 |
+
return false;
|
655 |
+
}
|
656 |
+
|
657 |
+
if ( empty( $key ) ) {
|
658 |
+
$key = strtolower( str_replace( ' ', '-', $text ) );
|
659 |
+
}
|
660 |
+
|
661 |
+
if ( isset( $fs_text_overrides[ $slug ][ $key ] ) ) {
|
662 |
+
return $fs_text_overrides[ $slug ][ $key ];
|
663 |
+
}
|
664 |
+
|
665 |
+
$lower_key = strtolower( $key );
|
666 |
+
if ( isset( $fs_text_overrides[ $slug ][ $lower_key ] ) ) {
|
667 |
+
return $fs_text_overrides[ $slug ][ $lower_key ];
|
668 |
+
}
|
669 |
+
|
670 |
+
return false;
|
671 |
+
}
|
672 |
+
|
673 |
+
/**
|
674 |
+
* Get a translatable text and its text domain.
|
675 |
+
*
|
676 |
+
* When the text is overridden by the module, returns the overridden text and the text domain of the module. Otherwise, returns the original text and 'freemius' as the text domain.
|
677 |
+
*
|
678 |
+
* @author Vova Feldman (@svovaf)
|
679 |
+
* @since 1.2.1.7
|
680 |
+
*
|
681 |
+
* @param string $text Translatable string.
|
682 |
+
* @param string $key String key for overrides.
|
683 |
+
* @param string $slug Module slug for overrides.
|
684 |
+
*
|
685 |
+
* @return string[]
|
686 |
+
*/
|
687 |
+
function fs_text_and_domain( $text, $key, $slug ) {
|
688 |
+
$override = fs_text_override( $text, $key, $slug );
|
689 |
+
|
690 |
+
if ( false === $override ) {
|
691 |
+
// No override, use FS text domain.
|
692 |
+
$text_domain = 'freemius';
|
693 |
+
} else {
|
694 |
+
// Found an override.
|
695 |
+
$text = $override;
|
696 |
+
// Use the module's text domain.
|
697 |
+
$text_domain = $slug;
|
698 |
+
}
|
699 |
+
|
700 |
+
return array( $text, $text_domain );
|
701 |
+
}
|
702 |
+
|
703 |
+
#region Private
|
704 |
+
|
705 |
+
/**
|
706 |
+
* Retrieve an inline translated text by key.
|
707 |
+
*
|
708 |
+
* @author Vova Feldman (@svovaf)
|
709 |
+
* @since 1.2.3
|
710 |
+
*
|
711 |
+
* @param string $text Translatable string.
|
712 |
+
* @param string $key String key for overrides.
|
713 |
+
* @param string $slug Module slug for overrides.
|
714 |
+
*
|
715 |
+
* @return string
|
716 |
+
*
|
717 |
+
* @global $fs_text_overrides
|
718 |
+
*/
|
719 |
+
function _fs_text_inline( $text, $key = '', $slug = 'freemius' ) {
|
720 |
+
list( $text, $text_domain ) = fs_text_and_domain( $text, $key, $slug );
|
721 |
+
|
722 |
+
// Avoid misleading Theme Check warning.
|
723 |
+
$fn = 'translate';
|
724 |
+
|
725 |
+
return $fn( $text, $text_domain );
|
726 |
+
}
|
727 |
+
|
728 |
+
/**
|
729 |
+
* Retrieve an inline translated text by key with a context.
|
730 |
+
*
|
731 |
+
* @author Vova Feldman (@svovaf)
|
732 |
+
* @since 1.2.3
|
733 |
+
*
|
734 |
+
* @param string $text Translatable string.
|
735 |
+
* @param string $context Context information for the translators.
|
736 |
+
* @param string $key String key for overrides.
|
737 |
+
* @param string $slug Module slug for overrides.
|
738 |
+
*
|
739 |
+
* @return string
|
740 |
+
*
|
741 |
+
* @global $fs_text_overrides
|
742 |
+
*/
|
743 |
+
function _fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
744 |
+
list( $text, $text_domain ) = fs_text_and_domain( $text, $key, $slug );
|
745 |
+
|
746 |
+
// Avoid misleading Theme Check warning.
|
747 |
+
$fn = 'translate_with_gettext_context';
|
748 |
+
|
749 |
+
return $fn( $text, $context, $text_domain );
|
750 |
+
}
|
751 |
+
|
752 |
+
#endregion
|
753 |
+
|
754 |
+
/**
|
755 |
+
* Retrieve an inline translated text by key.
|
756 |
+
*
|
757 |
+
* @author Vova Feldman (@svovaf)
|
758 |
+
* @since 1.2.3
|
759 |
+
*
|
760 |
+
* @param string $text Translatable string.
|
761 |
+
* @param string $key String key for overrides.
|
762 |
+
* @param string $slug Module slug for overrides.
|
763 |
+
*
|
764 |
+
* @return string
|
765 |
+
*
|
766 |
+
* @global $fs_text_overrides
|
767 |
+
*/
|
768 |
+
function fs_text_inline( $text, $key = '', $slug = 'freemius' ) {
|
769 |
+
return _fs_text_inline( $text, $key, $slug );
|
770 |
+
}
|
771 |
+
|
772 |
+
/**
|
773 |
+
* Retrieve an inline translated text by key with a context.
|
774 |
+
*
|
775 |
+
* @author Vova Feldman (@svovaf)
|
776 |
+
* @since 1.2.3
|
777 |
+
*
|
778 |
+
* @param string $text Translatable string.
|
779 |
+
* @param string $context Context information for the translators.
|
780 |
+
* @param string $key String key for overrides.
|
781 |
+
* @param string $slug Module slug for overrides.
|
782 |
+
*
|
783 |
+
* @return string
|
784 |
+
*
|
785 |
+
* @global $fs_text_overrides
|
786 |
+
*/
|
787 |
+
function fs_text_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
788 |
+
return _fs_text_x_inline( $text, $context, $key, $slug );
|
789 |
+
}
|
790 |
+
|
791 |
+
/**
|
792 |
+
* Output a translated text by key.
|
793 |
+
*
|
794 |
+
* @author Vova Feldman (@svovaf)
|
795 |
+
* @since 1.2.1.7
|
796 |
+
*
|
797 |
+
* @param string $key
|
798 |
+
* @param string $slug
|
799 |
+
*/
|
800 |
+
function fs_echo( $key, $slug = 'freemius' ) {
|
801 |
+
echo fs_text( $key, $slug );
|
802 |
+
}
|
803 |
+
|
804 |
+
/**
|
805 |
+
* Output an inline translated text.
|
806 |
+
*
|
807 |
+
* @author Vova Feldman (@svovaf)
|
808 |
+
* @since 1.2.3
|
809 |
+
*
|
810 |
+
* @param string $text Translatable string.
|
811 |
+
* @param string $key String key for overrides.
|
812 |
+
* @param string $slug Module slug for overrides.
|
813 |
+
*/
|
814 |
+
function fs_echo_inline( $text, $key = '', $slug = 'freemius' ) {
|
815 |
+
echo _fs_text_inline( $text, $key, $slug );
|
816 |
+
}
|
817 |
+
|
818 |
+
/**
|
819 |
+
* Output an inline translated text with a context.
|
820 |
+
*
|
821 |
+
* @author Vova Feldman (@svovaf)
|
822 |
+
* @since 1.2.3
|
823 |
+
*
|
824 |
+
* @param string $text Translatable string.
|
825 |
+
* @param string $context Context information for the translators.
|
826 |
+
* @param string $key String key for overrides.
|
827 |
+
* @param string $slug Module slug for overrides.
|
828 |
+
*/
|
829 |
+
function fs_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
830 |
+
echo _fs_text_x_inline( $text, $context, $key, $slug );
|
831 |
+
}
|
832 |
+
}
|
833 |
+
|
834 |
+
if ( ! function_exists( 'fs_esc_attr' ) ) {
|
835 |
+
/**
|
836 |
+
* @author Vova Feldman
|
837 |
+
* @since 1.2.1.6
|
838 |
+
*
|
839 |
+
* @param string $key
|
840 |
+
* @param string $slug
|
841 |
+
*
|
842 |
+
* @return string
|
843 |
+
*/
|
844 |
+
function fs_esc_attr( $key, $slug ) {
|
845 |
+
return esc_attr( fs_text( $key, $slug ) );
|
846 |
+
}
|
847 |
+
}
|
848 |
+
|
849 |
+
if ( ! function_exists( 'fs_esc_attr_inline' ) ) {
|
850 |
+
/**
|
851 |
+
* @author Vova Feldman (@svovaf)
|
852 |
+
* @since 1.2.3
|
853 |
+
*
|
854 |
+
* @param string $text Translatable string.
|
855 |
+
* @param string $key String key for overrides.
|
856 |
+
* @param string $slug Module slug for overrides.
|
857 |
+
*
|
858 |
+
* @return string
|
859 |
+
*/
|
860 |
+
function fs_esc_attr_inline( $text, $key = '', $slug = 'freemius' ) {
|
861 |
+
return esc_attr( _fs_text_inline( $text, $key, $slug ) );
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
if ( ! function_exists( 'fs_esc_attr_x_inline' ) ) {
|
866 |
+
/**
|
867 |
+
* @author Vova Feldman (@svovaf)
|
868 |
+
* @since 1.2.3
|
869 |
+
*
|
870 |
+
* @param string $text Translatable string.
|
871 |
+
* @param string $context Context information for the translators.
|
872 |
+
* @param string $key String key for overrides.
|
873 |
+
* @param string $slug Module slug for overrides.
|
874 |
+
*
|
875 |
+
* @return string
|
876 |
+
*/
|
877 |
+
function fs_esc_attr_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
878 |
+
return esc_attr( _fs_text_x_inline( $text, $context, $key, $slug ) );
|
879 |
+
}
|
880 |
+
}
|
881 |
+
|
882 |
+
if ( ! function_exists( 'fs_esc_attr_echo' ) ) {
|
883 |
+
/**
|
884 |
+
* @author Vova Feldman
|
885 |
+
* @since 1.2.1.6
|
886 |
+
*
|
887 |
+
* @param string $key
|
888 |
+
* @param string $slug
|
889 |
+
*/
|
890 |
+
function fs_esc_attr_echo( $key, $slug ) {
|
891 |
+
echo esc_attr( fs_text( $key, $slug ) );
|
892 |
+
}
|
893 |
+
}
|
894 |
+
|
895 |
+
if ( ! function_exists( 'fs_esc_attr_echo_inline' ) ) {
|
896 |
+
/**
|
897 |
+
* @author Vova Feldman (@svovaf)
|
898 |
+
* @since 1.2.3
|
899 |
+
*
|
900 |
+
* @param string $text Translatable string.
|
901 |
+
* @param string $key String key for overrides.
|
902 |
+
* @param string $slug Module slug for overrides.
|
903 |
+
*/
|
904 |
+
function fs_esc_attr_echo_inline( $text, $key = '', $slug = 'freemius' ) {
|
905 |
+
echo esc_attr( _fs_text_inline( $text, $key, $slug ) );
|
906 |
+
}
|
907 |
+
}
|
908 |
+
|
909 |
+
if ( ! function_exists( 'fs_esc_js' ) ) {
|
910 |
+
/**
|
911 |
+
* @author Vova Feldman
|
912 |
+
* @since 1.2.1.6
|
913 |
+
*
|
914 |
+
* @param string $key
|
915 |
+
* @param string $slug
|
916 |
+
*
|
917 |
+
* @return string
|
918 |
+
*/
|
919 |
+
function fs_esc_js( $key, $slug ) {
|
920 |
+
return esc_js( fs_text( $key, $slug ) );
|
921 |
+
}
|
922 |
+
}
|
923 |
+
|
924 |
+
if ( ! function_exists( 'fs_esc_js_inline' ) ) {
|
925 |
+
/**
|
926 |
+
* @author Vova Feldman (@svovaf)
|
927 |
+
* @since 1.2.3
|
928 |
+
*
|
929 |
+
* @param string $text Translatable string.
|
930 |
+
* @param string $key String key for overrides.
|
931 |
+
* @param string $slug Module slug for overrides.
|
932 |
+
*
|
933 |
+
* @return string
|
934 |
+
*/
|
935 |
+
function fs_esc_js_inline( $text, $key = '', $slug = 'freemius' ) {
|
936 |
+
return esc_js( _fs_text_inline( $text, $key, $slug ) );
|
937 |
+
}
|
938 |
+
}
|
939 |
+
|
940 |
+
if ( ! function_exists( 'fs_esc_js_x_inline' ) ) {
|
941 |
+
/**
|
942 |
+
* @author Vova Feldman (@svovaf)
|
943 |
+
* @since 1.2.3
|
944 |
+
*
|
945 |
+
* @param string $text Translatable string.
|
946 |
+
* @param string $context Context information for the translators.
|
947 |
+
* @param string $key String key for overrides.
|
948 |
+
* @param string $slug Module slug for overrides.
|
949 |
+
*
|
950 |
+
* @return string
|
951 |
+
*/
|
952 |
+
function fs_esc_js_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
953 |
+
return esc_js( _fs_text_x_inline( $text, $context, $key, $slug ) );
|
954 |
+
}
|
955 |
+
}
|
956 |
+
|
957 |
+
if ( ! function_exists( 'fs_esc_js_echo_x_inline' ) ) {
|
958 |
+
/**
|
959 |
+
* @author Vova Feldman (@svovaf)
|
960 |
+
* @since 1.2.3
|
961 |
+
*
|
962 |
+
* @param string $text Translatable string.
|
963 |
+
* @param string $context Context information for the translators.
|
964 |
+
* @param string $key String key for overrides.
|
965 |
+
* @param string $slug Module slug for overrides.
|
966 |
+
*
|
967 |
+
* @return string
|
968 |
+
*/
|
969 |
+
function fs_esc_js_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
970 |
+
echo esc_js( _fs_text_x_inline( $text, $context, $key, $slug ) );
|
971 |
+
}
|
972 |
+
}
|
973 |
+
|
974 |
+
if ( ! function_exists( 'fs_esc_js_echo' ) ) {
|
975 |
+
/**
|
976 |
+
* @author Vova Feldman
|
977 |
+
* @since 1.2.1.6
|
978 |
+
*
|
979 |
+
* @param string $key
|
980 |
+
* @param string $slug
|
981 |
+
*/
|
982 |
+
function fs_esc_js_echo( $key, $slug ) {
|
983 |
+
echo esc_js( fs_text( $key, $slug ) );
|
984 |
+
}
|
985 |
+
}
|
986 |
+
|
987 |
+
if ( ! function_exists( 'fs_esc_js_echo_inline' ) ) {
|
988 |
+
/**
|
989 |
+
* @author Vova Feldman (@svovaf)
|
990 |
+
* @since 1.2.3
|
991 |
+
*
|
992 |
+
* @param string $text Translatable string.
|
993 |
+
* @param string $key String key for overrides.
|
994 |
+
* @param string $slug Module slug for overrides.
|
995 |
+
*/
|
996 |
+
function fs_esc_js_echo_inline( $text, $key = '', $slug = 'freemius' ) {
|
997 |
+
echo esc_js( _fs_text_inline( $text, $key, $slug ) );
|
998 |
+
}
|
999 |
+
}
|
1000 |
+
|
1001 |
+
if ( ! function_exists( 'fs_json_encode_echo' ) ) {
|
1002 |
+
/**
|
1003 |
+
* @author Vova Feldman
|
1004 |
+
* @since 1.2.1.6
|
1005 |
+
*
|
1006 |
+
* @param string $key
|
1007 |
+
* @param string $slug
|
1008 |
+
*/
|
1009 |
+
function fs_json_encode_echo( $key, $slug ) {
|
1010 |
+
echo json_encode( fs_text( $key, $slug ) );
|
1011 |
+
}
|
1012 |
+
}
|
1013 |
+
|
1014 |
+
if ( ! function_exists( 'fs_json_encode_echo_inline' ) ) {
|
1015 |
+
/**
|
1016 |
+
* @author Vova Feldman (@svovaf)
|
1017 |
+
* @since 1.2.3
|
1018 |
+
*
|
1019 |
+
* @param string $text Translatable string.
|
1020 |
+
* @param string $key String key for overrides.
|
1021 |
+
* @param string $slug Module slug for overrides.
|
1022 |
+
*/
|
1023 |
+
function fs_json_encode_echo_inline( $text, $key = '', $slug = 'freemius' ) {
|
1024 |
+
echo json_encode( _fs_text_inline( $text, $key, $slug ) );
|
1025 |
+
}
|
1026 |
+
}
|
1027 |
+
|
1028 |
+
if ( ! function_exists( 'fs_esc_html' ) ) {
|
1029 |
+
/**
|
1030 |
+
* @author Vova Feldman
|
1031 |
+
* @since 1.2.1.6
|
1032 |
+
*
|
1033 |
+
* @param string $key
|
1034 |
+
* @param string $slug
|
1035 |
+
*
|
1036 |
+
* @return string
|
1037 |
+
*/
|
1038 |
+
function fs_esc_html( $key, $slug ) {
|
1039 |
+
return esc_html( fs_text( $key, $slug ) );
|
1040 |
+
}
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
if ( ! function_exists( 'fs_esc_html_inline' ) ) {
|
1044 |
+
/**
|
1045 |
+
* @author Vova Feldman (@svovaf)
|
1046 |
+
* @since 1.2.3
|
1047 |
+
*
|
1048 |
+
* @param string $text Translatable string.
|
1049 |
+
* @param string $key String key for overrides.
|
1050 |
+
* @param string $slug Module slug for overrides.
|
1051 |
+
*
|
1052 |
+
* @return string
|
1053 |
+
*/
|
1054 |
+
function fs_esc_html_inline( $text, $key = '', $slug = 'freemius' ) {
|
1055 |
+
return esc_html( _fs_text_inline( $text, $key, $slug ) );
|
1056 |
+
}
|
1057 |
+
}
|
1058 |
+
|
1059 |
+
if ( ! function_exists( 'fs_esc_html_x_inline' ) ) {
|
1060 |
+
/**
|
1061 |
+
* @author Vova Feldman (@svovaf)
|
1062 |
+
* @since 1.2.3
|
1063 |
+
*
|
1064 |
+
* @param string $text Translatable string.
|
1065 |
+
* @param string $context Context information for the translators.
|
1066 |
+
* @param string $key String key for overrides.
|
1067 |
+
* @param string $slug Module slug for overrides.
|
1068 |
+
*
|
1069 |
+
* @return string
|
1070 |
+
*/
|
1071 |
+
function fs_esc_html_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
1072 |
+
return esc_html( _fs_text_x_inline( $text, $context, $key, $slug ) );
|
1073 |
+
}
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
if ( ! function_exists( 'fs_esc_html_echo_x_inline' ) ) {
|
1077 |
+
/**
|
1078 |
+
* @author Vova Feldman (@svovaf)
|
1079 |
+
* @since 1.2.3
|
1080 |
+
*
|
1081 |
+
* @param string $text Translatable string.
|
1082 |
+
* @param string $context Context information for the translators.
|
1083 |
+
* @param string $key String key for overrides.
|
1084 |
+
* @param string $slug Module slug for overrides.
|
1085 |
+
*/
|
1086 |
+
function fs_esc_html_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
|
1087 |
+
echo esc_html( _fs_text_x_inline( $text, $context, $key, $slug ) );
|
1088 |
+
}
|
1089 |
+
}
|
1090 |
+
|
1091 |
+
if ( ! function_exists( 'fs_esc_html_echo' ) ) {
|
1092 |
+
/**
|
1093 |
+
* @author Vova Feldman
|
1094 |
+
* @since 1.2.1.6
|
1095 |
+
*
|
1096 |
+
* @param string $key
|
1097 |
+
* @param string $slug
|
1098 |
+
*/
|
1099 |
+
function fs_esc_html_echo( $key, $slug ) {
|
1100 |
+
echo esc_html( fs_text( $key, $slug ) );
|
1101 |
+
}
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
if ( ! function_exists( 'fs_esc_html_echo_inline' ) ) {
|
1105 |
+
/**
|
1106 |
+
* @author Vova Feldman (@svovaf)
|
1107 |
+
* @since 1.2.3
|
1108 |
+
*
|
1109 |
+
* @param string $text Translatable string.
|
1110 |
+
* @param string $key String key for overrides.
|
1111 |
+
* @param string $slug Module slug for overrides.
|
1112 |
+
*/
|
1113 |
+
function fs_esc_html_echo_inline( $text, $key = '', $slug = 'freemius' ) {
|
1114 |
+
echo esc_html( _fs_text_inline( $text, $key, $slug ) );
|
1115 |
+
}
|
1116 |
+
}
|
1117 |
+
|
1118 |
+
#endregion
|
includes/vendor/freemius/wordpress-sdk/includes/fs-essential-functions.php
CHANGED
@@ -158,6 +158,7 @@
|
|
158 |
* Retrieve a translated text by key.
|
159 |
*
|
160 |
* @deprecated Use `fs_text()` instead since methods starting with `__` trigger warnings in Php 7.
|
|
|
161 |
*
|
162 |
* @author Vova Feldman (@svovaf)
|
163 |
* @since 1.1.4
|
@@ -209,6 +210,8 @@
|
|
209 |
*
|
210 |
* @deprecated Use `fs_echo()` instead for consistency with `fs_text()`.
|
211 |
*
|
|
|
|
|
212 |
* @author Vova Feldman (@svovaf)
|
213 |
* @since 1.1.4
|
214 |
*
|
158 |
* Retrieve a translated text by key.
|
159 |
*
|
160 |
* @deprecated Use `fs_text()` instead since methods starting with `__` trigger warnings in Php 7.
|
161 |
+
* @todo Remove this method in the future.
|
162 |
*
|
163 |
* @author Vova Feldman (@svovaf)
|
164 |
* @since 1.1.4
|
210 |
*
|
211 |
* @deprecated Use `fs_echo()` instead for consistency with `fs_text()`.
|
212 |
*
|
213 |
+
* @todo Remove this method in the future.
|
214 |
+
*
|
215 |
* @author Vova Feldman (@svovaf)
|
216 |
* @since 1.1.4
|
217 |
*
|
includes/vendor/freemius/wordpress-sdk/includes/fs-plugin-info-dialog.php
CHANGED
@@ -325,8 +325,12 @@
|
|
325 |
$plan->has_trial()
|
326 |
) . '" target="_parent">' .
|
327 |
( ! $plan->has_trial() ?
|
328 |
-
|
329 |
-
sprintf(
|
|
|
|
|
|
|
|
|
330 |
) .
|
331 |
'</a>';
|
332 |
|
@@ -348,23 +352,23 @@
|
|
348 |
* plugin is wordpress.org compliant. Therefore, require a download
|
349 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
350 |
*/
|
351 |
-
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' .
|
352 |
} else {
|
353 |
if ( $status['url'] ) {
|
354 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
355 |
}
|
356 |
}
|
357 |
break;
|
358 |
case 'update_available':
|
359 |
if ( $status['url'] ) {
|
360 |
-
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' .
|
361 |
}
|
362 |
break;
|
363 |
case 'newer_installed':
|
364 |
-
return '<a class="button button-primary right disabled">' . sprintf(
|
365 |
break;
|
366 |
case 'latest_installed':
|
367 |
-
return '<a class="button button-primary right disabled">' .
|
368 |
break;
|
369 |
}
|
370 |
|
@@ -477,13 +481,13 @@
|
|
477 |
);
|
478 |
|
479 |
$plugins_section_titles = array(
|
480 |
-
'description' =>
|
481 |
-
'installation' =>
|
482 |
-
'faq' =>
|
483 |
-
'screenshots' =>
|
484 |
-
'changelog' =>
|
485 |
-
'reviews' =>
|
486 |
-
'other_notes' =>
|
487 |
);
|
488 |
|
489 |
// Sanitize HTML
|
@@ -498,7 +502,7 @@
|
|
498 |
}
|
499 |
|
500 |
// Add after $api->slug is ready.
|
501 |
-
$plugins_section_titles['features'] =
|
502 |
|
503 |
$_tab = esc_attr( $tab );
|
504 |
|
@@ -508,7 +512,7 @@
|
|
508 |
$section = array_shift( $section_titles );
|
509 |
}
|
510 |
|
511 |
-
iframe_header(
|
512 |
|
513 |
$_with_banner = '';
|
514 |
|
@@ -580,7 +584,7 @@
|
|
580 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
581 |
echo ' fs-single-cycle';
|
582 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
583 |
-
<h3 data-plan="<?php echo $plan->id ?>"><?php
|
584 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
585 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
586 |
<div class="nav-tab-wrapper">
|
@@ -605,9 +609,22 @@
|
|
605 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
606 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
607 |
<?php if ( $is_featured ) : ?>
|
608 |
-
<label>★ <?php
|
609 |
<?php endif ?>
|
610 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
611 |
</a>
|
612 |
<?php endif ?>
|
613 |
<?php $i ++; endforeach ?>
|
@@ -618,21 +635,21 @@
|
|
618 |
_formatBillingFrequency = function (cycle) {
|
619 |
switch (cycle) {
|
620 |
case 'monthly':
|
621 |
-
return '<?php printf(
|
622 |
case 'annual':
|
623 |
-
return '<?php printf(
|
624 |
case 'lifetime':
|
625 |
-
return '<?php printf(
|
626 |
}
|
627 |
},
|
628 |
_formatLicensesTitle = function (pricing) {
|
629 |
switch (pricing.licenses) {
|
630 |
case 1:
|
631 |
-
return '<?php
|
632 |
case null:
|
633 |
-
return '<?php
|
634 |
default:
|
635 |
-
return '<?php
|
636 |
}
|
637 |
},
|
638 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
@@ -642,14 +659,14 @@
|
|
642 |
var priceCycle;
|
643 |
switch (cycle) {
|
644 |
case 'monthly':
|
645 |
-
priceCycle = ' / <?php
|
646 |
break;
|
647 |
case 'lifetime':
|
648 |
priceCycle = '';
|
649 |
break;
|
650 |
case 'annual':
|
651 |
default:
|
652 |
-
priceCycle = ' / <?php
|
653 |
break;
|
654 |
}
|
655 |
|
@@ -701,7 +718,7 @@
|
|
701 |
|
702 |
// Render licenses prices.
|
703 |
if (1 == pricing.length) {
|
704 |
-
html = '<li><label><?php
|
705 |
} else {
|
706 |
for (var i = 0; i < pricing.length; i++) {
|
707 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
@@ -747,7 +764,7 @@
|
|
747 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
748 |
<?php if ( $annual_discount > 0 ) : ?>
|
749 |
<span
|
750 |
-
class="fs-annual-discount"><?php printf(
|
751 |
<?php endif ?>
|
752 |
<ul class="fs-licenses">
|
753 |
</ul>
|
@@ -757,10 +774,10 @@
|
|
757 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
758 |
<ul class="fs-trial-terms">
|
759 |
<li>
|
760 |
-
<i class="dashicons dashicons-yes"></i><?php
|
761 |
</li>
|
762 |
<li>
|
763 |
-
<i class="dashicons dashicons-yes"></i><?php printf(
|
764 |
</li>
|
765 |
</ul>
|
766 |
<?php endif ?>
|
@@ -771,85 +788,99 @@
|
|
771 |
<?php endif ?>
|
772 |
<?php endif ?>
|
773 |
<div>
|
774 |
-
<h3><?php
|
775 |
<ul>
|
776 |
<?php if ( ! empty( $api->version ) ) { ?>
|
777 |
-
<li><strong><?php
|
778 |
<?php
|
779 |
}
|
780 |
if ( ! empty( $api->author ) ) {
|
781 |
?>
|
782 |
<li>
|
783 |
-
<strong><?php
|
784 |
</li>
|
785 |
<?php
|
786 |
}
|
787 |
if ( ! empty( $api->last_updated ) ) {
|
788 |
?>
|
789 |
-
<li><strong><?php
|
790 |
title="<?php echo $api->last_updated; ?>">
|
791 |
-
<?php
|
|
|
|
|
|
|
|
|
792 |
</span></li>
|
793 |
<?php
|
794 |
}
|
795 |
if ( ! empty( $api->requires ) ) {
|
796 |
?>
|
797 |
<li>
|
798 |
-
<strong><?php
|
799 |
</li>
|
800 |
<?php
|
801 |
}
|
802 |
if ( ! empty( $api->tested ) ) {
|
803 |
?>
|
804 |
-
<li><strong><?php
|
805 |
</li>
|
806 |
<?php
|
807 |
}
|
808 |
if ( ! empty( $api->downloaded ) ) {
|
809 |
?>
|
810 |
<li>
|
811 |
-
<strong><?php
|
812 |
-
|
|
|
|
|
|
|
|
|
|
|
813 |
number_format_i18n( $api->downloaded )
|
814 |
-
); ?>
|
815 |
</li>
|
816 |
<?php
|
817 |
}
|
818 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
819 |
?>
|
820 |
<li><a target="_blank"
|
821 |
-
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php
|
822 |
</li>
|
823 |
<?php
|
824 |
}
|
825 |
if ( ! empty( $api->homepage ) ) {
|
826 |
?>
|
827 |
<li><a target="_blank"
|
828 |
-
href="<?php echo esc_url( $api->homepage ); ?>"><?php
|
829 |
</li>
|
830 |
<?php
|
831 |
}
|
832 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
833 |
?>
|
834 |
<li><a target="_blank"
|
835 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
836 |
</li>
|
837 |
<?php } ?>
|
838 |
</ul>
|
839 |
</div>
|
840 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
841 |
-
<h3><?php
|
842 |
<?php wp_star_rating( array(
|
843 |
'rating' => $api->rating,
|
844 |
'type' => 'percent',
|
845 |
'number' => $api->num_ratings
|
846 |
) ); ?>
|
847 |
-
<small>(<?php
|
848 |
-
|
849 |
sprintf(
|
850 |
-
|
|
|
|
|
|
|
|
|
|
|
851 |
number_format_i18n( $api->num_ratings )
|
852 |
-
) )
|
853 |
<?php
|
854 |
}
|
855 |
|
@@ -858,7 +889,12 @@
|
|
858 |
// Avoid div-by-zero.
|
859 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
860 |
$stars_label = sprintf(
|
861 |
-
|
|
|
|
|
|
|
|
|
|
|
862 |
number_format_i18n( $key )
|
863 |
);
|
864 |
?>
|
@@ -866,7 +902,11 @@
|
|
866 |
<span class="counter-label"><a
|
867 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
868 |
target="_blank"
|
869 |
-
title="<?php echo esc_attr( sprintf(
|
|
|
|
|
|
|
|
|
870 |
<span class="counter-back">
|
871 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
872 |
</span>
|
@@ -877,7 +917,7 @@
|
|
877 |
}
|
878 |
if ( ! empty( $api->contributors ) ) {
|
879 |
?>
|
880 |
-
<h3><?php
|
881 |
<ul class="contributors">
|
882 |
<?php
|
883 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
@@ -898,16 +938,16 @@
|
|
898 |
</ul>
|
899 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
900 |
<a target="_blank"
|
901 |
-
href="<?php echo esc_url( $api->donate_link ); ?>"><?php
|
902 |
<?php } ?>
|
903 |
<?php } ?>
|
904 |
</div>
|
905 |
<div id="section-holder" class="wrap">
|
906 |
<?php
|
907 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
908 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
909 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
910 |
-
echo '<div class="notice notice-warning"><p>' . '<strong>' .
|
911 |
}
|
912 |
|
913 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
@@ -925,7 +965,9 @@
|
|
925 |
$missing_notice = array(
|
926 |
'type' => 'error',
|
927 |
'id' => md5( microtime() ),
|
928 |
-
'message' =>
|
|
|
|
|
929 |
);
|
930 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
931 |
}
|
325 |
$plan->has_trial()
|
326 |
) . '" target="_parent">' .
|
327 |
( ! $plan->has_trial() ?
|
328 |
+
fs_text_x_inline( 'Purchase', 'verb', 'purchase', $api->slug ) :
|
329 |
+
sprintf(
|
330 |
+
/* translators: %s: N-days trial */
|
331 |
+
fs_text_inline( 'Start my free %s', 'start-free-x', $api->slug ),
|
332 |
+
$this->get_trial_period( $plan )
|
333 |
+
)
|
334 |
) .
|
335 |
'</a>';
|
336 |
|
352 |
* plugin is wordpress.org compliant. Therefore, require a download
|
353 |
* since installing external plugins is not allowed by the wp.org guidelines.
|
354 |
*/
|
355 |
+
return ' <a class="button button-primary right" href="' . esc_url( $api->download_link ) . '" target="_blank">' . fs_esc_html_x_inline( 'Download Latest', 'as download latest version', 'download-latest', $api->slug ) . '</a>';
|
356 |
} else {
|
357 |
if ( $status['url'] ) {
|
358 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_esc_html_inline( 'Install Now', 'install-now', $api->slug ) . '</a>';
|
359 |
}
|
360 |
}
|
361 |
break;
|
362 |
case 'update_available':
|
363 |
if ( $status['url'] ) {
|
364 |
+
return '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . fs_text_inline( 'Install Update Now', 'install-update-now', $api->slug ) . '</a>';
|
365 |
}
|
366 |
break;
|
367 |
case 'newer_installed':
|
368 |
+
return '<a class="button button-primary right disabled">' . sprintf( fs_text_inline( 'Newer Version (%s) Installed', 'newer-installed', $api->slug ), $status['version'] ) . '</a>';
|
369 |
break;
|
370 |
case 'latest_installed':
|
371 |
+
return '<a class="button button-primary right disabled">' . fs_text_inline( 'Latest Version Installed', 'latest-installed', $api->slug ) . '</a>';
|
372 |
break;
|
373 |
}
|
374 |
|
481 |
);
|
482 |
|
483 |
$plugins_section_titles = array(
|
484 |
+
'description' => fs_text_x_inline( 'Description', 'Plugin installer section title', 'description', $api->slug ),
|
485 |
+
'installation' => fs_text_x_inline( 'Installation', 'Plugin installer section title', 'installation', $api->slug ),
|
486 |
+
'faq' => fs_text_x_inline( 'FAQ', 'Plugin installer section title', 'faq', $api->slug ),
|
487 |
+
'screenshots' => fs_text_inline( 'Screenshots', 'screenshots', $api->slug ),
|
488 |
+
'changelog' => fs_text_x_inline( 'Changelog', 'Plugin installer section title', 'changelog', $api->slug ),
|
489 |
+
'reviews' => fs_text_x_inline( 'Reviews', 'Plugin installer section title', 'reviews', $api->slug ),
|
490 |
+
'other_notes' => fs_text_x_inline( 'Other Notes', 'Plugin installer section title', 'other-notes', $api->slug ),
|
491 |
);
|
492 |
|
493 |
// Sanitize HTML
|
502 |
}
|
503 |
|
504 |
// Add after $api->slug is ready.
|
505 |
+
$plugins_section_titles['features'] = fs_text_x_inline( 'Features & Pricing', 'Plugin installer section title', 'features-and-pricing', $api->slug );
|
506 |
|
507 |
$_tab = esc_attr( $tab );
|
508 |
|
512 |
$section = array_shift( $section_titles );
|
513 |
}
|
514 |
|
515 |
+
iframe_header( fs_text_inline( 'Plugin Install', 'plugin-install', $api->slug ) );
|
516 |
|
517 |
$_with_banner = '';
|
518 |
|
584 |
<div class="fs-plan<?php if ( ! $is_multi_cycle ) {
|
585 |
echo ' fs-single-cycle';
|
586 |
} ?>" data-plan-id="<?php echo $plan->id ?>">
|
587 |
+
<h3 data-plan="<?php echo $plan->id ?>"><?php echo esc_html( sprintf( fs_text_x_inline( '%s Plan', 'e.g. Professional Plan', 'x-plan', $api->slug ), $plan->title ) ) ?></h3>
|
588 |
<?php $has_annual = $first_pricing->has_annual() ?>
|
589 |
<?php $has_monthly = $first_pricing->has_monthly() ?>
|
590 |
<div class="nav-tab-wrapper">
|
609 |
<a class="nav-tab" data-billing-cycle="<?php echo $cycle ?>"
|
610 |
data-pricing="<?php echo esc_attr( json_encode( $prices ) ) ?>">
|
611 |
<?php if ( $is_featured ) : ?>
|
612 |
+
<label>★ <?php fs_esc_html_echo_x_inline( 'Best', 'e.g. the best product', 'best', $api->slug ) ?> ★</label>
|
613 |
<?php endif ?>
|
614 |
+
<?php
|
615 |
+
switch ($cycle)
|
616 |
+
{
|
617 |
+
case 'monthly':
|
618 |
+
fs_esc_html_echo_x_inline( 'Monthly', 'as every month', 'monthly', $api->slug );
|
619 |
+
break;
|
620 |
+
case 'annual':
|
621 |
+
fs_esc_html_echo_x_inline( 'Annual', 'as once a year', 'annual', $api->slug );
|
622 |
+
break;
|
623 |
+
case 'lifetime':
|
624 |
+
fs_esc_html_echo_inline( 'Lifetime', 'lifetime', $api->slug );
|
625 |
+
break;
|
626 |
+
}
|
627 |
+
?>
|
628 |
</a>
|
629 |
<?php endif ?>
|
630 |
<?php $i ++; endforeach ?>
|
635 |
_formatBillingFrequency = function (cycle) {
|
636 |
switch (cycle) {
|
637 |
case 'monthly':
|
638 |
+
return '<?php printf( fs_text_x_inline( 'Billed %s', 'e.g. billed monthly', 'billed-x', $api->slug), fs_text_x_inline( 'Monthly', 'as every month', 'monthly', $api->slug ) ) ?>';
|
639 |
case 'annual':
|
640 |
+
return '<?php printf( fs_text_x_inline( 'Billed %s', 'e.g. billed monthly', 'billed-x', $api->slug), fs_text_x_inline( 'Annually', 'as once a year', 'annually', $api->slug ) ) ?>';
|
641 |
case 'lifetime':
|
642 |
+
return '<?php printf( fs_text_x_inline( 'Billed %s', 'e.g. billed monthly', 'billed-x', $api->slug), fs_text_x_inline( 'Once', 'as once a year', 'once', $api->slug ) ) ?>';
|
643 |
}
|
644 |
},
|
645 |
_formatLicensesTitle = function (pricing) {
|
646 |
switch (pricing.licenses) {
|
647 |
case 1:
|
648 |
+
return '<?php fs_esc_attr_echo_inline( 'Single Site License', 'license-single-site', $api->slug ) ?>';
|
649 |
case null:
|
650 |
+
return '<?php fs_esc_attr_echo_inline( 'Unlimited Licenses', 'license-unlimited', $api->slug ) ?>';
|
651 |
default:
|
652 |
+
return '<?php fs_esc_attr_echo_inline( 'Up to %s Sites', 'license-x-sites', $api->slug ) ?>'.replace('%s', pricing.licenses);
|
653 |
}
|
654 |
},
|
655 |
_formatPrice = function (pricing, cycle, multipleLicenses) {
|
659 |
var priceCycle;
|
660 |
switch (cycle) {
|
661 |
case 'monthly':
|
662 |
+
priceCycle = ' / <?php fs_echo_x_inline( 'mo', 'as monthly period', 'mo', $api->slug ) ?>';
|
663 |
break;
|
664 |
case 'lifetime':
|
665 |
priceCycle = '';
|
666 |
break;
|
667 |
case 'annual':
|
668 |
default:
|
669 |
+
priceCycle = ' / <?php fs_echo_x_inline('year', 'as annual period', 'year', $api->slug) ?>';
|
670 |
break;
|
671 |
}
|
672 |
|
718 |
|
719 |
// Render licenses prices.
|
720 |
if (1 == pricing.length) {
|
721 |
+
html = '<li><label><?php echo fs_esc_attr_x_inline( 'Price', 'noun', 'price', $api->slug ) ?>: ' + _formatPrice(pricing[0], billingCycle, false) + '</label></li>';
|
722 |
} else {
|
723 |
for (var i = 0; i < pricing.length; i++) {
|
724 |
html += '<li><label><input name="pricing-<?php echo $plan->id ?>" type="radio" value="' + pricing[i].id + '">' + _formatPrice(pricing[i], billingCycle) + '</label></li>';
|
764 |
<?php $annual_discount = ( $has_annual && $has_monthly ) ? $plan->pricing[0]->annual_discount_percentage() : 0 ?>
|
765 |
<?php if ( $annual_discount > 0 ) : ?>
|
766 |
<span
|
767 |
+
class="fs-annual-discount"><?php printf( fs_esc_html_x_inline( 'Save %s', 'as a discount of $5 or 10%', 'save-x', $api->slug ), $annual_discount . '%' ) ?></span>
|
768 |
<?php endif ?>
|
769 |
<ul class="fs-licenses">
|
770 |
</ul>
|
774 |
<?php $trial_period = $this->get_trial_period( $plan ) ?>
|
775 |
<ul class="fs-trial-terms">
|
776 |
<li>
|
777 |
+
<i class="dashicons dashicons-yes"></i><?php echo esc_html( sprintf( fs_text_inline( 'No commitment for %s - cancel anytime', 'no-commitment-x', $api->slug ), $trial_period ) ) ?>
|
778 |
</li>
|
779 |
<li>
|
780 |
+
<i class="dashicons dashicons-yes"></i><?php printf( esc_html( fs_text_inline( 'After your free %s, pay as little as %s', 'after-x-pay-as-little-y', $api->slug ) ), $trial_period, '<var class="fs-price">' . $this->get_price_tag( $plan, $plan->pricing[0] ) . '</var>' ) ?>
|
781 |
</li>
|
782 |
</ul>
|
783 |
<?php endif ?>
|
788 |
<?php endif ?>
|
789 |
<?php endif ?>
|
790 |
<div>
|
791 |
+
<h3><?php fs_echo_inline( 'Details', 'details', $api->slug ) ?></h3>
|
792 |
<ul>
|
793 |
<?php if ( ! empty( $api->version ) ) { ?>
|
794 |
+
<li><strong><?php fs_esc_html_echo_x_inline( 'Version', 'product version', 'version', $api->slug ); ?>:</strong> <?php echo $api->version; ?></li>
|
795 |
<?php
|
796 |
}
|
797 |
if ( ! empty( $api->author ) ) {
|
798 |
?>
|
799 |
<li>
|
800 |
+
<strong><?php fs_echo_x_inline( 'Author', 'as the plugin author', 'author', $api->slug ); ?>:</strong> <?php echo links_add_target( $api->author, '_blank' ); ?>
|
801 |
</li>
|
802 |
<?php
|
803 |
}
|
804 |
if ( ! empty( $api->last_updated ) ) {
|
805 |
?>
|
806 |
+
<li><strong><?php fs_echo_inline( 'Last Updated', 'last-updated', $api->slug ); ?>:</strong> <span
|
807 |
title="<?php echo $api->last_updated; ?>">
|
808 |
+
<?php echo esc_html( sprintf(
|
809 |
+
/* translators: %s: time period (e.g. "2 hours" ago) */
|
810 |
+
fs_text_x_inline( '%s ago', 'x-ago', $api->slug ),
|
811 |
+
human_time_diff( strtotime( $api->last_updated ) )
|
812 |
+
) ) ?>
|
813 |
</span></li>
|
814 |
<?php
|
815 |
}
|
816 |
if ( ! empty( $api->requires ) ) {
|
817 |
?>
|
818 |
<li>
|
819 |
+
<strong><?php fs_esc_html_echo_inline( 'Requires WordPress Version', 'requires-wordpress-version', $api->slug ) ?>:</strong> <?php echo esc_html( sprintf( fs_text_inline( '%s or higher', 'x-or-higher', $api->slug ), $api->requires ) ) ?>
|
820 |
</li>
|
821 |
<?php
|
822 |
}
|
823 |
if ( ! empty( $api->tested ) ) {
|
824 |
?>
|
825 |
+
<li><strong><?php fs_esc_html_echo_inline( 'Compatible up to', 'compatible-up-to', $api->slug ); ?>:</strong> <?php echo $api->tested; ?>
|
826 |
</li>
|
827 |
<?php
|
828 |
}
|
829 |
if ( ! empty( $api->downloaded ) ) {
|
830 |
?>
|
831 |
<li>
|
832 |
+
<strong><?php fs_esc_html_echo_inline( 'Downloaded', 'downloaded', $api->slug ) ?>:</strong> <?php echo esc_html( sprintf(
|
833 |
+
( ( 1 == $api->downloaded ) ?
|
834 |
+
/* translators: %s: 1 or One (Number of times downloaded) */
|
835 |
+
fs_text_inline( '%s time', 'x-time', $api->slug ) :
|
836 |
+
/* translators: %s: Number of times downloaded */
|
837 |
+
fs_text_inline( '%s times', 'x-times', $api->slug )
|
838 |
+
),
|
839 |
number_format_i18n( $api->downloaded )
|
840 |
+
) ); ?>
|
841 |
</li>
|
842 |
<?php
|
843 |
}
|
844 |
if ( ! empty( $api->slug ) && empty( $api->external ) ) {
|
845 |
?>
|
846 |
<li><a target="_blank"
|
847 |
+
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php fs_esc_html_echo_inline( 'WordPress.org Plugin Page', 'wp-org-plugin-page', $api->slug ) ?> »</a>
|
848 |
</li>
|
849 |
<?php
|
850 |
}
|
851 |
if ( ! empty( $api->homepage ) ) {
|
852 |
?>
|
853 |
<li><a target="_blank"
|
854 |
+
href="<?php echo esc_url( $api->homepage ); ?>"><?php fs_esc_html_echo_inline( 'Plugin Homepage', 'plugin-homepage', $api->slug ) ?> »</a>
|
855 |
</li>
|
856 |
<?php
|
857 |
}
|
858 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
859 |
?>
|
860 |
<li><a target="_blank"
|
861 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_esc_html_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?> »</a>
|
862 |
</li>
|
863 |
<?php } ?>
|
864 |
</ul>
|
865 |
</div>
|
866 |
<?php if ( ! empty( $api->rating ) ) { ?>
|
867 |
+
<h3><?php fs_echo_inline( 'Average Rating', 'average-rating', $api->slug ); ?></h3>
|
868 |
<?php wp_star_rating( array(
|
869 |
'rating' => $api->rating,
|
870 |
'type' => 'percent',
|
871 |
'number' => $api->num_ratings
|
872 |
) ); ?>
|
873 |
+
<small>(<?php echo esc_html( sprintf(
|
874 |
+
fs_text_inline( 'based on %s', 'based-on-x', $api->slug ),
|
875 |
sprintf(
|
876 |
+
( ( 1 == $api->num_ratings ) ?
|
877 |
+
/* translators: %s: 1 or One */
|
878 |
+
fs_text_inline( '%s rating', 'x-rating', $api->slug ) :
|
879 |
+
/* translators: %s: Number larger than 1 */
|
880 |
+
fs_text_inline( '%s ratings', 'x-ratings', $api->slug )
|
881 |
+
),
|
882 |
number_format_i18n( $api->num_ratings )
|
883 |
+
) ) ) ?>)</small>
|
884 |
<?php
|
885 |
}
|
886 |
|
889 |
// Avoid div-by-zero.
|
890 |
$_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0;
|
891 |
$stars_label = sprintf(
|
892 |
+
( ( 1 == $key ) ?
|
893 |
+
/* translators: %s: 1 or One */
|
894 |
+
fs_text_inline( '%s star', 'x-star', $api->slug ) :
|
895 |
+
/* translators: %s: Number larger than 1 */
|
896 |
+
fs_text_inline( '%s stars', 'x-stars', $api->slug )
|
897 |
+
),
|
898 |
number_format_i18n( $key )
|
899 |
);
|
900 |
?>
|
902 |
<span class="counter-label"><a
|
903 |
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
904 |
target="_blank"
|
905 |
+
title="<?php echo esc_attr( sprintf(
|
906 |
+
/* translators: %s: # of stars (e.g. 5 stars) */
|
907 |
+
fs_text_inline( 'Click to see reviews that provided a rating of %s', 'click-to-reviews', $api->slug ),
|
908 |
+
$stars_label
|
909 |
+
) ) ?>"><?php echo $stars_label ?></a></span>
|
910 |
<span class="counter-back">
|
911 |
<span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span>
|
912 |
</span>
|
917 |
}
|
918 |
if ( ! empty( $api->contributors ) ) {
|
919 |
?>
|
920 |
+
<h3><?php fs_echo_inline( 'Contributors', 'contributors', $api->slug ); ?></h3>
|
921 |
<ul class="contributors">
|
922 |
<?php
|
923 |
foreach ( (array) $api->contributors as $contrib_username => $contrib_profile ) {
|
938 |
</ul>
|
939 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
940 |
<a target="_blank"
|
941 |
+
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?> »</a>
|
942 |
<?php } ?>
|
943 |
<?php } ?>
|
944 |
</div>
|
945 |
<div id="section-holder" class="wrap">
|
946 |
<?php
|
947 |
if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
|
948 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text_inline( 'Warning', 'warning', $api->slug ) . ':</strong> ' . fs_text_inline( 'This plugin has not been tested with your current version of WordPress.', 'not-tested-warning', $api->slug ) . '</p></div>';
|
949 |
} else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
|
950 |
+
echo '<div class="notice notice-warning"><p>' . '<strong>' . fs_text_inline( 'Warning', 'warning', $api->slug ) . ':</strong> ' . fs_text_inline( 'This plugin has not been marked as compatible with your version of WordPress.', 'not-compatible-warning', $api->slug ) . '</p></div>';
|
951 |
}
|
952 |
|
953 |
foreach ( (array) $api->sections as $section_name => $content ) {
|
965 |
$missing_notice = array(
|
966 |
'type' => 'error',
|
967 |
'id' => md5( microtime() ),
|
968 |
+
'message' => $api->is_paid ?
|
969 |
+
fs_text_inline( 'Paid add-on must be deployed to Freemius.', 'paid-addon-not-deployed', $api->slug ) :
|
970 |
+
fs_text_inline( 'Add-on must be deployed to WordPress.org or Freemius.', 'free-addon-not-deployed', $api->slug ),
|
971 |
);
|
972 |
fs_require_template( 'admin-notice.php', $missing_notice );
|
973 |
}
|
includes/vendor/freemius/wordpress-sdk/includes/i18n.php
CHANGED
@@ -4,6 +4,8 @@
|
|
4 |
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
* @since 1.1.4
|
|
|
|
|
7 |
*/
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -29,7 +31,7 @@
|
|
29 |
* my_freemius->override_i18n( array(
|
30 |
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
31 |
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
32 |
-
* );
|
33 |
*/
|
34 |
global $fs_text;
|
35 |
|
@@ -95,8 +97,54 @@
|
|
95 |
'optin-x-now' => _fs_text( 'Opt in to make "%s" Better!' ),
|
96 |
'error' => _fs_text( 'Error' ),
|
97 |
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
|
|
100 |
'expiration' => _fs_x( 'Expiration', 'as expiration date' ),
|
101 |
'license' => _fs_x( 'License', 'as software license' ),
|
102 |
'not-verified' => _fs_text( 'not verified' ),
|
4 |
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
* @since 1.1.4
|
7 |
+
*
|
8 |
+
* @deprecated This file is no longer in use. It's still in the project for backward compatibility.
|
9 |
*/
|
10 |
|
11 |
if ( ! defined( 'ABSPATH' ) ) {
|
31 |
* my_freemius->override_i18n( array(
|
32 |
* 'opt-in-connect' => __( "Yes - I'm in!", '{your-text_domain}' ),
|
33 |
* 'skip' => __( 'Not today', '{your-text_domain}' ),
|
34 |
+
* ) );
|
35 |
*/
|
36 |
global $fs_text;
|
37 |
|
97 |
'optin-x-now' => _fs_text( 'Opt in to make "%s" Better!' ),
|
98 |
'error' => _fs_text( 'Error' ),
|
99 |
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
100 |
+
'learn-more' => _fs_text( 'Learn more' ),
|
101 |
+
|
102 |
+
#region Affiliation
|
103 |
+
'affiliation' => _fs_text( 'Affiliation' ),
|
104 |
+
'affiliate' => _fs_text( 'Affiliate' ),
|
105 |
+
'affiliate-tracking' => _fs_text( '%s tracking cookie after the first visit to maximize earnings potential.' ),
|
106 |
+
'renewals-commission' => _fs_text( 'Get commission for automated subscription renewals.' ),
|
107 |
+
'affiliate-application-accepted' => _fs_text( "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s." ),
|
108 |
+
'affiliate-application-thank-you' => _fs_text( "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information." ),
|
109 |
+
'affiliate-application-rejected' => _fs_text( "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days." ),
|
110 |
+
'affiliate-account-suspended' => _fs_text( 'Your affiliation account was temporarily suspended.' ),
|
111 |
+
'affiliate-account-blocked' => _fs_text( 'Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support.' ),
|
112 |
+
'become-an-ambassador' => _fs_text( 'Like the %s? Become our ambassador and earn cash ;-)' ),
|
113 |
+
'become-an-ambassador-admin-notice' => _fs_text( 'Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!' ),
|
114 |
+
'refer-new-customers' => _fs_text( 'Refer new customers to our %s and earn %s commission on each successful sale you refer!' ),
|
115 |
+
'program-summary' => _fs_text( 'Program Summary' ),
|
116 |
+
'commission-on-new-license-purchase' => _fs_text( '%s commission when a customer purchases a new license.' ),
|
117 |
+
'unlimited-commissions' => _fs_text( 'Unlimited commissions.' ),
|
118 |
+
'minimum-payout-amount' => _fs_text( '%s minimum payout amount.' ),
|
119 |
+
'payouts-unit-and-processing' => _fs_text( 'Payouts are in USD and processed monthly via PayPal.' ),
|
120 |
+
'commission-payment' => _fs_text( 'As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days.' ),
|
121 |
+
'become-an-affiliate' => _fs_text( 'Become an affiliate' ),
|
122 |
+
'apply-to-become-an-affiliate' => _fs_text( 'Apply to become an affiliate' ),
|
123 |
+
'full-name' => _fs_text( 'Full name' ),
|
124 |
+
'paypal-account-email-address' => _fs_text( 'PayPal account email address' ),
|
125 |
+
'promotion-methods' => _fs_text( 'Promotion methods' ),
|
126 |
+
'social-media' => _fs_text( 'Social media (Facebook, Twitter, etc.)' ),
|
127 |
+
'mobile-apps' => _fs_text( 'Mobile apps' ),
|
128 |
+
'statistics-information-field-label' => _fs_text( 'Website, email, and social media statistics (optional)' ),
|
129 |
+
'statistics-information-field-desc' => _fs_text( 'Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential).' ),
|
130 |
+
'promotion-method-desc-field-label' => _fs_text( 'How will you promote us?' ),
|
131 |
+
'promotion-method-desc-field-desc' => _fs_text( 'Please provide details on how you intend to promote %s (please be as specific as possible).' ),
|
132 |
+
'domain-field-label' => _fs_text( 'Where are you going to promote the %s?' ),
|
133 |
+
'domain-field-desc' => _fs_text( 'Enter the domain of your website or other websites from where you plan to promote the %s.' ),
|
134 |
+
'extra-domain-fields-label' => _fs_text( 'Extra Domains' ),
|
135 |
+
'extra-domain-fields-desc' => _fs_text( 'Extra domains where you will be marketing the product from.' ),
|
136 |
+
'add-another-domain' => _fs_text( 'Add another domain' ),
|
137 |
+
'remove' => _fs_x( 'Remove', 'Remove domain' ),
|
138 |
+
'email-address-is-required' => _fs_text( 'Email address is required.' ),
|
139 |
+
'domain-is-required' => _fs_text( 'Domain is required.' ),
|
140 |
+
'invalid-domain' => _fs_text( 'Invalid domain' ),
|
141 |
+
'paypal-email-address-is-required' => _fs_text( 'PayPal email address is required.' ),
|
142 |
+
'processing' => _fs_text( 'Processing...' ),
|
143 |
+
'non-expiring' => _fs_text( 'Non-expiring' ),
|
144 |
+
'account-is-pending-activation' => _fs_text( 'Account is pending activation.' ),
|
145 |
+
#endregion Affiliation
|
146 |
|
147 |
+
#region Account
|
148 |
'expiration' => _fs_x( 'Expiration', 'as expiration date' ),
|
149 |
'license' => _fs_x( 'License', 'as software license' ),
|
150 |
'not-verified' => _fs_text( 'not verified' ),
|
includes/vendor/freemius/wordpress-sdk/includes/l10n.php
CHANGED
@@ -25,75 +25,6 @@
|
|
25 |
return $fn( $text, 'freemius' );
|
26 |
}
|
27 |
|
28 |
-
/**
|
29 |
-
* Retrieve the translation of $text and escapes it for safe use in an attribute.
|
30 |
-
*
|
31 |
-
* @since 1.2.1.6
|
32 |
-
*
|
33 |
-
* @param string $text
|
34 |
-
*
|
35 |
-
* @return string
|
36 |
-
*/
|
37 |
-
function _fs_esc_attr( $text ) {
|
38 |
-
// Avoid misleading Theme Check warning.
|
39 |
-
$fn = 'translate';
|
40 |
-
return esc_attr( $fn( $text, 'freemius' ) );
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Retrieve the translation of $text and escapes it for safe use in HTML output.
|
45 |
-
*
|
46 |
-
* @since 1.2.1.6
|
47 |
-
*
|
48 |
-
* @param string $text
|
49 |
-
*
|
50 |
-
* @return string
|
51 |
-
*/
|
52 |
-
function _fs_esc_html( $text ) {
|
53 |
-
// Avoid misleading Theme Check warning.
|
54 |
-
$fn = 'translate';
|
55 |
-
return esc_html( $fn( $text, 'freemius' ) );
|
56 |
-
}
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Display translated text.
|
60 |
-
*
|
61 |
-
* @since 1.2.0
|
62 |
-
*
|
63 |
-
* @param string $text
|
64 |
-
*/
|
65 |
-
function _fs_echo( $text ) {
|
66 |
-
// Avoid misleading Theme Check warning.
|
67 |
-
$fn = 'translate';
|
68 |
-
echo $fn( $text, 'freemius' );
|
69 |
-
}
|
70 |
-
|
71 |
-
/**
|
72 |
-
* Display translated text that has been escaped for safe use in an attribute.
|
73 |
-
*
|
74 |
-
* @since 1.2.1.6
|
75 |
-
*
|
76 |
-
* @param string $text
|
77 |
-
*/
|
78 |
-
function _fs_esc_attr_echo( $text ) {
|
79 |
-
// Avoid misleading Theme Check warning.
|
80 |
-
$fn = 'translate';
|
81 |
-
echo esc_attr( $fn( $text, 'freemius' ) );
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* Display translated text that has been escaped for safe use in HTML output.
|
86 |
-
*
|
87 |
-
* @since 1.2.1.6
|
88 |
-
*
|
89 |
-
* @param string $text
|
90 |
-
*/
|
91 |
-
function _fs_esc_html_echo( $text ) {
|
92 |
-
// Avoid misleading Theme Check warning.
|
93 |
-
$fn = 'translate';
|
94 |
-
echo esc_html( $fn( $text, 'freemius' ) );
|
95 |
-
}
|
96 |
-
|
97 |
/**
|
98 |
* Retrieve translated string with gettext context.
|
99 |
*
|
@@ -115,154 +46,3 @@
|
|
115 |
$fn = 'translate_with_gettext_context';
|
116 |
return $fn( $text, $context, 'freemius' );
|
117 |
}
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Display translated string with gettext context.
|
121 |
-
*
|
122 |
-
* @since 1.2.1.6
|
123 |
-
*
|
124 |
-
* @param string $text
|
125 |
-
* @param string $context
|
126 |
-
*/
|
127 |
-
function _fs_ex( $text, $context ) {
|
128 |
-
// Avoid misleading Theme Check warning.
|
129 |
-
$fn = '_x';
|
130 |
-
echo $fn( $text, $context, 'freemius' );
|
131 |
-
}
|
132 |
-
|
133 |
-
/**
|
134 |
-
* Translate string with gettext context, and escapes it for safe use in an attribute.
|
135 |
-
*
|
136 |
-
* @since 1.2.1.6
|
137 |
-
*
|
138 |
-
* @param string $text
|
139 |
-
* @param string $context
|
140 |
-
*
|
141 |
-
* @return string
|
142 |
-
*/
|
143 |
-
function _fs_esc_attr_x( $text, $context ) {
|
144 |
-
// Avoid misleading Theme Check warning.
|
145 |
-
$fn = 'translate_with_gettext_context';
|
146 |
-
return esc_attr( $fn( $text, $context, 'freemius' ) );
|
147 |
-
}
|
148 |
-
|
149 |
-
/**
|
150 |
-
* Translate string with gettext context, and escapes it for safe use in HTML output.
|
151 |
-
*
|
152 |
-
* @since 2.9.0
|
153 |
-
*
|
154 |
-
* @param string $text
|
155 |
-
* @param string $context
|
156 |
-
*
|
157 |
-
* @return string
|
158 |
-
*/
|
159 |
-
function _fs_esc_html_x( $text, $context ) {
|
160 |
-
// Avoid misleading Theme Check warning.
|
161 |
-
$fn = 'translate_with_gettext_context';
|
162 |
-
return esc_html( $fn( $text, $context, 'freemius' ) );
|
163 |
-
}
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Translates and retrieves the singular or plural form based on the supplied number.
|
167 |
-
*
|
168 |
-
* @since 1.2.1.6
|
169 |
-
*
|
170 |
-
* @param string $single
|
171 |
-
* @param string $plural
|
172 |
-
* @param int $number
|
173 |
-
*
|
174 |
-
* @return string
|
175 |
-
*/
|
176 |
-
function _fs_n( $single, $plural, $number ) {
|
177 |
-
$translations = get_translations_for_domain( 'freemius' );
|
178 |
-
$translation = $translations->translate_plural( $single, $plural, $number );
|
179 |
-
|
180 |
-
/**
|
181 |
-
* Filters the singular or plural form of a string.
|
182 |
-
*
|
183 |
-
* @since WP 2.2.0
|
184 |
-
*
|
185 |
-
* @param string $translation
|
186 |
-
* @param string $single
|
187 |
-
* @param string $plural
|
188 |
-
* @param string $number
|
189 |
-
* @param string $domain
|
190 |
-
*/
|
191 |
-
return apply_filters( 'ngettext', $translation, $single, $plural, $number, 'freemius' );
|
192 |
-
}
|
193 |
-
|
194 |
-
/**
|
195 |
-
* Translates and retrieves the singular or plural form based on the supplied number, with gettext context.
|
196 |
-
*
|
197 |
-
* @since 1.2.1.6
|
198 |
-
*
|
199 |
-
* @param string $single
|
200 |
-
* @param string $plural
|
201 |
-
* @param int $number
|
202 |
-
* @param string $context
|
203 |
-
*
|
204 |
-
* @return string
|
205 |
-
*/
|
206 |
-
function _fs_nx($single, $plural, $number, $context ) {
|
207 |
-
$translations = get_translations_for_domain( 'freemius' );
|
208 |
-
$translation = $translations->translate_plural( $single, $plural, $number, $context );
|
209 |
-
|
210 |
-
/**
|
211 |
-
* Filters the singular or plural form of a string with gettext context.
|
212 |
-
*
|
213 |
-
* @since WP 3.0
|
214 |
-
*
|
215 |
-
* @param string $translation
|
216 |
-
* @param string $single
|
217 |
-
* @param string $plural
|
218 |
-
* @param string $number
|
219 |
-
* @param string $context
|
220 |
-
* @param string $domain
|
221 |
-
*/
|
222 |
-
return apply_filters( 'ngettext_with_context', $translation, $single, $plural, $number, $context, 'freemius' );
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Registers plural strings in POT file, but does not translate them.
|
227 |
-
*
|
228 |
-
* Used when you want to keep structures with translatable plural
|
229 |
-
* strings and use them later when the number is known.
|
230 |
-
*
|
231 |
-
* @since 1.2.1.6
|
232 |
-
*
|
233 |
-
* @param string $singular
|
234 |
-
* @param string $plural
|
235 |
-
*
|
236 |
-
* @return array
|
237 |
-
*/
|
238 |
-
function _fs_n_noop( $singular, $plural ) {
|
239 |
-
return array(
|
240 |
-
'singular' => $singular,
|
241 |
-
'plural' => $plural,
|
242 |
-
'context' => null,
|
243 |
-
'domain' => 'freemius'
|
244 |
-
);
|
245 |
-
}
|
246 |
-
|
247 |
-
/**
|
248 |
-
* Registers plural strings with gettext context in POT file, but does not translate them.
|
249 |
-
*
|
250 |
-
* Used when you want to keep structures with translatable plural
|
251 |
-
* strings and use them later when the number is known.
|
252 |
-
*
|
253 |
-
* @since 1.2.1.6
|
254 |
-
*
|
255 |
-
* @param string $singular
|
256 |
-
* @param string $plural
|
257 |
-
* @param string $context
|
258 |
-
*
|
259 |
-
* @return array
|
260 |
-
*/
|
261 |
-
function _fs_nx_noop( $singular, $plural, $context ) {
|
262 |
-
return array(
|
263 |
-
'singular' => $singular,
|
264 |
-
'plural' => $plural,
|
265 |
-
'context' => $context,
|
266 |
-
'domain' => 'freemius'
|
267 |
-
);
|
268 |
-
}
|
25 |
return $fn( $text, 'freemius' );
|
26 |
}
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* Retrieve translated string with gettext context.
|
30 |
*
|
46 |
$fn = 'translate_with_gettext_context';
|
47 |
return $fn( $text, $context, 'freemius' );
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-menu-manager.php
CHANGED
@@ -163,11 +163,12 @@
|
|
163 |
|
164 |
if ( ! $is_addon && isset( $menu ) ) {
|
165 |
$this->_default_submenu_items = array(
|
166 |
-
'contact'
|
167 |
-
'support'
|
168 |
-
|
169 |
-
'
|
170 |
-
'
|
|
|
171 |
);
|
172 |
|
173 |
// @deprecated
|
163 |
|
164 |
if ( ! $is_addon && isset( $menu ) ) {
|
165 |
$this->_default_submenu_items = array(
|
166 |
+
'contact' => $this->get_bool_option( $menu, 'contact', true ),
|
167 |
+
'support' => $this->get_bool_option( $menu, 'support', true ),
|
168 |
+
'affiliation' => $this->get_bool_option( $menu, 'affiliation', true ),
|
169 |
+
'account' => $this->get_bool_option( $menu, 'account', true ),
|
170 |
+
'pricing' => $this->get_bool_option( $menu, 'pricing', true ),
|
171 |
+
'addons' => $this->get_bool_option( $menu, 'addons', true ),
|
172 |
);
|
173 |
|
174 |
// @deprecated
|
includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-cache-manager.php
CHANGED
@@ -166,10 +166,10 @@
|
|
166 |
isset( $cache_entry->timestamp ) &&
|
167 |
is_numeric( $cache_entry->timestamp )
|
168 |
) {
|
169 |
-
|
170 |
-
|
171 |
|
172 |
-
return $default;
|
173 |
}
|
174 |
|
175 |
/**
|
@@ -194,7 +194,7 @@
|
|
194 |
return $cache_entry->result;
|
195 |
}
|
196 |
|
197 |
-
|
198 |
}
|
199 |
|
200 |
/**
|
@@ -208,7 +208,8 @@
|
|
208 |
function set( $key, $value, $expiration = WP_FS__TIME_24_HOURS_IN_SEC ) {
|
209 |
$this->_logger->entrance( 'key = ' . $key );
|
210 |
|
211 |
-
$cache_entry
|
|
|
212 |
$cache_entry->result = $value;
|
213 |
$cache_entry->created = WP_FS__SCRIPT_START_TIME;
|
214 |
$cache_entry->timestamp = WP_FS__SCRIPT_START_TIME + $expiration;
|
166 |
isset( $cache_entry->timestamp ) &&
|
167 |
is_numeric( $cache_entry->timestamp )
|
168 |
) {
|
169 |
+
return $cache_entry->result;
|
170 |
+
}
|
171 |
|
172 |
+
return is_object($default) ? clone $default : $default;
|
173 |
}
|
174 |
|
175 |
/**
|
194 |
return $cache_entry->result;
|
195 |
}
|
196 |
|
197 |
+
return is_object($default) ? clone $default : $default;
|
198 |
}
|
199 |
|
200 |
/**
|
208 |
function set( $key, $value, $expiration = WP_FS__TIME_24_HOURS_IN_SEC ) {
|
209 |
$this->_logger->entrance( 'key = ' . $key );
|
210 |
|
211 |
+
$cache_entry = new stdClass();
|
212 |
+
|
213 |
$cache_entry->result = $value;
|
214 |
$cache_entry->created = WP_FS__SCRIPT_START_TIME;
|
215 |
$cache_entry->timestamp = WP_FS__SCRIPT_START_TIME + $expiration;
|
includes/vendor/freemius/wordpress-sdk/includes/managers/class-fs-option-manager.php
CHANGED
@@ -211,12 +211,39 @@
|
|
211 |
$this->_logger->entrance( 'option = ' . $option );
|
212 |
|
213 |
if ( is_array( $this->_options ) ) {
|
214 |
-
|
|
|
|
|
215 |
} else if ( is_object( $this->_options ) ) {
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
221 |
|
222 |
/**
|
@@ -234,10 +261,34 @@
|
|
234 |
$this->clear();
|
235 |
}
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
if ( is_array( $this->_options ) ) {
|
238 |
-
$this->_options[ $option ] = $
|
239 |
} else if ( is_object( $this->_options ) ) {
|
240 |
-
$this->_options->{$option} = $
|
241 |
}
|
242 |
|
243 |
if ( $flush ) {
|
211 |
$this->_logger->entrance( 'option = ' . $option );
|
212 |
|
213 |
if ( is_array( $this->_options ) ) {
|
214 |
+
$value = isset( $this->_options[ $option ] ) ?
|
215 |
+
$this->_options[ $option ] :
|
216 |
+
$default;
|
217 |
} else if ( is_object( $this->_options ) ) {
|
218 |
+
$value = isset( $this->_options->{$option} ) ?
|
219 |
+
$this->_options->{$option} :
|
220 |
+
$default;
|
221 |
+
} else {
|
222 |
+
$value = $default;
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* If it's an object, return a clone of the object, otherwise,
|
227 |
+
* external changes of the object will actually change the value
|
228 |
+
* of the object in the options manager which may lead to an unexpected
|
229 |
+
* behaviour and data integrity when a store() call is triggered.
|
230 |
+
*
|
231 |
+
* Example:
|
232 |
+
* $object1 = $options->get_option( 'object1' );
|
233 |
+
* $object1->x = 123;
|
234 |
+
*
|
235 |
+
* $object2 = $options->get_option( 'object2' );
|
236 |
+
* $object2->y = 'dummy';
|
237 |
+
*
|
238 |
+
* $options->set_option( 'object2', $object2, true );
|
239 |
+
*
|
240 |
+
* If we don't return a clone of option 'object1', setting 'object2'
|
241 |
+
* will also store the updated value of 'object1' which is quite not
|
242 |
+
* an expected behaviour.
|
243 |
+
*
|
244 |
+
* @author Vova Feldman
|
245 |
+
*/
|
246 |
+
return is_object($value) ? clone $value : $value;
|
247 |
}
|
248 |
|
249 |
/**
|
261 |
$this->clear();
|
262 |
}
|
263 |
|
264 |
+
/**
|
265 |
+
* If it's an object, store a clone of the object, otherwise,
|
266 |
+
* external changes of the object will actually change the value
|
267 |
+
* of the object in the options manager which may lead to an unexpected
|
268 |
+
* behaviour and data integrity when a store() call is triggered.
|
269 |
+
*
|
270 |
+
* Example:
|
271 |
+
* $object1 = new stdClass();
|
272 |
+
* $object1->x = 123;
|
273 |
+
*
|
274 |
+
* $options->set_option( 'object1', $object1 );
|
275 |
+
*
|
276 |
+
* $object1->x = 456;
|
277 |
+
*
|
278 |
+
* $options->set_option( 'object2', $object2, true );
|
279 |
+
*
|
280 |
+
* If we don't set the option as a clone of option 'object1', setting 'object2'
|
281 |
+
* will also store the updated value of 'object1' ($object1->x = 456 instead of
|
282 |
+
* $object1->x = 123) which is quite not an expected behaviour.
|
283 |
+
*
|
284 |
+
* @author Vova Feldman
|
285 |
+
*/
|
286 |
+
$copy = is_object($value) ? clone $value : $value;
|
287 |
+
|
288 |
if ( is_array( $this->_options ) ) {
|
289 |
+
$this->_options[ $option ] = $copy;
|
290 |
} else if ( is_object( $this->_options ) ) {
|
291 |
+
$this->_options->{$option} = $copy;
|
292 |
}
|
293 |
|
294 |
if ( $flush ) {
|
includes/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusWordPress.php
CHANGED
@@ -263,6 +263,8 @@
|
|
263 |
|
264 |
/**
|
265 |
* Get API request URL signed via query string.
|
|
|
|
|
266 |
*
|
267 |
* @param string $pPath
|
268 |
*
|
@@ -270,20 +272,19 @@
|
|
270 |
*
|
271 |
* @return string
|
272 |
*/
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
}
|
287 |
|
288 |
/**
|
289 |
* @author Vova Feldman
|
@@ -420,13 +421,19 @@
|
|
420 |
$matches = array();
|
421 |
$regex = '/Failed to connect to ([^:].*): Network is unreachable/';
|
422 |
if ( preg_match( $regex, $result->get_error_message( 'http_request_failed' ), $matches ) ) {
|
423 |
-
|
|
|
|
|
|
|
|
|
|
|
424 |
// error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
|
425 |
-
|
426 |
-
|
427 |
|
428 |
-
|
429 |
-
|
|
|
430 |
}
|
431 |
}
|
432 |
}
|
263 |
|
264 |
/**
|
265 |
* Get API request URL signed via query string.
|
266 |
+
*
|
267 |
+
* @since 1.2.3 Stopped using http_build_query(). Instead, use urlencode(). In some environments the encoding of http_build_query() can generate a URL that once used with a redirect, the `&` querystring separator is escaped to `&` which breaks the URL (Added by @svovaf).
|
268 |
*
|
269 |
* @param string $pPath
|
270 |
*
|
272 |
*
|
273 |
* @return string
|
274 |
*/
|
275 |
+
function GetSignedUrl( $pPath ) {
|
276 |
+
$resource = explode( '?', $this->CanonizePath( $pPath ) );
|
277 |
+
$pResourceUrl = $resource[0];
|
278 |
+
|
279 |
+
$auth = $this->GenerateAuthorizationParams( $pResourceUrl );
|
280 |
+
|
281 |
+
return Freemius_Api_WordPress::GetUrl(
|
282 |
+
$pResourceUrl . '?' .
|
283 |
+
( 1 < count( $resource ) && ! empty( $resource[1] ) ? $resource[1] . '&' : '' ) .
|
284 |
+
'authorization=' . urlencode( $auth['authorization'] ) .
|
285 |
+
'&auth_date=' . urlencode( $auth['date'] )
|
286 |
+
, $this->_isSandbox );
|
287 |
+
}
|
|
|
288 |
|
289 |
/**
|
290 |
* @author Vova Feldman
|
421 |
$matches = array();
|
422 |
$regex = '/Failed to connect to ([^:].*): Network is unreachable/';
|
423 |
if ( preg_match( $regex, $result->get_error_message( 'http_request_failed' ), $matches ) ) {
|
424 |
+
/**
|
425 |
+
* Validate IP before calling `inet_pton()` to avoid PHP un-catchable warning.
|
426 |
+
* @author Vova Feldman (@svovaf)
|
427 |
+
*/
|
428 |
+
if ( filter_var( $matches[1], FILTER_VALIDATE_IP ) ) {
|
429 |
+
if ( strlen( inet_pton( $matches[1] ) ) === 16 ) {
|
430 |
// error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
|
431 |
+
// Hook to an action triggered just before cURL is executed to resolve the IP version to v4.
|
432 |
+
add_action( 'http_api_curl', 'Freemius_Api_WordPress::CurlResolveToIPv4', 10, 1 );
|
433 |
|
434 |
+
// Re-run request.
|
435 |
+
$result = self::ExecuteRequest( $request_url, $pWPRemoteArgs );
|
436 |
+
}
|
437 |
}
|
438 |
}
|
439 |
}
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-en.mo
CHANGED
Binary file
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-en.po
CHANGED
@@ -14,1811 +14,1963 @@ msgstr ""
|
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
"MIME-Version: 1.0\n"
|
16 |
"X-Poedit-Basepath: ..\n"
|
17 |
-
"X-Poedit-KeywordsList:
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
20 |
"X-Poedit-SourceCharset: UTF-8\n"
|
21 |
|
22 |
-
#: includes/
|
23 |
-
msgid "
|
24 |
-
msgstr "
|
25 |
-
|
26 |
-
#: includes/i18n.php:38
|
27 |
-
msgid "Add-On"
|
28 |
-
msgstr "Add-On"
|
29 |
|
30 |
-
#: includes/
|
31 |
-
msgid "
|
32 |
-
msgstr "
|
33 |
|
34 |
-
#: includes/
|
35 |
-
msgid "
|
36 |
-
msgstr "
|
37 |
|
38 |
-
#: includes/
|
39 |
-
msgid "
|
40 |
-
msgstr "
|
41 |
|
42 |
-
#: includes/
|
43 |
-
msgid "
|
44 |
-
msgstr "
|
45 |
|
46 |
-
#: includes/
|
47 |
-
msgid "
|
48 |
-
msgstr "
|
49 |
|
50 |
-
#: includes/
|
51 |
-
msgid "
|
52 |
-
msgstr "
|
53 |
|
54 |
-
#: includes/
|
55 |
-
|
56 |
-
|
57 |
-
msgstr "Upgrade"
|
58 |
|
59 |
-
#: includes/
|
60 |
-
msgid "
|
61 |
-
msgstr "
|
62 |
|
63 |
-
#: includes/
|
64 |
-
|
65 |
-
|
66 |
-
msgstr "Pricing"
|
67 |
|
68 |
-
#: includes/
|
69 |
-
|
70 |
-
|
71 |
-
msgstr "Price"
|
72 |
|
73 |
-
#: includes/
|
74 |
-
msgid "
|
75 |
-
msgstr "
|
76 |
|
77 |
-
#: includes/
|
78 |
-
|
79 |
-
|
80 |
-
msgstr "Downgrade"
|
81 |
|
82 |
-
#: includes/
|
83 |
-
|
84 |
-
|
85 |
-
msgstr "Cancel Subscription"
|
86 |
|
87 |
-
#: includes/
|
88 |
-
msgid "
|
89 |
-
msgstr "
|
90 |
|
91 |
-
#: includes/
|
92 |
-
msgid "
|
93 |
-
msgstr "
|
94 |
|
95 |
-
#: includes/
|
96 |
-
msgid "
|
97 |
-
msgstr "
|
98 |
|
99 |
-
#: includes/
|
100 |
-
msgid "
|
101 |
-
msgstr "
|
102 |
|
103 |
-
#: includes/
|
104 |
-
msgid "
|
105 |
-
msgstr "
|
106 |
|
107 |
-
#: includes/
|
108 |
-
msgid "
|
109 |
-
msgstr "
|
110 |
|
111 |
-
#: includes/
|
112 |
-
msgid "
|
113 |
-
msgstr "
|
114 |
|
115 |
-
#: includes/
|
116 |
-
|
117 |
-
|
118 |
-
msgstr "Delete"
|
119 |
|
120 |
-
#: includes/
|
121 |
-
|
122 |
-
|
123 |
-
msgstr "Show"
|
124 |
|
125 |
-
#: includes/
|
126 |
-
|
127 |
-
|
128 |
-
msgstr "Hide"
|
129 |
|
130 |
-
#: includes/
|
131 |
-
|
132 |
-
|
133 |
-
msgstr "Edit"
|
134 |
|
135 |
-
#: includes/
|
136 |
-
|
137 |
-
|
138 |
-
msgstr "Update"
|
139 |
|
140 |
-
#: includes/
|
141 |
-
msgid "
|
142 |
-
msgstr "
|
143 |
|
144 |
-
#: includes/
|
145 |
-
msgid "
|
146 |
-
msgstr "
|
147 |
|
148 |
-
#: includes/
|
149 |
-
msgid "
|
150 |
-
msgstr "
|
151 |
|
152 |
-
#: includes/
|
153 |
-
msgid "
|
154 |
-
msgstr "
|
155 |
|
156 |
-
#: includes/
|
157 |
-
msgid "
|
158 |
-
msgstr "
|
159 |
|
160 |
-
#: includes/
|
161 |
-
|
162 |
-
|
|
|
163 |
|
164 |
-
#: includes/
|
165 |
-
|
166 |
-
|
167 |
-
msgstr "Dismiss"
|
168 |
|
169 |
-
#: includes/
|
170 |
-
msgctxt "
|
171 |
-
msgid "
|
172 |
-
msgstr "
|
173 |
|
174 |
-
#: includes/
|
175 |
-
|
176 |
-
|
|
|
177 |
|
178 |
-
#: includes/
|
179 |
-
|
180 |
-
|
181 |
-
msgstr "Download %s Version"
|
182 |
|
183 |
-
#: includes/
|
184 |
-
|
185 |
-
|
186 |
-
msgstr "Download %s version now"
|
187 |
|
188 |
-
#: includes/
|
189 |
-
msgctxt "
|
190 |
-
msgid "
|
191 |
-
msgstr "
|
192 |
|
193 |
-
#: includes/
|
194 |
-
msgctxt "E.g. you have a professional license."
|
195 |
msgid "You have a %s license."
|
196 |
msgstr "You have a %s license."
|
197 |
|
198 |
-
#: includes/
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
#: includes/i18n.php:78
|
203 |
-
msgid "Free"
|
204 |
-
msgstr "Free"
|
205 |
|
206 |
-
#: includes/
|
207 |
-
|
208 |
-
|
209 |
-
msgstr "Trial"
|
210 |
|
211 |
-
#: includes/
|
212 |
-
|
213 |
-
|
214 |
-
msgstr "Start Trial"
|
215 |
|
216 |
-
#: includes/
|
217 |
-
|
218 |
-
|
219 |
-
msgstr "Purchase"
|
220 |
|
221 |
-
#: includes/
|
222 |
msgid "Purchase License"
|
223 |
msgstr "Purchase License"
|
224 |
|
225 |
-
#: includes/
|
226 |
-
|
227 |
-
|
228 |
-
msgstr "Buy"
|
229 |
-
|
230 |
-
#: includes/i18n.php:84
|
231 |
-
msgid "Buy License"
|
232 |
-
msgstr "Buy License"
|
233 |
-
|
234 |
-
#: includes/i18n.php:85
|
235 |
-
msgid "Single Site License"
|
236 |
-
msgstr "Single Site License"
|
237 |
-
|
238 |
-
#: includes/i18n.php:86
|
239 |
-
msgid "Unlimited Licenses"
|
240 |
-
msgstr "Unlimited Licenses"
|
241 |
-
|
242 |
-
#: includes/i18n.php:87
|
243 |
-
msgid "Up to %s Sites"
|
244 |
-
msgstr "Up to %s Sites"
|
245 |
-
|
246 |
-
#: includes/i18n.php:88
|
247 |
-
msgid "%sRenew your license now%s to access version %s features and support."
|
248 |
-
msgstr "%sRenew your license now%s to access version %s features and support."
|
249 |
|
250 |
-
#: includes/
|
251 |
-
msgid "
|
252 |
-
msgstr "
|
253 |
|
254 |
-
#: includes/
|
255 |
-
|
256 |
-
|
257 |
-
msgstr "%s Plan"
|
258 |
|
259 |
-
#: includes/
|
260 |
msgid "You are just one step away - %s"
|
261 |
msgstr "You are just one step away - %s"
|
262 |
|
263 |
-
#: includes/
|
264 |
-
msgctxt "%s - plugin name. As complete \"
|
265 |
msgid "Complete \"%s\" Activation Now"
|
266 |
msgstr "Complete \"%s\" Activation Now"
|
267 |
|
268 |
-
#: includes/
|
269 |
msgid "We made a few tweaks to the %s, %s"
|
270 |
msgstr "We made a few tweaks to the %s, %s"
|
271 |
|
272 |
-
#: includes/
|
273 |
-
msgid "Opt
|
274 |
-
msgstr "Opt
|
275 |
|
276 |
-
#: includes/
|
277 |
-
msgid "
|
278 |
-
msgstr "
|
279 |
|
280 |
-
#: includes/
|
281 |
-
msgid "
|
282 |
-
msgstr "
|
283 |
|
284 |
-
#: includes/
|
285 |
-
|
286 |
-
|
287 |
-
msgstr "Expiration"
|
288 |
|
289 |
-
#: includes/
|
290 |
-
|
291 |
-
|
292 |
-
msgstr "License"
|
293 |
|
294 |
-
#: includes/
|
295 |
-
msgid "
|
296 |
-
msgstr "
|
297 |
|
298 |
-
#: includes/
|
299 |
-
msgid "
|
300 |
-
msgstr "
|
301 |
|
302 |
-
#: includes/
|
303 |
-
|
304 |
-
|
305 |
-
msgstr "Expires in %s"
|
306 |
|
307 |
-
#: includes/
|
308 |
-
msgctxt "
|
309 |
-
msgid "
|
310 |
-
msgstr "
|
311 |
|
312 |
-
#: includes/
|
313 |
-
msgid "
|
314 |
-
msgstr "
|
315 |
|
316 |
-
#: includes/
|
317 |
-
msgid "
|
318 |
-
msgstr "
|
319 |
|
320 |
-
#: includes/
|
321 |
-
msgid "
|
322 |
-
msgstr "
|
323 |
|
324 |
-
#: includes/
|
325 |
-
|
326 |
-
|
327 |
-
msgstr "In %s"
|
328 |
|
329 |
-
#: includes/
|
330 |
-
|
331 |
-
|
332 |
-
msgstr "%s ago"
|
333 |
|
334 |
-
#: includes/
|
335 |
-
msgid "
|
336 |
-
msgstr "
|
337 |
|
338 |
-
#: includes/
|
339 |
-
|
340 |
-
|
341 |
-
msgstr "Version"
|
342 |
|
343 |
-
#: includes/
|
344 |
-
msgid "
|
345 |
-
msgstr "
|
346 |
|
347 |
-
#: includes/
|
348 |
-
msgid "
|
349 |
-
msgstr "
|
350 |
|
351 |
-
#: includes/
|
352 |
-
msgid "
|
353 |
-
msgstr "
|
354 |
|
355 |
-
#: includes/
|
356 |
-
msgid "
|
357 |
-
msgstr "
|
358 |
|
359 |
-
#: includes/
|
360 |
-
|
361 |
-
|
|
|
362 |
|
363 |
-
#: includes/
|
364 |
-
msgid "
|
365 |
-
msgstr "
|
366 |
|
367 |
-
#: includes/
|
368 |
-
msgid "
|
369 |
-
msgstr "
|
370 |
|
371 |
-
#: includes/
|
372 |
-
|
373 |
-
|
|
|
374 |
|
375 |
-
#: includes/
|
376 |
-
msgid "
|
377 |
-
msgstr "
|
378 |
|
379 |
-
#: includes/
|
380 |
-
msgid "
|
381 |
-
msgstr "
|
382 |
|
383 |
-
#: includes/
|
384 |
-
|
385 |
-
|
386 |
-
msgstr "Path"
|
387 |
|
388 |
-
#: includes/
|
389 |
-
|
390 |
-
|
|
|
391 |
|
392 |
-
#: includes/
|
393 |
-
msgid "
|
394 |
-
msgstr "
|
395 |
|
396 |
-
#: includes/
|
397 |
-
msgid "
|
398 |
-
msgstr "
|
399 |
|
400 |
-
#: includes/
|
401 |
-
msgctxt "
|
402 |
-
msgid "
|
403 |
-
msgstr "
|
404 |
|
405 |
-
#: includes/
|
406 |
-
msgid "
|
407 |
-
msgstr "
|
408 |
|
409 |
-
#: includes/
|
410 |
-
|
411 |
-
|
|
|
412 |
|
413 |
-
#: includes/
|
414 |
-
msgid "%s
|
415 |
-
msgstr "%s
|
416 |
|
417 |
-
#: includes/
|
418 |
-
|
419 |
-
|
420 |
-
msgstr "Sites"
|
421 |
|
422 |
-
#: includes/
|
423 |
-
msgid "
|
424 |
-
msgstr "
|
425 |
|
426 |
-
#: includes/
|
427 |
-
msgid "
|
428 |
-
msgstr "
|
429 |
|
430 |
-
#: includes/
|
431 |
-
msgid "
|
432 |
-
msgstr "
|
433 |
|
434 |
-
#: includes/
|
435 |
-
msgid "
|
436 |
-
msgstr "
|
437 |
|
438 |
-
#: includes/
|
439 |
-
|
440 |
-
|
441 |
-
msgstr "No Secret"
|
442 |
|
443 |
-
#: includes/
|
444 |
-
msgid "
|
445 |
-
msgstr "
|
446 |
|
447 |
-
#: includes/
|
448 |
-
|
449 |
-
|
450 |
-
msgstr "Sync License"
|
451 |
|
452 |
-
#: includes/
|
453 |
-
|
454 |
-
|
455 |
-
msgstr "Sync"
|
456 |
|
457 |
-
#: includes/
|
458 |
-
msgid "
|
459 |
-
msgstr "
|
460 |
|
461 |
-
#: includes/
|
462 |
-
msgid "
|
463 |
-
msgstr "
|
464 |
|
465 |
-
#: includes/
|
466 |
-
msgid "
|
467 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
|
469 |
-
#: includes/
|
470 |
-
msgid "
|
471 |
-
msgstr "
|
472 |
|
473 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
msgid "Change License"
|
475 |
msgstr "Change License"
|
476 |
|
477 |
-
#: includes/
|
478 |
-
msgid "
|
479 |
-
msgstr "
|
480 |
|
481 |
-
#: includes/
|
482 |
-
msgid "
|
483 |
-
msgstr "
|
484 |
|
485 |
-
#: includes/
|
486 |
-
msgid "
|
487 |
-
msgstr "
|
488 |
|
489 |
-
#: includes/
|
490 |
-
msgid "
|
491 |
-
msgstr "
|
492 |
|
493 |
-
#: includes/
|
494 |
-
msgid "
|
495 |
-
msgstr "
|
496 |
|
497 |
-
#: includes/
|
498 |
-
msgid "
|
499 |
-
msgstr "
|
500 |
|
501 |
-
#: includes/
|
502 |
-
msgid "
|
503 |
-
msgstr "
|
504 |
|
505 |
-
#: includes/
|
506 |
-
msgid "
|
507 |
-
msgstr "
|
508 |
|
509 |
-
#: includes/
|
510 |
-
|
511 |
-
|
512 |
-
msgstr "Active"
|
513 |
|
514 |
-
#: includes/
|
515 |
-
|
516 |
-
|
517 |
-
msgstr "Is Active"
|
518 |
|
519 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
520 |
msgid "Install Now"
|
521 |
msgstr "Install Now"
|
522 |
|
523 |
-
#: includes/
|
524 |
msgid "Install Update Now"
|
525 |
msgstr "Install Update Now"
|
526 |
|
527 |
-
#: includes/
|
528 |
-
msgid "
|
529 |
-
msgstr "
|
530 |
|
531 |
-
#: includes/
|
532 |
-
msgid "
|
533 |
-
msgstr "
|
534 |
|
535 |
-
#: includes/
|
536 |
-
msgctxt "
|
537 |
-
msgid "
|
538 |
-
msgstr "
|
539 |
|
540 |
-
#: includes/
|
541 |
-
msgctxt "
|
542 |
-
msgid "
|
543 |
-
msgstr "
|
544 |
|
545 |
-
#: includes/
|
546 |
-
|
547 |
-
|
|
|
548 |
|
549 |
-
#: includes/
|
550 |
-
msgid "
|
551 |
-
msgstr "
|
552 |
|
553 |
-
#: includes/
|
554 |
-
|
555 |
-
|
|
|
556 |
|
557 |
-
#: includes/
|
558 |
-
|
559 |
-
|
|
|
560 |
|
561 |
-
#: includes/
|
562 |
-
|
563 |
-
|
|
|
564 |
|
565 |
-
#: includes/
|
566 |
-
|
567 |
-
|
|
|
568 |
|
569 |
-
#: includes/
|
570 |
-
msgid "
|
571 |
-
msgstr "
|
572 |
|
573 |
-
#: includes/
|
574 |
-
|
575 |
-
|
|
|
576 |
|
577 |
-
#: includes/
|
578 |
-
|
579 |
-
|
|
|
580 |
|
581 |
-
#: includes/
|
582 |
-
|
583 |
-
|
|
|
584 |
|
585 |
-
#: includes/
|
586 |
-
|
587 |
-
|
|
|
588 |
|
589 |
-
#: includes/
|
590 |
-
msgid "
|
591 |
-
msgstr "
|
592 |
|
593 |
-
#: includes/
|
594 |
-
|
595 |
-
|
|
|
596 |
|
597 |
-
#: includes/
|
598 |
-
|
599 |
-
|
|
|
600 |
|
601 |
-
#: includes/
|
602 |
-
|
603 |
-
|
|
|
604 |
|
605 |
-
#: includes/
|
606 |
-
msgid "
|
607 |
-
msgstr "
|
608 |
|
609 |
-
#: includes/
|
610 |
-
msgid "
|
611 |
-
msgstr "
|
612 |
|
613 |
-
#: includes/
|
614 |
-
msgid "
|
615 |
-
msgstr "
|
616 |
|
617 |
-
#: includes/
|
618 |
-
|
619 |
-
|
|
|
620 |
|
621 |
-
#: includes/
|
622 |
-
|
623 |
-
|
|
|
624 |
|
625 |
-
#: includes/
|
626 |
-
|
627 |
-
|
|
|
628 |
|
629 |
-
#: includes/
|
630 |
-
|
631 |
-
|
|
|
632 |
|
633 |
-
#: includes/
|
634 |
-
msgid "
|
635 |
-
msgstr "
|
636 |
|
637 |
-
#: includes/
|
638 |
-
msgid "
|
639 |
-
msgstr "
|
640 |
|
641 |
-
#: includes/
|
642 |
-
msgid "
|
643 |
-
msgstr "
|
644 |
|
645 |
-
#: includes/
|
646 |
-
|
647 |
-
|
|
|
648 |
|
649 |
-
#: includes/
|
650 |
-
|
651 |
-
|
|
|
652 |
|
653 |
-
#: includes/
|
654 |
-
msgid "
|
655 |
-
msgstr "
|
656 |
|
657 |
-
#: includes/
|
658 |
-
|
659 |
-
|
|
|
660 |
|
661 |
-
#: includes/
|
662 |
-
msgid "
|
663 |
-
msgstr "
|
664 |
|
665 |
-
#: includes/
|
666 |
-
msgid "
|
667 |
-
msgstr "
|
668 |
|
669 |
-
#: includes/
|
670 |
-
msgid "
|
671 |
-
msgstr "
|
672 |
|
673 |
-
#: includes/
|
674 |
-
msgid "
|
675 |
-
msgstr "
|
676 |
|
677 |
-
#: includes/
|
678 |
-
|
679 |
-
|
680 |
-
msgstr "Other"
|
681 |
|
682 |
-
#: includes/
|
683 |
-
msgid "
|
684 |
-
msgstr "
|
685 |
|
686 |
-
#: includes/
|
687 |
-
msgid "
|
688 |
-
msgstr "
|
689 |
|
690 |
-
#: includes/
|
691 |
-
msgid "
|
692 |
-
msgstr "
|
693 |
|
694 |
-
#: includes/
|
695 |
-
msgid "
|
696 |
-
msgstr "
|
697 |
|
698 |
-
#: includes/
|
699 |
-
msgid "
|
700 |
-
msgstr "
|
701 |
|
702 |
-
#: includes/
|
703 |
-
msgid "
|
704 |
-
msgstr "
|
705 |
|
706 |
-
#: includes/
|
707 |
-
msgid "
|
708 |
-
msgstr "
|
709 |
|
710 |
-
#: includes/
|
711 |
-
msgid "
|
712 |
-
msgstr "
|
713 |
|
714 |
-
#: includes/
|
715 |
-
msgid "
|
716 |
-
msgstr "
|
717 |
|
718 |
-
#: includes/
|
719 |
-
msgid "
|
720 |
-
msgstr "
|
721 |
|
722 |
-
#: includes/
|
723 |
-
msgid "
|
724 |
-
msgstr "
|
725 |
|
726 |
-
#: includes/
|
727 |
-
msgid "
|
728 |
-
msgstr "
|
729 |
|
730 |
-
#: includes/
|
731 |
-
msgid "
|
732 |
-
msgstr "
|
733 |
|
734 |
-
#: includes/
|
735 |
-
msgid "
|
736 |
-
msgstr "
|
737 |
|
738 |
-
#: includes/
|
739 |
-
msgid "
|
740 |
-
msgstr "
|
741 |
|
742 |
-
#: includes/
|
743 |
-
|
744 |
-
|
745 |
-
msgstr "Hey %s,"
|
746 |
|
747 |
-
#: includes/
|
748 |
-
|
749 |
-
|
750 |
-
msgstr "Thanks %s!"
|
751 |
|
752 |
-
#:
|
753 |
-
msgid "
|
754 |
-
msgstr "
|
755 |
|
756 |
-
#:
|
757 |
-
msgid "
|
758 |
-
msgstr "
|
759 |
|
760 |
-
#:
|
761 |
-
msgid "You
|
762 |
-
msgstr "You
|
763 |
|
764 |
-
#:
|
765 |
-
msgid "
|
766 |
-
msgstr "
|
767 |
|
768 |
-
|
769 |
-
|
770 |
-
|
|
|
771 |
|
772 |
-
|
773 |
-
|
774 |
-
|
|
|
775 |
|
776 |
-
|
777 |
-
|
778 |
-
|
|
|
779 |
|
780 |
-
#:
|
781 |
-
|
782 |
-
|
|
|
783 |
|
784 |
-
#:
|
785 |
-
msgid "
|
786 |
-
msgstr "
|
787 |
|
788 |
-
#:
|
789 |
-
msgid "
|
790 |
-
msgstr "
|
791 |
|
792 |
-
#:
|
793 |
-
|
794 |
-
|
|
|
795 |
|
796 |
-
#:
|
797 |
-
|
798 |
-
|
|
|
799 |
|
800 |
-
#:
|
801 |
-
msgid "
|
802 |
-
msgstr "
|
803 |
|
804 |
-
#:
|
805 |
-
msgid "
|
806 |
-
msgstr "
|
807 |
|
808 |
-
#: includes/
|
809 |
-
|
810 |
-
|
|
|
811 |
|
812 |
-
#:
|
813 |
-
msgid "
|
814 |
-
msgstr "
|
815 |
|
816 |
-
#:
|
817 |
-
msgid "
|
818 |
-
msgstr "
|
819 |
|
820 |
-
#:
|
821 |
-
msgid "
|
822 |
-
msgstr "
|
823 |
|
824 |
-
#:
|
825 |
-
msgid "
|
826 |
-
msgstr "
|
827 |
|
828 |
-
#:
|
829 |
-
msgid "
|
830 |
-
msgstr "
|
831 |
|
832 |
-
#:
|
833 |
-
msgid "
|
834 |
-
msgstr "
|
835 |
|
836 |
-
#:
|
837 |
-
|
838 |
-
|
839 |
-
msgstr "Activating"
|
840 |
|
841 |
-
#:
|
842 |
-
|
843 |
-
|
844 |
-
msgstr "Sending email"
|
845 |
|
846 |
-
#:
|
847 |
-
|
848 |
-
|
849 |
-
msgstr "Allow & Continue"
|
850 |
|
851 |
-
#:
|
852 |
-
msgctxt "
|
853 |
-
msgid "
|
854 |
-
msgstr "
|
855 |
|
856 |
-
#:
|
857 |
-
|
858 |
-
|
859 |
-
msgstr "Skip"
|
860 |
|
861 |
-
#:
|
862 |
-
msgid "
|
863 |
-
msgstr "
|
864 |
|
865 |
-
#:
|
866 |
-
msgid "
|
867 |
-
msgstr "
|
868 |
|
869 |
-
#:
|
870 |
-
msgid "
|
871 |
-
msgstr "
|
872 |
|
873 |
-
#:
|
874 |
-
msgid "
|
875 |
-
msgstr "
|
876 |
|
877 |
-
#:
|
878 |
-
msgid "
|
879 |
-
msgstr "
|
880 |
|
881 |
-
#:
|
882 |
-
msgid "
|
883 |
-
msgstr "
|
884 |
|
885 |
-
#:
|
886 |
-
|
887 |
-
|
|
|
888 |
|
889 |
-
#:
|
890 |
-
msgid "
|
891 |
-
msgstr "
|
892 |
|
893 |
-
#:
|
894 |
-
msgid "
|
895 |
-
msgstr "
|
896 |
|
897 |
-
#:
|
898 |
-
msgid "
|
899 |
-
msgstr "
|
900 |
|
901 |
-
#:
|
902 |
-
msgid "
|
903 |
-
msgstr "
|
904 |
|
905 |
-
#:
|
906 |
-
|
907 |
-
|
|
|
908 |
|
909 |
-
#:
|
910 |
-
msgid "
|
911 |
-
msgstr "
|
912 |
|
913 |
-
#:
|
914 |
-
msgid "
|
915 |
-
msgstr "
|
916 |
|
917 |
-
#:
|
918 |
-
msgid "
|
919 |
-
msgstr "
|
920 |
|
921 |
-
#:
|
922 |
-
msgid "
|
923 |
-
msgstr "
|
924 |
|
925 |
-
#:
|
926 |
-
msgid "
|
927 |
-
msgstr "
|
928 |
|
929 |
-
#:
|
930 |
-
|
931 |
-
|
|
|
932 |
|
933 |
-
#:
|
934 |
-
msgid "
|
935 |
-
msgstr "
|
936 |
|
937 |
-
#:
|
938 |
-
|
939 |
-
|
|
|
940 |
|
941 |
-
#:
|
942 |
-
|
943 |
-
|
|
|
944 |
|
945 |
-
#:
|
946 |
-
|
947 |
-
|
948 |
-
msgstr "On"
|
949 |
|
950 |
-
#:
|
951 |
-
msgctxt "as
|
952 |
-
msgid "
|
953 |
-
msgstr "
|
954 |
|
955 |
-
#:
|
956 |
-
|
957 |
-
|
958 |
-
msgstr "Debugging"
|
959 |
|
960 |
-
#:
|
961 |
-
msgid "
|
962 |
-
msgstr "
|
963 |
|
964 |
-
#:
|
965 |
-
|
966 |
-
|
967 |
-
msgstr "Connected"
|
968 |
|
969 |
-
#:
|
970 |
-
|
971 |
-
|
972 |
-
msgstr "Blocked"
|
973 |
|
974 |
-
#:
|
975 |
-
msgctxt "
|
976 |
-
msgid "
|
977 |
-
msgstr "
|
978 |
|
979 |
-
#:
|
980 |
-
|
981 |
-
|
982 |
-
msgstr "SDK"
|
983 |
|
984 |
-
#:
|
985 |
-
|
986 |
-
|
987 |
-
msgstr "SDK Versions"
|
988 |
|
989 |
-
#:
|
990 |
-
|
991 |
-
|
992 |
-
msgstr "Plugin Path"
|
993 |
|
994 |
-
#:
|
995 |
-
msgctxt "as
|
996 |
-
msgid "
|
997 |
-
msgstr "
|
998 |
|
999 |
-
#:
|
1000 |
-
msgid "
|
1001 |
-
msgstr "
|
1002 |
|
1003 |
-
#:
|
1004 |
-
msgid "
|
1005 |
-
msgstr "
|
1006 |
|
1007 |
-
#:
|
1008 |
-
msgid "
|
1009 |
-
msgstr "
|
1010 |
|
1011 |
-
#:
|
1012 |
-
msgid "
|
1013 |
-
msgstr "
|
1014 |
|
1015 |
-
#:
|
1016 |
-
msgid "
|
1017 |
-
msgstr "
|
1018 |
|
1019 |
-
#:
|
1020 |
-
msgid "
|
1021 |
-
msgstr "
|
1022 |
|
1023 |
-
#:
|
1024 |
-
msgid "
|
1025 |
-
msgstr "
|
1026 |
|
1027 |
-
#:
|
1028 |
-
msgid "
|
1029 |
-
msgstr "
|
1030 |
|
1031 |
-
#:
|
1032 |
-
msgid "
|
1033 |
-
msgstr "
|
1034 |
|
1035 |
-
#:
|
1036 |
-
msgid "
|
1037 |
-
msgstr "
|
1038 |
|
1039 |
-
#:
|
1040 |
-
msgid "
|
1041 |
-
msgstr "
|
1042 |
|
1043 |
-
#:
|
1044 |
-
|
1045 |
-
|
|
|
1046 |
|
1047 |
-
#:
|
1048 |
-
msgid "
|
1049 |
-
msgstr "
|
1050 |
|
1051 |
-
#:
|
1052 |
-
msgid "
|
1053 |
-
msgstr "
|
1054 |
|
1055 |
-
#:
|
1056 |
-
msgid "
|
1057 |
-
msgstr "
|
1058 |
|
1059 |
-
#:
|
1060 |
-
msgid "
|
1061 |
-
msgstr "
|
1062 |
|
1063 |
-
#:
|
1064 |
-
msgid "
|
1065 |
-
msgstr "
|
1066 |
|
1067 |
-
#:
|
1068 |
-
|
1069 |
-
|
|
|
1070 |
|
1071 |
-
#:
|
1072 |
-
msgid "
|
1073 |
-
msgstr "
|
1074 |
|
1075 |
-
#:
|
1076 |
-
msgid "
|
1077 |
-
msgstr "
|
1078 |
|
1079 |
-
#:
|
1080 |
-
msgid "
|
1081 |
-
msgstr "
|
1082 |
|
1083 |
-
#:
|
1084 |
-
msgid "
|
1085 |
-
msgstr "
|
1086 |
|
1087 |
-
#:
|
1088 |
-
msgid "
|
1089 |
-
msgstr "
|
1090 |
|
1091 |
-
#:
|
1092 |
-
|
1093 |
-
|
1094 |
-
msgstr "Congrats"
|
1095 |
|
1096 |
-
#:
|
1097 |
-
|
1098 |
-
|
1099 |
-
msgstr "Oops"
|
1100 |
|
1101 |
-
#:
|
1102 |
-
|
1103 |
-
|
1104 |
-
msgstr "Yee-haw"
|
1105 |
|
1106 |
-
#:
|
1107 |
-
|
1108 |
-
|
1109 |
-
msgstr "W00t"
|
1110 |
|
1111 |
-
#:
|
1112 |
-
|
1113 |
-
|
1114 |
-
msgstr "Right on"
|
1115 |
|
1116 |
-
#:
|
1117 |
-
|
1118 |
-
|
1119 |
-
msgstr "Hmm"
|
1120 |
|
1121 |
-
#:
|
1122 |
-
msgid "
|
1123 |
-
msgstr "
|
1124 |
|
1125 |
-
#:
|
1126 |
-
|
1127 |
-
|
1128 |
-
msgstr "Hey"
|
1129 |
|
1130 |
-
#:
|
1131 |
-
|
1132 |
-
|
1133 |
-
msgstr "Heads up"
|
1134 |
|
1135 |
-
#:
|
1136 |
-
msgid "
|
1137 |
-
msgstr "
|
1138 |
|
1139 |
-
#:
|
1140 |
-
msgid "
|
1141 |
-
msgstr "
|
1142 |
|
1143 |
-
#:
|
1144 |
-
|
1145 |
-
|
|
|
1146 |
|
1147 |
-
#:
|
1148 |
-
|
1149 |
-
|
|
|
1150 |
|
1151 |
-
#:
|
1152 |
-
msgid "
|
1153 |
-
msgstr "
|
1154 |
|
1155 |
-
#:
|
1156 |
-
|
1157 |
-
|
|
|
1158 |
|
1159 |
-
#:
|
1160 |
-
|
1161 |
-
|
|
|
1162 |
|
1163 |
-
#:
|
1164 |
-
msgid "
|
1165 |
-
msgstr "
|
1166 |
|
1167 |
-
#:
|
1168 |
-
|
1169 |
-
|
|
|
1170 |
|
1171 |
-
#:
|
1172 |
-
msgid "
|
1173 |
-
msgstr "
|
1174 |
|
1175 |
-
#:
|
1176 |
-
msgid "
|
1177 |
-
msgstr "
|
1178 |
|
1179 |
-
#:
|
1180 |
-
msgid "
|
1181 |
-
msgstr "
|
1182 |
|
1183 |
-
#:
|
1184 |
-
msgid "
|
1185 |
-
msgstr "
|
1186 |
|
1187 |
-
#:
|
1188 |
-
msgid "
|
1189 |
-
msgstr "
|
1190 |
|
1191 |
-
#:
|
1192 |
-
msgid "
|
1193 |
-
msgstr "
|
1194 |
|
1195 |
-
#:
|
1196 |
-
msgid "
|
1197 |
-
msgstr "
|
1198 |
|
1199 |
-
#:
|
1200 |
-
msgid "
|
1201 |
-
msgstr "
|
1202 |
|
1203 |
-
#:
|
1204 |
-
msgid "
|
1205 |
-
msgstr "
|
1206 |
|
1207 |
-
#:
|
1208 |
-
|
1209 |
-
|
|
|
1210 |
|
1211 |
-
#:
|
1212 |
-
msgid "
|
1213 |
-
msgstr "
|
1214 |
|
1215 |
-
#:
|
1216 |
-
msgid "
|
1217 |
-
msgstr "
|
1218 |
|
1219 |
-
#:
|
1220 |
-
|
1221 |
-
|
1222 |
-
msgstr "%s Add-on was successfully purchased."
|
1223 |
|
1224 |
-
#:
|
1225 |
-
msgid "
|
1226 |
-
msgstr "
|
1227 |
|
1228 |
-
#:
|
1229 |
-
msgid "
|
1230 |
-
msgstr "
|
1231 |
|
1232 |
-
#:
|
1233 |
-
msgid "
|
1234 |
-
msgstr "
|
1235 |
|
1236 |
-
#:
|
1237 |
-
msgid "
|
1238 |
-
msgstr "
|
1239 |
|
1240 |
-
#:
|
1241 |
-
|
1242 |
-
|
|
|
1243 |
|
1244 |
-
#:
|
1245 |
-
msgid "
|
1246 |
-
msgstr "
|
1247 |
|
1248 |
-
#:
|
1249 |
-
|
1250 |
-
|
|
|
1251 |
|
1252 |
-
#:
|
1253 |
-
|
1254 |
-
|
|
|
1255 |
|
1256 |
-
#:
|
1257 |
-
msgid "
|
1258 |
-
msgstr "
|
1259 |
|
1260 |
-
#:
|
1261 |
-
msgid "
|
1262 |
-
msgstr "
|
1263 |
|
1264 |
-
#:
|
1265 |
-
|
1266 |
-
|
|
|
1267 |
|
1268 |
-
#:
|
1269 |
-
msgid "
|
1270 |
-
msgstr "
|
1271 |
|
1272 |
-
#:
|
1273 |
-
msgid "
|
1274 |
-
msgstr "
|
1275 |
|
1276 |
-
#:
|
1277 |
-
msgid "
|
1278 |
-
msgstr "
|
1279 |
|
1280 |
-
#:
|
1281 |
-
msgid "
|
1282 |
-
msgstr "
|
1283 |
|
1284 |
-
#:
|
1285 |
-
msgid "
|
1286 |
-
msgstr "
|
1287 |
|
1288 |
-
#:
|
1289 |
-
msgid "
|
1290 |
-
msgstr "
|
1291 |
|
1292 |
-
#:
|
1293 |
-
msgid "
|
1294 |
-
msgstr "
|
1295 |
|
1296 |
-
#:
|
1297 |
-
|
1298 |
-
|
1299 |
-
msgstr "Version %s was released."
|
1300 |
|
1301 |
-
#:
|
1302 |
-
msgid "
|
1303 |
-
msgstr "
|
1304 |
|
1305 |
-
#:
|
1306 |
-
msgctxt "
|
1307 |
-
msgid "
|
1308 |
-
msgstr "
|
1309 |
|
1310 |
-
#:
|
1311 |
-
msgid "
|
1312 |
-
msgstr "
|
1313 |
|
1314 |
-
#:
|
1315 |
-
|
1316 |
-
|
1317 |
-
msgstr "Start free trial"
|
1318 |
|
1319 |
-
#:
|
1320 |
-
msgid "
|
1321 |
-
msgstr "
|
1322 |
|
1323 |
-
#:
|
1324 |
-
msgid "
|
1325 |
-
msgstr "
|
1326 |
|
1327 |
-
#:
|
1328 |
-
msgid "
|
1329 |
-
msgstr "
|
1330 |
|
1331 |
-
#:
|
1332 |
-
msgid "
|
1333 |
-
msgstr "
|
1334 |
|
1335 |
-
#:
|
1336 |
-
msgid "
|
1337 |
-
msgstr "
|
1338 |
|
1339 |
-
#:
|
1340 |
-
msgid "
|
1341 |
-
msgstr "
|
1342 |
|
1343 |
-
#:
|
1344 |
-
msgid "
|
1345 |
-
msgstr "
|
1346 |
|
1347 |
-
#:
|
1348 |
-
msgid "
|
1349 |
-
msgstr "
|
1350 |
|
1351 |
-
#:
|
1352 |
-
msgid "
|
1353 |
-
msgstr "
|
1354 |
|
1355 |
-
#:
|
1356 |
-
msgid "
|
1357 |
-
msgstr "
|
1358 |
|
1359 |
-
#:
|
1360 |
-
msgid "
|
1361 |
-
msgstr "
|
1362 |
|
1363 |
-
#: includes/
|
1364 |
-
msgid "
|
1365 |
-
msgstr "
|
1366 |
|
1367 |
-
#: includes/
|
1368 |
-
|
1369 |
-
|
|
|
1370 |
|
1371 |
-
#: includes/
|
1372 |
-
msgid "
|
1373 |
-
msgstr "
|
1374 |
|
1375 |
-
#: includes/
|
1376 |
-
msgid "
|
1377 |
-
msgstr "
|
1378 |
|
1379 |
-
#:
|
1380 |
-
|
1381 |
-
|
|
|
1382 |
|
1383 |
-
#:
|
1384 |
-
msgid "
|
1385 |
-
msgstr "
|
1386 |
|
1387 |
-
#:
|
1388 |
-
msgid "
|
1389 |
-
msgstr "
|
1390 |
|
1391 |
-
#:
|
1392 |
-
msgid "
|
1393 |
-
msgstr "
|
1394 |
|
1395 |
-
#:
|
1396 |
-
msgid "
|
1397 |
-
msgstr "
|
1398 |
|
1399 |
-
#:
|
1400 |
-
msgid "
|
1401 |
-
msgstr "
|
1402 |
|
1403 |
-
#:
|
1404 |
-
|
1405 |
-
|
1406 |
-
msgstr "%s requires an access to our API."
|
1407 |
|
1408 |
-
#:
|
1409 |
-
msgid "
|
1410 |
-
msgstr "
|
1411 |
|
1412 |
-
#:
|
1413 |
-
msgid "
|
1414 |
-
msgstr "
|
1415 |
|
1416 |
-
#:
|
1417 |
-
msgid "
|
1418 |
-
msgstr "
|
1419 |
|
1420 |
-
#:
|
1421 |
-
msgid "
|
1422 |
-
msgstr "
|
1423 |
|
1424 |
-
#:
|
1425 |
-
msgid "
|
1426 |
-
msgstr "
|
1427 |
|
1428 |
-
#:
|
1429 |
-
msgid "
|
1430 |
-
msgstr "
|
1431 |
|
1432 |
-
#:
|
1433 |
-
msgid "
|
1434 |
-
msgstr "
|
1435 |
|
1436 |
-
#:
|
1437 |
-
msgid "
|
1438 |
-
msgstr "
|
1439 |
|
1440 |
-
#:
|
1441 |
-
msgid "
|
1442 |
-
msgstr "
|
1443 |
|
1444 |
-
#:
|
1445 |
-
msgid "
|
1446 |
-
msgstr "
|
1447 |
|
1448 |
-
#:
|
1449 |
-
msgid "
|
1450 |
-
msgstr "
|
1451 |
|
1452 |
-
#:
|
1453 |
-
msgid "
|
1454 |
-
msgstr "
|
1455 |
|
1456 |
-
#:
|
1457 |
-
msgid "
|
1458 |
-
msgstr "
|
1459 |
|
1460 |
-
#:
|
1461 |
-
|
1462 |
-
|
|
|
1463 |
|
1464 |
-
#:
|
1465 |
-
msgid "
|
1466 |
-
msgstr "
|
1467 |
|
1468 |
-
#:
|
1469 |
-
msgid "
|
1470 |
-
msgstr "
|
1471 |
|
1472 |
-
#:
|
1473 |
-
|
1474 |
-
|
1475 |
-
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
1476 |
|
1477 |
-
#:
|
1478 |
-
msgid "
|
1479 |
-
msgstr "
|
1480 |
|
1481 |
-
#:
|
1482 |
-
msgid "
|
1483 |
-
msgstr "
|
1484 |
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
|
|
1488 |
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
|
|
1492 |
|
1493 |
-
#:
|
1494 |
-
msgctxt "
|
1495 |
-
msgid "
|
1496 |
-
msgstr "
|
1497 |
|
1498 |
-
#:
|
1499 |
-
|
1500 |
-
|
1501 |
-
msgstr "%s cannot run without the plugin."
|
1502 |
|
1503 |
-
#:
|
1504 |
-
|
1505 |
-
|
1506 |
-
msgstr "%s activation was successfully completed."
|
1507 |
|
1508 |
-
#:
|
1509 |
-
|
1510 |
-
|
1511 |
-
msgstr "Features & Pricing"
|
1512 |
|
1513 |
-
#:
|
1514 |
-
msgid "
|
1515 |
-
msgstr "
|
1516 |
|
1517 |
-
#:
|
1518 |
-
msgid "
|
1519 |
-
msgstr "
|
1520 |
|
1521 |
-
#:
|
1522 |
-
msgid "
|
1523 |
-
msgstr "
|
1524 |
|
1525 |
-
#:
|
1526 |
-
msgid "
|
1527 |
-
msgstr "
|
1528 |
|
1529 |
-
#:
|
1530 |
-
|
1531 |
-
|
1532 |
-
msgstr "Monthly"
|
1533 |
|
1534 |
-
#:
|
1535 |
-
|
1536 |
-
|
1537 |
-
msgstr "mo"
|
1538 |
|
1539 |
-
#:
|
1540 |
-
|
1541 |
-
|
1542 |
-
msgstr "Annual"
|
1543 |
|
1544 |
-
#:
|
1545 |
-
|
1546 |
-
|
1547 |
-
msgstr "Annually"
|
1548 |
|
1549 |
-
#:
|
1550 |
-
|
1551 |
-
|
1552 |
-
msgstr "Once"
|
1553 |
|
1554 |
-
#:
|
1555 |
-
|
1556 |
-
|
1557 |
-
msgstr "year"
|
1558 |
|
1559 |
-
#:
|
1560 |
-
msgid "
|
1561 |
-
msgstr "
|
1562 |
|
1563 |
-
#:
|
1564 |
-
|
1565 |
-
|
1566 |
-
msgstr "Best"
|
1567 |
|
1568 |
-
#:
|
1569 |
-
|
1570 |
-
|
1571 |
-
msgstr "Billed %s"
|
1572 |
|
1573 |
-
#:
|
1574 |
-
|
1575 |
-
|
1576 |
-
msgstr "Save %s"
|
1577 |
|
1578 |
-
#:
|
1579 |
-
msgid "
|
1580 |
-
msgstr "
|
1581 |
|
1582 |
-
#:
|
1583 |
-
|
1584 |
-
|
1585 |
-
msgstr "Approve & Start Trial"
|
1586 |
|
1587 |
-
#:
|
1588 |
-
msgid "
|
1589 |
-
msgstr "
|
1590 |
|
1591 |
-
#:
|
1592 |
-
msgid "
|
1593 |
-
msgstr "
|
1594 |
|
1595 |
-
#:
|
1596 |
-
msgid "
|
1597 |
-
msgstr "
|
1598 |
|
1599 |
-
#:
|
1600 |
-
msgid "
|
1601 |
-
msgstr "
|
1602 |
|
1603 |
-
#:
|
1604 |
-
msgid "
|
1605 |
-
msgstr "
|
1606 |
|
1607 |
-
#:
|
1608 |
-
msgid "
|
1609 |
-
msgstr "
|
1610 |
|
1611 |
-
#:
|
1612 |
-
msgid "
|
1613 |
-
msgstr "
|
1614 |
|
1615 |
-
#:
|
1616 |
-
msgid "
|
1617 |
-
msgstr "
|
1618 |
|
1619 |
-
#:
|
1620 |
-
msgid "
|
1621 |
-
msgstr "
|
1622 |
|
1623 |
-
#:
|
1624 |
-
msgid "
|
1625 |
-
msgstr "
|
1626 |
|
1627 |
-
#:
|
1628 |
-
msgid "
|
1629 |
-
msgstr "
|
1630 |
|
1631 |
-
#:
|
1632 |
-
msgid "
|
1633 |
-
msgstr "
|
1634 |
|
1635 |
-
#:
|
1636 |
-
msgid "
|
1637 |
-
msgstr "
|
1638 |
|
1639 |
-
#:
|
1640 |
-
msgid "
|
1641 |
-
msgstr "
|
1642 |
|
1643 |
-
#:
|
1644 |
-
msgid "
|
1645 |
-
msgstr "
|
1646 |
|
1647 |
-
#:
|
1648 |
-
msgid "
|
1649 |
-
msgstr "
|
1650 |
|
1651 |
-
#:
|
1652 |
-
msgid "
|
1653 |
-
msgstr "
|
1654 |
|
1655 |
-
#:
|
1656 |
-
msgid "
|
1657 |
-
msgstr "
|
1658 |
|
1659 |
-
#:
|
1660 |
-
msgid "
|
1661 |
-
msgstr "
|
1662 |
|
1663 |
-
#:
|
1664 |
-
msgid "
|
1665 |
-
msgstr "
|
1666 |
|
1667 |
-
#:
|
1668 |
-
msgid "
|
1669 |
-
msgstr "
|
1670 |
|
1671 |
-
#:
|
1672 |
-
msgid "
|
1673 |
-
msgstr "
|
1674 |
|
1675 |
-
#:
|
1676 |
-
msgid "
|
1677 |
-
msgstr "
|
1678 |
|
1679 |
-
#:
|
1680 |
-
msgid "
|
1681 |
-
msgstr "
|
1682 |
|
1683 |
-
#:
|
1684 |
-
msgid "
|
1685 |
-
msgstr "
|
1686 |
|
1687 |
-
#:
|
1688 |
-
msgid "
|
1689 |
-
msgstr "
|
1690 |
|
1691 |
-
#:
|
1692 |
-
msgid "
|
1693 |
-
msgstr "
|
1694 |
|
1695 |
-
#:
|
1696 |
-
msgid "
|
1697 |
-
msgstr "
|
1698 |
|
1699 |
-
#:
|
1700 |
-
|
1701 |
-
|
1702 |
-
msgstr "Description"
|
1703 |
|
1704 |
-
#:
|
1705 |
-
|
1706 |
-
|
1707 |
-
msgstr "Installation"
|
1708 |
|
1709 |
-
#:
|
1710 |
-
|
1711 |
-
|
1712 |
-
msgstr "FAQ"
|
1713 |
|
1714 |
-
#:
|
1715 |
-
msgctxt "
|
1716 |
-
msgid "
|
1717 |
-
msgstr "
|
1718 |
|
1719 |
-
#:
|
1720 |
-
msgctxt "
|
1721 |
-
msgid "
|
1722 |
-
msgstr "
|
1723 |
|
1724 |
-
#:
|
1725 |
-
|
1726 |
-
|
1727 |
-
msgstr "Other Notes"
|
1728 |
|
1729 |
-
#:
|
1730 |
-
msgid "%s
|
1731 |
-
msgstr "%s
|
1732 |
|
1733 |
-
#:
|
1734 |
-
msgid "%s
|
1735 |
-
msgstr "%s
|
1736 |
|
1737 |
-
#:
|
1738 |
-
msgid "
|
1739 |
-
msgstr "
|
1740 |
|
1741 |
-
#:
|
1742 |
-
msgid "
|
1743 |
-
msgstr "
|
1744 |
|
1745 |
-
#:
|
1746 |
-
msgid "%s
|
1747 |
-
msgstr "%s
|
1748 |
|
1749 |
-
#:
|
1750 |
-
msgid "%s
|
1751 |
-
msgstr "%s
|
1752 |
|
1753 |
-
#:
|
1754 |
-
msgid "
|
1755 |
-
msgstr "
|
1756 |
|
1757 |
-
#:
|
1758 |
-
msgid "
|
1759 |
-
msgstr "
|
1760 |
|
1761 |
-
#:
|
1762 |
-
msgid "
|
1763 |
-
msgstr "
|
1764 |
|
1765 |
-
#:
|
1766 |
-
|
1767 |
-
|
1768 |
-
msgstr "Author:"
|
1769 |
|
1770 |
-
#:
|
1771 |
-
msgid "
|
1772 |
-
msgstr "
|
1773 |
|
1774 |
-
#:
|
1775 |
-
msgid "
|
1776 |
-
msgstr "
|
1777 |
|
1778 |
-
#:
|
1779 |
-
msgid "
|
1780 |
-
msgstr "
|
1781 |
|
1782 |
-
#:
|
1783 |
-
msgid "
|
1784 |
-
msgstr "
|
1785 |
|
1786 |
-
#:
|
1787 |
-
msgid "
|
1788 |
-
msgstr "
|
1789 |
|
1790 |
-
#:
|
1791 |
-
msgid "
|
1792 |
-
msgstr "
|
1793 |
|
1794 |
-
#:
|
1795 |
-
msgid "
|
1796 |
-
msgstr "
|
1797 |
|
1798 |
-
#:
|
1799 |
-
msgid "
|
1800 |
-
msgstr "
|
1801 |
|
1802 |
-
#:
|
1803 |
-
msgid "
|
1804 |
-
msgstr "
|
1805 |
|
1806 |
-
#:
|
1807 |
-
msgid "
|
1808 |
-
msgstr "
|
1809 |
|
1810 |
-
#:
|
1811 |
-
msgid "
|
1812 |
-
msgstr "
|
1813 |
|
1814 |
-
#:
|
1815 |
-
msgid "
|
1816 |
-
msgstr "
|
1817 |
|
1818 |
-
#:
|
1819 |
-
msgid "
|
1820 |
-
msgstr "
|
1821 |
|
1822 |
-
#:
|
1823 |
-
msgid "
|
1824 |
-
msgstr "
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
"MIME-Version: 1.0\n"
|
16 |
"X-Poedit-Basepath: ..\n"
|
17 |
+
"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
20 |
"X-Poedit-SourceCharset: UTF-8\n"
|
21 |
|
22 |
+
#: includes/class-freemius.php:959
|
23 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
24 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
#: includes/class-freemius.php:961
|
27 |
+
msgid "Error"
|
28 |
+
msgstr "Error"
|
29 |
|
30 |
+
#: includes/class-freemius.php:1277
|
31 |
+
msgid "I found a better %s"
|
32 |
+
msgstr "I found a better %s"
|
33 |
|
34 |
+
#: includes/class-freemius.php:1279
|
35 |
+
msgid "What's the %s's name?"
|
36 |
+
msgstr "What's the %s's name?"
|
37 |
|
38 |
+
#: includes/class-freemius.php:1285
|
39 |
+
msgid "It's a temporary %s. I'm just debugging an issue."
|
40 |
+
msgstr "It's a temporary %s. I'm just debugging an issue."
|
41 |
|
42 |
+
#: includes/class-freemius.php:1287
|
43 |
+
msgid "Deactivation"
|
44 |
+
msgstr "Deactivation"
|
45 |
|
46 |
+
#: includes/class-freemius.php:1288
|
47 |
+
msgid "Theme Switch"
|
48 |
+
msgstr "Theme Switch"
|
49 |
|
50 |
+
#: includes/class-freemius.php:1297, templates/forms/resend-key.php:24
|
51 |
+
msgid "Other"
|
52 |
+
msgstr "Other"
|
|
|
53 |
|
54 |
+
#: includes/class-freemius.php:1305
|
55 |
+
msgid "I no longer need the %s"
|
56 |
+
msgstr "I no longer need the %s"
|
57 |
|
58 |
+
#: includes/class-freemius.php:1312
|
59 |
+
msgid "I only needed the %s for a short period"
|
60 |
+
msgstr "I only needed the %s for a short period"
|
|
|
61 |
|
62 |
+
#: includes/class-freemius.php:1318
|
63 |
+
msgid "The %s broke my site"
|
64 |
+
msgstr "The %s broke my site"
|
|
|
65 |
|
66 |
+
#: includes/class-freemius.php:1325
|
67 |
+
msgid "The %s suddenly stopped working"
|
68 |
+
msgstr "The %s suddenly stopped working"
|
69 |
|
70 |
+
#: includes/class-freemius.php:1335
|
71 |
+
msgid "I can't pay for it anymore"
|
72 |
+
msgstr "I can't pay for it anymore"
|
|
|
73 |
|
74 |
+
#: includes/class-freemius.php:1337
|
75 |
+
msgid "What price would you feel comfortable paying?"
|
76 |
+
msgstr "What price would you feel comfortable paying?"
|
|
|
77 |
|
78 |
+
#: includes/class-freemius.php:1343
|
79 |
+
msgid "I don't like to share my information with you"
|
80 |
+
msgstr "I don't like to share my information with you"
|
81 |
|
82 |
+
#: includes/class-freemius.php:1364
|
83 |
+
msgid "The %s didn't work"
|
84 |
+
msgstr "The %s didn't work"
|
85 |
|
86 |
+
#: includes/class-freemius.php:1374
|
87 |
+
msgid "I couldn't understand how to make it work"
|
88 |
+
msgstr "I couldn't understand how to make it work"
|
89 |
|
90 |
+
#: includes/class-freemius.php:1382
|
91 |
+
msgid "The %s is great, but I need specific feature that you don't support"
|
92 |
+
msgstr "The %s is great, but I need specific feature that you don't support"
|
93 |
|
94 |
+
#: includes/class-freemius.php:1384
|
95 |
+
msgid "What feature?"
|
96 |
+
msgstr "What feature?"
|
97 |
|
98 |
+
#: includes/class-freemius.php:1388
|
99 |
+
msgid "The %s is not working"
|
100 |
+
msgstr "The %s is not working"
|
101 |
|
102 |
+
#: includes/class-freemius.php:1390
|
103 |
+
msgid "Kindly share what didn't work so we can fix it for future users..."
|
104 |
+
msgstr "Kindly share what didn't work so we can fix it for future users..."
|
105 |
|
106 |
+
#: includes/class-freemius.php:1394
|
107 |
+
msgid "It's not what I was looking for"
|
108 |
+
msgstr "It's not what I was looking for"
|
|
|
109 |
|
110 |
+
#: includes/class-freemius.php:1396
|
111 |
+
msgid "What you've been looking for?"
|
112 |
+
msgstr "What you've been looking for?"
|
|
|
113 |
|
114 |
+
#: includes/class-freemius.php:1400
|
115 |
+
msgid "The %s didn't work as expected"
|
116 |
+
msgstr "The %s didn't work as expected"
|
|
|
117 |
|
118 |
+
#: includes/class-freemius.php:1402
|
119 |
+
msgid "What did you expect?"
|
120 |
+
msgstr "What did you expect?"
|
|
|
121 |
|
122 |
+
#: includes/class-freemius.php:1938, templates/debug.php:20
|
123 |
+
msgid "Freemius Debug"
|
124 |
+
msgstr "Freemius Debug"
|
|
|
125 |
|
126 |
+
#: includes/class-freemius.php:2508
|
127 |
+
msgid "I don't know what is cURL or how to install it, help me!"
|
128 |
+
msgstr "I don't know what is cURL or how to install it, help me!"
|
129 |
|
130 |
+
#: includes/class-freemius.php:2510
|
131 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
132 |
+
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
133 |
|
134 |
+
#: includes/class-freemius.php:2517
|
135 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
136 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
137 |
|
138 |
+
#: includes/class-freemius.php:2619
|
139 |
+
msgid "Yes - do your thing"
|
140 |
+
msgstr "Yes - do your thing"
|
141 |
|
142 |
+
#: includes/class-freemius.php:2624
|
143 |
+
msgid "No - just deactivate"
|
144 |
+
msgstr "No - just deactivate"
|
145 |
|
146 |
+
#: includes/class-freemius.php:2669, includes/class-freemius.php:3134, includes/class-freemius.php:3988, includes/class-freemius.php:7270, includes/class-freemius.php:9137, includes/class-freemius.php:9193, includes/class-freemius.php:9254, includes/class-freemius.php:11154, includes/class-freemius.php:11165, includes/class-freemius.php:11614, includes/class-freemius.php:11632, includes/class-freemius.php:11730, includes/class-freemius.php:12405, templates/add-ons.php:43
|
147 |
+
msgctxt "exclamation"
|
148 |
+
msgid "Oops"
|
149 |
+
msgstr "Oops"
|
150 |
|
151 |
+
#: includes/class-freemius.php:2736
|
152 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
153 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
154 |
|
155 |
+
#: includes/class-freemius.php:3131
|
156 |
+
msgctxt "addonX cannot run without pluginY"
|
157 |
+
msgid "%s cannot run without %s."
|
158 |
+
msgstr "%s cannot run without %s."
|
159 |
|
160 |
+
#: includes/class-freemius.php:3132
|
161 |
+
msgctxt "addonX cannot run..."
|
162 |
+
msgid "%s cannot run without the plugin."
|
163 |
+
msgstr "%s cannot run without the plugin."
|
164 |
|
165 |
+
#: includes/class-freemius.php:3253, includes/class-freemius.php:3278, includes/class-freemius.php:11703
|
166 |
+
msgid "Unexpected API error. Please contact the %s's author with the following error."
|
167 |
+
msgstr "Unexpected API error. Please contact the %s's author with the following error."
|
|
|
168 |
|
169 |
+
#: includes/class-freemius.php:3686
|
170 |
+
msgid "Premium %s version was successfully activated."
|
171 |
+
msgstr "Premium %s version was successfully activated."
|
|
|
172 |
|
173 |
+
#: includes/class-freemius.php:3688, includes/class-freemius.php:4913
|
174 |
+
msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
|
175 |
+
msgid "W00t"
|
176 |
+
msgstr "W00t"
|
177 |
|
178 |
+
#: includes/class-freemius.php:3703
|
|
|
179 |
msgid "You have a %s license."
|
180 |
msgstr "You have a %s license."
|
181 |
|
182 |
+
#: includes/class-freemius.php:3707, includes/class-freemius.php:8841, includes/class-freemius.php:8850, includes/class-freemius.php:11105, includes/class-freemius.php:11318, includes/class-freemius.php:11380, includes/class-freemius.php:11492
|
183 |
+
msgctxt "interjection expressing joy or exuberance"
|
184 |
+
msgid "Yee-haw"
|
185 |
+
msgstr "Yee-haw"
|
|
|
|
|
|
|
186 |
|
187 |
+
#: includes/class-freemius.php:3971
|
188 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
189 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
190 |
|
191 |
+
#: includes/class-freemius.php:3975
|
192 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
193 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
194 |
|
195 |
+
#: includes/class-freemius.php:3984, templates/account.php:692, templates/add-ons.php:99
|
196 |
+
msgid "More information about %s"
|
197 |
+
msgstr "More information about %s"
|
|
|
198 |
|
199 |
+
#: includes/class-freemius.php:3985
|
200 |
msgid "Purchase License"
|
201 |
msgstr "Purchase License"
|
202 |
|
203 |
+
#: includes/class-freemius.php:4422, templates/connect.php:136
|
204 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
205 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
|
207 |
+
#: includes/class-freemius.php:4426
|
208 |
+
msgid "start the trial"
|
209 |
+
msgstr "start the trial"
|
210 |
|
211 |
+
#: includes/class-freemius.php:4427, templates/connect.php:140
|
212 |
+
msgid "complete the install"
|
213 |
+
msgstr "complete the install"
|
|
|
214 |
|
215 |
+
#: includes/class-freemius.php:4506
|
216 |
msgid "You are just one step away - %s"
|
217 |
msgstr "You are just one step away - %s"
|
218 |
|
219 |
+
#: includes/class-freemius.php:4509
|
220 |
+
msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
|
221 |
msgid "Complete \"%s\" Activation Now"
|
222 |
msgstr "Complete \"%s\" Activation Now"
|
223 |
|
224 |
+
#: includes/class-freemius.php:4523
|
225 |
msgid "We made a few tweaks to the %s, %s"
|
226 |
msgstr "We made a few tweaks to the %s, %s"
|
227 |
|
228 |
+
#: includes/class-freemius.php:4527
|
229 |
+
msgid "Opt in to make \"%s\" Better!"
|
230 |
+
msgstr "Opt in to make \"%s\" Better!"
|
231 |
|
232 |
+
#: includes/class-freemius.php:4912
|
233 |
+
msgid "The upgrade of %s was successfully completed."
|
234 |
+
msgstr "The upgrade of %s was successfully completed."
|
235 |
|
236 |
+
#: includes/class-freemius.php:5997, includes/class-fs-plugin-updater.php:358, includes/class-fs-plugin-updater.php:510, includes/class-fs-plugin-updater.php:516, templates/auto-installation.php:31
|
237 |
+
msgid "Add-On"
|
238 |
+
msgstr "Add-On"
|
239 |
|
240 |
+
#: includes/class-freemius.php:5999, templates/debug.php:303, templates/debug.php:413
|
241 |
+
msgid "Plugin"
|
242 |
+
msgstr "Plugin"
|
|
|
243 |
|
244 |
+
#: includes/class-freemius.php:6000, templates/debug.php:303, templates/debug.php:413, templates/forms/deactivation/form.php:64
|
245 |
+
msgid "Theme"
|
246 |
+
msgstr "Theme"
|
|
|
247 |
|
248 |
+
#: includes/class-freemius.php:7257
|
249 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
250 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
251 |
|
252 |
+
#: includes/class-freemius.php:7259
|
253 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
254 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
255 |
|
256 |
+
#: includes/class-freemius.php:7468
|
257 |
+
msgid "Account is pending activation."
|
258 |
+
msgstr "Account is pending activation."
|
|
|
259 |
|
260 |
+
#: includes/class-freemius.php:8825
|
261 |
+
msgctxt "pluginX activation was successfully..."
|
262 |
+
msgid "%s activation was successfully completed."
|
263 |
+
msgstr "%s activation was successfully completed."
|
264 |
|
265 |
+
#: includes/class-freemius.php:8837
|
266 |
+
msgid "Your account was successfully activated with the %s plan."
|
267 |
+
msgstr "Your account was successfully activated with the %s plan."
|
268 |
|
269 |
+
#: includes/class-freemius.php:8846, includes/class-freemius.php:11376
|
270 |
+
msgid "Your trial has been successfully started."
|
271 |
+
msgstr "Your trial has been successfully started."
|
272 |
|
273 |
+
#: includes/class-freemius.php:9135, includes/class-freemius.php:9191, includes/class-freemius.php:9252
|
274 |
+
msgid "Couldn't activate %s."
|
275 |
+
msgstr "Couldn't activate %s."
|
276 |
|
277 |
+
#: includes/class-freemius.php:9136, includes/class-freemius.php:9192, includes/class-freemius.php:9253
|
278 |
+
msgid "Please contact us with the following message:"
|
279 |
+
msgstr "Please contact us with the following message:"
|
|
|
280 |
|
281 |
+
#: includes/class-freemius.php:9511, includes/class-freemius.php:13334
|
282 |
+
msgid "Upgrade"
|
283 |
+
msgstr "Upgrade"
|
|
|
284 |
|
285 |
+
#: includes/class-freemius.php:9517
|
286 |
+
msgid "Start Trial"
|
287 |
+
msgstr "Start Trial"
|
288 |
|
289 |
+
#: includes/class-freemius.php:9519
|
290 |
+
msgid "Pricing"
|
291 |
+
msgstr "Pricing"
|
|
|
292 |
|
293 |
+
#: includes/class-freemius.php:9559, includes/class-freemius.php:9561
|
294 |
+
msgid "Affiliation"
|
295 |
+
msgstr "Affiliation"
|
296 |
|
297 |
+
#: includes/class-freemius.php:9581, includes/class-freemius.php:9583, templates/account.php:79, templates/debug.php:281
|
298 |
+
msgid "Account"
|
299 |
+
msgstr "Account"
|
300 |
|
301 |
+
#: includes/class-freemius.php:9594, includes/class-freemius.php:9596, includes/customizer/class-fs-customizer-support-section.php:60
|
302 |
+
msgid "Contact Us"
|
303 |
+
msgstr "Contact Us"
|
304 |
|
305 |
+
#: includes/class-freemius.php:9606, includes/class-freemius.php:9608, includes/class-freemius.php:13344, templates/account.php:68
|
306 |
+
msgid "Add-Ons"
|
307 |
+
msgstr "Add-Ons"
|
308 |
|
309 |
+
#: includes/class-freemius.php:9639, templates/pricing.php:92
|
310 |
+
msgctxt "noun"
|
311 |
+
msgid "Pricing"
|
312 |
+
msgstr "Pricing"
|
313 |
|
314 |
+
#: includes/class-freemius.php:9819, includes/customizer/class-fs-customizer-support-section.php:67
|
315 |
+
msgid "Support Forum"
|
316 |
+
msgstr "Support Forum"
|
317 |
|
318 |
+
#: includes/class-freemius.php:10559
|
319 |
+
msgid "Your email has been successfully verified - you are AWESOME!"
|
320 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
321 |
|
322 |
+
#: includes/class-freemius.php:10560
|
323 |
+
msgctxt "a positive response"
|
324 |
+
msgid "Right on"
|
325 |
+
msgstr "Right on"
|
326 |
|
327 |
+
#: includes/class-freemius.php:11096
|
328 |
+
msgid "Your %s Add-on plan was successfully upgraded."
|
329 |
+
msgstr "Your %s Add-on plan was successfully upgraded."
|
330 |
|
331 |
+
#: includes/class-freemius.php:11098
|
332 |
+
msgid "%s Add-on was successfully purchased."
|
333 |
+
msgstr "%s Add-on was successfully purchased."
|
334 |
|
335 |
+
#: includes/class-freemius.php:11101
|
336 |
+
msgid "Download the latest version"
|
337 |
+
msgstr "Download the latest version"
|
|
|
338 |
|
339 |
+
#: includes/class-freemius.php:11150
|
340 |
+
msgctxt "%1s - plugin title, %2s - API domain"
|
341 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
342 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
343 |
|
344 |
+
#: includes/class-freemius.php:11153, includes/class-freemius.php:11463, includes/class-freemius.php:11528
|
345 |
+
msgid "Error received from the server:"
|
346 |
+
msgstr "Error received from the server:"
|
347 |
|
348 |
+
#: includes/class-freemius.php:11164
|
349 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
350 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
351 |
|
352 |
+
#: includes/class-freemius.php:11281, includes/class-freemius.php:11468, includes/class-freemius.php:11511
|
353 |
+
msgctxt "something somebody says when they are thinking about what you have just said."
|
354 |
+
msgid "Hmm"
|
355 |
+
msgstr "Hmm"
|
356 |
|
357 |
+
#: includes/class-freemius.php:11294
|
358 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
359 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
360 |
|
361 |
+
#: includes/class-freemius.php:11295, templates/account.php:70, templates/add-ons.php:130
|
362 |
+
msgctxt "trial period"
|
363 |
+
msgid "Trial"
|
364 |
+
msgstr "Trial"
|
365 |
|
366 |
+
#: includes/class-freemius.php:11300
|
367 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
368 |
+
msgstr "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
369 |
|
370 |
+
#: includes/class-freemius.php:11304, includes/class-freemius.php:11358
|
371 |
+
msgid "Please contact us here"
|
372 |
+
msgstr "Please contact us here"
|
|
|
373 |
|
374 |
+
#: includes/class-freemius.php:11314
|
375 |
+
msgid "Your plan was successfully upgraded."
|
376 |
+
msgstr "Your plan was successfully upgraded."
|
377 |
|
378 |
+
#: includes/class-freemius.php:11331
|
379 |
+
msgid "Your plan was successfully changed to %s."
|
380 |
+
msgstr "Your plan was successfully changed to %s."
|
381 |
|
382 |
+
#: includes/class-freemius.php:11346
|
383 |
+
msgid "Your license has expired. You can still continue using the free %s forever."
|
384 |
+
msgstr "Your license has expired. You can still continue using the free %s forever."
|
385 |
|
386 |
+
#: includes/class-freemius.php:11354
|
387 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
388 |
+
msgstr "Your license has been cancelled. If you think it's a mistake, please contact support."
|
389 |
|
390 |
+
#: includes/class-freemius.php:11367
|
391 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
392 |
+
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
|
|
393 |
|
394 |
+
#: includes/class-freemius.php:11389
|
395 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
396 |
+
msgstr "Your trial has expired. You can still continue using all our free features."
|
397 |
|
398 |
+
#: includes/class-freemius.php:11459
|
399 |
+
msgid "It looks like the license could not be activated."
|
400 |
+
msgstr "It looks like the license could not be activated."
|
|
|
401 |
|
402 |
+
#: includes/class-freemius.php:11489
|
403 |
+
msgid "Your license was successfully activated."
|
404 |
+
msgstr "Your license was successfully activated."
|
|
|
405 |
|
406 |
+
#: includes/class-freemius.php:11515
|
407 |
+
msgid "It looks like your site currently doesn't have an active license."
|
408 |
+
msgstr "It looks like your site currently doesn't have an active license."
|
409 |
|
410 |
+
#: includes/class-freemius.php:11527
|
411 |
+
msgid "It looks like the license deactivation failed."
|
412 |
+
msgstr "It looks like the license deactivation failed."
|
413 |
|
414 |
+
#: includes/class-freemius.php:11554
|
415 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
416 |
+
msgstr "Your license was successfully deactivated, you are back to the %s plan."
|
417 |
+
|
418 |
+
#: includes/class-freemius.php:11555
|
419 |
+
msgid "O.K"
|
420 |
+
msgstr "O.K"
|
421 |
+
|
422 |
+
#: includes/class-freemius.php:11603
|
423 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
424 |
+
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
425 |
+
|
426 |
+
#: includes/class-freemius.php:11613
|
427 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
428 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
429 |
+
|
430 |
+
#: includes/class-freemius.php:11637
|
431 |
+
msgid "You are already running the %s in a trial mode."
|
432 |
+
msgstr "You are already running the %s in a trial mode."
|
433 |
+
|
434 |
+
#: includes/class-freemius.php:11648
|
435 |
+
msgid "You already utilized a trial before."
|
436 |
+
msgstr "You already utilized a trial before."
|
437 |
+
|
438 |
+
#: includes/class-freemius.php:11662
|
439 |
+
msgid "Plan %s do not exist, therefore, can't start a trial."
|
440 |
+
msgstr "Plan %s do not exist, therefore, can't start a trial."
|
441 |
+
|
442 |
+
#: includes/class-freemius.php:11673
|
443 |
+
msgid "Plan %s does not support a trial period."
|
444 |
+
msgstr "Plan %s does not support a trial period."
|
445 |
+
|
446 |
+
#: includes/class-freemius.php:11684
|
447 |
+
msgid "None of the %s's plans supports a trial period."
|
448 |
+
msgstr "None of the %s's plans supports a trial period."
|
449 |
+
|
450 |
+
#: includes/class-freemius.php:11734
|
451 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
452 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
453 |
+
|
454 |
+
#: includes/class-freemius.php:11785
|
455 |
+
msgid "Your %s free trial was successfully cancelled."
|
456 |
+
msgstr "Your %s free trial was successfully cancelled."
|
457 |
|
458 |
+
#: includes/class-freemius.php:11793
|
459 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
460 |
+
msgstr "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
461 |
|
462 |
+
#: includes/class-freemius.php:12032
|
463 |
+
msgid "Version %s was released."
|
464 |
+
msgstr "Version %s was released."
|
465 |
+
|
466 |
+
#: includes/class-freemius.php:12032
|
467 |
+
msgid "Please download %s."
|
468 |
+
msgstr "Please download %s."
|
469 |
+
|
470 |
+
#: includes/class-freemius.php:12039
|
471 |
+
msgid "the latest %s version here"
|
472 |
+
msgstr "the latest %s version here"
|
473 |
+
|
474 |
+
#: includes/class-freemius.php:12044
|
475 |
+
msgid "New"
|
476 |
+
msgstr "New"
|
477 |
+
|
478 |
+
#: includes/class-freemius.php:12049
|
479 |
+
msgid "Seems like you got the latest release."
|
480 |
+
msgstr "Seems like you got the latest release."
|
481 |
+
|
482 |
+
#: includes/class-freemius.php:12050
|
483 |
+
msgid "You are all good!"
|
484 |
+
msgstr "You are all good!"
|
485 |
+
|
486 |
+
#: includes/class-freemius.php:12316
|
487 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
488 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
489 |
+
|
490 |
+
#: includes/class-freemius.php:12491
|
491 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
492 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
493 |
+
|
494 |
+
#: includes/class-freemius.php:12497
|
495 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
496 |
+
msgstr "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
497 |
+
|
498 |
+
#: includes/class-freemius.php:12502
|
499 |
+
msgid "%s is the new owner of the account."
|
500 |
+
msgstr "%s is the new owner of the account."
|
501 |
+
|
502 |
+
#: includes/class-freemius.php:12504
|
503 |
+
msgctxt "as congratulations"
|
504 |
+
msgid "Congrats"
|
505 |
+
msgstr "Congrats"
|
506 |
+
|
507 |
+
#: includes/class-freemius.php:12524
|
508 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
509 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
510 |
+
|
511 |
+
#: includes/class-freemius.php:12525
|
512 |
+
msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
513 |
+
msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
514 |
+
|
515 |
+
#: includes/class-freemius.php:12532
|
516 |
+
msgid "Change Ownership"
|
517 |
+
msgstr "Change Ownership"
|
518 |
+
|
519 |
+
#: includes/class-freemius.php:12540
|
520 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
521 |
+
msgstr "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
522 |
+
|
523 |
+
#: includes/class-freemius.php:12552
|
524 |
+
msgid "Please provide your full name."
|
525 |
+
msgstr "Please provide your full name."
|
526 |
+
|
527 |
+
#: includes/class-freemius.php:12557
|
528 |
+
msgid "Your name was successfully updated."
|
529 |
+
msgstr "Your name was successfully updated."
|
530 |
+
|
531 |
+
#: includes/class-freemius.php:12618
|
532 |
+
msgid "You have successfully updated your %s."
|
533 |
+
msgstr "You have successfully updated your %s."
|
534 |
+
|
535 |
+
#: includes/class-freemius.php:12756
|
536 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
537 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
538 |
+
|
539 |
+
#: includes/class-freemius.php:12757
|
540 |
+
msgctxt "advance notice of something that will need attention."
|
541 |
+
msgid "Heads up"
|
542 |
+
msgstr "Heads up"
|
543 |
+
|
544 |
+
#: includes/class-freemius.php:13075
|
545 |
+
msgid "Awesome"
|
546 |
+
msgstr "Awesome"
|
547 |
+
|
548 |
+
#: includes/class-freemius.php:13115
|
549 |
+
msgctxt "exclamation"
|
550 |
+
msgid "Hey"
|
551 |
+
msgstr "Hey"
|
552 |
+
|
553 |
+
#: includes/class-freemius.php:13115
|
554 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
555 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
556 |
+
|
557 |
+
#: includes/class-freemius.php:13123
|
558 |
+
msgid "No commitment for %s days - cancel anytime!"
|
559 |
+
msgstr "No commitment for %s days - cancel anytime!"
|
560 |
+
|
561 |
+
#: includes/class-freemius.php:13124
|
562 |
+
msgid "No credit card required"
|
563 |
+
msgstr "No credit card required"
|
564 |
+
|
565 |
+
#: includes/class-freemius.php:13131, templates/forms/trial-start.php:53
|
566 |
+
msgctxt "call to action"
|
567 |
+
msgid "Start free trial"
|
568 |
+
msgstr "Start free trial"
|
569 |
+
|
570 |
+
#: includes/class-freemius.php:13208
|
571 |
+
msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
572 |
+
msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
573 |
+
|
574 |
+
#: includes/class-freemius.php:13217
|
575 |
+
msgid "Learn more"
|
576 |
+
msgstr "Learn more"
|
577 |
+
|
578 |
+
#: includes/class-freemius.php:13373, templates/account.php:330, templates/connect.php:309, templates/forms/license-activation.php:24
|
579 |
+
msgid "Activate License"
|
580 |
+
msgstr "Activate License"
|
581 |
+
|
582 |
+
#: includes/class-freemius.php:13374, templates/account.php:393
|
583 |
msgid "Change License"
|
584 |
msgstr "Change License"
|
585 |
|
586 |
+
#: includes/class-freemius.php:13435
|
587 |
+
msgid "Opt Out"
|
588 |
+
msgstr "Opt Out"
|
589 |
|
590 |
+
#: includes/class-freemius.php:13437, includes/class-freemius.php:13442
|
591 |
+
msgid "Opt In"
|
592 |
+
msgstr "Opt In"
|
593 |
|
594 |
+
#: includes/class-freemius.php:13630
|
595 |
+
msgid "Please follow these steps to complete the upgrade"
|
596 |
+
msgstr "Please follow these steps to complete the upgrade"
|
597 |
|
598 |
+
#: includes/class-freemius.php:13633
|
599 |
+
msgid "Download the latest %s version"
|
600 |
+
msgstr "Download the latest %s version"
|
601 |
|
602 |
+
#: includes/class-freemius.php:13637
|
603 |
+
msgid "Upload and activate the downloaded version"
|
604 |
+
msgstr "Upload and activate the downloaded version"
|
605 |
|
606 |
+
#: includes/class-freemius.php:13639
|
607 |
+
msgid "How to upload and activate?"
|
608 |
+
msgstr "How to upload and activate?"
|
609 |
|
610 |
+
#: includes/class-freemius.php:13798
|
611 |
+
msgid "Auto installation only works for opted-in users."
|
612 |
+
msgstr "Auto installation only works for opted-in users."
|
613 |
|
614 |
+
#: includes/class-freemius.php:13808, includes/class-freemius.php:13841, includes/class-fs-plugin-updater.php:490, includes/class-fs-plugin-updater.php:504
|
615 |
+
msgid "Invalid module ID."
|
616 |
+
msgstr "Invalid module ID."
|
617 |
|
618 |
+
#: includes/class-freemius.php:13817, includes/class-fs-plugin-updater.php:524
|
619 |
+
msgid "Premium version already active."
|
620 |
+
msgstr "Premium version already active."
|
|
|
621 |
|
622 |
+
#: includes/class-freemius.php:13824
|
623 |
+
msgid "You do not have a valid license to access the premium version."
|
624 |
+
msgstr "You do not have a valid license to access the premium version."
|
|
|
625 |
|
626 |
+
#: includes/class-freemius.php:13831
|
627 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
628 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
629 |
+
|
630 |
+
#: includes/class-freemius.php:13849, includes/class-fs-plugin-updater.php:523
|
631 |
+
msgid "Premium add-on version already installed."
|
632 |
+
msgstr "Premium add-on version already installed."
|
633 |
+
|
634 |
+
#: includes/class-freemius.php:14194
|
635 |
+
msgid "View paid features"
|
636 |
+
msgstr "View paid features"
|
637 |
+
|
638 |
+
#: includes/class-fs-plugin-updater.php:131
|
639 |
+
msgid "%sRenew your license now%s to access version %s features and support."
|
640 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
641 |
+
|
642 |
+
#: includes/class-fs-plugin-updater.php:553
|
643 |
+
msgid "Installing plugin: %s"
|
644 |
+
msgstr "Installing plugin: %s"
|
645 |
+
|
646 |
+
#: includes/class-fs-plugin-updater.php:594
|
647 |
+
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
648 |
+
msgstr "Unable to connect to the filesystem. Please confirm your credentials."
|
649 |
+
|
650 |
+
#: includes/class-fs-plugin-updater.php:700
|
651 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
652 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
653 |
+
|
654 |
+
#: includes/fs-plugin-info-dialog.php:328, templates/account.php:696
|
655 |
+
msgctxt "verb"
|
656 |
+
msgid "Purchase"
|
657 |
+
msgstr "Purchase"
|
658 |
+
|
659 |
+
#: includes/fs-plugin-info-dialog.php:331
|
660 |
+
msgid "Start my free %s"
|
661 |
+
msgstr "Start my free %s"
|
662 |
+
|
663 |
+
#: includes/fs-plugin-info-dialog.php:355, templates/account.php:52
|
664 |
+
msgctxt "as download latest version"
|
665 |
+
msgid "Download Latest"
|
666 |
+
msgstr "Download Latest"
|
667 |
+
|
668 |
+
#: includes/fs-plugin-info-dialog.php:358, templates/account.php:676, templates/account.php:729, templates/auto-installation.php:110
|
669 |
msgid "Install Now"
|
670 |
msgstr "Install Now"
|
671 |
|
672 |
+
#: includes/fs-plugin-info-dialog.php:364, templates/account.php:384
|
673 |
msgid "Install Update Now"
|
674 |
msgstr "Install Update Now"
|
675 |
|
676 |
+
#: includes/fs-plugin-info-dialog.php:368
|
677 |
+
msgid "Newer Version (%s) Installed"
|
678 |
+
msgstr "Newer Version (%s) Installed"
|
679 |
|
680 |
+
#: includes/fs-plugin-info-dialog.php:371
|
681 |
+
msgid "Latest Version Installed"
|
682 |
+
msgstr "Latest Version Installed"
|
683 |
|
684 |
+
#: includes/fs-plugin-info-dialog.php:484
|
685 |
+
msgctxt "Plugin installer section title"
|
686 |
+
msgid "Description"
|
687 |
+
msgstr "Description"
|
688 |
|
689 |
+
#: includes/fs-plugin-info-dialog.php:485
|
690 |
+
msgctxt "Plugin installer section title"
|
691 |
+
msgid "Installation"
|
692 |
+
msgstr "Installation"
|
693 |
|
694 |
+
#: includes/fs-plugin-info-dialog.php:486
|
695 |
+
msgctxt "Plugin installer section title"
|
696 |
+
msgid "FAQ"
|
697 |
+
msgstr "FAQ"
|
698 |
|
699 |
+
#: includes/fs-plugin-info-dialog.php:487, templates/plugin-info/description.php:55
|
700 |
+
msgid "Screenshots"
|
701 |
+
msgstr "Screenshots"
|
702 |
|
703 |
+
#: includes/fs-plugin-info-dialog.php:488
|
704 |
+
msgctxt "Plugin installer section title"
|
705 |
+
msgid "Changelog"
|
706 |
+
msgstr "Changelog"
|
707 |
|
708 |
+
#: includes/fs-plugin-info-dialog.php:489
|
709 |
+
msgctxt "Plugin installer section title"
|
710 |
+
msgid "Reviews"
|
711 |
+
msgstr "Reviews"
|
712 |
|
713 |
+
#: includes/fs-plugin-info-dialog.php:490
|
714 |
+
msgctxt "Plugin installer section title"
|
715 |
+
msgid "Other Notes"
|
716 |
+
msgstr "Other Notes"
|
717 |
|
718 |
+
#: includes/fs-plugin-info-dialog.php:505
|
719 |
+
msgctxt "Plugin installer section title"
|
720 |
+
msgid "Features & Pricing"
|
721 |
+
msgstr "Features & Pricing"
|
722 |
|
723 |
+
#: includes/fs-plugin-info-dialog.php:515
|
724 |
+
msgid "Plugin Install"
|
725 |
+
msgstr "Plugin Install"
|
726 |
|
727 |
+
#: includes/fs-plugin-info-dialog.php:587
|
728 |
+
msgctxt "e.g. Professional Plan"
|
729 |
+
msgid "%s Plan"
|
730 |
+
msgstr "%s Plan"
|
731 |
|
732 |
+
#: includes/fs-plugin-info-dialog.php:612
|
733 |
+
msgctxt "e.g. the best product"
|
734 |
+
msgid "Best"
|
735 |
+
msgstr "Best"
|
736 |
|
737 |
+
#: includes/fs-plugin-info-dialog.php:618, includes/fs-plugin-info-dialog.php:638
|
738 |
+
msgctxt "as every month"
|
739 |
+
msgid "Monthly"
|
740 |
+
msgstr "Monthly"
|
741 |
|
742 |
+
#: includes/fs-plugin-info-dialog.php:621
|
743 |
+
msgctxt "as once a year"
|
744 |
+
msgid "Annual"
|
745 |
+
msgstr "Annual"
|
746 |
|
747 |
+
#: includes/fs-plugin-info-dialog.php:624
|
748 |
+
msgid "Lifetime"
|
749 |
+
msgstr "Lifetime"
|
750 |
|
751 |
+
#: includes/fs-plugin-info-dialog.php:638, includes/fs-plugin-info-dialog.php:640, includes/fs-plugin-info-dialog.php:642
|
752 |
+
msgctxt "e.g. billed monthly"
|
753 |
+
msgid "Billed %s"
|
754 |
+
msgstr "Billed %s"
|
755 |
|
756 |
+
#: includes/fs-plugin-info-dialog.php:640
|
757 |
+
msgctxt "as once a year"
|
758 |
+
msgid "Annually"
|
759 |
+
msgstr "Annually"
|
760 |
|
761 |
+
#: includes/fs-plugin-info-dialog.php:642
|
762 |
+
msgctxt "as once a year"
|
763 |
+
msgid "Once"
|
764 |
+
msgstr "Once"
|
765 |
|
766 |
+
#: includes/fs-plugin-info-dialog.php:648
|
767 |
+
msgid "Single Site License"
|
768 |
+
msgstr "Single Site License"
|
769 |
|
770 |
+
#: includes/fs-plugin-info-dialog.php:650
|
771 |
+
msgid "Unlimited Licenses"
|
772 |
+
msgstr "Unlimited Licenses"
|
773 |
|
774 |
+
#: includes/fs-plugin-info-dialog.php:652
|
775 |
+
msgid "Up to %s Sites"
|
776 |
+
msgstr "Up to %s Sites"
|
777 |
|
778 |
+
#: includes/fs-plugin-info-dialog.php:662, templates/plugin-info/features.php:82
|
779 |
+
msgctxt "as monthly period"
|
780 |
+
msgid "mo"
|
781 |
+
msgstr "mo"
|
782 |
|
783 |
+
#: includes/fs-plugin-info-dialog.php:669, templates/plugin-info/features.php:80
|
784 |
+
msgctxt "as annual period"
|
785 |
+
msgid "year"
|
786 |
+
msgstr "year"
|
787 |
|
788 |
+
#: includes/fs-plugin-info-dialog.php:721
|
789 |
+
msgctxt "noun"
|
790 |
+
msgid "Price"
|
791 |
+
msgstr "Price"
|
792 |
|
793 |
+
#: includes/fs-plugin-info-dialog.php:767
|
794 |
+
msgctxt "as a discount of $5 or 10%"
|
795 |
+
msgid "Save %s"
|
796 |
+
msgstr "Save %s"
|
797 |
|
798 |
+
#: includes/fs-plugin-info-dialog.php:777
|
799 |
+
msgid "No commitment for %s - cancel anytime"
|
800 |
+
msgstr "No commitment for %s - cancel anytime"
|
801 |
|
802 |
+
#: includes/fs-plugin-info-dialog.php:780
|
803 |
+
msgid "After your free %s, pay as little as %s"
|
804 |
+
msgstr "After your free %s, pay as little as %s"
|
805 |
|
806 |
+
#: includes/fs-plugin-info-dialog.php:791
|
807 |
+
msgid "Details"
|
808 |
+
msgstr "Details"
|
809 |
|
810 |
+
#: includes/fs-plugin-info-dialog.php:794, templates/account.php:59, templates/debug.php:183, templates/debug.php:220, templates/debug.php:354
|
811 |
+
msgctxt "product version"
|
812 |
+
msgid "Version"
|
813 |
+
msgstr "Version"
|
814 |
|
815 |
+
#: includes/fs-plugin-info-dialog.php:800
|
816 |
+
msgctxt "as the plugin author"
|
817 |
+
msgid "Author"
|
818 |
+
msgstr "Author"
|
819 |
|
820 |
+
#: includes/fs-plugin-info-dialog.php:806
|
821 |
+
msgid "Last Updated"
|
822 |
+
msgstr "Last Updated"
|
823 |
|
824 |
+
#: includes/fs-plugin-info-dialog.php:810
|
825 |
+
msgctxt "x-ago"
|
826 |
+
msgid "%s ago"
|
827 |
+
msgstr "%s ago"
|
828 |
|
829 |
+
#: includes/fs-plugin-info-dialog.php:819
|
830 |
+
msgid "Requires WordPress Version"
|
831 |
+
msgstr "Requires WordPress Version"
|
832 |
|
833 |
+
#: includes/fs-plugin-info-dialog.php:819
|
834 |
+
msgid "%s or higher"
|
835 |
+
msgstr "%s or higher"
|
836 |
|
837 |
+
#: includes/fs-plugin-info-dialog.php:825
|
838 |
+
msgid "Compatible up to"
|
839 |
+
msgstr "Compatible up to"
|
840 |
|
841 |
+
#: includes/fs-plugin-info-dialog.php:832
|
842 |
+
msgid "Downloaded"
|
843 |
+
msgstr "Downloaded"
|
844 |
|
845 |
+
#: includes/fs-plugin-info-dialog.php:835
|
846 |
+
msgid "%s time"
|
847 |
+
msgstr "%s time"
|
|
|
848 |
|
849 |
+
#: includes/fs-plugin-info-dialog.php:837
|
850 |
+
msgid "%s times"
|
851 |
+
msgstr "%s times"
|
852 |
|
853 |
+
#: includes/fs-plugin-info-dialog.php:847
|
854 |
+
msgid "WordPress.org Plugin Page"
|
855 |
+
msgstr "WordPress.org Plugin Page"
|
856 |
|
857 |
+
#: includes/fs-plugin-info-dialog.php:854
|
858 |
+
msgid "Plugin Homepage"
|
859 |
+
msgstr "Plugin Homepage"
|
860 |
|
861 |
+
#: includes/fs-plugin-info-dialog.php:861, includes/fs-plugin-info-dialog.php:941
|
862 |
+
msgid "Donate to this plugin"
|
863 |
+
msgstr "Donate to this plugin"
|
864 |
|
865 |
+
#: includes/fs-plugin-info-dialog.php:867
|
866 |
+
msgid "Average Rating"
|
867 |
+
msgstr "Average Rating"
|
868 |
|
869 |
+
#: includes/fs-plugin-info-dialog.php:874
|
870 |
+
msgid "based on %s"
|
871 |
+
msgstr "based on %s"
|
872 |
|
873 |
+
#: includes/fs-plugin-info-dialog.php:878
|
874 |
+
msgid "%s rating"
|
875 |
+
msgstr "%s rating"
|
876 |
|
877 |
+
#: includes/fs-plugin-info-dialog.php:880
|
878 |
+
msgid "%s ratings"
|
879 |
+
msgstr "%s ratings"
|
880 |
|
881 |
+
#: includes/fs-plugin-info-dialog.php:894
|
882 |
+
msgid "%s star"
|
883 |
+
msgstr "%s star"
|
884 |
|
885 |
+
#: includes/fs-plugin-info-dialog.php:896
|
886 |
+
msgid "%s stars"
|
887 |
+
msgstr "%s stars"
|
888 |
|
889 |
+
#: includes/fs-plugin-info-dialog.php:907
|
890 |
+
msgid "Click to see reviews that provided a rating of %s"
|
891 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
892 |
|
893 |
+
#: includes/fs-plugin-info-dialog.php:920
|
894 |
+
msgid "Contributors"
|
895 |
+
msgstr "Contributors"
|
896 |
|
897 |
+
#: includes/fs-plugin-info-dialog.php:948, includes/fs-plugin-info-dialog.php:950
|
898 |
+
msgid "Warning"
|
899 |
+
msgstr "Warning"
|
900 |
|
901 |
+
#: includes/fs-plugin-info-dialog.php:948
|
902 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
903 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
904 |
|
905 |
+
#: includes/fs-plugin-info-dialog.php:950
|
906 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
907 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
908 |
|
909 |
+
#: includes/fs-plugin-info-dialog.php:969
|
910 |
+
msgid "Paid add-on must be deployed to Freemius."
|
911 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
|
|
912 |
|
913 |
+
#: includes/fs-plugin-info-dialog.php:970
|
914 |
+
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
915 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
|
|
916 |
|
917 |
+
#: templates/account.php:53
|
918 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
919 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
920 |
|
921 |
+
#: templates/account.php:54
|
922 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
923 |
+
msgstr "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
924 |
|
925 |
+
#: templates/account.php:55
|
926 |
+
msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
|
927 |
+
msgstr "You can still enjoy all %s features but you will not have access to %s updates and support."
|
928 |
|
929 |
+
#: templates/account.php:56
|
930 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
931 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
932 |
|
933 |
+
#. translators: %s: Plan title (e.g. "Professional")
|
934 |
+
#: templates/account.php:58
|
935 |
+
msgid "Activate %s Plan"
|
936 |
+
msgstr "Activate %s Plan"
|
937 |
|
938 |
+
#. translators: %s: Time period (e.g. Auto renews in "2 months")
|
939 |
+
#: templates/account.php:61
|
940 |
+
msgid "Auto renews in %s"
|
941 |
+
msgstr "Auto renews in %s"
|
942 |
|
943 |
+
#. translators: %s: Time period (e.g. Expires in "2 months")
|
944 |
+
#: templates/account.php:63
|
945 |
+
msgid "Expires in %s"
|
946 |
+
msgstr "Expires in %s"
|
947 |
|
948 |
+
#: templates/account.php:64
|
949 |
+
msgctxt "as synchronize license"
|
950 |
+
msgid "Sync License"
|
951 |
+
msgstr "Sync License"
|
952 |
|
953 |
+
#: templates/account.php:65
|
954 |
+
msgid "Cancel Trial"
|
955 |
+
msgstr "Cancel Trial"
|
956 |
|
957 |
+
#: templates/account.php:66
|
958 |
+
msgid "Change Plan"
|
959 |
+
msgstr "Change Plan"
|
960 |
|
961 |
+
#: templates/account.php:67
|
962 |
+
msgctxt "verb"
|
963 |
+
msgid "Upgrade"
|
964 |
+
msgstr "Upgrade"
|
965 |
|
966 |
+
#: templates/account.php:69
|
967 |
+
msgctxt "verb"
|
968 |
+
msgid "Downgrade"
|
969 |
+
msgstr "Downgrade"
|
970 |
|
971 |
+
#: templates/account.php:71, templates/add-ons.php:126, templates/plugin-info/features.php:72
|
972 |
+
msgid "Free"
|
973 |
+
msgstr "Free"
|
974 |
|
975 |
+
#: templates/account.php:72
|
976 |
+
msgid "Activate"
|
977 |
+
msgstr "Activate"
|
978 |
|
979 |
+
#: templates/account.php:73, templates/debug.php:311, includes/customizer/class-fs-customizer-upsell-control.php:106
|
980 |
+
msgctxt "as product pricing plan"
|
981 |
+
msgid "Plan"
|
982 |
+
msgstr "Plan"
|
983 |
|
984 |
+
#: templates/account.php:87
|
985 |
+
msgid "Free Trial"
|
986 |
+
msgstr "Free Trial"
|
987 |
|
988 |
+
#: templates/account.php:98
|
989 |
+
msgid "Account Details"
|
990 |
+
msgstr "Account Details"
|
991 |
|
992 |
+
#: templates/account.php:108
|
993 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
994 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
995 |
|
996 |
+
#: templates/account.php:110
|
997 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
998 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
999 |
|
1000 |
+
#: templates/account.php:113
|
1001 |
+
msgid "Delete Account"
|
1002 |
+
msgstr "Delete Account"
|
1003 |
|
1004 |
+
#: templates/account.php:124
|
1005 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
1006 |
+
msgstr "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
1007 |
|
1008 |
+
#: templates/account.php:125, templates/account.php:590
|
1009 |
+
msgid "Deactivate License"
|
1010 |
+
msgstr "Deactivate License"
|
|
|
1011 |
|
1012 |
+
#: templates/account.php:142
|
1013 |
+
msgid "Are you sure you want to proceed?"
|
1014 |
+
msgstr "Are you sure you want to proceed?"
|
|
|
1015 |
|
1016 |
+
#: templates/account.php:142
|
1017 |
+
msgid "Cancel Subscription"
|
1018 |
+
msgstr "Cancel Subscription"
|
|
|
1019 |
|
1020 |
+
#: templates/account.php:171
|
1021 |
+
msgctxt "as synchronize"
|
1022 |
+
msgid "Sync"
|
1023 |
+
msgstr "Sync"
|
1024 |
|
1025 |
+
#: templates/account.php:185, templates/debug.php:389
|
1026 |
+
msgid "Name"
|
1027 |
+
msgstr "Name"
|
|
|
1028 |
|
1029 |
+
#: templates/account.php:191, templates/debug.php:390
|
1030 |
+
msgid "Email"
|
1031 |
+
msgstr "Email"
|
1032 |
|
1033 |
+
#: templates/account.php:198, templates/debug.php:310, templates/debug.php:419
|
1034 |
+
msgid "User ID"
|
1035 |
+
msgstr "User ID"
|
1036 |
|
1037 |
+
#: templates/account.php:205
|
1038 |
+
msgid "Site ID"
|
1039 |
+
msgstr "Site ID"
|
1040 |
|
1041 |
+
#: templates/account.php:208
|
1042 |
+
msgid "No ID"
|
1043 |
+
msgstr "No ID"
|
1044 |
|
1045 |
+
#: templates/account.php:213, templates/debug.php:225, templates/debug.php:312, templates/debug.php:355, templates/debug.php:392
|
1046 |
+
msgid "Public Key"
|
1047 |
+
msgstr "Public Key"
|
1048 |
|
1049 |
+
#: templates/account.php:219, templates/debug.php:313, templates/debug.php:356, templates/debug.php:393
|
1050 |
+
msgid "Secret Key"
|
1051 |
+
msgstr "Secret Key"
|
1052 |
|
1053 |
+
#: templates/account.php:222
|
1054 |
+
msgctxt "as secret encryption key missing"
|
1055 |
+
msgid "No Secret"
|
1056 |
+
msgstr "No Secret"
|
1057 |
|
1058 |
+
#: templates/account.php:241
|
1059 |
+
msgid "Trial"
|
1060 |
+
msgstr "Trial"
|
1061 |
|
1062 |
+
#: templates/account.php:257, templates/debug.php:424
|
1063 |
+
msgid "License Key"
|
1064 |
+
msgstr "License Key"
|
1065 |
|
1066 |
+
#: templates/account.php:287
|
1067 |
+
msgid "not verified"
|
1068 |
+
msgstr "not verified"
|
1069 |
|
1070 |
+
#: templates/account.php:317
|
1071 |
+
msgid "Localhost"
|
1072 |
+
msgstr "Localhost"
|
1073 |
|
1074 |
+
#: templates/account.php:321
|
1075 |
+
msgctxt "as 5 licenses left"
|
1076 |
+
msgid "%s left"
|
1077 |
+
msgstr "%s left"
|
1078 |
|
1079 |
+
#: templates/account.php:322
|
1080 |
+
msgid "Last license"
|
1081 |
+
msgstr "Last license"
|
1082 |
|
1083 |
+
#: templates/account.php:352
|
1084 |
+
msgid "Premium version"
|
1085 |
+
msgstr "Premium version"
|
1086 |
|
1087 |
+
#: templates/account.php:354
|
1088 |
+
msgid "Free version"
|
1089 |
+
msgstr "Free version"
|
1090 |
|
1091 |
+
#: templates/account.php:366
|
1092 |
+
msgid "Verify Email"
|
1093 |
+
msgstr "Verify Email"
|
1094 |
|
1095 |
+
#: templates/account.php:377
|
1096 |
+
msgid "Download %s Version"
|
1097 |
+
msgstr "Download %s Version"
|
1098 |
|
1099 |
+
#: templates/account.php:391, templates/account.php:442
|
1100 |
+
msgctxt "verb"
|
1101 |
+
msgid "Show"
|
1102 |
+
msgstr "Show"
|
1103 |
|
1104 |
+
#: templates/account.php:405
|
1105 |
+
msgid "What is your %s?"
|
1106 |
+
msgstr "What is your %s?"
|
1107 |
|
1108 |
+
#: templates/account.php:413, templates/account/billing.php:27
|
1109 |
+
msgctxt "verb"
|
1110 |
+
msgid "Edit"
|
1111 |
+
msgstr "Edit"
|
1112 |
|
1113 |
+
#: templates/account.php:436
|
1114 |
+
msgctxt "verb"
|
1115 |
+
msgid "Hide"
|
1116 |
+
msgstr "Hide"
|
1117 |
|
1118 |
+
#: templates/account.php:472, templates/debug.php:218, templates/debug.php:308, templates/debug.php:351, templates/debug.php:388, templates/debug.php:417, templates/debug.php:496, templates/account/payments.php:35, templates/debug/logger.php:21
|
1119 |
+
msgid "ID"
|
1120 |
+
msgstr "ID"
|
|
|
1121 |
|
1122 |
+
#: templates/account.php:475
|
1123 |
+
msgctxt "as software license"
|
1124 |
+
msgid "License"
|
1125 |
+
msgstr "License"
|
1126 |
|
1127 |
+
#: templates/account.php:550
|
1128 |
+
msgid "Cancelled"
|
1129 |
+
msgstr "Cancelled"
|
|
|
1130 |
|
1131 |
+
#: templates/account.php:555
|
1132 |
+
msgid "Expired"
|
1133 |
+
msgstr "Expired"
|
1134 |
|
1135 |
+
#: templates/account.php:560
|
1136 |
+
msgid "No expiration"
|
1137 |
+
msgstr "No expiration"
|
|
|
1138 |
|
1139 |
+
#: templates/account.php:668, templates/account.php:724
|
1140 |
+
msgid "Activate this add-on"
|
1141 |
+
msgstr "Activate this add-on"
|
|
|
1142 |
|
1143 |
+
#: templates/account.php:745, templates/debug.php:336
|
1144 |
+
msgctxt "verb"
|
1145 |
+
msgid "Delete"
|
1146 |
+
msgstr "Delete"
|
1147 |
|
1148 |
+
#: templates/add-ons.php:36
|
1149 |
+
msgid "Add Ons for %s"
|
1150 |
+
msgstr "Add Ons for %s"
|
|
|
1151 |
|
1152 |
+
#: templates/add-ons.php:44
|
1153 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
1154 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
1155 |
|
1156 |
+
#: templates/add-ons.php:135
|
1157 |
+
msgid "View details"
|
1158 |
+
msgstr "View details"
|
|
|
1159 |
|
1160 |
+
#: templates/admin-notice.php:13, templates/forms/license-activation.php:73, templates/forms/resend-key.php:77
|
1161 |
+
msgctxt "as close a window"
|
1162 |
+
msgid "Dismiss"
|
1163 |
+
msgstr "Dismiss"
|
1164 |
|
1165 |
+
#: templates/auto-installation.php:44
|
1166 |
+
msgid "%s sec"
|
1167 |
+
msgstr "%s sec"
|
1168 |
|
1169 |
+
#: templates/auto-installation.php:82
|
1170 |
+
msgid "Automatic Installation"
|
1171 |
+
msgstr "Automatic Installation"
|
1172 |
|
1173 |
+
#: templates/auto-installation.php:92
|
1174 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1175 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1176 |
|
1177 |
+
#: templates/auto-installation.php:103
|
1178 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1179 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1180 |
|
1181 |
+
#: templates/auto-installation.php:108
|
1182 |
+
msgid "Cancel Installation"
|
1183 |
+
msgstr "Cancel Installation"
|
1184 |
|
1185 |
+
#: templates/checkout.php:168
|
1186 |
+
msgid "Checkout"
|
1187 |
+
msgstr "Checkout"
|
1188 |
|
1189 |
+
#: templates/checkout.php:168
|
1190 |
+
msgid "PCI compliant"
|
1191 |
+
msgstr "PCI compliant"
|
1192 |
|
1193 |
+
#: templates/connect.php:128
|
1194 |
+
msgid "Allow & Continue"
|
1195 |
+
msgstr "Allow & Continue"
|
1196 |
|
1197 |
+
#: templates/connect.php:131
|
1198 |
+
msgid "Re-send activation email"
|
1199 |
+
msgstr "Re-send activation email"
|
1200 |
|
1201 |
+
#: templates/connect.php:135
|
1202 |
+
msgid "Thanks %s!"
|
1203 |
+
msgstr "Thanks %s!"
|
1204 |
|
1205 |
+
#: templates/connect.php:143, templates/forms/license-activation.php:43
|
1206 |
+
msgid "Agree & Activate License"
|
1207 |
+
msgstr "Agree & Activate License"
|
1208 |
|
1209 |
+
#: templates/connect.php:147, templates/connect.php:170
|
1210 |
+
msgctxt "greeting"
|
1211 |
+
msgid "Hey %s,"
|
1212 |
+
msgstr "Hey %s,"
|
1213 |
|
1214 |
+
#: templates/connect.php:148
|
1215 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
1216 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
1217 |
|
1218 |
+
#: templates/connect.php:154
|
1219 |
+
msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1220 |
+
msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1221 |
|
1222 |
+
#: templates/connect.php:159
|
1223 |
+
msgid "Please help us improve %1$s! If you opt in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1224 |
+
msgstr "Please help us improve %1$s! If you opt in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1225 |
|
1226 |
+
#: templates/connect.php:189, templates/forms/license-activation.php:46
|
1227 |
+
msgid "License key"
|
1228 |
+
msgstr "License key"
|
1229 |
|
1230 |
+
#: templates/connect.php:192, templates/forms/license-activation.php:19
|
1231 |
+
msgid "Can't find your license key?"
|
1232 |
+
msgstr "Can't find your license key?"
|
1233 |
|
1234 |
+
#: templates/connect.php:199, templates/forms/deactivation/retry-skip.php:20
|
1235 |
+
msgctxt "verb"
|
1236 |
+
msgid "Skip"
|
1237 |
+
msgstr "Skip"
|
1238 |
|
1239 |
+
#: templates/connect.php:228
|
1240 |
+
msgid "Your Profile Overview"
|
1241 |
+
msgstr "Your Profile Overview"
|
1242 |
|
1243 |
+
#: templates/connect.php:229
|
1244 |
+
msgid "Name and email address"
|
1245 |
+
msgstr "Name and email address"
|
1246 |
|
1247 |
+
#: templates/connect.php:234
|
1248 |
+
msgid "Your Site Overview"
|
1249 |
+
msgstr "Your Site Overview"
|
1250 |
|
1251 |
+
#: templates/connect.php:235
|
1252 |
+
msgid "Site URL, WP version, PHP info, plugins & themes"
|
1253 |
+
msgstr "Site URL, WP version, PHP info, plugins & themes"
|
1254 |
|
1255 |
+
#: templates/connect.php:240
|
1256 |
+
msgid "Admin Notices"
|
1257 |
+
msgstr "Admin Notices"
|
1258 |
|
1259 |
+
#: templates/connect.php:241, templates/connect.php:263
|
1260 |
+
msgid "Updates, announcements, marketing, no spam"
|
1261 |
+
msgstr "Updates, announcements, marketing, no spam"
|
|
|
1262 |
|
1263 |
+
#: templates/connect.php:246
|
1264 |
+
msgid "Current %s Events"
|
1265 |
+
msgstr "Current %s Events"
|
|
|
1266 |
|
1267 |
+
#: templates/connect.php:247
|
1268 |
+
msgid "Activation, deactivation and uninstall"
|
1269 |
+
msgstr "Activation, deactivation and uninstall"
|
|
|
1270 |
|
1271 |
+
#: templates/connect.php:262
|
1272 |
+
msgid "Newsletter"
|
1273 |
+
msgstr "Newsletter"
|
|
|
1274 |
|
1275 |
+
#: templates/connect.php:279, templates/forms/license-activation.php:38
|
1276 |
+
msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
|
1277 |
+
msgstr "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
|
|
|
1278 |
|
1279 |
+
#: templates/connect.php:284
|
1280 |
+
msgid "What permissions are being granted?"
|
1281 |
+
msgstr "What permissions are being granted?"
|
|
|
1282 |
|
1283 |
+
#: templates/connect.php:305
|
1284 |
+
msgid "Don't have a license key?"
|
1285 |
+
msgstr "Don't have a license key?"
|
1286 |
|
1287 |
+
#: templates/connect.php:306
|
1288 |
+
msgid "Activate Free Version"
|
1289 |
+
msgstr "Activate Free Version"
|
|
|
1290 |
|
1291 |
+
#: templates/connect.php:308
|
1292 |
+
msgid "Have a license key?"
|
1293 |
+
msgstr "Have a license key?"
|
|
|
1294 |
|
1295 |
+
#: templates/connect.php:316
|
1296 |
+
msgid "Privacy Policy"
|
1297 |
+
msgstr "Privacy Policy"
|
1298 |
|
1299 |
+
#: templates/connect.php:318
|
1300 |
+
msgid "Terms of Service"
|
1301 |
+
msgstr "Terms of Service"
|
1302 |
|
1303 |
+
#: templates/connect.php:436
|
1304 |
+
msgctxt "as in the process of sending an email"
|
1305 |
+
msgid "Sending email"
|
1306 |
+
msgstr "Sending email"
|
1307 |
|
1308 |
+
#: templates/connect.php:437
|
1309 |
+
msgctxt "as activating plugin"
|
1310 |
+
msgid "Activating"
|
1311 |
+
msgstr "Activating"
|
1312 |
|
1313 |
+
#: templates/contact.php:74
|
1314 |
+
msgid "Contact"
|
1315 |
+
msgstr "Contact"
|
1316 |
|
1317 |
+
#: templates/debug.php:17
|
1318 |
+
msgctxt "as turned off"
|
1319 |
+
msgid "Off"
|
1320 |
+
msgstr "Off"
|
1321 |
|
1322 |
+
#: templates/debug.php:18
|
1323 |
+
msgctxt "as turned on"
|
1324 |
+
msgid "On"
|
1325 |
+
msgstr "On"
|
1326 |
|
1327 |
+
#: templates/debug.php:20
|
1328 |
+
msgid "SDK"
|
1329 |
+
msgstr "SDK"
|
1330 |
|
1331 |
+
#: templates/debug.php:24
|
1332 |
+
msgctxt "as code debugging"
|
1333 |
+
msgid "Debugging"
|
1334 |
+
msgstr "Debugging"
|
1335 |
|
1336 |
+
#: templates/debug.php:54, templates/debug.php:226, templates/debug.php:314
|
1337 |
+
msgid "Actions"
|
1338 |
+
msgstr "Actions"
|
1339 |
|
1340 |
+
#: templates/debug.php:64
|
1341 |
+
msgid "Are you sure you want to delete all Freemius data?"
|
1342 |
+
msgstr "Are you sure you want to delete all Freemius data?"
|
1343 |
|
1344 |
+
#: templates/debug.php:64
|
1345 |
+
msgid "Delete All Accounts"
|
1346 |
+
msgstr "Delete All Accounts"
|
1347 |
|
1348 |
+
#: templates/debug.php:71
|
1349 |
+
msgid "Clear API Cache"
|
1350 |
+
msgstr "Clear API Cache"
|
1351 |
|
1352 |
+
#: templates/debug.php:78
|
1353 |
+
msgid "Sync Data From Server"
|
1354 |
+
msgstr "Sync Data From Server"
|
1355 |
|
1356 |
+
#: templates/debug.php:82
|
1357 |
+
msgid "Load DB Option"
|
1358 |
+
msgstr "Load DB Option"
|
1359 |
|
1360 |
+
#: templates/debug.php:85
|
1361 |
+
msgid "Set DB Option"
|
1362 |
+
msgstr "Set DB Option"
|
1363 |
|
1364 |
+
#: templates/debug.php:162
|
1365 |
+
msgid "Key"
|
1366 |
+
msgstr "Key"
|
1367 |
|
1368 |
+
#: templates/debug.php:163
|
1369 |
+
msgid "Value"
|
1370 |
+
msgstr "Value"
|
1371 |
|
1372 |
+
#: templates/debug.php:179
|
1373 |
+
msgctxt "as software development kit versions"
|
1374 |
+
msgid "SDK Versions"
|
1375 |
+
msgstr "SDK Versions"
|
1376 |
|
1377 |
+
#: templates/debug.php:184
|
1378 |
+
msgid "SDK Path"
|
1379 |
+
msgstr "SDK Path"
|
1380 |
|
1381 |
+
#: templates/debug.php:185, templates/debug.php:224
|
1382 |
+
msgid "Module Path"
|
1383 |
+
msgstr "Module Path"
|
1384 |
|
1385 |
+
#: templates/debug.php:186
|
1386 |
+
msgid "Is Active"
|
1387 |
+
msgstr "Is Active"
|
|
|
1388 |
|
1389 |
+
#: templates/debug.php:214, templates/debug/plugins-themes-sync.php:35
|
1390 |
+
msgid "Plugins"
|
1391 |
+
msgstr "Plugins"
|
1392 |
|
1393 |
+
#: templates/debug.php:214, templates/debug/plugins-themes-sync.php:56
|
1394 |
+
msgid "Themes"
|
1395 |
+
msgstr "Themes"
|
1396 |
|
1397 |
+
#: templates/debug.php:219, templates/debug.php:309, templates/debug.php:353, templates/debug/scheduled-crons.php:81
|
1398 |
+
msgid "Slug"
|
1399 |
+
msgstr "Slug"
|
1400 |
|
1401 |
+
#: templates/debug.php:221, templates/debug.php:352
|
1402 |
+
msgid "Title"
|
1403 |
+
msgstr "Title"
|
1404 |
|
1405 |
+
#: templates/debug.php:222
|
1406 |
+
msgctxt "as application program interface"
|
1407 |
+
msgid "API"
|
1408 |
+
msgstr "API"
|
1409 |
|
1410 |
+
#: templates/debug.php:223
|
1411 |
+
msgid "Freemius State"
|
1412 |
+
msgstr "Freemius State"
|
1413 |
|
1414 |
+
#: templates/debug.php:255
|
1415 |
+
msgctxt "as connection was successful"
|
1416 |
+
msgid "Connected"
|
1417 |
+
msgstr "Connected"
|
1418 |
|
1419 |
+
#: templates/debug.php:256
|
1420 |
+
msgctxt "as connection blocked"
|
1421 |
+
msgid "Blocked"
|
1422 |
+
msgstr "Blocked"
|
1423 |
|
1424 |
+
#: templates/debug.php:277
|
1425 |
+
msgid "Simulate Trial"
|
1426 |
+
msgstr "Simulate Trial"
|
1427 |
|
1428 |
+
#: templates/debug.php:302
|
1429 |
+
msgid "%s Installs"
|
1430 |
+
msgstr "%s Installs"
|
1431 |
|
1432 |
+
#: templates/debug.php:304
|
1433 |
+
msgctxt "like websites"
|
1434 |
+
msgid "Sites"
|
1435 |
+
msgstr "Sites"
|
1436 |
|
1437 |
+
#: templates/debug.php:347
|
1438 |
+
msgid "Add Ons of module %s"
|
1439 |
+
msgstr "Add Ons of module %s"
|
1440 |
|
1441 |
+
#: templates/debug.php:384
|
1442 |
+
msgid "Users"
|
1443 |
+
msgstr "Users"
|
1444 |
|
1445 |
+
#: templates/debug.php:391
|
1446 |
+
msgid "Verified"
|
1447 |
+
msgstr "Verified"
|
1448 |
|
1449 |
+
#: templates/debug.php:413
|
1450 |
+
msgid "%s Licenses"
|
1451 |
+
msgstr "%s Licenses"
|
1452 |
|
1453 |
+
#: templates/debug.php:418
|
1454 |
+
msgid "Plugin ID"
|
1455 |
+
msgstr "Plugin ID"
|
1456 |
|
1457 |
+
#: templates/debug.php:420
|
1458 |
+
msgid "Plan ID"
|
1459 |
+
msgstr "Plan ID"
|
1460 |
|
1461 |
+
#: templates/debug.php:421
|
1462 |
+
msgid "Quota"
|
1463 |
+
msgstr "Quota"
|
1464 |
|
1465 |
+
#: templates/debug.php:422
|
1466 |
+
msgid "Activated"
|
1467 |
+
msgstr "Activated"
|
|
|
1468 |
|
1469 |
+
#: templates/debug.php:423
|
1470 |
+
msgid "Blocking"
|
1471 |
+
msgstr "Blocking"
|
1472 |
|
1473 |
+
#: templates/debug.php:425
|
1474 |
+
msgctxt "as expiration date"
|
1475 |
+
msgid "Expiration"
|
1476 |
+
msgstr "Expiration"
|
1477 |
|
1478 |
+
#: templates/debug.php:454
|
1479 |
+
msgid "Debug Log"
|
1480 |
+
msgstr "Debug Log"
|
1481 |
|
1482 |
+
#: templates/debug.php:458
|
1483 |
+
msgid "All Types"
|
1484 |
+
msgstr "All Types"
|
|
|
1485 |
|
1486 |
+
#: templates/debug.php:465
|
1487 |
+
msgid "All Requests"
|
1488 |
+
msgstr "All Requests"
|
1489 |
|
1490 |
+
#: templates/debug.php:470, templates/debug.php:499, templates/debug/logger.php:25
|
1491 |
+
msgid "File"
|
1492 |
+
msgstr "File"
|
1493 |
|
1494 |
+
#: templates/debug.php:471, templates/debug.php:497, templates/debug/logger.php:23
|
1495 |
+
msgid "Function"
|
1496 |
+
msgstr "Function"
|
1497 |
|
1498 |
+
#: templates/debug.php:472
|
1499 |
+
msgid "Process ID"
|
1500 |
+
msgstr "Process ID"
|
1501 |
|
1502 |
+
#: templates/debug.php:473
|
1503 |
+
msgid "Logger"
|
1504 |
+
msgstr "Logger"
|
1505 |
|
1506 |
+
#: templates/debug.php:474, templates/debug.php:498, templates/debug/logger.php:24
|
1507 |
+
msgid "Message"
|
1508 |
+
msgstr "Message"
|
1509 |
|
1510 |
+
#: templates/debug.php:476
|
1511 |
+
msgid "Filter"
|
1512 |
+
msgstr "Filter"
|
1513 |
|
1514 |
+
#: templates/debug.php:484
|
1515 |
+
msgid "Download"
|
1516 |
+
msgstr "Download"
|
1517 |
|
1518 |
+
#: templates/debug.php:495, templates/debug/logger.php:22
|
1519 |
+
msgid "Type"
|
1520 |
+
msgstr "Type"
|
1521 |
|
1522 |
+
#: templates/debug.php:500, templates/debug/logger.php:26
|
1523 |
+
msgid "Timestamp"
|
1524 |
+
msgstr "Timestamp"
|
1525 |
|
1526 |
+
#: templates/secure-https-header.php:28
|
1527 |
+
msgid "Secure HTTPS %s page, running from an external domain"
|
1528 |
+
msgstr "Secure HTTPS %s page, running from an external domain"
|
1529 |
|
1530 |
+
#: includes/customizer/class-fs-customizer-support-section.php:55, templates/plugin-info/features.php:43
|
1531 |
+
msgid "Support"
|
1532 |
+
msgstr "Support"
|
1533 |
|
1534 |
+
#: includes/debug/class-fs-debug-bar-panel.php:48, templates/debug/api-calls.php:54, templates/debug/logger.php:62
|
1535 |
+
msgctxt "milliseconds"
|
1536 |
+
msgid "ms"
|
1537 |
+
msgstr "ms"
|
1538 |
|
1539 |
+
#: includes/debug/debug-bar-start.php:41
|
1540 |
+
msgid "Freemius API"
|
1541 |
+
msgstr "Freemius API"
|
1542 |
|
1543 |
+
#: includes/debug/debug-bar-start.php:42
|
1544 |
+
msgid "Requests"
|
1545 |
+
msgstr "Requests"
|
1546 |
|
1547 |
+
#: templates/account/billing.php:28
|
1548 |
+
msgctxt "verb"
|
1549 |
+
msgid "Update"
|
1550 |
+
msgstr "Update"
|
1551 |
|
1552 |
+
#: templates/account/billing.php:39
|
1553 |
+
msgid "Billing"
|
1554 |
+
msgstr "Billing"
|
1555 |
|
1556 |
+
#: templates/account/billing.php:44, templates/account/billing.php:44
|
1557 |
+
msgid "Business name"
|
1558 |
+
msgstr "Business name"
|
1559 |
|
1560 |
+
#: templates/account/billing.php:45, templates/account/billing.php:45
|
1561 |
+
msgid "Tax / VAT ID"
|
1562 |
+
msgstr "Tax / VAT ID"
|
1563 |
|
1564 |
+
#: templates/account/billing.php:48, templates/account/billing.php:48, templates/account/billing.php:49, templates/account/billing.php:49
|
1565 |
+
msgid "Address Line %d"
|
1566 |
+
msgstr "Address Line %d"
|
1567 |
|
1568 |
+
#: templates/account/billing.php:52, templates/account/billing.php:52
|
1569 |
+
msgid "City"
|
1570 |
+
msgstr "City"
|
1571 |
|
1572 |
+
#: templates/account/billing.php:52, templates/account/billing.php:52
|
1573 |
+
msgid "Town"
|
1574 |
+
msgstr "Town"
|
|
|
1575 |
|
1576 |
+
#: templates/account/billing.php:53, templates/account/billing.php:53
|
1577 |
+
msgid "ZIP / Postal Code"
|
1578 |
+
msgstr "ZIP / Postal Code"
|
1579 |
|
1580 |
+
#: templates/account/billing.php:308
|
1581 |
+
msgid "Country"
|
1582 |
+
msgstr "Country"
|
1583 |
|
1584 |
+
#: templates/account/billing.php:310
|
1585 |
+
msgid "Select Country"
|
1586 |
+
msgstr "Select Country"
|
1587 |
|
1588 |
+
#: templates/account/billing.php:317, templates/account/billing.php:318
|
1589 |
+
msgid "State"
|
1590 |
+
msgstr "State"
|
1591 |
|
1592 |
+
#: templates/account/billing.php:317, templates/account/billing.php:318
|
1593 |
+
msgid "Province"
|
1594 |
+
msgstr "Province"
|
1595 |
|
1596 |
+
#: templates/account/payments.php:29
|
1597 |
+
msgid "Payments"
|
1598 |
+
msgstr "Payments"
|
1599 |
|
1600 |
+
#: templates/account/payments.php:36
|
1601 |
+
msgid "Date"
|
1602 |
+
msgstr "Date"
|
1603 |
|
1604 |
+
#: templates/account/payments.php:37
|
1605 |
+
msgid "Amount"
|
1606 |
+
msgstr "Amount"
|
1607 |
|
1608 |
+
#: templates/account/payments.php:38, templates/account/payments.php:50
|
1609 |
+
msgid "Invoice"
|
1610 |
+
msgstr "Invoice"
|
1611 |
|
1612 |
+
#: templates/debug/api-calls.php:56
|
1613 |
+
msgid "API"
|
1614 |
+
msgstr "API"
|
1615 |
|
1616 |
+
#: templates/debug/api-calls.php:68
|
1617 |
+
msgid "Method"
|
1618 |
+
msgstr "Method"
|
1619 |
|
1620 |
+
#: templates/debug/api-calls.php:69
|
1621 |
+
msgid "Code"
|
1622 |
+
msgstr "Code"
|
1623 |
|
1624 |
+
#: templates/debug/api-calls.php:70
|
1625 |
+
msgid "Length"
|
1626 |
+
msgstr "Length"
|
1627 |
|
1628 |
+
#: templates/debug/api-calls.php:71
|
1629 |
+
msgctxt "as file/folder path"
|
1630 |
+
msgid "Path"
|
1631 |
+
msgstr "Path"
|
1632 |
|
1633 |
+
#: templates/debug/api-calls.php:73
|
1634 |
+
msgid "Body"
|
1635 |
+
msgstr "Body"
|
1636 |
|
1637 |
+
#: templates/debug/api-calls.php:75
|
1638 |
+
msgid "Result"
|
1639 |
+
msgstr "Result"
|
1640 |
|
1641 |
+
#: templates/debug/api-calls.php:76
|
1642 |
+
msgid "Start"
|
1643 |
+
msgstr "Start"
|
|
|
1644 |
|
1645 |
+
#: templates/debug/api-calls.php:77
|
1646 |
+
msgid "End"
|
1647 |
+
msgstr "End"
|
1648 |
|
1649 |
+
#: templates/debug/logger.php:15
|
1650 |
+
msgid "Log"
|
1651 |
+
msgstr "Log"
|
1652 |
|
1653 |
+
#. translators: %s: time period (e.g. In "2 hours")
|
1654 |
+
#: templates/debug/plugins-themes-sync.php:18, templates/debug/scheduled-crons.php:92
|
1655 |
+
msgid "In %s"
|
1656 |
+
msgstr "In %s"
|
1657 |
|
1658 |
+
#. translators: %s: time period (e.g. "2 hours" ago)
|
1659 |
+
#: templates/debug/plugins-themes-sync.php:20, templates/debug/scheduled-crons.php:94
|
1660 |
+
msgid "%s ago"
|
1661 |
+
msgstr "%s ago"
|
1662 |
|
1663 |
+
#: templates/debug/plugins-themes-sync.php:21, templates/debug/scheduled-crons.php:75
|
1664 |
+
msgctxt "seconds"
|
1665 |
+
msgid "sec"
|
1666 |
+
msgstr "sec"
|
1667 |
|
1668 |
+
#: templates/debug/plugins-themes-sync.php:23
|
1669 |
+
msgid "Plugins & Themes Sync"
|
1670 |
+
msgstr "Plugins & Themes Sync"
|
|
|
1671 |
|
1672 |
+
#: templates/debug/plugins-themes-sync.php:28
|
1673 |
+
msgid "Total"
|
1674 |
+
msgstr "Total"
|
|
|
1675 |
|
1676 |
+
#: templates/debug/plugins-themes-sync.php:29, templates/debug/scheduled-crons.php:85
|
1677 |
+
msgid "Last"
|
1678 |
+
msgstr "Last"
|
|
|
1679 |
|
1680 |
+
#: templates/debug/scheduled-crons.php:77
|
1681 |
+
msgid "Scheduled Crons"
|
1682 |
+
msgstr "Scheduled Crons"
|
1683 |
|
1684 |
+
#: templates/debug/scheduled-crons.php:82
|
1685 |
+
msgid "Module"
|
1686 |
+
msgstr "Module"
|
1687 |
|
1688 |
+
#: templates/debug/scheduled-crons.php:83
|
1689 |
+
msgid "Module Type"
|
1690 |
+
msgstr "Module Type"
|
1691 |
|
1692 |
+
#: templates/debug/scheduled-crons.php:84
|
1693 |
+
msgid "Cron Type"
|
1694 |
+
msgstr "Cron Type"
|
1695 |
|
1696 |
+
#: templates/debug/scheduled-crons.php:86
|
1697 |
+
msgid "Next"
|
1698 |
+
msgstr "Next"
|
|
|
1699 |
|
1700 |
+
#: templates/forms/affiliation.php:81
|
1701 |
+
msgid "Non-expiring"
|
1702 |
+
msgstr "Non-expiring"
|
|
|
1703 |
|
1704 |
+
#: templates/forms/affiliation.php:84
|
1705 |
+
msgid "Apply to become an affiliate"
|
1706 |
+
msgstr "Apply to become an affiliate"
|
|
|
1707 |
|
1708 |
+
#: templates/forms/affiliation.php:103
|
1709 |
+
msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
1710 |
+
msgstr "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
|
|
1711 |
|
1712 |
+
#: templates/forms/affiliation.php:114
|
1713 |
+
msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
1714 |
+
msgstr "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
|
|
1715 |
|
1716 |
+
#: templates/forms/affiliation.php:117
|
1717 |
+
msgid "Your affiliation account was temporarily suspended."
|
1718 |
+
msgstr "Your affiliation account was temporarily suspended."
|
|
|
1719 |
|
1720 |
+
#: templates/forms/affiliation.php:120
|
1721 |
+
msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
1722 |
+
msgstr "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
1723 |
|
1724 |
+
#: templates/forms/affiliation.php:123
|
1725 |
+
msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
1726 |
+
msgstr "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
|
|
1727 |
|
1728 |
+
#: templates/forms/affiliation.php:136
|
1729 |
+
msgid "Like the %s? Become our ambassador and earn cash ;-)"
|
1730 |
+
msgstr "Like the %s? Become our ambassador and earn cash ;-)"
|
|
|
1731 |
|
1732 |
+
#: templates/forms/affiliation.php:137
|
1733 |
+
msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
1734 |
+
msgstr "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
|
|
1735 |
|
1736 |
+
#: templates/forms/affiliation.php:140
|
1737 |
+
msgid "Program Summary"
|
1738 |
+
msgstr "Program Summary"
|
1739 |
|
1740 |
+
#: templates/forms/affiliation.php:142
|
1741 |
+
msgid "%s commission when a customer purchases a new license."
|
1742 |
+
msgstr "%s commission when a customer purchases a new license."
|
|
|
1743 |
|
1744 |
+
#: templates/forms/affiliation.php:144
|
1745 |
+
msgid "Get commission for automated subscription renewals."
|
1746 |
+
msgstr "Get commission for automated subscription renewals."
|
1747 |
|
1748 |
+
#: templates/forms/affiliation.php:147
|
1749 |
+
msgid "%s tracking cookie after the first visit to maximize earnings potential."
|
1750 |
+
msgstr "%s tracking cookie after the first visit to maximize earnings potential."
|
1751 |
|
1752 |
+
#: templates/forms/affiliation.php:150
|
1753 |
+
msgid "Unlimited commissions."
|
1754 |
+
msgstr "Unlimited commissions."
|
1755 |
|
1756 |
+
#: templates/forms/affiliation.php:152
|
1757 |
+
msgid "%s minimum payout amount."
|
1758 |
+
msgstr "%s minimum payout amount."
|
1759 |
|
1760 |
+
#: templates/forms/affiliation.php:153
|
1761 |
+
msgid "Payouts are in USD and processed monthly via PayPal."
|
1762 |
+
msgstr "Payouts are in USD and processed monthly via PayPal."
|
1763 |
|
1764 |
+
#: templates/forms/affiliation.php:154
|
1765 |
+
msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
1766 |
+
msgstr "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
1767 |
|
1768 |
+
#: templates/forms/affiliation.php:157
|
1769 |
+
msgid "Affiliate"
|
1770 |
+
msgstr "Affiliate"
|
1771 |
|
1772 |
+
#: templates/forms/affiliation.php:160, templates/forms/resend-key.php:23
|
1773 |
+
msgid "Email address"
|
1774 |
+
msgstr "Email address"
|
1775 |
|
1776 |
+
#: templates/forms/affiliation.php:164
|
1777 |
+
msgid "Full name"
|
1778 |
+
msgstr "Full name"
|
1779 |
|
1780 |
+
#: templates/forms/affiliation.php:168
|
1781 |
+
msgid "PayPal account email address"
|
1782 |
+
msgstr "PayPal account email address"
|
1783 |
|
1784 |
+
#: templates/forms/affiliation.php:172
|
1785 |
+
msgid "Where are you going to promote the %s?"
|
1786 |
+
msgstr "Where are you going to promote the %s?"
|
1787 |
|
1788 |
+
#: templates/forms/affiliation.php:174
|
1789 |
+
msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
|
1790 |
+
msgstr "Enter the domain of your website or other websites from where you plan to promote the %s."
|
1791 |
|
1792 |
+
#: templates/forms/affiliation.php:176
|
1793 |
+
msgid "Add another domain"
|
1794 |
+
msgstr "Add another domain"
|
1795 |
|
1796 |
+
#: templates/forms/affiliation.php:180
|
1797 |
+
msgid "Extra Domains"
|
1798 |
+
msgstr "Extra Domains"
|
1799 |
|
1800 |
+
#: templates/forms/affiliation.php:181
|
1801 |
+
msgid "Extra domains where you will be marketing the product from."
|
1802 |
+
msgstr "Extra domains where you will be marketing the product from."
|
1803 |
|
1804 |
+
#: templates/forms/affiliation.php:191
|
1805 |
+
msgid "Promotion methods"
|
1806 |
+
msgstr "Promotion methods"
|
1807 |
|
1808 |
+
#: templates/forms/affiliation.php:194
|
1809 |
+
msgid "Social media (Facebook, Twitter, etc.)"
|
1810 |
+
msgstr "Social media (Facebook, Twitter, etc.)"
|
1811 |
|
1812 |
+
#: templates/forms/affiliation.php:198
|
1813 |
+
msgid "Mobile apps"
|
1814 |
+
msgstr "Mobile apps"
|
1815 |
|
1816 |
+
#: templates/forms/affiliation.php:202
|
1817 |
+
msgid "Website, email, and social media statistics (optional)"
|
1818 |
+
msgstr "Website, email, and social media statistics (optional)"
|
1819 |
|
1820 |
+
#: templates/forms/affiliation.php:205
|
1821 |
+
msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
1822 |
+
msgstr "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
1823 |
|
1824 |
+
#: templates/forms/affiliation.php:209
|
1825 |
+
msgid "How will you promote us?"
|
1826 |
+
msgstr "How will you promote us?"
|
1827 |
|
1828 |
+
#: templates/forms/affiliation.php:212
|
1829 |
+
msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
1830 |
+
msgstr "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
1831 |
|
1832 |
+
#: templates/forms/affiliation.php:218, templates/forms/resend-key.php:22
|
1833 |
+
msgid "Cancel"
|
1834 |
+
msgstr "Cancel"
|
1835 |
|
1836 |
+
#: templates/forms/affiliation.php:220
|
1837 |
+
msgid "Become an affiliate"
|
1838 |
+
msgstr "Become an affiliate"
|
1839 |
|
1840 |
+
#: templates/forms/affiliation.php:275
|
1841 |
+
msgid "Email address is required."
|
1842 |
+
msgstr "Email address is required."
|
1843 |
|
1844 |
+
#: templates/forms/affiliation.php:281
|
1845 |
+
msgid "PayPal email address is required."
|
1846 |
+
msgstr "PayPal email address is required."
|
1847 |
|
1848 |
+
#: templates/forms/affiliation.php:291
|
1849 |
+
msgid "Domain is required."
|
1850 |
+
msgstr "Domain is required."
|
1851 |
|
1852 |
+
#: templates/forms/affiliation.php:294, templates/forms/affiliation.php:308
|
1853 |
+
msgid "Invalid domain"
|
1854 |
+
msgstr "Invalid domain"
|
1855 |
|
1856 |
+
#: templates/forms/affiliation.php:364
|
1857 |
+
msgid "Processing"
|
1858 |
+
msgstr "Processing"
|
|
|
1859 |
|
1860 |
+
#: templates/forms/license-activation.php:20
|
1861 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
1862 |
+
msgstr "Please enter the license key that you received in the email right after the purchase:"
|
|
|
1863 |
|
1864 |
+
#: templates/forms/license-activation.php:25
|
1865 |
+
msgid "Update License"
|
1866 |
+
msgstr "Update License"
|
|
|
1867 |
|
1868 |
+
#: templates/forms/optout.php:30
|
1869 |
+
msgctxt "verb"
|
1870 |
+
msgid "Opt Out"
|
1871 |
+
msgstr "Opt Out"
|
1872 |
|
1873 |
+
#: templates/forms/optout.php:31
|
1874 |
+
msgctxt "verb"
|
1875 |
+
msgid "Opt In"
|
1876 |
+
msgstr "Opt In"
|
1877 |
|
1878 |
+
#: templates/forms/optout.php:32
|
1879 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
1880 |
+
msgstr "We appreciate your help in making the %s better by letting us track some usage data."
|
|
|
1881 |
|
1882 |
+
#: templates/forms/optout.php:33
|
1883 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
1884 |
+
msgstr "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
1885 |
|
1886 |
+
#: templates/forms/optout.php:35
|
1887 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
1888 |
+
msgstr "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
1889 |
|
1890 |
+
#: templates/forms/resend-key.php:21
|
1891 |
+
msgid "Send License Key"
|
1892 |
+
msgstr "Send License Key"
|
1893 |
|
1894 |
+
#: templates/forms/resend-key.php:57
|
1895 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
1896 |
+
msgstr "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
1897 |
|
1898 |
+
#: templates/forms/trial-start.php:22
|
1899 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1900 |
+
msgstr "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1901 |
|
1902 |
+
#: templates/forms/trial-start.php:28
|
1903 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
1904 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
1905 |
|
1906 |
+
#: templates/js/style-premium-theme.php:37
|
1907 |
+
msgid "Premium"
|
1908 |
+
msgstr "Premium"
|
1909 |
|
1910 |
+
#: templates/plugin-info/description.php:72, templates/plugin-info/screenshots.php:31
|
1911 |
+
msgid "Click to view full-size screenshot %d"
|
1912 |
+
msgstr "Click to view full-size screenshot %d"
|
1913 |
|
1914 |
+
#: templates/plugin-info/features.php:56
|
1915 |
+
msgid "Unlimited Updates"
|
1916 |
+
msgstr "Unlimited Updates"
|
1917 |
|
1918 |
+
#: templates/forms/deactivation/contact.php:19
|
1919 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1920 |
+
msgstr "Sorry for the inconvenience and we are here to help if you give us a chance."
|
|
|
1921 |
|
1922 |
+
#: templates/forms/deactivation/contact.php:22
|
1923 |
+
msgid "Contact Support"
|
1924 |
+
msgstr "Contact Support"
|
1925 |
|
1926 |
+
#: templates/forms/deactivation/form.php:56
|
1927 |
+
msgid "Anonymous feedback"
|
1928 |
+
msgstr "Anonymous feedback"
|
1929 |
|
1930 |
+
#: templates/forms/deactivation/form.php:63
|
1931 |
+
msgid "Deactivate"
|
1932 |
+
msgstr "Deactivate"
|
1933 |
|
1934 |
+
#: templates/forms/deactivation/form.php:65
|
1935 |
+
msgid "Activate %s"
|
1936 |
+
msgstr "Activate %s"
|
1937 |
|
1938 |
+
#: templates/forms/deactivation/form.php:76
|
1939 |
+
msgid "Quick feedback"
|
1940 |
+
msgstr "Quick feedback"
|
1941 |
|
1942 |
+
#: templates/forms/deactivation/form.php:80
|
1943 |
+
msgid "If you have a moment, please let us know why you are %s"
|
1944 |
+
msgstr "If you have a moment, please let us know why you are %s"
|
1945 |
|
1946 |
+
#: templates/forms/deactivation/form.php:80
|
1947 |
+
msgid "deactivating"
|
1948 |
+
msgstr "deactivating"
|
1949 |
|
1950 |
+
#: templates/forms/deactivation/form.php:80
|
1951 |
+
msgid "switching"
|
1952 |
+
msgstr "switching"
|
1953 |
|
1954 |
+
#: templates/forms/deactivation/form.php:248
|
1955 |
+
msgid "Submit & %s"
|
1956 |
+
msgstr "Submit & %s"
|
1957 |
|
1958 |
+
#: templates/forms/deactivation/form.php:269
|
1959 |
+
msgid "Kindly tell us the reason so we can improve."
|
1960 |
+
msgstr "Kindly tell us the reason so we can improve."
|
1961 |
|
1962 |
+
#: templates/forms/deactivation/form.php:390
|
1963 |
+
msgid "Yes - %s"
|
1964 |
+
msgstr "Yes - %s"
|
1965 |
|
1966 |
+
#: templates/forms/deactivation/form.php:397
|
1967 |
+
msgid "Skip & %s"
|
1968 |
+
msgstr "Skip & %s"
|
1969 |
|
1970 |
+
#: templates/forms/deactivation/retry-skip.php:21
|
1971 |
+
msgid "Click here to use the plugin anonymously"
|
1972 |
+
msgstr "Click here to use the plugin anonymously"
|
1973 |
|
1974 |
+
#: templates/forms/deactivation/retry-skip.php:23
|
1975 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
1976 |
+
msgstr "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.mo
ADDED
Binary file
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.po
ADDED
@@ -0,0 +1,2035 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 freemius
|
2 |
+
# This file is distributed under the same license as the freemius package.
|
3 |
+
# Translators:
|
4 |
+
# Carlos Longarela <carlos@longarela.eu>, 2017
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: WordPress SDK\n"
|
8 |
+
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
9 |
+
"POT-Creation-Date: \n"
|
10 |
+
"PO-Revision-Date: 2017-12-04 15:57+0000\n"
|
11 |
+
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
12 |
+
"Language: es_ES\n"
|
13 |
+
"Language-Team: Spanish (Spain) (http://www.transifex.com/freemius/wordpress-sdk/language/es_ES/)\n"
|
14 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
+
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
+
"MIME-Version: 1.0\n"
|
18 |
+
"X-Poedit-Basepath: ..\n"
|
19 |
+
"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
22 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
23 |
+
|
24 |
+
#: includes/class-freemius.php:959
|
25 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
26 |
+
msgstr "Freemius SDK no pudo encontrar el archivo principal del plugin. Por favor contacta a sdk@freemius.com con el error actual."
|
27 |
+
|
28 |
+
#: includes/class-freemius.php:961
|
29 |
+
msgid "Error"
|
30 |
+
msgstr "Error"
|
31 |
+
|
32 |
+
#: includes/class-freemius.php:1277
|
33 |
+
msgid "I found a better %s"
|
34 |
+
msgstr "He encontrado un mejor %s"
|
35 |
+
|
36 |
+
#: includes/class-freemius.php:1279
|
37 |
+
msgid "What's the %s's name?"
|
38 |
+
msgstr "¿Cuál es el nombre de %s?"
|
39 |
+
|
40 |
+
#: includes/class-freemius.php:1285
|
41 |
+
msgid "It's a temporary %s. I'm just debugging an issue."
|
42 |
+
msgstr "Es temporal %s. Sólo estoy depurando un problema."
|
43 |
+
|
44 |
+
#: includes/class-freemius.php:1287
|
45 |
+
msgid "Deactivation"
|
46 |
+
msgstr "Desactivación"
|
47 |
+
|
48 |
+
#: includes/class-freemius.php:1288
|
49 |
+
msgid "Theme Switch"
|
50 |
+
msgstr "Cambiar Tema"
|
51 |
+
|
52 |
+
#: includes/class-freemius.php1297, templates/forms/resend-key.php:24
|
53 |
+
msgid "Other"
|
54 |
+
msgstr "Otra"
|
55 |
+
|
56 |
+
#: includes/class-freemius.php:1305
|
57 |
+
msgid "I no longer need the %s"
|
58 |
+
msgstr "Ya no necesito el %s"
|
59 |
+
|
60 |
+
#: includes/class-freemius.php:1312
|
61 |
+
msgid "I only needed the %s for a short period"
|
62 |
+
msgstr "Sólo necesitaba la %s por un corto período"
|
63 |
+
|
64 |
+
#: includes/class-freemius.php:1318
|
65 |
+
msgid "The %s broke my site"
|
66 |
+
msgstr "%s ha roto mi sitio"
|
67 |
+
|
68 |
+
#: includes/class-freemius.php:1325
|
69 |
+
msgid "The %s suddenly stopped working"
|
70 |
+
msgstr "%s de repente ha dejado de funcionar"
|
71 |
+
|
72 |
+
#: includes/class-freemius.php:1335
|
73 |
+
msgid "I can't pay for it anymore"
|
74 |
+
msgstr "No puedo pagarlo durante más tiempo"
|
75 |
+
|
76 |
+
#: includes/class-freemius.php:1337
|
77 |
+
msgid "What price would you feel comfortable paying?"
|
78 |
+
msgstr "¿Qué precio te sentirías cómodo pagando?"
|
79 |
+
|
80 |
+
#: includes/class-freemius.php:1343
|
81 |
+
msgid "I don't like to share my information with you"
|
82 |
+
msgstr "No me gusta compartir mi información contigo"
|
83 |
+
|
84 |
+
#: includes/class-freemius.php:1364
|
85 |
+
msgid "The %s didn't work"
|
86 |
+
msgstr "%s no funcionaba"
|
87 |
+
|
88 |
+
#: includes/class-freemius.php:1374
|
89 |
+
msgid "I couldn't understand how to make it work"
|
90 |
+
msgstr "No entiendo cómo hacerlo funcionar"
|
91 |
+
|
92 |
+
#: includes/class-freemius.php:1382
|
93 |
+
msgid "The %s is great, but I need specific feature that you don't support"
|
94 |
+
msgstr "%s es genial, pero necesito una característica que no soportáis"
|
95 |
+
|
96 |
+
#: includes/class-freemius.php:1384
|
97 |
+
msgid "What feature?"
|
98 |
+
msgstr "¿Qué característica?"
|
99 |
+
|
100 |
+
#: includes/class-freemius.php:1388
|
101 |
+
msgid "The %s is not working"
|
102 |
+
msgstr "%s no funciona"
|
103 |
+
|
104 |
+
#: includes/class-freemius.php:1390
|
105 |
+
msgid "Kindly share what didn't work so we can fix it for future users..."
|
106 |
+
msgstr "Por favor, comparte lo que no funcionó para que podamos arreglarlo para los futuros usuarios..."
|
107 |
+
|
108 |
+
#: includes/class-freemius.php:1394
|
109 |
+
msgid "It's not what I was looking for"
|
110 |
+
msgstr "No es lo que estaba buscando"
|
111 |
+
|
112 |
+
#: includes/class-freemius.php:1396
|
113 |
+
msgid "What you've been looking for?"
|
114 |
+
msgstr "¿Que has estado buscando?"
|
115 |
+
|
116 |
+
#: includes/class-freemius.php:1400
|
117 |
+
msgid "The %s didn't work as expected"
|
118 |
+
msgstr "%s no funciona como esperaba"
|
119 |
+
|
120 |
+
#: includes/class-freemius.php:1402
|
121 |
+
msgid "What did you expect?"
|
122 |
+
msgstr "¿Qué esperas?"
|
123 |
+
|
124 |
+
#: includes/class-freemius.php1938, templates/debug.php:20
|
125 |
+
msgid "Freemius Debug"
|
126 |
+
msgstr "Debug Freemius"
|
127 |
+
|
128 |
+
#: includes/class-freemius.php:2508
|
129 |
+
msgid "I don't know what is cURL or how to install it, help me!"
|
130 |
+
msgstr "No sé qué es cURL o cómo instalarlo, ¡ayúdame!"
|
131 |
+
|
132 |
+
#: includes/class-freemius.php:2510
|
133 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
134 |
+
msgstr "Nos aseguraremos de ponernos en contacto con tu empresa de alojamiento web y resolver el problema. Recibirás un correo electrónico de seguimiento a %s tan pronto tengamos una actualización."
|
135 |
+
|
136 |
+
#: includes/class-freemius.php:2517
|
137 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
138 |
+
msgstr "Genial, por favor instala cURL y habilítalo en el archivo php.ini. Además, busca la directiva 'disable_functions' en el archivo php.ini y quita cualquier método que comienza con 'curl_'. Para asegurarte de que se activó con éxito, utiliza 'phpinfo()'. Una vez activado, desactiva el %s y reactívalo de nuevo."
|
139 |
+
|
140 |
+
#: includes/class-freemius.php:2619
|
141 |
+
msgid "Yes - do your thing"
|
142 |
+
msgstr "Vamos, adelante"
|
143 |
+
|
144 |
+
#: includes/class-freemius.php:2624
|
145 |
+
msgid "No - just deactivate"
|
146 |
+
msgstr "No - sólo desactivar"
|
147 |
+
|
148 |
+
#: includes/class-freemius.php2669, includes/class-freemius.php3134,
|
149 |
+
#: includes/class-freemius.php3988, includes/class-freemius.php7270,
|
150 |
+
#: includes/class-freemius.php9137, includes/class-freemius.php9193,
|
151 |
+
#: includes/class-freemius.php9254, includes/class-freemius.php11154,
|
152 |
+
#: includes/class-freemius.php11165, includes/class-freemius.php11614,
|
153 |
+
#: includes/class-freemius.php11632, includes/class-freemius.php11730,
|
154 |
+
#: includes/class-freemius.php12405, templates/add-ons.php:43
|
155 |
+
msgctxt "exclamation"
|
156 |
+
msgid "Oops"
|
157 |
+
msgstr "Oops"
|
158 |
+
|
159 |
+
#: includes/class-freemius.php:2736
|
160 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
161 |
+
msgstr "¡Gracias por darnos la oportunidad de arreglarlo! Acabamos de enviar un mensaje a nuestro personal técnico. Nos pondremos en contacto contigo tan pronto como tengamos una actualización de %s. Apreciamos tu paciencia."
|
162 |
+
|
163 |
+
#: includes/class-freemius.php:3131
|
164 |
+
msgctxt "addonX cannot run without pluginY"
|
165 |
+
msgid "%s cannot run without %s."
|
166 |
+
msgstr "%s no se puede ejecutar sin %s."
|
167 |
+
|
168 |
+
#: includes/class-freemius.php:3132
|
169 |
+
msgctxt "addonX cannot run..."
|
170 |
+
msgid "%s cannot run without the plugin."
|
171 |
+
msgstr "%s no se puede ejecutar sin el plugin."
|
172 |
+
|
173 |
+
#: includes/class-freemius.php3253, includes/class-freemius.php3278,
|
174 |
+
#: includes/class-freemius.php:11703
|
175 |
+
msgid "Unexpected API error. Please contact the %s's author with the following error."
|
176 |
+
msgstr "Error inesperado del API. Pónte en contacto con el autor de %s indicándole el siguiente error."
|
177 |
+
|
178 |
+
#: includes/class-freemius.php:3686
|
179 |
+
msgid "Premium %s version was successfully activated."
|
180 |
+
msgstr "La versión Premium %s ha sido activada con éxito."
|
181 |
+
|
182 |
+
#: includes/class-freemius.php3688, includes/class-freemius.php:4913
|
183 |
+
msgctxt ""
|
184 |
+
msgid "W00t"
|
185 |
+
msgstr "W00t"
|
186 |
+
|
187 |
+
#: includes/class-freemius.php:3703
|
188 |
+
msgid "You have a %s license."
|
189 |
+
msgstr "Tienes una licencia %s."
|
190 |
+
|
191 |
+
#: includes/class-freemius.php3707, includes/class-freemius.php8841,
|
192 |
+
#: includes/class-freemius.php8850, includes/class-freemius.php11105,
|
193 |
+
#: includes/class-freemius.php11318, includes/class-freemius.php11380,
|
194 |
+
#: includes/class-freemius.php:11492
|
195 |
+
msgctxt "interjection expressing joy or exuberance"
|
196 |
+
msgid "Yee-haw"
|
197 |
+
msgstr "Vaya"
|
198 |
+
|
199 |
+
#: includes/class-freemius.php:3971
|
200 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
201 |
+
msgstr "la prueba gratuita de %s fue cancelada con éxito. Puesto que el complemento es sólo premium se desactivó automáticamente. Si quieres utilizarlo en el futuro, deberás comprar una licencia."
|
202 |
+
|
203 |
+
#: includes/class-freemius.php:3975
|
204 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
205 |
+
msgstr "%s es un complemento único de premium. Tienes que comprar una licencia primero antes de activar el plugin."
|
206 |
+
|
207 |
+
#: includes/class-freemius.php3984, templates/account.php692,
|
208 |
+
#: templates/add-ons.php:99
|
209 |
+
msgid "More information about %s"
|
210 |
+
msgstr "Más información sobre %s"
|
211 |
+
|
212 |
+
#: includes/class-freemius.php:3985
|
213 |
+
msgid "Purchase License"
|
214 |
+
msgstr "Comprar Licencia"
|
215 |
+
|
216 |
+
#: includes/class-freemius.php4422, templates/connect.php:136
|
217 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
218 |
+
msgstr "Recibirás un correo de activación para %s en tu buzón en %s. Por favor, asegúrate de hacer clic en el botón de activación en ese correo electrónico para %s."
|
219 |
+
|
220 |
+
#: includes/class-freemius.php:4426
|
221 |
+
msgid "start the trial"
|
222 |
+
msgstr "comenzar el período de prueba"
|
223 |
+
|
224 |
+
#: includes/class-freemius.php4427, templates/connect.php:140
|
225 |
+
msgid "complete the install"
|
226 |
+
msgstr "completar la instalación"
|
227 |
+
|
228 |
+
#: includes/class-freemius.php:4506
|
229 |
+
msgid "You are just one step away - %s"
|
230 |
+
msgstr "Estás a sólo un paso - %s"
|
231 |
+
|
232 |
+
#: includes/class-freemius.php:4509
|
233 |
+
msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
|
234 |
+
msgid "Complete \"%s\" Activation Now"
|
235 |
+
msgstr "Completar la Activación de \"%s\" Ahora"
|
236 |
+
|
237 |
+
#: includes/class-freemius.php:4523
|
238 |
+
msgid "We made a few tweaks to the %s, %s"
|
239 |
+
msgstr "Hemos realizado algunas optimizaciones al %s, %s"
|
240 |
+
|
241 |
+
#: includes/class-freemius.php:4527
|
242 |
+
msgid "Opt in to make \"%s\" Better!"
|
243 |
+
msgstr "Opt in to make \"%s\" Better!"
|
244 |
+
|
245 |
+
#: includes/class-freemius.php:4912
|
246 |
+
msgid "The upgrade of %s was successfully completed."
|
247 |
+
msgstr "La actualización de %s se completó con éxito."
|
248 |
+
|
249 |
+
#: includes/class-freemius.php5997, includes/class-fs-plugin-updater.php358,
|
250 |
+
#: includes/class-fs-plugin-updater.php510,
|
251 |
+
#: includes/class-fs-plugin-updater.php516, templates/auto-installation.php:31
|
252 |
+
msgid "Add-On"
|
253 |
+
msgstr "Complemento"
|
254 |
+
|
255 |
+
#: includes/class-freemius.php5999, templates/debug.php303,
|
256 |
+
#: templates/debug.php:413
|
257 |
+
msgid "Plugin"
|
258 |
+
msgstr "Plugin"
|
259 |
+
|
260 |
+
#: includes/class-freemius.php6000, templates/debug.php303,
|
261 |
+
#: templates/debug.php413, templates/forms/deactivation/form.php:64
|
262 |
+
msgid "Theme"
|
263 |
+
msgstr "Tema"
|
264 |
+
|
265 |
+
#: includes/class-freemius.php:7257
|
266 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
267 |
+
msgstr "No podemos encontrar tu dirección de correo electrónico en el sistema, ¿estás seguro de que es la dirección de correo electrónico correcta?"
|
268 |
+
|
269 |
+
#: includes/class-freemius.php:7259
|
270 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
271 |
+
msgstr "No vemos ninguna licencia activa asociada a esa dirección de correo electrónico, ¿estás seguro de que es la dirección de correo electrónico correcta?"
|
272 |
+
|
273 |
+
#: includes/class-freemius.php:7468
|
274 |
+
msgid "Account is pending activation."
|
275 |
+
msgstr "Account is pending activation."
|
276 |
+
|
277 |
+
#: includes/class-freemius.php:8825
|
278 |
+
msgctxt "pluginX activation was successfully..."
|
279 |
+
msgid "%s activation was successfully completed."
|
280 |
+
msgstr "%s activación se completó con éxito."
|
281 |
+
|
282 |
+
#: includes/class-freemius.php:8837
|
283 |
+
msgid "Your account was successfully activated with the %s plan."
|
284 |
+
msgstr "Tu cuenta se ha activado correctamente con el plan %s."
|
285 |
+
|
286 |
+
#: includes/class-freemius.php8846, includes/class-freemius.php:11376
|
287 |
+
msgid "Your trial has been successfully started."
|
288 |
+
msgstr "Tu versión de prueba se ha iniciado con éxito."
|
289 |
+
|
290 |
+
#: includes/class-freemius.php9135, includes/class-freemius.php9191,
|
291 |
+
#: includes/class-freemius.php:9252
|
292 |
+
msgid "Couldn't activate %s."
|
293 |
+
msgstr "No se puede activar %s."
|
294 |
+
|
295 |
+
#: includes/class-freemius.php9136, includes/class-freemius.php9192,
|
296 |
+
#: includes/class-freemius.php:9253
|
297 |
+
msgid "Please contact us with the following message:"
|
298 |
+
msgstr "Por favor contáctanos con el siguiente mensaje:"
|
299 |
+
|
300 |
+
#: includes/class-freemius.php9511, includes/class-freemius.php:13334
|
301 |
+
msgid "Upgrade"
|
302 |
+
msgstr "Actualizar"
|
303 |
+
|
304 |
+
#: includes/class-freemius.php:9517
|
305 |
+
msgid "Start Trial"
|
306 |
+
msgstr "Comenzar el Período de Prueba"
|
307 |
+
|
308 |
+
#: includes/class-freemius.php:9519
|
309 |
+
msgid "Pricing"
|
310 |
+
msgstr "Precio"
|
311 |
+
|
312 |
+
#: includes/class-freemius.php9559, includes/class-freemius.php:9561
|
313 |
+
msgid "Affiliation"
|
314 |
+
msgstr "Affiliation"
|
315 |
+
|
316 |
+
#: includes/class-freemius.php9581, includes/class-freemius.php9583,
|
317 |
+
#: templates/account.php79, templates/debug.php:281
|
318 |
+
msgid "Account"
|
319 |
+
msgstr "Cuenta"
|
320 |
+
|
321 |
+
#: includes/class-freemius.php9594, includes/class-freemius.php9596,
|
322 |
+
#: includes/customizer/class-fs-customizer-support-section.php:60
|
323 |
+
msgid "Contact Us"
|
324 |
+
msgstr "Contáctanos"
|
325 |
+
|
326 |
+
#: includes/class-freemius.php9606, includes/class-freemius.php9608,
|
327 |
+
#: includes/class-freemius.php13344, templates/account.php:68
|
328 |
+
msgid "Add-Ons"
|
329 |
+
msgstr "Complementos"
|
330 |
+
|
331 |
+
#: includes/class-freemius.php9639, templates/pricing.php:92
|
332 |
+
msgctxt "noun"
|
333 |
+
msgid "Pricing"
|
334 |
+
msgstr "Precio"
|
335 |
+
|
336 |
+
#: includes/class-freemius.php9819,
|
337 |
+
#: includes/customizer/class-fs-customizer-support-section.php:67
|
338 |
+
msgid "Support Forum"
|
339 |
+
msgstr "Foro de Soporte"
|
340 |
+
|
341 |
+
#: includes/class-freemius.php:10559
|
342 |
+
msgid "Your email has been successfully verified - you are AWESOME!"
|
343 |
+
msgstr "Tu email ha sido verificado correctamente - eres IMPRESIONANTE!"
|
344 |
+
|
345 |
+
#: includes/class-freemius.php:10560
|
346 |
+
msgctxt "a positive response"
|
347 |
+
msgid "Right on"
|
348 |
+
msgstr "Bien hecho"
|
349 |
+
|
350 |
+
#: includes/class-freemius.php:11096
|
351 |
+
msgid "Your %s Add-on plan was successfully upgraded."
|
352 |
+
msgstr "Tu complemento %s del plan se actualizó con éxito."
|
353 |
+
|
354 |
+
#: includes/class-freemius.php:11098
|
355 |
+
msgid "%s Add-on was successfully purchased."
|
356 |
+
msgstr "El complemento %s ha sido comprado correctamente."
|
357 |
+
|
358 |
+
#: includes/class-freemius.php:11101
|
359 |
+
msgid "Download the latest version"
|
360 |
+
msgstr "Descargar la última versión"
|
361 |
+
|
362 |
+
#: includes/class-freemius.php:11150
|
363 |
+
msgctxt "%1s - plugin title, %2s - API domain"
|
364 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
365 |
+
msgstr "Tu servidor está bloqueando el acceso a la API de Freemius, que es crucial para la sincronización de licencia %1s. Por favor, ponte en contacto con tu host para que lo añadan a su lista blanca %2s"
|
366 |
+
|
367 |
+
#: includes/class-freemius.php11153, includes/class-freemius.php11463,
|
368 |
+
#: includes/class-freemius.php:11528
|
369 |
+
msgid "Error received from the server:"
|
370 |
+
msgstr "Error recibido del servidor:"
|
371 |
+
|
372 |
+
#: includes/class-freemius.php:11164
|
373 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
374 |
+
msgstr "Parece que uno de los parámetros de autenticación es incorrecto. Actualiza tu Clave Pública, Clave Secreta & ID de Usuario e inténtelo de nuevo."
|
375 |
+
|
376 |
+
#: includes/class-freemius.php11281, includes/class-freemius.php11468,
|
377 |
+
#: includes/class-freemius.php:11511
|
378 |
+
msgctxt ""
|
379 |
+
msgid "Hmm"
|
380 |
+
msgstr "Hmm"
|
381 |
+
|
382 |
+
#: includes/class-freemius.php:11294
|
383 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
384 |
+
msgstr "Parece que todavía estás en el plan %s. Si actualizaste o cambiaste tu plan, probablemente sea un problema de nuestra parte - lo sentimos."
|
385 |
+
|
386 |
+
#: includes/class-freemius.php11295, templates/account.php70,
|
387 |
+
#: templates/add-ons.php:130
|
388 |
+
msgctxt "trial period"
|
389 |
+
msgid "Trial"
|
390 |
+
msgstr "Período de Prueba Gratuito"
|
391 |
+
|
392 |
+
#: includes/class-freemius.php:11300
|
393 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
394 |
+
msgstr "He actualizado mi cuenta, pero cuando intento sincronizar la licencia, el plan sigue siendo %s."
|
395 |
+
|
396 |
+
#: includes/class-freemius.php11304, includes/class-freemius.php:11358
|
397 |
+
msgid "Please contact us here"
|
398 |
+
msgstr "Contacta aquí con nosotros"
|
399 |
+
|
400 |
+
#: includes/class-freemius.php:11314
|
401 |
+
msgid "Your plan was successfully upgraded."
|
402 |
+
msgstr "Tu plan se actualizó con éxito."
|
403 |
+
|
404 |
+
#: includes/class-freemius.php:11331
|
405 |
+
msgid "Your plan was successfully changed to %s."
|
406 |
+
msgstr "Tu plan se cambió correctamente a %s."
|
407 |
+
|
408 |
+
#: includes/class-freemius.php:11346
|
409 |
+
msgid "Your license has expired. You can still continue using the free %s forever."
|
410 |
+
msgstr "Tu licencia ha caducado. Puedes seguir usando el plan gratuito %s para siempre."
|
411 |
+
|
412 |
+
#: includes/class-freemius.php:11354
|
413 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
414 |
+
msgstr "Tu licencia ha sido cancelada. Si crees que es un error, ponte en contacto con el servicio de asistencia."
|
415 |
+
|
416 |
+
#: includes/class-freemius.php:11367
|
417 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
418 |
+
msgstr "Tu licencia ha caducado. Todavía puedes seguir usando todas las funciones de %s, pero tendrás que renovar tu licencia para seguir recibiendo actualizaciones y soporte."
|
419 |
+
|
420 |
+
#: includes/class-freemius.php:11389
|
421 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
422 |
+
msgstr "Tu período de prueba ha caducado. Todavía puedes seguir usando todas nuestras funciones gratuitas."
|
423 |
+
|
424 |
+
#: includes/class-freemius.php:11459
|
425 |
+
msgid "It looks like the license could not be activated."
|
426 |
+
msgstr "Parece que la licencia no se pudo activar."
|
427 |
+
|
428 |
+
#: includes/class-freemius.php:11489
|
429 |
+
msgid "Your license was successfully activated."
|
430 |
+
msgstr "Tu licencia fue activada correctamente."
|
431 |
+
|
432 |
+
#: includes/class-freemius.php:11515
|
433 |
+
msgid "It looks like your site currently doesn't have an active license."
|
434 |
+
msgstr "Parece que tu sitio actualmente no tiene una licencia activa."
|
435 |
+
|
436 |
+
#: includes/class-freemius.php:11527
|
437 |
+
msgid "It looks like the license deactivation failed."
|
438 |
+
msgstr "Parece que la desactivación de licencia ha fallado."
|
439 |
+
|
440 |
+
#: includes/class-freemius.php:11554
|
441 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
442 |
+
msgstr "Tu licencia fue desactivada correctamente, has vuelto al plan %s."
|
443 |
+
|
444 |
+
#: includes/class-freemius.php:11555
|
445 |
+
msgid "O.K"
|
446 |
+
msgstr "O.K"
|
447 |
+
|
448 |
+
#: includes/class-freemius.php:11603
|
449 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
450 |
+
msgstr "Tu plan fue degradado con éxito. Tu licencia %s plan caducará en %s."
|
451 |
+
|
452 |
+
#: includes/class-freemius.php:11613
|
453 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
454 |
+
msgstr "Parece que estamos teniendo algún problema temporal con tu degradación de plan. Vuelve a intentarlo en unos minutos."
|
455 |
+
|
456 |
+
#: includes/class-freemius.php:11637
|
457 |
+
msgid "You are already running the %s in a trial mode."
|
458 |
+
msgstr "Estás ejecutando %s en modo de prueba."
|
459 |
+
|
460 |
+
#: includes/class-freemius.php:11648
|
461 |
+
msgid "You already utilized a trial before."
|
462 |
+
msgstr "Ya utilizaste un período de prueba antes."
|
463 |
+
|
464 |
+
#: includes/class-freemius.php:11662
|
465 |
+
msgid "Plan %s do not exist, therefore, can't start a trial."
|
466 |
+
msgstr "El plan %s no existe, por lo tanto, no puedes comenzar un período de prueba."
|
467 |
+
|
468 |
+
#: includes/class-freemius.php:11673
|
469 |
+
msgid "Plan %s does not support a trial period."
|
470 |
+
msgstr "El plan %s no admite un período de prueba."
|
471 |
+
|
472 |
+
#: includes/class-freemius.php:11684
|
473 |
+
msgid "None of the %s's plans supports a trial period."
|
474 |
+
msgstr "Ninguno de los planes de %s soportan un período de prueba."
|
475 |
+
|
476 |
+
#: includes/class-freemius.php:11734
|
477 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
478 |
+
msgstr "Parece que ya no estás en modo de prueba, así que no hay nada que cancelar :)"
|
479 |
+
|
480 |
+
#: includes/class-freemius.php:11785
|
481 |
+
msgid "Your %s free trial was successfully cancelled."
|
482 |
+
msgstr "Tu prueba gratuita de %s fue cancelada con éxito."
|
483 |
+
|
484 |
+
#: includes/class-freemius.php:11793
|
485 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
486 |
+
msgstr "Parece que estamos teniendo algún problema temporal con tu cancelación de prueba. Vuelve a intentarlo en unos minutos."
|
487 |
+
|
488 |
+
#: includes/class-freemius.php:12032
|
489 |
+
msgid "Version %s was released."
|
490 |
+
msgstr "La versión %s se ha lanzado."
|
491 |
+
|
492 |
+
#: includes/class-freemius.php:12032
|
493 |
+
msgid "Please download %s."
|
494 |
+
msgstr "Por favor descarga %s."
|
495 |
+
|
496 |
+
#: includes/class-freemius.php:12039
|
497 |
+
msgid "the latest %s version here"
|
498 |
+
msgstr "la última versión %s aquí"
|
499 |
+
|
500 |
+
#: includes/class-freemius.php:12044
|
501 |
+
msgid "New"
|
502 |
+
msgstr "Nuevo"
|
503 |
+
|
504 |
+
#: includes/class-freemius.php:12049
|
505 |
+
msgid "Seems like you got the latest release."
|
506 |
+
msgstr "Parece que tienes la última versión."
|
507 |
+
|
508 |
+
#: includes/class-freemius.php:12050
|
509 |
+
msgid "You are all good!"
|
510 |
+
msgstr "¡Está todo listo!"
|
511 |
+
|
512 |
+
#: includes/class-freemius.php:12316
|
513 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
514 |
+
msgstr "El correo de verificación se acaba de enviar a %s. Si no puedes encontrarlo después de 5 min, comprueba tu carpeta de spam."
|
515 |
+
|
516 |
+
#: includes/class-freemius.php:12491
|
517 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
518 |
+
msgstr "Comprueba tu buzón de correo, debes recibir un correo electrónico a través de %s para confirmar el cambio de propiedad. Por razones de seguridad, debes confirmar el cambio dentro de los próximos 15 min. Si no puedes encontrar el correo electrónico, comprueba tu carpeta de correo no deseado."
|
519 |
+
|
520 |
+
#: includes/class-freemius.php:12497
|
521 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
522 |
+
msgstr "Gracias por confirmar el cambio de propiedad. Se envió un correo electrónico a %s para su aprobación final."
|
523 |
+
|
524 |
+
#: includes/class-freemius.php:12502
|
525 |
+
msgid "%s is the new owner of the account."
|
526 |
+
msgstr "%s es el nuevo dueño de la cuenta."
|
527 |
+
|
528 |
+
#: includes/class-freemius.php:12504
|
529 |
+
msgctxt "as congratulations"
|
530 |
+
msgid "Congrats"
|
531 |
+
msgstr "Felicidades"
|
532 |
+
|
533 |
+
#: includes/class-freemius.php:12524
|
534 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
535 |
+
msgstr "Lo sentimos, no podemos completar la actualización de correo electrónico. Ya hay registrado otro usuario con esa dirección de correo electrónico."
|
536 |
+
|
537 |
+
#: includes/class-freemius.php:12525
|
538 |
+
msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
539 |
+
msgstr "Si deseas renunciar a la titularidad de la cuenta de %s a %s haz clic en el botón de Cambio de Titularidad."
|
540 |
+
|
541 |
+
#: includes/class-freemius.php:12532
|
542 |
+
msgid "Change Ownership"
|
543 |
+
msgstr "Cambiar Propietario"
|
544 |
+
|
545 |
+
#: includes/class-freemius.php:12540
|
546 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
547 |
+
msgstr "Se actualizó correctamente tu correo electrónico. Recibirás un correo electrónico con las instrucciones de confirmación en unos momentos."
|
548 |
+
|
549 |
+
#: includes/class-freemius.php:12552
|
550 |
+
msgid "Please provide your full name."
|
551 |
+
msgstr "Por favor, dinos tu nombre completo."
|
552 |
+
|
553 |
+
#: includes/class-freemius.php:12557
|
554 |
+
msgid "Your name was successfully updated."
|
555 |
+
msgstr "Tu nombre fue actualizado correctamente."
|
556 |
+
|
557 |
+
#: includes/class-freemius.php:12618
|
558 |
+
msgid "You have successfully updated your %s."
|
559 |
+
msgstr "Has actualizado correctamente tu %s."
|
560 |
+
|
561 |
+
#: includes/class-freemius.php:12756
|
562 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
563 |
+
msgstr "Sólo déjanos informarte que la información de complementos de %s se está extrayendo de un servidor externo."
|
564 |
+
|
565 |
+
#: includes/class-freemius.php:12757
|
566 |
+
msgctxt "advance notice of something that will need attention."
|
567 |
+
msgid "Heads up"
|
568 |
+
msgstr "Atención"
|
569 |
+
|
570 |
+
#: includes/class-freemius.php:13075
|
571 |
+
msgid "Awesome"
|
572 |
+
msgstr "Increíble"
|
573 |
+
|
574 |
+
#: includes/class-freemius.php:13115
|
575 |
+
msgctxt "exclamation"
|
576 |
+
msgid "Hey"
|
577 |
+
msgstr "Hey"
|
578 |
+
|
579 |
+
#: includes/class-freemius.php:13115
|
580 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
581 |
+
msgstr "¿Qué te pareció %s hasta ahora? Prueba todas nuestras funciones premium de %s con una prueba gratuita de % d-días."
|
582 |
+
|
583 |
+
#: includes/class-freemius.php:13123
|
584 |
+
msgid "No commitment for %s days - cancel anytime!"
|
585 |
+
msgstr "Sin compromiso por %s días - ¡cancelar en cualquier momento!"
|
586 |
+
|
587 |
+
#: includes/class-freemius.php:13124
|
588 |
+
msgid "No credit card required"
|
589 |
+
msgstr "No se necesita tarjeta de crédito"
|
590 |
+
|
591 |
+
#: includes/class-freemius.php13131, templates/forms/trial-start.php:53
|
592 |
+
msgctxt "call to action"
|
593 |
+
msgid "Start free trial"
|
594 |
+
msgstr "Comenzar el período de prueba gratuito"
|
595 |
+
|
596 |
+
#: includes/class-freemius.php:13208
|
597 |
+
msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
598 |
+
msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
599 |
+
|
600 |
+
#: includes/class-freemius.php:13217
|
601 |
+
msgid "Learn more"
|
602 |
+
msgstr "Learn more"
|
603 |
+
|
604 |
+
#: includes/class-freemius.php13373, templates/account.php330,
|
605 |
+
#: templates/connect.php309, templates/forms/license-activation.php:24
|
606 |
+
msgid "Activate License"
|
607 |
+
msgstr "Activar Licencia"
|
608 |
+
|
609 |
+
#: includes/class-freemius.php13374, templates/account.php:393
|
610 |
+
msgid "Change License"
|
611 |
+
msgstr "Cambiar Licencia"
|
612 |
+
|
613 |
+
#: includes/class-freemius.php:13435
|
614 |
+
msgid "Opt Out"
|
615 |
+
msgstr "Darse de baja"
|
616 |
+
|
617 |
+
#: includes/class-freemius.php13437, includes/class-freemius.php:13442
|
618 |
+
msgid "Opt In"
|
619 |
+
msgstr "Inscribirse"
|
620 |
+
|
621 |
+
#: includes/class-freemius.php:13630
|
622 |
+
msgid "Please follow these steps to complete the upgrade"
|
623 |
+
msgstr "Por favor, sigue estos pasos para completar la actualización"
|
624 |
+
|
625 |
+
#: includes/class-freemius.php:13633
|
626 |
+
msgid "Download the latest %s version"
|
627 |
+
msgstr "Descargar la última versión %s"
|
628 |
+
|
629 |
+
#: includes/class-freemius.php:13637
|
630 |
+
msgid "Upload and activate the downloaded version"
|
631 |
+
msgstr "Cargar y activar la versión descargada"
|
632 |
+
|
633 |
+
#: includes/class-freemius.php:13639
|
634 |
+
msgid "How to upload and activate?"
|
635 |
+
msgstr "¿Cómo subirlo y activarlo?"
|
636 |
+
|
637 |
+
#: includes/class-freemius.php:13798
|
638 |
+
msgid "Auto installation only works for opted-in users."
|
639 |
+
msgstr "La instalación automática sólo funciona para usuarios que aceptaron."
|
640 |
+
|
641 |
+
#: includes/class-freemius.php13808, includes/class-freemius.php13841,
|
642 |
+
#: includes/class-fs-plugin-updater.php490,
|
643 |
+
#: includes/class-fs-plugin-updater.php:504
|
644 |
+
msgid "Invalid module ID."
|
645 |
+
msgstr "Id de Módulo no válido."
|
646 |
+
|
647 |
+
#: includes/class-freemius.php13817, includes/class-fs-plugin-updater.php:524
|
648 |
+
msgid "Premium version already active."
|
649 |
+
msgstr "Versión Premium ya activa."
|
650 |
+
|
651 |
+
#: includes/class-freemius.php:13824
|
652 |
+
msgid "You do not have a valid license to access the premium version."
|
653 |
+
msgstr "No tienes una licencia válida para acceder a la versión premium."
|
654 |
+
|
655 |
+
#: includes/class-freemius.php:13831
|
656 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
657 |
+
msgstr "El plugin es un \"Serviceware\" lo que significa que no tiene una versión de código premium."
|
658 |
+
|
659 |
+
#: includes/class-freemius.php13849, includes/class-fs-plugin-updater.php:523
|
660 |
+
msgid "Premium add-on version already installed."
|
661 |
+
msgstr "Versión del complemento Premium ya instalada."
|
662 |
+
|
663 |
+
#: includes/class-freemius.php:14194
|
664 |
+
msgid "View paid features"
|
665 |
+
msgstr "Ver las funciones de pago"
|
666 |
+
|
667 |
+
#: includes/class-fs-plugin-updater.php:131
|
668 |
+
msgid "%sRenew your license now%s to access version %s features and support."
|
669 |
+
msgstr "%s Renueva tu licencia ahora %s para acceder a la versión %s características y soporte."
|
670 |
+
|
671 |
+
#: includes/class-fs-plugin-updater.php:553
|
672 |
+
msgid "Installing plugin: %s"
|
673 |
+
msgstr "Instalando plugin: %s"
|
674 |
+
|
675 |
+
#: includes/class-fs-plugin-updater.php:594
|
676 |
+
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
677 |
+
msgstr "Unable to connect to the filesystem. Please confirm your credentials."
|
678 |
+
|
679 |
+
#: includes/class-fs-plugin-updater.php:700
|
680 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
681 |
+
msgstr "El paquete de plugin remoto no contiene una carpeta con el Slug deseado y el cambio de nombre no funcionó."
|
682 |
+
|
683 |
+
#: includes/fs-plugin-info-dialog.php328, templates/account.php:696
|
684 |
+
msgctxt "verb"
|
685 |
+
msgid "Purchase"
|
686 |
+
msgstr "Comprar"
|
687 |
+
|
688 |
+
#: includes/fs-plugin-info-dialog.php:331
|
689 |
+
msgid "Start my free %s"
|
690 |
+
msgstr "Comenzar mi período gratuito de %s"
|
691 |
+
|
692 |
+
#: includes/fs-plugin-info-dialog.php355, templates/account.php:52
|
693 |
+
msgctxt "as download latest version"
|
694 |
+
msgid "Download Latest"
|
695 |
+
msgstr "Descargar la última"
|
696 |
+
|
697 |
+
#: includes/fs-plugin-info-dialog.php358, templates/account.php676,
|
698 |
+
#: templates/account.php729, templates/auto-installation.php:110
|
699 |
+
msgid "Install Now"
|
700 |
+
msgstr "Instalar Ahora"
|
701 |
+
|
702 |
+
#: includes/fs-plugin-info-dialog.php364, templates/account.php:384
|
703 |
+
msgid "Install Update Now"
|
704 |
+
msgstr "Instalar Actualización Ahora"
|
705 |
+
|
706 |
+
#: includes/fs-plugin-info-dialog.php:368
|
707 |
+
msgid "Newer Version (%s) Installed"
|
708 |
+
msgstr "Versión más Reciente (%s) Instalada"
|
709 |
+
|
710 |
+
#: includes/fs-plugin-info-dialog.php:371
|
711 |
+
msgid "Latest Version Installed"
|
712 |
+
msgstr "Última Versión Instalada"
|
713 |
+
|
714 |
+
#: includes/fs-plugin-info-dialog.php:484
|
715 |
+
msgctxt "Plugin installer section title"
|
716 |
+
msgid "Description"
|
717 |
+
msgstr "Descripción"
|
718 |
+
|
719 |
+
#: includes/fs-plugin-info-dialog.php:485
|
720 |
+
msgctxt "Plugin installer section title"
|
721 |
+
msgid "Installation"
|
722 |
+
msgstr "Instalación"
|
723 |
+
|
724 |
+
#: includes/fs-plugin-info-dialog.php:486
|
725 |
+
msgctxt "Plugin installer section title"
|
726 |
+
msgid "FAQ"
|
727 |
+
msgstr "FAQ"
|
728 |
+
|
729 |
+
#: includes/fs-plugin-info-dialog.php487,
|
730 |
+
#: templates/plugin-info/description.php:55
|
731 |
+
msgid "Screenshots"
|
732 |
+
msgstr "Capturas de pantalla"
|
733 |
+
|
734 |
+
#: includes/fs-plugin-info-dialog.php:488
|
735 |
+
msgctxt "Plugin installer section title"
|
736 |
+
msgid "Changelog"
|
737 |
+
msgstr "Registro de cambios"
|
738 |
+
|
739 |
+
#: includes/fs-plugin-info-dialog.php:489
|
740 |
+
msgctxt "Plugin installer section title"
|
741 |
+
msgid "Reviews"
|
742 |
+
msgstr "Valoraciones"
|
743 |
+
|
744 |
+
#: includes/fs-plugin-info-dialog.php:490
|
745 |
+
msgctxt "Plugin installer section title"
|
746 |
+
msgid "Other Notes"
|
747 |
+
msgstr "Otras Notas"
|
748 |
+
|
749 |
+
#: includes/fs-plugin-info-dialog.php:505
|
750 |
+
msgctxt "Plugin installer section title"
|
751 |
+
msgid "Features & Pricing"
|
752 |
+
msgstr "Características y Precios"
|
753 |
+
|
754 |
+
#: includes/fs-plugin-info-dialog.php:515
|
755 |
+
msgid "Plugin Install"
|
756 |
+
msgstr "Instalar Plugin"
|
757 |
+
|
758 |
+
#: includes/fs-plugin-info-dialog.php:587
|
759 |
+
msgctxt "e.g. Professional Plan"
|
760 |
+
msgid "%s Plan"
|
761 |
+
msgstr "Plan %s"
|
762 |
+
|
763 |
+
#: includes/fs-plugin-info-dialog.php:612
|
764 |
+
msgctxt "e.g. the best product"
|
765 |
+
msgid "Best"
|
766 |
+
msgstr "El mejor"
|
767 |
+
|
768 |
+
#: includes/fs-plugin-info-dialog.php618,
|
769 |
+
#: includes/fs-plugin-info-dialog.php:638
|
770 |
+
msgctxt "as every month"
|
771 |
+
msgid "Monthly"
|
772 |
+
msgstr "Mensual"
|
773 |
+
|
774 |
+
#: includes/fs-plugin-info-dialog.php:621
|
775 |
+
msgctxt "as once a year"
|
776 |
+
msgid "Annual"
|
777 |
+
msgstr "Anual"
|
778 |
+
|
779 |
+
#: includes/fs-plugin-info-dialog.php:624
|
780 |
+
msgid "Lifetime"
|
781 |
+
msgstr "Permanente"
|
782 |
+
|
783 |
+
#: includes/fs-plugin-info-dialog.php638,
|
784 |
+
#: includes/fs-plugin-info-dialog.php640,
|
785 |
+
#: includes/fs-plugin-info-dialog.php:642
|
786 |
+
msgctxt "e.g. billed monthly"
|
787 |
+
msgid "Billed %s"
|
788 |
+
msgstr "Facturado %s"
|
789 |
+
|
790 |
+
#: includes/fs-plugin-info-dialog.php:640
|
791 |
+
msgctxt "as once a year"
|
792 |
+
msgid "Annually"
|
793 |
+
msgstr "Anualmente"
|
794 |
+
|
795 |
+
#: includes/fs-plugin-info-dialog.php:642
|
796 |
+
msgctxt "as once a year"
|
797 |
+
msgid "Once"
|
798 |
+
msgstr "Una vez"
|
799 |
+
|
800 |
+
#: includes/fs-plugin-info-dialog.php:648
|
801 |
+
msgid "Single Site License"
|
802 |
+
msgstr "Licencia para un Único Sitio"
|
803 |
+
|
804 |
+
#: includes/fs-plugin-info-dialog.php:650
|
805 |
+
msgid "Unlimited Licenses"
|
806 |
+
msgstr "Licencias Ilimitadas"
|
807 |
+
|
808 |
+
#: includes/fs-plugin-info-dialog.php:652
|
809 |
+
msgid "Up to %s Sites"
|
810 |
+
msgstr "Hasta %s Sitios"
|
811 |
+
|
812 |
+
#: includes/fs-plugin-info-dialog.php662,
|
813 |
+
#: templates/plugin-info/features.php:82
|
814 |
+
msgctxt "as monthly period"
|
815 |
+
msgid "mo"
|
816 |
+
msgstr "me"
|
817 |
+
|
818 |
+
#: includes/fs-plugin-info-dialog.php669,
|
819 |
+
#: templates/plugin-info/features.php:80
|
820 |
+
msgctxt "as annual period"
|
821 |
+
msgid "year"
|
822 |
+
msgstr "año"
|
823 |
+
|
824 |
+
#: includes/fs-plugin-info-dialog.php:721
|
825 |
+
msgctxt "noun"
|
826 |
+
msgid "Price"
|
827 |
+
msgstr "Precio"
|
828 |
+
|
829 |
+
#: includes/fs-plugin-info-dialog.php:767
|
830 |
+
msgctxt "as a discount of $5 or 10%"
|
831 |
+
msgid "Save %s"
|
832 |
+
msgstr "Guardar %s"
|
833 |
+
|
834 |
+
#: includes/fs-plugin-info-dialog.php:777
|
835 |
+
msgid "No commitment for %s - cancel anytime"
|
836 |
+
msgstr "Sin compromiso para %s - cancelar en cualquier momento"
|
837 |
+
|
838 |
+
#: includes/fs-plugin-info-dialog.php:780
|
839 |
+
msgid "After your free %s, pay as little as %s"
|
840 |
+
msgstr "Después de su período gratuito %s, pague sólo %s"
|
841 |
+
|
842 |
+
#: includes/fs-plugin-info-dialog.php:791
|
843 |
+
msgid "Details"
|
844 |
+
msgstr "Detalles"
|
845 |
+
|
846 |
+
#: includes/fs-plugin-info-dialog.php794, templates/account.php59,
|
847 |
+
#: templates/debug.php183, templates/debug.php220, templates/debug.php:354
|
848 |
+
msgctxt "product version"
|
849 |
+
msgid "Version"
|
850 |
+
msgstr "Versión"
|
851 |
+
|
852 |
+
#: includes/fs-plugin-info-dialog.php:800
|
853 |
+
msgctxt "as the plugin author"
|
854 |
+
msgid "Author"
|
855 |
+
msgstr "Autor"
|
856 |
+
|
857 |
+
#: includes/fs-plugin-info-dialog.php:806
|
858 |
+
msgid "Last Updated"
|
859 |
+
msgstr "Última Actualización"
|
860 |
+
|
861 |
+
#: includes/fs-plugin-info-dialog.php:810
|
862 |
+
msgctxt "x-ago"
|
863 |
+
msgid "%s ago"
|
864 |
+
msgstr "hace %s"
|
865 |
+
|
866 |
+
#: includes/fs-plugin-info-dialog.php:819
|
867 |
+
msgid "Requires WordPress Version"
|
868 |
+
msgstr "Necesita la versión de WordPress"
|
869 |
+
|
870 |
+
#: includes/fs-plugin-info-dialog.php:819
|
871 |
+
msgid "%s or higher"
|
872 |
+
msgstr "%s o mayor"
|
873 |
+
|
874 |
+
#: includes/fs-plugin-info-dialog.php:825
|
875 |
+
msgid "Compatible up to"
|
876 |
+
msgstr "Compatible hasta"
|
877 |
+
|
878 |
+
#: includes/fs-plugin-info-dialog.php:832
|
879 |
+
msgid "Downloaded"
|
880 |
+
msgstr "Descargado"
|
881 |
+
|
882 |
+
#: includes/fs-plugin-info-dialog.php:835
|
883 |
+
msgid "%s time"
|
884 |
+
msgstr "% vez"
|
885 |
+
|
886 |
+
#: includes/fs-plugin-info-dialog.php:837
|
887 |
+
msgid "%s times"
|
888 |
+
msgstr "%s veces"
|
889 |
+
|
890 |
+
#: includes/fs-plugin-info-dialog.php:847
|
891 |
+
msgid "WordPress.org Plugin Page"
|
892 |
+
msgstr "Página del Plugin en WordPress.org"
|
893 |
+
|
894 |
+
#: includes/fs-plugin-info-dialog.php:854
|
895 |
+
msgid "Plugin Homepage"
|
896 |
+
msgstr "Página web del Plugin"
|
897 |
+
|
898 |
+
#: includes/fs-plugin-info-dialog.php861,
|
899 |
+
#: includes/fs-plugin-info-dialog.php:941
|
900 |
+
msgid "Donate to this plugin"
|
901 |
+
msgstr "Donar a este plugin"
|
902 |
+
|
903 |
+
#: includes/fs-plugin-info-dialog.php:867
|
904 |
+
msgid "Average Rating"
|
905 |
+
msgstr "Calificación Media"
|
906 |
+
|
907 |
+
#: includes/fs-plugin-info-dialog.php:874
|
908 |
+
msgid "based on %s"
|
909 |
+
msgstr "basado en %s"
|
910 |
+
|
911 |
+
#: includes/fs-plugin-info-dialog.php:878
|
912 |
+
msgid "%s rating"
|
913 |
+
msgstr "%s calificación"
|
914 |
+
|
915 |
+
#: includes/fs-plugin-info-dialog.php:880
|
916 |
+
msgid "%s ratings"
|
917 |
+
msgstr "%s calificaciones"
|
918 |
+
|
919 |
+
#: includes/fs-plugin-info-dialog.php:894
|
920 |
+
msgid "%s star"
|
921 |
+
msgstr "%s estrella"
|
922 |
+
|
923 |
+
#: includes/fs-plugin-info-dialog.php:896
|
924 |
+
msgid "%s stars"
|
925 |
+
msgstr "%s estrellas"
|
926 |
+
|
927 |
+
#: includes/fs-plugin-info-dialog.php:907
|
928 |
+
msgid "Click to see reviews that provided a rating of %s"
|
929 |
+
msgstr "Haz clic para ver los comentarios con una valoración de %s"
|
930 |
+
|
931 |
+
#: includes/fs-plugin-info-dialog.php:920
|
932 |
+
msgid "Contributors"
|
933 |
+
msgstr "Colaboradores"
|
934 |
+
|
935 |
+
#: includes/fs-plugin-info-dialog.php948,
|
936 |
+
#: includes/fs-plugin-info-dialog.php:950
|
937 |
+
msgid "Warning"
|
938 |
+
msgstr "Atencion"
|
939 |
+
|
940 |
+
#: includes/fs-plugin-info-dialog.php:948
|
941 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
942 |
+
msgstr "Este plugin no ha sido probado con tu versión actual de WordPress."
|
943 |
+
|
944 |
+
#: includes/fs-plugin-info-dialog.php:950
|
945 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
946 |
+
msgstr "Este puglin no ha sido marcado como compatible con tu versión de WordPress."
|
947 |
+
|
948 |
+
#: includes/fs-plugin-info-dialog.php:969
|
949 |
+
msgid "Paid add-on must be deployed to Freemius."
|
950 |
+
msgstr "El complemento de pago se debe implementar en Freemius."
|
951 |
+
|
952 |
+
#: includes/fs-plugin-info-dialog.php:970
|
953 |
+
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
954 |
+
msgstr "El complemento debe implementarse en WordPress.org o en Freemius."
|
955 |
+
|
956 |
+
#: templates/account.php:53
|
957 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
958 |
+
msgstr "Degradando tu plan detendrás inmediatamente todos los pagos recurrentes futuros y tu licencia del plan %s expirará en %s."
|
959 |
+
|
960 |
+
#: templates/account.php:54
|
961 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
962 |
+
msgstr "La cancelación del período de prueba bloqueará inmediatamente el acceso a todas las funciones premium. ¿Estás seguro?"
|
963 |
+
|
964 |
+
#: templates/account.php:55
|
965 |
+
msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
|
966 |
+
msgstr "Todavía puedes disfrutar de todas las funciones de %s pero no tienes acceso a soporte y actualizaciones de %s."
|
967 |
+
|
968 |
+
#: templates/account.php:56
|
969 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
970 |
+
msgstr "Una vez que caduque tu licencia todavía puedes utilizar la versión gratuita pero NO tendrás acceso a las funciones de %s."
|
971 |
+
|
972 |
+
#. translators: %s: Plan title (e.g. "Professional")
|
973 |
+
#: templates/account.php:58
|
974 |
+
msgid "Activate %s Plan"
|
975 |
+
msgstr "Activar Plan %s"
|
976 |
+
|
977 |
+
#. translators: %s: Time period (e.g. Auto renews in "2 months")
|
978 |
+
#: templates/account.php:61
|
979 |
+
msgid "Auto renews in %s"
|
980 |
+
msgstr "Auto renovaciones en %s"
|
981 |
+
|
982 |
+
#. translators: %s: Time period (e.g. Expires in "2 months")
|
983 |
+
#: templates/account.php:63
|
984 |
+
msgid "Expires in %s"
|
985 |
+
msgstr "Caduca en %s"
|
986 |
+
|
987 |
+
#: templates/account.php:64
|
988 |
+
msgctxt "as synchronize license"
|
989 |
+
msgid "Sync License"
|
990 |
+
msgstr "Sincronizar Licencia"
|
991 |
+
|
992 |
+
#: templates/account.php:65
|
993 |
+
msgid "Cancel Trial"
|
994 |
+
msgstr "Cancelar Período de Prueba"
|
995 |
+
|
996 |
+
#: templates/account.php:66
|
997 |
+
msgid "Change Plan"
|
998 |
+
msgstr "Cambiar Plan"
|
999 |
+
|
1000 |
+
#: templates/account.php:67
|
1001 |
+
msgctxt "verb"
|
1002 |
+
msgid "Upgrade"
|
1003 |
+
msgstr "Actualizar"
|
1004 |
+
|
1005 |
+
#: templates/account.php:69
|
1006 |
+
msgctxt "verb"
|
1007 |
+
msgid "Downgrade"
|
1008 |
+
msgstr "Degradar"
|
1009 |
+
|
1010 |
+
#: templates/account.php71, templates/add-ons.php126,
|
1011 |
+
#: templates/plugin-info/features.php:72
|
1012 |
+
msgid "Free"
|
1013 |
+
msgstr "Gratis"
|
1014 |
+
|
1015 |
+
#: templates/account.php:72
|
1016 |
+
msgid "Activate"
|
1017 |
+
msgstr "Activar"
|
1018 |
+
|
1019 |
+
#: templates/account.php73, templates/debug.php311,
|
1020 |
+
#: includes/customizer/class-fs-customizer-upsell-control.php:106
|
1021 |
+
msgctxt "as product pricing plan"
|
1022 |
+
msgid "Plan"
|
1023 |
+
msgstr "Plan"
|
1024 |
+
|
1025 |
+
#: templates/account.php:87
|
1026 |
+
msgid "Free Trial"
|
1027 |
+
msgstr "Período de Prueba Gratuito"
|
1028 |
+
|
1029 |
+
#: templates/account.php:98
|
1030 |
+
msgid "Account Details"
|
1031 |
+
msgstr "Detalles de la Cuenta"
|
1032 |
+
|
1033 |
+
#: templates/account.php:108
|
1034 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
1035 |
+
msgstr "La eliminación de la cuenta desactivará automáticamente su licencia de plan %s para que pueda utilizarla en otros sitios. Si también desea cancelar los pagos periódicos, haga clic en el botón \"Cancelar\" y, en primer lugar, \"Degradar\" su cuenta. ¿Seguro que deseas continuar con la eliminación?"
|
1036 |
+
|
1037 |
+
#: templates/account.php:110
|
1038 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
1039 |
+
msgstr "La eliminación no es temporal. Sólo elimínalo si ya no deseas utilizar este %s más. ¿Estás seguro que desea continuar con la eliminación?"
|
1040 |
+
|
1041 |
+
#: templates/account.php:113
|
1042 |
+
msgid "Delete Account"
|
1043 |
+
msgstr "Borrar Cuenta"
|
1044 |
+
|
1045 |
+
#: templates/account.php:124
|
1046 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
1047 |
+
msgstr "Al desactivar tu licencia todas las características premium se bloquearán, pero posibilitará poder activar tu licencia en otro sitio. ¿Estás seguro que quieres continuar?"
|
1048 |
+
|
1049 |
+
#: templates/account.php125, templates/account.php:590
|
1050 |
+
msgid "Deactivate License"
|
1051 |
+
msgstr "Desactivar Licencia"
|
1052 |
+
|
1053 |
+
#: templates/account.php:142
|
1054 |
+
msgid "Are you sure you want to proceed?"
|
1055 |
+
msgstr "¿Estás seguro que quieres proceder?"
|
1056 |
+
|
1057 |
+
#: templates/account.php:142
|
1058 |
+
msgid "Cancel Subscription"
|
1059 |
+
msgstr "Cancelar Suscripción"
|
1060 |
+
|
1061 |
+
#: templates/account.php:171
|
1062 |
+
msgctxt "as synchronize"
|
1063 |
+
msgid "Sync"
|
1064 |
+
msgstr "Sincronizar"
|
1065 |
+
|
1066 |
+
#: templates/account.php185, templates/debug.php:389
|
1067 |
+
msgid "Name"
|
1068 |
+
msgstr "Nombre"
|
1069 |
+
|
1070 |
+
#: templates/account.php191, templates/debug.php:390
|
1071 |
+
msgid "Email"
|
1072 |
+
msgstr "Correo Electrónico"
|
1073 |
+
|
1074 |
+
#: templates/account.php198, templates/debug.php310, templates/debug.php:419
|
1075 |
+
msgid "User ID"
|
1076 |
+
msgstr "ID de Usuario"
|
1077 |
+
|
1078 |
+
#: templates/account.php:205
|
1079 |
+
msgid "Site ID"
|
1080 |
+
msgstr "ID del Sitio"
|
1081 |
+
|
1082 |
+
#: templates/account.php:208
|
1083 |
+
msgid "No ID"
|
1084 |
+
msgstr "Sin ID"
|
1085 |
+
|
1086 |
+
#: templates/account.php213, templates/debug.php225, templates/debug.php312,
|
1087 |
+
#: templates/debug.php355, templates/debug.php:392
|
1088 |
+
msgid "Public Key"
|
1089 |
+
msgstr "Clave Pública"
|
1090 |
+
|
1091 |
+
#: templates/account.php219, templates/debug.php313, templates/debug.php356,
|
1092 |
+
#: templates/debug.php:393
|
1093 |
+
msgid "Secret Key"
|
1094 |
+
msgstr "Clave Secreta"
|
1095 |
+
|
1096 |
+
#: templates/account.php:222
|
1097 |
+
msgctxt "as secret encryption key missing"
|
1098 |
+
msgid "No Secret"
|
1099 |
+
msgstr "Sin clave secreta"
|
1100 |
+
|
1101 |
+
#: templates/account.php:241
|
1102 |
+
msgid "Trial"
|
1103 |
+
msgstr "Período de Prueba Gratuito"
|
1104 |
+
|
1105 |
+
#: templates/account.php257, templates/debug.php:424
|
1106 |
+
msgid "License Key"
|
1107 |
+
msgstr "Clave de licencia"
|
1108 |
+
|
1109 |
+
#: templates/account.php:287
|
1110 |
+
msgid "not verified"
|
1111 |
+
msgstr "no verificado"
|
1112 |
+
|
1113 |
+
#: templates/account.php:317
|
1114 |
+
msgid "Localhost"
|
1115 |
+
msgstr "Localhost"
|
1116 |
+
|
1117 |
+
#: templates/account.php:321
|
1118 |
+
msgctxt "as 5 licenses left"
|
1119 |
+
msgid "%s left"
|
1120 |
+
msgstr "quedan %s"
|
1121 |
+
|
1122 |
+
#: templates/account.php:322
|
1123 |
+
msgid "Last license"
|
1124 |
+
msgstr "Última licencia"
|
1125 |
+
|
1126 |
+
#: templates/account.php:352
|
1127 |
+
msgid "Premium version"
|
1128 |
+
msgstr "Versión Premium"
|
1129 |
+
|
1130 |
+
#: templates/account.php:354
|
1131 |
+
msgid "Free version"
|
1132 |
+
msgstr "Versión Gratuita"
|
1133 |
+
|
1134 |
+
#: templates/account.php:366
|
1135 |
+
msgid "Verify Email"
|
1136 |
+
msgstr "Verificar Correo Electrónico"
|
1137 |
+
|
1138 |
+
#: templates/account.php:377
|
1139 |
+
msgid "Download %s Version"
|
1140 |
+
msgstr "Descargar Versión %s"
|
1141 |
+
|
1142 |
+
#: templates/account.php391, templates/account.php:442
|
1143 |
+
msgctxt "verb"
|
1144 |
+
msgid "Show"
|
1145 |
+
msgstr "Mostrar"
|
1146 |
+
|
1147 |
+
#: templates/account.php:405
|
1148 |
+
msgid "What is your %s?"
|
1149 |
+
msgstr "¿Cual es tú %s?"
|
1150 |
+
|
1151 |
+
#: templates/account.php413, templates/account/billing.php:27
|
1152 |
+
msgctxt "verb"
|
1153 |
+
msgid "Edit"
|
1154 |
+
msgstr "Editar"
|
1155 |
+
|
1156 |
+
#: templates/account.php:436
|
1157 |
+
msgctxt "verb"
|
1158 |
+
msgid "Hide"
|
1159 |
+
msgstr "Ocultar"
|
1160 |
+
|
1161 |
+
#: templates/account.php472, templates/debug.php218, templates/debug.php308,
|
1162 |
+
#: templates/debug.php351, templates/debug.php388, templates/debug.php417,
|
1163 |
+
#: templates/debug.php496, templates/account/payments.php35,
|
1164 |
+
#: templates/debug/logger.php:21
|
1165 |
+
msgid "ID"
|
1166 |
+
msgstr "ID"
|
1167 |
+
|
1168 |
+
#: templates/account.php:475
|
1169 |
+
msgctxt "as software license"
|
1170 |
+
msgid "License"
|
1171 |
+
msgstr "Licencia"
|
1172 |
+
|
1173 |
+
#: templates/account.php:550
|
1174 |
+
msgid "Cancelled"
|
1175 |
+
msgstr "Cancelado"
|
1176 |
+
|
1177 |
+
#: templates/account.php:555
|
1178 |
+
msgid "Expired"
|
1179 |
+
msgstr "Caducado"
|
1180 |
+
|
1181 |
+
#: templates/account.php:560
|
1182 |
+
msgid "No expiration"
|
1183 |
+
msgstr "Sin caducidad"
|
1184 |
+
|
1185 |
+
#: templates/account.php668, templates/account.php:724
|
1186 |
+
msgid "Activate this add-on"
|
1187 |
+
msgstr "Activar este complemento"
|
1188 |
+
|
1189 |
+
#: templates/account.php745, templates/debug.php:336
|
1190 |
+
msgctxt "verb"
|
1191 |
+
msgid "Delete"
|
1192 |
+
msgstr "Borrar"
|
1193 |
+
|
1194 |
+
#: templates/add-ons.php:36
|
1195 |
+
msgid "Add Ons for %s"
|
1196 |
+
msgstr "Complementos para %s"
|
1197 |
+
|
1198 |
+
#: templates/add-ons.php:44
|
1199 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
1200 |
+
msgstr "No podemos cargar la lista de complementos. Probablemente es un problema por nuestro parte, por favor inténtalo de nuevo en unos minutos."
|
1201 |
+
|
1202 |
+
#: templates/add-ons.php:135
|
1203 |
+
msgid "View details"
|
1204 |
+
msgstr "Ver detalles"
|
1205 |
+
|
1206 |
+
#: templates/admin-notice.php13, templates/forms/license-activation.php73,
|
1207 |
+
#: templates/forms/resend-key.php:77
|
1208 |
+
msgctxt "as close a window"
|
1209 |
+
msgid "Dismiss"
|
1210 |
+
msgstr "Descartar"
|
1211 |
+
|
1212 |
+
#: templates/auto-installation.php:44
|
1213 |
+
msgid "%s sec"
|
1214 |
+
msgstr "%s seg"
|
1215 |
+
|
1216 |
+
#: templates/auto-installation.php:82
|
1217 |
+
msgid "Automatic Installation"
|
1218 |
+
msgstr "Instalación Automática"
|
1219 |
+
|
1220 |
+
#: templates/auto-installation.php:92
|
1221 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1222 |
+
msgstr "Una descarga automatizada y la instalación de %s (versión de pago) de %s comenzará en %s. Si quieres hacerlo manualmente - haz clic en el botón de cancelación."
|
1223 |
+
|
1224 |
+
#: templates/auto-installation.php:103
|
1225 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1226 |
+
msgstr "El proceso de instalación ha comenzado y puede tardar unos minutos en completarse. Por favor, espera hasta que se finalice - no actualices esta página."
|
1227 |
+
|
1228 |
+
#: templates/auto-installation.php:108
|
1229 |
+
msgid "Cancel Installation"
|
1230 |
+
msgstr "Cancelar instalación"
|
1231 |
+
|
1232 |
+
#: templates/checkout.php:168
|
1233 |
+
msgid "Checkout"
|
1234 |
+
msgstr "Checkout"
|
1235 |
+
|
1236 |
+
#: templates/checkout.php:168
|
1237 |
+
msgid "PCI compliant"
|
1238 |
+
msgstr "Compatible con PCI"
|
1239 |
+
|
1240 |
+
#: templates/connect.php:128
|
1241 |
+
msgid "Allow & Continue"
|
1242 |
+
msgstr "Permitir y Continuar"
|
1243 |
+
|
1244 |
+
#: templates/connect.php:131
|
1245 |
+
msgid "Re-send activation email"
|
1246 |
+
msgstr "Reenviar correo electrónico de activación"
|
1247 |
+
|
1248 |
+
#: templates/connect.php:135
|
1249 |
+
msgid "Thanks %s!"
|
1250 |
+
msgstr "¡Gracias %s!"
|
1251 |
+
|
1252 |
+
#: templates/connect.php143, templates/forms/license-activation.php:43
|
1253 |
+
msgid "Agree & Activate License"
|
1254 |
+
msgstr "De Acuerdo y Activar Licencia"
|
1255 |
+
|
1256 |
+
#: templates/connect.php147, templates/connect.php:170
|
1257 |
+
msgctxt "greeting"
|
1258 |
+
msgid "Hey %s,"
|
1259 |
+
msgstr "Hey %s,"
|
1260 |
+
|
1261 |
+
#: templates/connect.php:148
|
1262 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
1263 |
+
msgstr "¡Gracias por comprar %s! Para empezar, escribe tu clave de licencia:"
|
1264 |
+
|
1265 |
+
#: templates/connect.php:154
|
1266 |
+
msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1267 |
+
msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1268 |
+
|
1269 |
+
#: templates/connect.php:159
|
1270 |
+
msgid "Please help us improve %1$s! If you opt in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1271 |
+
msgstr "Please help us improve %1$s! If you opt in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1272 |
+
|
1273 |
+
#: templates/connect.php189, templates/forms/license-activation.php:46
|
1274 |
+
msgid "License key"
|
1275 |
+
msgstr "Clave de licencia"
|
1276 |
+
|
1277 |
+
#: templates/connect.php192, templates/forms/license-activation.php:19
|
1278 |
+
msgid "Can't find your license key?"
|
1279 |
+
msgstr "¿No puedes encontrar tu clave de licencia?"
|
1280 |
+
|
1281 |
+
#: templates/connect.php199, templates/forms/deactivation/retry-skip.php:20
|
1282 |
+
msgctxt "verb"
|
1283 |
+
msgid "Skip"
|
1284 |
+
msgstr "Saltar"
|
1285 |
+
|
1286 |
+
#: templates/connect.php:228
|
1287 |
+
msgid "Your Profile Overview"
|
1288 |
+
msgstr "Resumen del Perfil"
|
1289 |
+
|
1290 |
+
#: templates/connect.php:229
|
1291 |
+
msgid "Name and email address"
|
1292 |
+
msgstr "Nombre y dirección de correo electrónico"
|
1293 |
+
|
1294 |
+
#: templates/connect.php:234
|
1295 |
+
msgid "Your Site Overview"
|
1296 |
+
msgstr "Resumen del Sitio"
|
1297 |
+
|
1298 |
+
#: templates/connect.php:235
|
1299 |
+
msgid "Site URL, WP version, PHP info, plugins & themes"
|
1300 |
+
msgstr "URL del sitio web, Versión de WP, PHP info, plugins y temas"
|
1301 |
+
|
1302 |
+
#: templates/connect.php:240
|
1303 |
+
msgid "Admin Notices"
|
1304 |
+
msgstr "Avisos de Administración"
|
1305 |
+
|
1306 |
+
#: templates/connect.php241, templates/connect.php:263
|
1307 |
+
msgid "Updates, announcements, marketing, no spam"
|
1308 |
+
msgstr "Actualizaciones, anuncios, marketing, sin spam"
|
1309 |
+
|
1310 |
+
#: templates/connect.php:246
|
1311 |
+
msgid "Current %s Events"
|
1312 |
+
msgstr "Eventos de %s Actuales"
|
1313 |
+
|
1314 |
+
#: templates/connect.php:247
|
1315 |
+
msgid "Activation, deactivation and uninstall"
|
1316 |
+
msgstr "Activación, desactivación y desinstalación"
|
1317 |
+
|
1318 |
+
#: templates/connect.php:262
|
1319 |
+
msgid "Newsletter"
|
1320 |
+
msgstr "Boletín"
|
1321 |
+
|
1322 |
+
#: templates/connect.php279, templates/forms/license-activation.php:38
|
1323 |
+
msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
|
1324 |
+
msgstr "%1$s periódicamente enviará datos a %2$s para comprobar las actualizaciones de seguridad, nuevas funcionalidades y verificar la validez de tu licencia."
|
1325 |
+
|
1326 |
+
#: templates/connect.php:284
|
1327 |
+
msgid "What permissions are being granted?"
|
1328 |
+
msgstr "¿Qué permisos se otorgan?"
|
1329 |
+
|
1330 |
+
#: templates/connect.php:305
|
1331 |
+
msgid "Don't have a license key?"
|
1332 |
+
msgstr "¿No tienes una clave de licencia?"
|
1333 |
+
|
1334 |
+
#: templates/connect.php:306
|
1335 |
+
msgid "Activate Free Version"
|
1336 |
+
msgstr "Activar Versión Gratuita"
|
1337 |
+
|
1338 |
+
#: templates/connect.php:308
|
1339 |
+
msgid "Have a license key?"
|
1340 |
+
msgstr "¿Tienes una Clave de Licencia?"
|
1341 |
+
|
1342 |
+
#: templates/connect.php:316
|
1343 |
+
msgid "Privacy Policy"
|
1344 |
+
msgstr "Política de Privacidad"
|
1345 |
+
|
1346 |
+
#: templates/connect.php:318
|
1347 |
+
msgid "Terms of Service"
|
1348 |
+
msgstr "Términos de Servicio"
|
1349 |
+
|
1350 |
+
#: templates/connect.php:436
|
1351 |
+
msgctxt "as in the process of sending an email"
|
1352 |
+
msgid "Sending email"
|
1353 |
+
msgstr "Enviando correo electrónico"
|
1354 |
+
|
1355 |
+
#: templates/connect.php:437
|
1356 |
+
msgctxt "as activating plugin"
|
1357 |
+
msgid "Activating"
|
1358 |
+
msgstr "Activando"
|
1359 |
+
|
1360 |
+
#: templates/contact.php:74
|
1361 |
+
msgid "Contact"
|
1362 |
+
msgstr "Contact"
|
1363 |
+
|
1364 |
+
#: templates/debug.php:17
|
1365 |
+
msgctxt "as turned off"
|
1366 |
+
msgid "Off"
|
1367 |
+
msgstr "Apagado"
|
1368 |
+
|
1369 |
+
#: templates/debug.php:18
|
1370 |
+
msgctxt "as turned on"
|
1371 |
+
msgid "On"
|
1372 |
+
msgstr "Encendido"
|
1373 |
+
|
1374 |
+
#: templates/debug.php:20
|
1375 |
+
msgid "SDK"
|
1376 |
+
msgstr "SDK"
|
1377 |
+
|
1378 |
+
#: templates/debug.php:24
|
1379 |
+
msgctxt "as code debugging"
|
1380 |
+
msgid "Debugging"
|
1381 |
+
msgstr "Depurando"
|
1382 |
+
|
1383 |
+
#: templates/debug.php54, templates/debug.php226, templates/debug.php:314
|
1384 |
+
msgid "Actions"
|
1385 |
+
msgstr "Acciones"
|
1386 |
+
|
1387 |
+
#: templates/debug.php:64
|
1388 |
+
msgid "Are you sure you want to delete all Freemius data?"
|
1389 |
+
msgstr "¿Está seguro que desea eliminar todos los datos de Freemius?"
|
1390 |
+
|
1391 |
+
#: templates/debug.php:64
|
1392 |
+
msgid "Delete All Accounts"
|
1393 |
+
msgstr "Borrar Todas las Cuentas"
|
1394 |
+
|
1395 |
+
#: templates/debug.php:71
|
1396 |
+
msgid "Clear API Cache"
|
1397 |
+
msgstr "Borrar Caché de la API"
|
1398 |
+
|
1399 |
+
#: templates/debug.php:78
|
1400 |
+
msgid "Sync Data From Server"
|
1401 |
+
msgstr "Sincronizar Datos Desde el Servidor"
|
1402 |
+
|
1403 |
+
#: templates/debug.php:82
|
1404 |
+
msgid "Load DB Option"
|
1405 |
+
msgstr "Cargar opción de BD"
|
1406 |
+
|
1407 |
+
#: templates/debug.php:85
|
1408 |
+
msgid "Set DB Option"
|
1409 |
+
msgstr "Guardar opción en BD"
|
1410 |
+
|
1411 |
+
#: templates/debug.php:162
|
1412 |
+
msgid "Key"
|
1413 |
+
msgstr "Key"
|
1414 |
+
|
1415 |
+
#: templates/debug.php:163
|
1416 |
+
msgid "Value"
|
1417 |
+
msgstr "Value"
|
1418 |
+
|
1419 |
+
#: templates/debug.php:179
|
1420 |
+
msgctxt "as software development kit versions"
|
1421 |
+
msgid "SDK Versions"
|
1422 |
+
msgstr "Versiones SDK"
|
1423 |
+
|
1424 |
+
#: templates/debug.php:184
|
1425 |
+
msgid "SDK Path"
|
1426 |
+
msgstr "Ruta del SDK"
|
1427 |
+
|
1428 |
+
#: templates/debug.php185, templates/debug.php:224
|
1429 |
+
msgid "Module Path"
|
1430 |
+
msgstr "Module Path"
|
1431 |
+
|
1432 |
+
#: templates/debug.php:186
|
1433 |
+
msgid "Is Active"
|
1434 |
+
msgstr "Está Activo"
|
1435 |
+
|
1436 |
+
#: templates/debug.php214, templates/debug/plugins-themes-sync.php:35
|
1437 |
+
msgid "Plugins"
|
1438 |
+
msgstr "Plugins"
|
1439 |
+
|
1440 |
+
#: templates/debug.php214, templates/debug/plugins-themes-sync.php:56
|
1441 |
+
msgid "Themes"
|
1442 |
+
msgstr "Temas"
|
1443 |
+
|
1444 |
+
#: templates/debug.php219, templates/debug.php309, templates/debug.php353,
|
1445 |
+
#: templates/debug/scheduled-crons.php:81
|
1446 |
+
msgid "Slug"
|
1447 |
+
msgstr "Ruta"
|
1448 |
+
|
1449 |
+
#: templates/debug.php221, templates/debug.php:352
|
1450 |
+
msgid "Title"
|
1451 |
+
msgstr "Título"
|
1452 |
+
|
1453 |
+
#: templates/debug.php:222
|
1454 |
+
msgctxt "as application program interface"
|
1455 |
+
msgid "API"
|
1456 |
+
msgstr "API"
|
1457 |
+
|
1458 |
+
#: templates/debug.php:223
|
1459 |
+
msgid "Freemius State"
|
1460 |
+
msgstr "Estado Freemius"
|
1461 |
+
|
1462 |
+
#: templates/debug.php:255
|
1463 |
+
msgctxt "as connection was successful"
|
1464 |
+
msgid "Connected"
|
1465 |
+
msgstr "Conectado"
|
1466 |
+
|
1467 |
+
#: templates/debug.php:256
|
1468 |
+
msgctxt "as connection blocked"
|
1469 |
+
msgid "Blocked"
|
1470 |
+
msgstr "Bloqueado"
|
1471 |
+
|
1472 |
+
#: templates/debug.php:277
|
1473 |
+
msgid "Simulate Trial"
|
1474 |
+
msgstr "Simular período de prueba"
|
1475 |
+
|
1476 |
+
#: templates/debug.php:302
|
1477 |
+
msgid "%s Installs"
|
1478 |
+
msgstr "%s Instalaciones"
|
1479 |
+
|
1480 |
+
#: templates/debug.php:304
|
1481 |
+
msgctxt "like websites"
|
1482 |
+
msgid "Sites"
|
1483 |
+
msgstr "Sitios"
|
1484 |
+
|
1485 |
+
#: templates/debug.php:347
|
1486 |
+
msgid "Add Ons of module %s"
|
1487 |
+
msgstr "Add Ons of module %s"
|
1488 |
+
|
1489 |
+
#: templates/debug.php:384
|
1490 |
+
msgid "Users"
|
1491 |
+
msgstr "Usuarios"
|
1492 |
+
|
1493 |
+
#: templates/debug.php:391
|
1494 |
+
msgid "Verified"
|
1495 |
+
msgstr "Verificado"
|
1496 |
+
|
1497 |
+
#: templates/debug.php:413
|
1498 |
+
msgid "%s Licenses"
|
1499 |
+
msgstr "%s Licencias"
|
1500 |
+
|
1501 |
+
#: templates/debug.php:418
|
1502 |
+
msgid "Plugin ID"
|
1503 |
+
msgstr "Plugin ID"
|
1504 |
+
|
1505 |
+
#: templates/debug.php:420
|
1506 |
+
msgid "Plan ID"
|
1507 |
+
msgstr "Plan ID"
|
1508 |
+
|
1509 |
+
#: templates/debug.php:421
|
1510 |
+
msgid "Quota"
|
1511 |
+
msgstr "Quota"
|
1512 |
+
|
1513 |
+
#: templates/debug.php:422
|
1514 |
+
msgid "Activated"
|
1515 |
+
msgstr "Activated"
|
1516 |
+
|
1517 |
+
#: templates/debug.php:423
|
1518 |
+
msgid "Blocking"
|
1519 |
+
msgstr "Blocking"
|
1520 |
+
|
1521 |
+
#: templates/debug.php:425
|
1522 |
+
msgctxt "as expiration date"
|
1523 |
+
msgid "Expiration"
|
1524 |
+
msgstr "Caducidad"
|
1525 |
+
|
1526 |
+
#: templates/debug.php:454
|
1527 |
+
msgid "Debug Log"
|
1528 |
+
msgstr "Log de Debug"
|
1529 |
+
|
1530 |
+
#: templates/debug.php:458
|
1531 |
+
msgid "All Types"
|
1532 |
+
msgstr "Todos los Tipos"
|
1533 |
+
|
1534 |
+
#: templates/debug.php:465
|
1535 |
+
msgid "All Requests"
|
1536 |
+
msgstr "Todas las Peticiones"
|
1537 |
+
|
1538 |
+
#: templates/debug.php470, templates/debug.php499,
|
1539 |
+
#: templates/debug/logger.php:25
|
1540 |
+
msgid "File"
|
1541 |
+
msgstr "Archivo"
|
1542 |
+
|
1543 |
+
#: templates/debug.php471, templates/debug.php497,
|
1544 |
+
#: templates/debug/logger.php:23
|
1545 |
+
msgid "Function"
|
1546 |
+
msgstr "Función"
|
1547 |
+
|
1548 |
+
#: templates/debug.php:472
|
1549 |
+
msgid "Process ID"
|
1550 |
+
msgstr "ID del Proceso"
|
1551 |
+
|
1552 |
+
#: templates/debug.php:473
|
1553 |
+
msgid "Logger"
|
1554 |
+
msgstr "Logger"
|
1555 |
+
|
1556 |
+
#: templates/debug.php474, templates/debug.php498,
|
1557 |
+
#: templates/debug/logger.php:24
|
1558 |
+
msgid "Message"
|
1559 |
+
msgstr "Mensaje"
|
1560 |
+
|
1561 |
+
#: templates/debug.php:476
|
1562 |
+
msgid "Filter"
|
1563 |
+
msgstr "Filtro"
|
1564 |
+
|
1565 |
+
#: templates/debug.php:484
|
1566 |
+
msgid "Download"
|
1567 |
+
msgstr "Descarga"
|
1568 |
+
|
1569 |
+
#: templates/debug.php495, templates/debug/logger.php:22
|
1570 |
+
msgid "Type"
|
1571 |
+
msgstr "Tipo"
|
1572 |
+
|
1573 |
+
#: templates/debug.php500, templates/debug/logger.php:26
|
1574 |
+
msgid "Timestamp"
|
1575 |
+
msgstr "Timestamp"
|
1576 |
+
|
1577 |
+
#: templates/secure-https-header.php:28
|
1578 |
+
msgid "Secure HTTPS %s page, running from an external domain"
|
1579 |
+
msgstr "Página segura HTTPS %s, desde un dominio externo"
|
1580 |
+
|
1581 |
+
#: includes/customizer/class-fs-customizer-support-section.php55,
|
1582 |
+
#: templates/plugin-info/features.php:43
|
1583 |
+
msgid "Support"
|
1584 |
+
msgstr "Soporte"
|
1585 |
+
|
1586 |
+
#: includes/debug/class-fs-debug-bar-panel.php48,
|
1587 |
+
#: templates/debug/api-calls.php54, templates/debug/logger.php:62
|
1588 |
+
msgctxt "milliseconds"
|
1589 |
+
msgid "ms"
|
1590 |
+
msgstr "ms"
|
1591 |
+
|
1592 |
+
#: includes/debug/debug-bar-start.php:41
|
1593 |
+
msgid "Freemius API"
|
1594 |
+
msgstr "API Freemius"
|
1595 |
+
|
1596 |
+
#: includes/debug/debug-bar-start.php:42
|
1597 |
+
msgid "Requests"
|
1598 |
+
msgstr "Peticiones"
|
1599 |
+
|
1600 |
+
#: templates/account/billing.php:28
|
1601 |
+
msgctxt "verb"
|
1602 |
+
msgid "Update"
|
1603 |
+
msgstr "Actualizar"
|
1604 |
+
|
1605 |
+
#: templates/account/billing.php:39
|
1606 |
+
msgid "Billing"
|
1607 |
+
msgstr "Facturación"
|
1608 |
+
|
1609 |
+
#: templates/account/billing.php44, templates/account/billing.php:44
|
1610 |
+
msgid "Business name"
|
1611 |
+
msgstr "Nombre de la empresa"
|
1612 |
+
|
1613 |
+
#: templates/account/billing.php45, templates/account/billing.php:45
|
1614 |
+
msgid "Tax / VAT ID"
|
1615 |
+
msgstr "Tax / Núm IVA"
|
1616 |
+
|
1617 |
+
#: templates/account/billing.php48, templates/account/billing.php48,
|
1618 |
+
#: templates/account/billing.php49, templates/account/billing.php:49
|
1619 |
+
msgid "Address Line %d"
|
1620 |
+
msgstr "Línea de la dirección %d"
|
1621 |
+
|
1622 |
+
#: templates/account/billing.php52, templates/account/billing.php:52
|
1623 |
+
msgid "City"
|
1624 |
+
msgstr "Ciudad"
|
1625 |
+
|
1626 |
+
#: templates/account/billing.php52, templates/account/billing.php:52
|
1627 |
+
msgid "Town"
|
1628 |
+
msgstr "Municipio"
|
1629 |
+
|
1630 |
+
#: templates/account/billing.php53, templates/account/billing.php:53
|
1631 |
+
msgid "ZIP / Postal Code"
|
1632 |
+
msgstr "Código Postal"
|
1633 |
+
|
1634 |
+
#: templates/account/billing.php:308
|
1635 |
+
msgid "Country"
|
1636 |
+
msgstr "País"
|
1637 |
+
|
1638 |
+
#: templates/account/billing.php:310
|
1639 |
+
msgid "Select Country"
|
1640 |
+
msgstr "Seleccionar País"
|
1641 |
+
|
1642 |
+
#: templates/account/billing.php317, templates/account/billing.php:318
|
1643 |
+
msgid "State"
|
1644 |
+
msgstr "Estado"
|
1645 |
+
|
1646 |
+
#: templates/account/billing.php317, templates/account/billing.php:318
|
1647 |
+
msgid "Province"
|
1648 |
+
msgstr "Provincia"
|
1649 |
+
|
1650 |
+
#: templates/account/payments.php:29
|
1651 |
+
msgid "Payments"
|
1652 |
+
msgstr "Pagos"
|
1653 |
+
|
1654 |
+
#: templates/account/payments.php:36
|
1655 |
+
msgid "Date"
|
1656 |
+
msgstr "Fecha"
|
1657 |
+
|
1658 |
+
#: templates/account/payments.php:37
|
1659 |
+
msgid "Amount"
|
1660 |
+
msgstr "Cantidad"
|
1661 |
+
|
1662 |
+
#: templates/account/payments.php38, templates/account/payments.php:50
|
1663 |
+
msgid "Invoice"
|
1664 |
+
msgstr "Factura"
|
1665 |
+
|
1666 |
+
#: templates/debug/api-calls.php:56
|
1667 |
+
msgid "API"
|
1668 |
+
msgstr "API"
|
1669 |
+
|
1670 |
+
#: templates/debug/api-calls.php:68
|
1671 |
+
msgid "Method"
|
1672 |
+
msgstr "Método"
|
1673 |
+
|
1674 |
+
#: templates/debug/api-calls.php:69
|
1675 |
+
msgid "Code"
|
1676 |
+
msgstr "Código"
|
1677 |
+
|
1678 |
+
#: templates/debug/api-calls.php:70
|
1679 |
+
msgid "Length"
|
1680 |
+
msgstr "Longitud"
|
1681 |
+
|
1682 |
+
#: templates/debug/api-calls.php:71
|
1683 |
+
msgctxt "as file/folder path"
|
1684 |
+
msgid "Path"
|
1685 |
+
msgstr "Ruta"
|
1686 |
+
|
1687 |
+
#: templates/debug/api-calls.php:73
|
1688 |
+
msgid "Body"
|
1689 |
+
msgstr "Cuerpo"
|
1690 |
+
|
1691 |
+
#: templates/debug/api-calls.php:75
|
1692 |
+
msgid "Result"
|
1693 |
+
msgstr "Resultado"
|
1694 |
+
|
1695 |
+
#: templates/debug/api-calls.php:76
|
1696 |
+
msgid "Start"
|
1697 |
+
msgstr "Inicio"
|
1698 |
+
|
1699 |
+
#: templates/debug/api-calls.php:77
|
1700 |
+
msgid "End"
|
1701 |
+
msgstr "Fin"
|
1702 |
+
|
1703 |
+
#: templates/debug/logger.php:15
|
1704 |
+
msgid "Log"
|
1705 |
+
msgstr "Log"
|
1706 |
+
|
1707 |
+
#. translators: %s: time period (e.g. In "2 hours")
|
1708 |
+
#: templates/debug/plugins-themes-sync.php18,
|
1709 |
+
#: templates/debug/scheduled-crons.php:92
|
1710 |
+
msgid "In %s"
|
1711 |
+
msgstr "En %s"
|
1712 |
+
|
1713 |
+
#. translators: %s: time period (e.g. "2 hours" ago)
|
1714 |
+
#: templates/debug/plugins-themes-sync.php20,
|
1715 |
+
#: templates/debug/scheduled-crons.php:94
|
1716 |
+
msgid "%s ago"
|
1717 |
+
msgstr "hace %s"
|
1718 |
+
|
1719 |
+
#: templates/debug/plugins-themes-sync.php21,
|
1720 |
+
#: templates/debug/scheduled-crons.php:75
|
1721 |
+
msgctxt "seconds"
|
1722 |
+
msgid "sec"
|
1723 |
+
msgstr "sec"
|
1724 |
+
|
1725 |
+
#: templates/debug/plugins-themes-sync.php:23
|
1726 |
+
msgid "Plugins & Themes Sync"
|
1727 |
+
msgstr "Sincronizar Plugins y Temas"
|
1728 |
+
|
1729 |
+
#: templates/debug/plugins-themes-sync.php:28
|
1730 |
+
msgid "Total"
|
1731 |
+
msgstr "Total"
|
1732 |
+
|
1733 |
+
#: templates/debug/plugins-themes-sync.php29,
|
1734 |
+
#: templates/debug/scheduled-crons.php:85
|
1735 |
+
msgid "Last"
|
1736 |
+
msgstr "Último"
|
1737 |
+
|
1738 |
+
#: templates/debug/scheduled-crons.php:77
|
1739 |
+
msgid "Scheduled Crons"
|
1740 |
+
msgstr "Crons Programados"
|
1741 |
+
|
1742 |
+
#: templates/debug/scheduled-crons.php:82
|
1743 |
+
msgid "Module"
|
1744 |
+
msgstr "Módulo"
|
1745 |
+
|
1746 |
+
#: templates/debug/scheduled-crons.php:83
|
1747 |
+
msgid "Module Type"
|
1748 |
+
msgstr "Tipo de Módulo"
|
1749 |
+
|
1750 |
+
#: templates/debug/scheduled-crons.php:84
|
1751 |
+
msgid "Cron Type"
|
1752 |
+
msgstr "Tipo de Cron"
|
1753 |
+
|
1754 |
+
#: templates/debug/scheduled-crons.php:86
|
1755 |
+
msgid "Next"
|
1756 |
+
msgstr "Siguiente"
|
1757 |
+
|
1758 |
+
#: templates/forms/affiliation.php:81
|
1759 |
+
msgid "Non-expiring"
|
1760 |
+
msgstr "Non-expiring"
|
1761 |
+
|
1762 |
+
#: templates/forms/affiliation.php:84
|
1763 |
+
msgid "Apply to become an affiliate"
|
1764 |
+
msgstr "Apply to become an affiliate"
|
1765 |
+
|
1766 |
+
#: templates/forms/affiliation.php:103
|
1767 |
+
msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
1768 |
+
msgstr "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
1769 |
+
|
1770 |
+
#: templates/forms/affiliation.php:114
|
1771 |
+
msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
1772 |
+
msgstr "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
1773 |
+
|
1774 |
+
#: templates/forms/affiliation.php:117
|
1775 |
+
msgid "Your affiliation account was temporarily suspended."
|
1776 |
+
msgstr "Your affiliation account was temporarily suspended."
|
1777 |
+
|
1778 |
+
#: templates/forms/affiliation.php:120
|
1779 |
+
msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
1780 |
+
msgstr "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
1781 |
+
|
1782 |
+
#: templates/forms/affiliation.php:123
|
1783 |
+
msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
1784 |
+
msgstr "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
1785 |
+
|
1786 |
+
#: templates/forms/affiliation.php:136
|
1787 |
+
msgid "Like the %s? Become our ambassador and earn cash ;-)"
|
1788 |
+
msgstr "Like the %s? Become our ambassador and earn cash ;-)"
|
1789 |
+
|
1790 |
+
#: templates/forms/affiliation.php:137
|
1791 |
+
msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
1792 |
+
msgstr "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
1793 |
+
|
1794 |
+
#: templates/forms/affiliation.php:140
|
1795 |
+
msgid "Program Summary"
|
1796 |
+
msgstr "Program Summary"
|
1797 |
+
|
1798 |
+
#: templates/forms/affiliation.php:142
|
1799 |
+
msgid "%s commission when a customer purchases a new license."
|
1800 |
+
msgstr "%s commission when a customer purchases a new license."
|
1801 |
+
|
1802 |
+
#: templates/forms/affiliation.php:144
|
1803 |
+
msgid "Get commission for automated subscription renewals."
|
1804 |
+
msgstr "Get commission for automated subscription renewals."
|
1805 |
+
|
1806 |
+
#: templates/forms/affiliation.php:147
|
1807 |
+
msgid "%s tracking cookie after the first visit to maximize earnings potential."
|
1808 |
+
msgstr "%s tracking cookie after the first visit to maximize earnings potential."
|
1809 |
+
|
1810 |
+
#: templates/forms/affiliation.php:150
|
1811 |
+
msgid "Unlimited commissions."
|
1812 |
+
msgstr "Unlimited commissions."
|
1813 |
+
|
1814 |
+
#: templates/forms/affiliation.php:152
|
1815 |
+
msgid "%s minimum payout amount."
|
1816 |
+
msgstr "%s minimum payout amount."
|
1817 |
+
|
1818 |
+
#: templates/forms/affiliation.php:153
|
1819 |
+
msgid "Payouts are in USD and processed monthly via PayPal."
|
1820 |
+
msgstr "Payouts are in USD and processed monthly via PayPal."
|
1821 |
+
|
1822 |
+
#: templates/forms/affiliation.php:154
|
1823 |
+
msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
1824 |
+
msgstr "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
1825 |
+
|
1826 |
+
#: templates/forms/affiliation.php:157
|
1827 |
+
msgid "Affiliate"
|
1828 |
+
msgstr "Affiliate"
|
1829 |
+
|
1830 |
+
#: templates/forms/affiliation.php160, templates/forms/resend-key.php:23
|
1831 |
+
msgid "Email address"
|
1832 |
+
msgstr "Dirección de correo electrónico"
|
1833 |
+
|
1834 |
+
#: templates/forms/affiliation.php:164
|
1835 |
+
msgid "Full name"
|
1836 |
+
msgstr "Full name"
|
1837 |
+
|
1838 |
+
#: templates/forms/affiliation.php:168
|
1839 |
+
msgid "PayPal account email address"
|
1840 |
+
msgstr "PayPal account email address"
|
1841 |
+
|
1842 |
+
#: templates/forms/affiliation.php:172
|
1843 |
+
msgid "Where are you going to promote the %s?"
|
1844 |
+
msgstr "Where are you going to promote the %s?"
|
1845 |
+
|
1846 |
+
#: templates/forms/affiliation.php:174
|
1847 |
+
msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
|
1848 |
+
msgstr "Enter the domain of your website or other websites from where you plan to promote the %s."
|
1849 |
+
|
1850 |
+
#: templates/forms/affiliation.php:176
|
1851 |
+
msgid "Add another domain"
|
1852 |
+
msgstr "Add another domain"
|
1853 |
+
|
1854 |
+
#: templates/forms/affiliation.php:180
|
1855 |
+
msgid "Extra Domains"
|
1856 |
+
msgstr "Extra Domains"
|
1857 |
+
|
1858 |
+
#: templates/forms/affiliation.php:181
|
1859 |
+
msgid "Extra domains where you will be marketing the product from."
|
1860 |
+
msgstr "Extra domains where you will be marketing the product from."
|
1861 |
+
|
1862 |
+
#: templates/forms/affiliation.php:191
|
1863 |
+
msgid "Promotion methods"
|
1864 |
+
msgstr "Promotion methods"
|
1865 |
+
|
1866 |
+
#: templates/forms/affiliation.php:194
|
1867 |
+
msgid "Social media (Facebook, Twitter, etc.)"
|
1868 |
+
msgstr "Social media (Facebook, Twitter, etc.)"
|
1869 |
+
|
1870 |
+
#: templates/forms/affiliation.php:198
|
1871 |
+
msgid "Mobile apps"
|
1872 |
+
msgstr "Mobile apps"
|
1873 |
+
|
1874 |
+
#: templates/forms/affiliation.php:202
|
1875 |
+
msgid "Website, email, and social media statistics (optional)"
|
1876 |
+
msgstr "Website, email, and social media statistics (optional)"
|
1877 |
+
|
1878 |
+
#: templates/forms/affiliation.php:205
|
1879 |
+
msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
1880 |
+
msgstr "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
1881 |
+
|
1882 |
+
#: templates/forms/affiliation.php:209
|
1883 |
+
msgid "How will you promote us?"
|
1884 |
+
msgstr "How will you promote us?"
|
1885 |
+
|
1886 |
+
#: templates/forms/affiliation.php:212
|
1887 |
+
msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
1888 |
+
msgstr "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
1889 |
+
|
1890 |
+
#: templates/forms/affiliation.php218, templates/forms/resend-key.php:22
|
1891 |
+
msgid "Cancel"
|
1892 |
+
msgstr "Cancelar"
|
1893 |
+
|
1894 |
+
#: templates/forms/affiliation.php:220
|
1895 |
+
msgid "Become an affiliate"
|
1896 |
+
msgstr "Become an affiliate"
|
1897 |
+
|
1898 |
+
#: templates/forms/affiliation.php:275
|
1899 |
+
msgid "Email address is required."
|
1900 |
+
msgstr "Email address is required."
|
1901 |
+
|
1902 |
+
#: templates/forms/affiliation.php:281
|
1903 |
+
msgid "PayPal email address is required."
|
1904 |
+
msgstr "PayPal email address is required."
|
1905 |
+
|
1906 |
+
#: templates/forms/affiliation.php:291
|
1907 |
+
msgid "Domain is required."
|
1908 |
+
msgstr "Domain is required."
|
1909 |
+
|
1910 |
+
#: templates/forms/affiliation.php294, templates/forms/affiliation.php:308
|
1911 |
+
msgid "Invalid domain"
|
1912 |
+
msgstr "Invalid domain"
|
1913 |
+
|
1914 |
+
#: templates/forms/affiliation.php:364
|
1915 |
+
msgid "Processing"
|
1916 |
+
msgstr "Processing"
|
1917 |
+
|
1918 |
+
#: templates/forms/license-activation.php:20
|
1919 |
+
msgid "Please enter the license key that you received in the email right after the purchase:"
|
1920 |
+
msgstr "Por favor, introduce la clave de licencia que recibiste en el correo electrónico al realizar la compra:"
|
1921 |
+
|
1922 |
+
#: templates/forms/license-activation.php:25
|
1923 |
+
msgid "Update License"
|
1924 |
+
msgstr "Activar Licencia"
|
1925 |
+
|
1926 |
+
#: templates/forms/optout.php:30
|
1927 |
+
msgctxt "verb"
|
1928 |
+
msgid "Opt Out"
|
1929 |
+
msgstr "Darse de baja"
|
1930 |
+
|
1931 |
+
#: templates/forms/optout.php:31
|
1932 |
+
msgctxt "verb"
|
1933 |
+
msgid "Opt In"
|
1934 |
+
msgstr "Inscribirse"
|
1935 |
+
|
1936 |
+
#: templates/forms/optout.php:32
|
1937 |
+
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
1938 |
+
msgstr "Agradecemos tu ayuda para mejorar %s y por permitirnos rastrear algunos datos de uso."
|
1939 |
+
|
1940 |
+
#: templates/forms/optout.php:33
|
1941 |
+
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
1942 |
+
msgstr "El uso del seguimiento se hace con la intención de mejorar %s. Crear una mejor experiencia de usuario, priorizando nuevas características y cosas mejores. Realmente apreciaríamos que considerases permitirnos continuar con el seguimiento."
|
1943 |
+
|
1944 |
+
#: templates/forms/optout.php:35
|
1945 |
+
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
1946 |
+
msgstr "Haciendo clic en \"Desistir\", ya no enviaremos los datos de %s a %s."
|
1947 |
+
|
1948 |
+
#: templates/forms/resend-key.php:21
|
1949 |
+
msgid "Send License Key"
|
1950 |
+
msgstr "Enviar Clave de Licencia"
|
1951 |
+
|
1952 |
+
#: templates/forms/resend-key.php:57
|
1953 |
+
msgid "Enter the email address you've used for the upgrade below and we will resend you the license key."
|
1954 |
+
msgstr "Escribe abajo la dirección de correo electrónico que has usado para la actualización y te reenviaremos la clave de licencia."
|
1955 |
+
|
1956 |
+
#: templates/forms/trial-start.php:22
|
1957 |
+
msgid "You are 1-click away from starting your %1$s-day free trial of the %2$s plan."
|
1958 |
+
msgstr "Estás a sólo 1-click de comenzar tu %1$s días de prueba gratuita del plan %2$s."
|
1959 |
+
|
1960 |
+
#: templates/forms/trial-start.php:28
|
1961 |
+
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
1962 |
+
msgstr "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
1963 |
+
|
1964 |
+
#: templates/js/style-premium-theme.php:37
|
1965 |
+
msgid "Premium"
|
1966 |
+
msgstr "Premium"
|
1967 |
+
|
1968 |
+
#: templates/plugin-info/description.php72,
|
1969 |
+
#: templates/plugin-info/screenshots.php:31
|
1970 |
+
msgid "Click to view full-size screenshot %d"
|
1971 |
+
msgstr "Click para ver la captura de pantalla a tamaño completo %d"
|
1972 |
+
|
1973 |
+
#: templates/plugin-info/features.php:56
|
1974 |
+
msgid "Unlimited Updates"
|
1975 |
+
msgstr "Actualizaciones Ilimitadas"
|
1976 |
+
|
1977 |
+
#: templates/forms/deactivation/contact.php:19
|
1978 |
+
msgid "Sorry for the inconvenience and we are here to help if you give us a chance."
|
1979 |
+
msgstr "Disculpa las molestias y estamos aquí para ayudarte si nos das una oportunidad."
|
1980 |
+
|
1981 |
+
#: templates/forms/deactivation/contact.php:22
|
1982 |
+
msgid "Contact Support"
|
1983 |
+
msgstr "Contactar Soporte"
|
1984 |
+
|
1985 |
+
#: templates/forms/deactivation/form.php:56
|
1986 |
+
msgid "Anonymous feedback"
|
1987 |
+
msgstr "Comentarios anónimos"
|
1988 |
+
|
1989 |
+
#: templates/forms/deactivation/form.php:63
|
1990 |
+
msgid "Deactivate"
|
1991 |
+
msgstr "Desactivar"
|
1992 |
+
|
1993 |
+
#: templates/forms/deactivation/form.php:65
|
1994 |
+
msgid "Activate %s"
|
1995 |
+
msgstr "Activar %s"
|
1996 |
+
|
1997 |
+
#: templates/forms/deactivation/form.php:76
|
1998 |
+
msgid "Quick feedback"
|
1999 |
+
msgstr "Comentarios rápidos"
|
2000 |
+
|
2001 |
+
#: templates/forms/deactivation/form.php:80
|
2002 |
+
msgid "If you have a moment, please let us know why you are %s"
|
2003 |
+
msgstr "Si tienes un momento, por favor, dinos por qué estás desactivando %s"
|
2004 |
+
|
2005 |
+
#: templates/forms/deactivation/form.php:80
|
2006 |
+
msgid "deactivating"
|
2007 |
+
msgstr "desactivando"
|
2008 |
+
|
2009 |
+
#: templates/forms/deactivation/form.php:80
|
2010 |
+
msgid "switching"
|
2011 |
+
msgstr "cambiando"
|
2012 |
+
|
2013 |
+
#: templates/forms/deactivation/form.php:248
|
2014 |
+
msgid "Submit & %s"
|
2015 |
+
msgstr "Enviar y %s"
|
2016 |
+
|
2017 |
+
#: templates/forms/deactivation/form.php:269
|
2018 |
+
msgid "Kindly tell us the reason so we can improve."
|
2019 |
+
msgstr "Por favor, dínos la razón para que podamos mejorar."
|
2020 |
+
|
2021 |
+
#: templates/forms/deactivation/form.php:390
|
2022 |
+
msgid "Yes - %s"
|
2023 |
+
msgstr "Si - %s"
|
2024 |
+
|
2025 |
+
#: templates/forms/deactivation/form.php:397
|
2026 |
+
msgid "Skip & %s"
|
2027 |
+
msgstr "Saltar y %s"
|
2028 |
+
|
2029 |
+
#: templates/forms/deactivation/retry-skip.php:21
|
2030 |
+
msgid "Click here to use the plugin anonymously"
|
2031 |
+
msgstr "Haz Click aquí para utilizar el plugin de forma anónima"
|
2032 |
+
|
2033 |
+
#: templates/forms/deactivation/retry-skip.php:23
|
2034 |
+
msgid "You might have missed it, but you don't have to share any data and can just %s the opt-in."
|
2035 |
+
msgstr "Es posible que te lo hayas perdido, pero no tienes que compartir ningún dato y puedes solo aceptar %s."
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-he.mo
DELETED
Binary file
|
includes/vendor/freemius/wordpress-sdk/languages/freemius-he_IL.mo
ADDED
Binary file
|
includes/vendor/freemius/wordpress-sdk/languages/{freemius-he.po → freemius-he_IL.po}
RENAMED
@@ -2,1826 +2,2035 @@
|
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
# Rami Yushuvaev <r_a_m_i@hotmail.com>, 2017
|
5 |
-
# Vova Feldman <vova@freemius.com>,
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
"POT-Creation-Date: \n"
|
11 |
-
"PO-Revision-Date: 2017-
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
-
"Language:
|
14 |
-
"Language-Team: Hebrew (http://www.transifex.com/freemius/wordpress-sdk/language/
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-Basepath: ..\n"
|
20 |
-
"X-Poedit-KeywordsList:
|
21 |
"X-Poedit-SearchPath-0: .\n"
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
|
25 |
-
#: includes/
|
26 |
-
msgid "
|
27 |
-
msgstr "
|
28 |
-
|
29 |
-
#: includes/i18n.php:38
|
30 |
-
msgid "Add-On"
|
31 |
-
msgstr "Add-On"
|
32 |
|
33 |
-
#: includes/
|
34 |
-
msgid "
|
35 |
-
msgstr "
|
36 |
|
37 |
-
#: includes/
|
38 |
-
msgid "
|
39 |
-
msgstr "
|
40 |
|
41 |
-
#: includes/
|
42 |
-
msgid "
|
43 |
-
msgstr "
|
44 |
|
45 |
-
#: includes/
|
46 |
-
msgid "
|
47 |
-
msgstr "
|
48 |
|
49 |
-
#: includes/
|
50 |
-
msgid "
|
51 |
-
msgstr "
|
52 |
|
53 |
-
#: includes/
|
54 |
-
msgid "
|
55 |
-
msgstr "
|
56 |
|
57 |
-
#: includes/
|
58 |
-
|
59 |
-
|
60 |
-
msgstr "שדרג"
|
61 |
|
62 |
-
#: includes/
|
63 |
-
msgid "
|
64 |
-
msgstr "
|
65 |
|
66 |
-
#: includes/
|
67 |
-
|
68 |
-
|
69 |
-
msgstr "מחירון"
|
70 |
|
71 |
-
#: includes/
|
72 |
-
|
73 |
-
|
74 |
-
msgstr "מחיר"
|
75 |
|
76 |
-
#: includes/
|
77 |
-
msgid "
|
78 |
-
msgstr "
|
79 |
|
80 |
-
#: includes/
|
81 |
-
|
82 |
-
|
83 |
-
msgstr "שנמך"
|
84 |
|
85 |
-
#: includes/
|
86 |
-
|
87 |
-
|
88 |
-
msgstr "בטל מנוי"
|
89 |
|
90 |
-
#: includes/
|
91 |
-
msgid "
|
92 |
-
msgstr "
|
93 |
|
94 |
-
#: includes/
|
95 |
-
msgid "
|
96 |
-
msgstr "
|
97 |
|
98 |
-
#: includes/
|
99 |
-
msgid "
|
100 |
-
msgstr "
|
101 |
|
102 |
-
#: includes/
|
103 |
-
msgid "
|
104 |
-
msgstr "
|
105 |
|
106 |
-
#: includes/
|
107 |
-
msgid "
|
108 |
-
msgstr "
|
109 |
|
110 |
-
#: includes/
|
111 |
-
msgid "
|
112 |
-
msgstr "
|
113 |
|
114 |
-
#: includes/
|
115 |
-
msgid "
|
116 |
-
msgstr "
|
117 |
|
118 |
-
#: includes/
|
119 |
-
|
120 |
-
|
121 |
-
msgstr "מחק"
|
122 |
|
123 |
-
#: includes/
|
124 |
-
|
125 |
-
|
126 |
-
msgstr "הצג"
|
127 |
|
128 |
-
#: includes/
|
129 |
-
|
130 |
-
|
131 |
-
msgstr "הסתר"
|
132 |
|
133 |
-
#: includes/
|
134 |
-
|
135 |
-
|
136 |
-
msgstr "ערוך"
|
137 |
|
138 |
-
#: includes/
|
139 |
-
|
140 |
-
|
141 |
-
msgstr "עדכן"
|
142 |
|
143 |
-
#: includes/
|
144 |
-
msgid "
|
145 |
-
msgstr "
|
146 |
|
147 |
-
#: includes/
|
148 |
-
msgid "
|
149 |
-
msgstr "
|
150 |
|
151 |
-
#: includes/
|
152 |
-
msgid "
|
153 |
-
msgstr "
|
154 |
|
155 |
-
#: includes/
|
156 |
-
msgid "
|
157 |
-
msgstr "
|
158 |
|
159 |
-
#: includes/
|
160 |
-
msgid "
|
161 |
-
msgstr "
|
162 |
|
163 |
-
#: includes/
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
-
#: includes/
|
168 |
-
|
169 |
-
|
170 |
-
msgstr "סגירה"
|
171 |
|
172 |
-
#: includes/
|
173 |
-
msgctxt "
|
174 |
-
msgid "
|
175 |
-
msgstr "
|
176 |
|
177 |
-
#: includes/
|
178 |
-
|
179 |
-
|
|
|
180 |
|
181 |
-
#: includes/
|
182 |
-
|
183 |
-
msgid "
|
184 |
-
msgstr "
|
185 |
|
186 |
-
#: includes/
|
187 |
-
|
188 |
-
|
189 |
-
msgstr "הורד עכשיו גרסת %s"
|
190 |
|
191 |
-
#: includes/
|
192 |
-
msgctxt "
|
193 |
-
msgid "
|
194 |
-
msgstr "
|
195 |
|
196 |
-
#: includes/
|
197 |
-
msgctxt "E.g. you have a professional license."
|
198 |
msgid "You have a %s license."
|
199 |
msgstr "יש לך רישיון %s."
|
200 |
|
201 |
-
#: includes/
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
msgid "
|
207 |
-
msgstr "
|
208 |
|
209 |
-
#: includes/
|
210 |
-
|
211 |
-
|
212 |
-
msgstr "ניסיון"
|
213 |
|
214 |
-
#: includes/
|
215 |
-
|
216 |
-
|
217 |
-
msgstr "התחל תקופת ניסיון"
|
218 |
|
219 |
-
#: includes/
|
220 |
-
|
221 |
-
msgid "
|
222 |
-
msgstr "
|
223 |
|
224 |
-
#: includes/
|
225 |
msgid "Purchase License"
|
226 |
msgstr "קניית רישיון"
|
227 |
|
228 |
-
#: includes/
|
229 |
-
|
230 |
-
|
231 |
-
msgstr "קנייה"
|
232 |
-
|
233 |
-
#: includes/i18n.php:84
|
234 |
-
msgid "Buy License"
|
235 |
-
msgstr "קניית רישיון"
|
236 |
-
|
237 |
-
#: includes/i18n.php:85
|
238 |
-
msgid "Single Site License"
|
239 |
-
msgstr "רשיון לאתר אחד"
|
240 |
-
|
241 |
-
#: includes/i18n.php:86
|
242 |
-
msgid "Unlimited Licenses"
|
243 |
-
msgstr "רשיונות ללא הגבלה"
|
244 |
-
|
245 |
-
#: includes/i18n.php:87
|
246 |
-
msgid "Up to %s Sites"
|
247 |
-
msgstr "עד %s אתרים"
|
248 |
-
|
249 |
-
#: includes/i18n.php:88
|
250 |
-
msgid "%sRenew your license now%s to access version %s features and support."
|
251 |
-
msgstr "%sRenew your license now%s to access version %s features and support."
|
252 |
|
253 |
-
#: includes/
|
254 |
-
msgid "
|
255 |
-
msgstr "
|
256 |
|
257 |
-
#: includes/
|
258 |
-
|
259 |
-
|
260 |
-
msgstr "חבילה %s"
|
261 |
|
262 |
-
#: includes/
|
263 |
msgid "You are just one step away - %s"
|
264 |
msgstr "You are just one step away - %s"
|
265 |
|
266 |
-
#: includes/
|
267 |
-
msgctxt "%s - plugin name. As complete \"
|
268 |
msgid "Complete \"%s\" Activation Now"
|
269 |
msgstr "השלם הפעלת \"%s\" עכשיו"
|
270 |
|
271 |
-
#: includes/
|
272 |
msgid "We made a few tweaks to the %s, %s"
|
273 |
msgstr "We made a few tweaks to the %s, %s"
|
274 |
|
275 |
-
#: includes/
|
276 |
-
msgid "Opt
|
277 |
-
msgstr "Opt
|
278 |
|
279 |
-
#: includes/
|
280 |
-
msgid "
|
281 |
-
msgstr "
|
282 |
-
|
283 |
-
#: includes/i18n.php:97
|
284 |
-
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
285 |
-
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
286 |
|
287 |
-
#: includes/
|
288 |
-
|
289 |
-
|
290 |
-
|
|
|
291 |
|
292 |
-
#: includes/
|
293 |
-
|
294 |
-
msgid "
|
295 |
-
msgstr "
|
296 |
|
297 |
-
#: includes/
|
298 |
-
|
299 |
-
|
|
|
300 |
|
301 |
-
#: includes/
|
302 |
-
msgid "
|
303 |
-
msgstr "
|
304 |
|
305 |
-
#: includes/
|
306 |
-
|
307 |
-
|
308 |
-
msgstr "פג תוקף בעוד %s"
|
309 |
|
310 |
-
#: includes/
|
311 |
-
|
312 |
-
|
313 |
-
msgstr "עדכן אוטומטית בעוד %s"
|
314 |
|
315 |
-
#: includes/
|
316 |
-
|
317 |
-
|
|
|
318 |
|
319 |
-
#: includes/
|
320 |
-
msgid "
|
321 |
-
msgstr "
|
322 |
|
323 |
-
#: includes/
|
324 |
-
msgid "
|
325 |
-
msgstr "
|
326 |
|
327 |
-
#: includes/
|
328 |
-
|
329 |
-
msgid "
|
330 |
-
msgstr "
|
331 |
|
332 |
-
#: includes/
|
333 |
-
|
334 |
-
msgid "
|
335 |
-
msgstr "
|
336 |
|
337 |
-
#: includes/
|
338 |
-
msgid "
|
339 |
-
msgstr "
|
340 |
|
341 |
-
#: includes/
|
342 |
-
|
343 |
-
|
344 |
-
msgstr "גרסה"
|
345 |
|
346 |
-
#: includes/
|
347 |
-
msgid "
|
348 |
-
msgstr "
|
349 |
|
350 |
-
#: includes/
|
351 |
-
msgid "
|
352 |
-
msgstr "
|
353 |
|
354 |
-
#: includes/
|
355 |
-
|
356 |
-
|
|
|
357 |
|
358 |
-
#: includes/
|
359 |
-
|
360 |
-
|
|
|
361 |
|
362 |
-
#: includes/
|
363 |
-
|
364 |
-
|
|
|
365 |
|
366 |
-
#: includes/
|
367 |
-
|
368 |
-
|
|
|
369 |
|
370 |
-
#: includes/
|
371 |
-
|
372 |
-
|
|
|
373 |
|
374 |
-
#: includes/
|
375 |
-
msgid "
|
376 |
-
msgstr "
|
377 |
|
378 |
-
#: includes/
|
379 |
-
|
380 |
-
|
|
|
381 |
|
382 |
-
#: includes/
|
383 |
-
msgid "
|
384 |
-
msgstr "
|
385 |
|
386 |
-
#: includes/
|
387 |
-
|
388 |
-
|
389 |
-
msgstr "נתיב"
|
390 |
|
391 |
-
#: includes/
|
392 |
-
msgid "
|
393 |
-
msgstr "
|
394 |
|
395 |
-
#: includes/
|
396 |
-
|
397 |
-
|
|
|
398 |
|
399 |
-
#: includes/
|
400 |
-
|
401 |
-
|
|
|
402 |
|
403 |
-
#: includes/
|
404 |
-
|
405 |
-
|
406 |
-
msgstr "מזהה כתובת"
|
407 |
|
408 |
-
#: includes/
|
409 |
-
|
410 |
-
|
|
|
|
|
411 |
|
412 |
-
#: includes/
|
413 |
-
msgid "
|
414 |
-
msgstr "
|
415 |
|
416 |
-
#: includes/
|
417 |
-
|
418 |
-
|
|
|
|
|
419 |
|
420 |
-
#: includes/
|
421 |
-
|
422 |
-
|
423 |
-
msgstr "אתרים"
|
424 |
|
425 |
-
#: includes/
|
426 |
-
msgid "
|
427 |
-
msgstr "
|
428 |
|
429 |
-
#: includes/
|
430 |
-
msgid "
|
431 |
-
msgstr "
|
432 |
|
433 |
-
#: includes/
|
434 |
-
msgid "
|
435 |
-
msgstr "
|
436 |
|
437 |
-
#: includes/
|
438 |
-
msgid "
|
439 |
-
msgstr "
|
440 |
|
441 |
-
#: includes/
|
442 |
-
|
443 |
-
|
444 |
-
msgstr "אין מפתח סודי"
|
445 |
|
446 |
-
#: includes/
|
447 |
-
msgid "
|
448 |
-
msgstr "
|
449 |
|
450 |
-
#: includes/
|
451 |
-
|
452 |
-
|
453 |
-
msgstr "סינכרן רישיון"
|
454 |
|
455 |
-
#: includes/
|
456 |
-
|
457 |
-
|
458 |
-
msgstr "סינכרון"
|
459 |
|
460 |
-
#: includes/
|
461 |
-
msgid "
|
462 |
-
msgstr "
|
463 |
|
464 |
-
#: includes/
|
465 |
-
msgid "
|
466 |
-
msgstr "
|
467 |
|
468 |
-
#: includes/
|
469 |
-
msgid "
|
470 |
-
msgstr "
|
471 |
|
472 |
-
#: includes/
|
473 |
-
msgid "
|
474 |
-
msgstr "
|
475 |
|
476 |
-
#: includes/
|
477 |
-
msgid "
|
478 |
-
msgstr "
|
479 |
|
480 |
-
#: includes/
|
481 |
-
msgid "
|
482 |
-
msgstr "
|
483 |
|
484 |
-
#: includes/
|
485 |
-
msgid "
|
486 |
-
msgstr "
|
487 |
|
488 |
-
#: includes/
|
489 |
-
msgid "
|
490 |
-
msgstr "
|
491 |
|
492 |
-
#: includes/
|
493 |
-
msgid "
|
494 |
-
msgstr "
|
495 |
|
496 |
-
#: includes/
|
497 |
-
msgid "
|
498 |
-
msgstr "
|
499 |
|
500 |
-
#: includes/
|
501 |
-
msgid "
|
502 |
-
msgstr "
|
503 |
|
504 |
-
#: includes/
|
505 |
-
msgid "
|
506 |
-
msgstr "
|
507 |
|
508 |
-
#: includes/
|
509 |
-
msgid "
|
510 |
-
msgstr "
|
511 |
|
512 |
-
#: includes/
|
513 |
-
|
514 |
-
|
515 |
-
msgstr "מופעל"
|
516 |
|
517 |
-
#: includes/
|
518 |
-
|
519 |
-
|
520 |
-
msgstr "האם פעיל"
|
521 |
|
522 |
-
#: includes/
|
523 |
-
msgid "
|
524 |
-
msgstr "
|
525 |
|
526 |
-
#: includes/
|
527 |
-
msgid "
|
528 |
-
msgstr "
|
529 |
|
530 |
-
#: includes/
|
531 |
-
msgid "
|
532 |
-
msgstr "
|
533 |
|
534 |
-
#: includes/
|
535 |
-
msgid "
|
536 |
-
msgstr "
|
537 |
|
538 |
-
#: includes/
|
539 |
-
|
540 |
-
|
541 |
-
msgstr "הפעל חבילה %s"
|
542 |
|
543 |
-
#: includes/
|
544 |
-
|
545 |
-
|
546 |
-
msgstr "נשארו %s"
|
547 |
|
548 |
-
#: includes/
|
549 |
-
msgid "
|
550 |
-
msgstr "
|
551 |
|
552 |
-
#: includes/
|
553 |
-
msgid "
|
554 |
-
msgstr "
|
555 |
|
556 |
-
#: includes/
|
557 |
-
msgid "
|
558 |
-
msgstr "
|
559 |
|
560 |
-
#: includes/
|
561 |
-
msgid "
|
562 |
-
msgstr "
|
563 |
|
564 |
-
#: includes/
|
565 |
-
|
566 |
-
|
|
|
567 |
|
568 |
-
#: includes/
|
569 |
-
msgid "
|
570 |
-
msgstr "
|
571 |
|
572 |
-
#: includes/
|
573 |
-
msgid "
|
574 |
-
msgstr "
|
575 |
|
576 |
-
#: includes/
|
577 |
-
msgid "
|
578 |
-
msgstr "
|
579 |
|
580 |
-
#: includes/
|
581 |
-
msgid "
|
582 |
-
msgstr "
|
583 |
|
584 |
-
#: includes/
|
585 |
-
msgid "
|
586 |
-
msgstr "
|
587 |
|
588 |
-
#: includes/
|
589 |
-
msgid "
|
590 |
-
msgstr "
|
591 |
|
592 |
-
#: includes/
|
593 |
-
msgid "
|
594 |
-
msgstr "
|
595 |
|
596 |
-
#: includes/
|
597 |
-
msgid "
|
598 |
-
msgstr "
|
599 |
|
600 |
-
#: includes/
|
601 |
-
|
602 |
-
|
|
|
603 |
|
604 |
-
#: includes/
|
605 |
-
msgid "
|
606 |
-
msgstr "
|
607 |
|
608 |
-
#: includes/
|
609 |
-
|
610 |
-
|
|
|
611 |
|
612 |
-
#: includes/
|
613 |
-
msgid "
|
614 |
-
msgstr "
|
615 |
|
616 |
-
#: includes/
|
617 |
-
msgid "
|
618 |
-
msgstr "
|
619 |
|
620 |
-
#: includes/
|
621 |
-
msgid "
|
622 |
-
msgstr "
|
623 |
|
624 |
-
#: includes/
|
625 |
-
|
626 |
-
|
|
|
627 |
|
628 |
-
#: includes/
|
629 |
-
msgid "
|
630 |
-
msgstr "
|
631 |
|
632 |
-
#: includes/
|
633 |
-
msgid "
|
634 |
-
msgstr "
|
635 |
|
636 |
-
#: includes/
|
637 |
-
|
638 |
-
|
|
|
639 |
|
640 |
-
#: includes/
|
641 |
-
msgid "
|
642 |
-
msgstr "
|
643 |
|
644 |
-
#: includes/
|
645 |
-
msgid "
|
646 |
-
msgstr "
|
647 |
|
648 |
-
#: includes/
|
649 |
-
msgid "
|
650 |
-
msgstr "
|
651 |
|
652 |
-
#: includes/
|
653 |
-
msgid "
|
654 |
-
msgstr "
|
655 |
|
656 |
-
#: includes/
|
657 |
-
msgid "
|
658 |
-
msgstr "
|
659 |
|
660 |
-
#: includes/
|
661 |
-
msgid "
|
662 |
-
msgstr "
|
663 |
|
664 |
-
#: includes/
|
665 |
-
msgid "
|
666 |
-
msgstr "
|
667 |
|
668 |
-
#: includes/
|
669 |
-
msgid "
|
670 |
-
msgstr "
|
671 |
|
672 |
-
#: includes/
|
673 |
-
|
674 |
-
|
|
|
|
|
675 |
|
676 |
-
#: includes/
|
677 |
-
msgid "
|
678 |
-
msgstr "
|
679 |
|
680 |
-
#: includes/
|
681 |
-
|
682 |
-
|
683 |
-
msgstr "Other"
|
684 |
|
685 |
-
#: includes/
|
686 |
-
msgid "
|
687 |
-
msgstr "
|
688 |
|
689 |
-
#: includes/
|
690 |
-
msgid "
|
691 |
-
msgstr "
|
692 |
|
693 |
-
#: includes/
|
694 |
-
msgid "
|
695 |
-
msgstr "
|
696 |
|
697 |
-
#: includes/
|
698 |
-
msgid "
|
699 |
-
msgstr "
|
700 |
|
701 |
-
#: includes/
|
702 |
-
msgid "
|
703 |
-
msgstr "
|
704 |
|
705 |
-
#: includes/
|
706 |
-
msgid "
|
707 |
-
msgstr "
|
708 |
|
709 |
-
#: includes/
|
710 |
-
msgid "
|
711 |
-
msgstr "
|
712 |
|
713 |
-
#: includes/
|
714 |
-
|
715 |
-
|
|
|
716 |
|
717 |
-
#: includes/
|
718 |
-
msgid "
|
719 |
-
msgstr "
|
720 |
|
721 |
-
#: includes/
|
722 |
-
|
723 |
-
|
|
|
724 |
|
725 |
-
#: includes/
|
726 |
-
|
727 |
-
|
|
|
728 |
|
729 |
-
#: includes/
|
730 |
-
msgid "
|
731 |
-
msgstr "
|
732 |
|
733 |
-
#: includes/
|
734 |
-
msgid "
|
735 |
-
msgstr "
|
736 |
|
737 |
-
#: includes/
|
738 |
-
msgid "
|
739 |
-
msgstr "
|
740 |
|
741 |
-
#: includes/
|
742 |
-
|
743 |
-
|
|
|
744 |
|
745 |
-
#: includes/
|
746 |
-
msgctxt "
|
747 |
-
msgid "
|
748 |
-
msgstr "
|
749 |
|
750 |
-
#: includes/
|
751 |
-
msgctxt "
|
752 |
-
msgid "
|
753 |
-
msgstr "
|
754 |
|
755 |
-
#: includes/
|
756 |
-
|
757 |
-
|
|
|
758 |
|
759 |
-
#: includes/
|
760 |
-
|
761 |
-
|
|
|
762 |
|
763 |
-
#: includes/
|
764 |
-
|
765 |
-
|
|
|
766 |
|
767 |
-
#: includes/
|
768 |
-
|
769 |
-
|
|
|
770 |
|
771 |
-
#: includes/
|
772 |
-
|
773 |
-
|
|
|
774 |
|
775 |
-
#: includes/
|
776 |
-
msgid "
|
777 |
-
msgstr "
|
778 |
|
779 |
-
#: includes/
|
780 |
-
|
781 |
-
|
|
|
782 |
|
783 |
-
#: includes/
|
784 |
-
|
785 |
-
|
|
|
786 |
|
787 |
-
#: includes/
|
788 |
-
|
789 |
-
|
|
|
|
|
790 |
|
791 |
-
#: includes/
|
792 |
-
|
793 |
-
|
|
|
794 |
|
795 |
-
#: includes/
|
796 |
-
msgid "
|
797 |
-
msgstr "
|
798 |
|
799 |
-
#: includes/
|
800 |
-
|
801 |
-
|
|
|
|
|
|
|
802 |
|
803 |
-
#: includes/
|
804 |
-
|
805 |
-
|
|
|
806 |
|
807 |
-
#: includes/
|
808 |
-
|
809 |
-
|
|
|
810 |
|
811 |
-
#: includes/
|
812 |
-
msgid "
|
813 |
-
msgstr "
|
814 |
|
815 |
-
#: includes/
|
816 |
-
msgid "
|
817 |
-
msgstr "
|
818 |
|
819 |
-
#: includes/
|
820 |
-
msgid "
|
821 |
-
msgstr "
|
822 |
|
823 |
-
#: includes/
|
824 |
-
|
825 |
-
|
|
|
|
|
826 |
|
827 |
-
#: includes/
|
828 |
-
|
829 |
-
|
|
|
|
|
830 |
|
831 |
-
#: includes/
|
832 |
-
|
833 |
-
|
|
|
834 |
|
835 |
-
#: includes/
|
836 |
-
|
837 |
-
|
|
|
838 |
|
839 |
-
#: includes/
|
840 |
-
|
841 |
-
|
842 |
-
msgstr "מפעיל"
|
843 |
|
844 |
-
#: includes/
|
845 |
-
|
846 |
-
|
847 |
-
msgstr "שולח דוא\"ל"
|
848 |
|
849 |
-
#: includes/
|
850 |
-
|
851 |
-
|
852 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
853 |
|
854 |
-
#:
|
855 |
-
msgctxt "
|
856 |
-
msgid "
|
857 |
-
msgstr "
|
858 |
|
859 |
-
#:
|
860 |
-
|
861 |
-
|
862 |
-
msgstr "דלג"
|
863 |
|
864 |
-
#:
|
865 |
-
msgid "
|
866 |
-
msgstr "
|
867 |
|
868 |
-
#:
|
869 |
-
msgid "
|
870 |
-
msgstr "
|
871 |
|
872 |
-
#:
|
873 |
-
msgid "
|
874 |
-
msgstr "
|
875 |
|
876 |
-
#:
|
877 |
-
msgid "
|
878 |
-
msgstr "
|
879 |
|
880 |
-
#:
|
881 |
-
|
882 |
-
|
|
|
883 |
|
884 |
-
#:
|
885 |
-
|
886 |
-
|
|
|
887 |
|
888 |
-
#:
|
889 |
-
|
890 |
-
|
|
|
891 |
|
892 |
-
#:
|
893 |
-
msgid "
|
894 |
-
msgstr "
|
895 |
|
896 |
-
#:
|
897 |
-
msgid "
|
898 |
-
msgstr "
|
899 |
|
900 |
-
#:
|
901 |
-
msgid "
|
902 |
-
msgstr "
|
903 |
|
904 |
-
#:
|
905 |
-
msgid "
|
906 |
-
msgstr "
|
907 |
|
908 |
-
#:
|
909 |
-
|
910 |
-
|
|
|
911 |
|
912 |
-
#:
|
913 |
-
msgid "
|
914 |
-
msgstr "
|
915 |
|
916 |
-
#:
|
917 |
-
msgid "
|
918 |
-
msgstr "
|
919 |
|
920 |
-
#:
|
921 |
-
msgid "
|
922 |
-
msgstr "
|
923 |
|
924 |
-
#:
|
925 |
-
msgid "
|
926 |
-
msgstr "
|
927 |
|
928 |
-
#:
|
929 |
-
msgid "
|
930 |
-
msgstr "
|
931 |
|
932 |
-
#:
|
933 |
-
|
934 |
-
|
|
|
935 |
|
936 |
-
#:
|
937 |
-
msgid "
|
938 |
-
msgstr "
|
939 |
|
940 |
-
#:
|
941 |
-
|
942 |
-
|
|
|
943 |
|
944 |
-
#:
|
945 |
-
|
946 |
-
|
|
|
947 |
|
948 |
-
#:
|
949 |
-
|
950 |
-
|
951 |
-
|
|
|
|
|
952 |
|
953 |
-
#:
|
954 |
-
msgctxt "as
|
955 |
-
msgid "
|
956 |
-
msgstr "
|
957 |
|
958 |
-
#:
|
959 |
-
|
960 |
-
|
961 |
-
msgstr "דיבוג"
|
962 |
|
963 |
-
#:
|
964 |
-
msgid "
|
965 |
-
msgstr "
|
966 |
|
967 |
-
#:
|
968 |
-
|
969 |
-
|
970 |
-
msgstr "מחובר"
|
971 |
|
972 |
-
#:
|
973 |
-
|
974 |
-
|
975 |
-
msgstr "חסום"
|
976 |
|
977 |
-
#:
|
978 |
-
msgctxt "
|
979 |
-
msgid "
|
980 |
-
msgstr "
|
981 |
|
982 |
-
#:
|
983 |
-
|
984 |
-
|
985 |
-
msgstr "SDK"
|
986 |
|
987 |
-
#:
|
988 |
-
|
989 |
-
|
990 |
-
msgstr "גרסאות SDK"
|
991 |
|
992 |
-
#:
|
993 |
-
|
994 |
-
|
995 |
-
msgstr "נתיב התוסף"
|
996 |
|
997 |
-
#:
|
998 |
-
|
999 |
-
|
1000 |
-
|
|
|
1001 |
|
1002 |
-
#:
|
1003 |
-
msgid "
|
1004 |
-
msgstr "
|
1005 |
|
1006 |
-
#:
|
1007 |
-
msgid "
|
1008 |
-
msgstr "
|
1009 |
|
1010 |
-
#:
|
1011 |
-
msgid "
|
1012 |
-
msgstr "
|
1013 |
|
1014 |
-
#:
|
1015 |
-
msgid "
|
1016 |
-
msgstr "
|
1017 |
|
1018 |
-
#:
|
1019 |
-
msgid "
|
1020 |
-
msgstr "
|
1021 |
|
1022 |
-
#:
|
1023 |
-
msgid "
|
1024 |
-
msgstr "
|
1025 |
|
1026 |
-
#:
|
1027 |
-
msgid "
|
1028 |
-
msgstr "
|
1029 |
|
1030 |
-
#:
|
1031 |
-
msgid "
|
1032 |
-
msgstr "
|
1033 |
|
1034 |
-
#:
|
1035 |
-
msgid "
|
1036 |
-
msgstr "
|
1037 |
|
1038 |
-
#:
|
1039 |
-
msgid "
|
1040 |
-
msgstr "
|
1041 |
|
1042 |
-
#:
|
1043 |
-
msgid "
|
1044 |
-
msgstr "
|
1045 |
|
1046 |
-
#:
|
1047 |
-
|
1048 |
-
|
|
|
1049 |
|
1050 |
-
#:
|
1051 |
-
msgid "
|
1052 |
-
msgstr "
|
1053 |
|
1054 |
-
#:
|
1055 |
-
msgid "
|
1056 |
-
msgstr "
|
1057 |
|
1058 |
-
#:
|
1059 |
-
msgid "
|
1060 |
-
msgstr "פונקציה"
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
# Translators:
|
4 |
# Rami Yushuvaev <r_a_m_i@hotmail.com>, 2017
|
5 |
+
# Vova Feldman <vova@freemius.com>, 2017
|
6 |
msgid ""
|
7 |
msgstr ""
|
8 |
"Project-Id-Version: WordPress SDK\n"
|
9 |
"Report-Msgid-Bugs-To: https://github.com/Freemius/wordpress-sdk/issues\n"
|
10 |
"POT-Creation-Date: \n"
|
11 |
+
"PO-Revision-Date: 2017-12-04 15:57+0000\n"
|
12 |
"Last-Translator: Vova Feldman <vova@freemius.com>\n"
|
13 |
+
"Language: he_IL\n"
|
14 |
+
"Language-Team: Hebrew (Israel) (http://www.transifex.com/freemius/wordpress-sdk/language/he_IL/)\n"
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-Basepath: ..\n"
|
20 |
+
"X-Poedit-KeywordsList: get_text_inline;fs_text_inline;fs_echo_inline;fs_esc_js_inline;fs_esc_attr_inline;fs_esc_attr_echo_inline;fs_esc_html_inline;fs_esc_html_echo_inline;get_text_x_inline:1,2c;fs_text_x_inline:1,2c;fs_echo_x_inline:1,2c;fs_esc_attr_x_inline:1,2c;fs_esc_js_x_inline:1,2c;fs_esc_js_echo_x_inline:1,2c;fs_esc_html_x_inline:1,2c;fs_esc_html_echo_x_inline:1,2c\n"
|
21 |
"X-Poedit-SearchPath-0: .\n"
|
22 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
23 |
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
|
25 |
+
#: includes/class-freemius.php:959
|
26 |
+
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
27 |
+
msgstr "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
|
|
|
|
|
|
|
|
28 |
|
29 |
+
#: includes/class-freemius.php:961
|
30 |
+
msgid "Error"
|
31 |
+
msgstr "שגיאה"
|
32 |
|
33 |
+
#: includes/class-freemius.php:1277
|
34 |
+
msgid "I found a better %s"
|
35 |
+
msgstr "I found a better %s"
|
36 |
|
37 |
+
#: includes/class-freemius.php:1279
|
38 |
+
msgid "What's the %s's name?"
|
39 |
+
msgstr "What's the %s's name?"
|
40 |
|
41 |
+
#: includes/class-freemius.php:1285
|
42 |
+
msgid "It's a temporary %s. I'm just debugging an issue."
|
43 |
+
msgstr "It's a temporary %s. I'm just debugging an issue."
|
44 |
|
45 |
+
#: includes/class-freemius.php:1287
|
46 |
+
msgid "Deactivation"
|
47 |
+
msgstr "דיאקטיבציה"
|
48 |
|
49 |
+
#: includes/class-freemius.php:1288
|
50 |
+
msgid "Theme Switch"
|
51 |
+
msgstr "החלפת תֵמָה"
|
52 |
|
53 |
+
#: includes/class-freemius.php1297, templates/forms/resend-key.php:24
|
54 |
+
msgid "Other"
|
55 |
+
msgstr "אחר"
|
|
|
56 |
|
57 |
+
#: includes/class-freemius.php:1305
|
58 |
+
msgid "I no longer need the %s"
|
59 |
+
msgstr "I no longer need the %s"
|
60 |
|
61 |
+
#: includes/class-freemius.php:1312
|
62 |
+
msgid "I only needed the %s for a short period"
|
63 |
+
msgstr "I only needed the %s for a short period"
|
|
|
64 |
|
65 |
+
#: includes/class-freemius.php:1318
|
66 |
+
msgid "The %s broke my site"
|
67 |
+
msgstr "ה%s הרס לי את האתר"
|
|
|
68 |
|
69 |
+
#: includes/class-freemius.php:1325
|
70 |
+
msgid "The %s suddenly stopped working"
|
71 |
+
msgstr "ה%s הפסיק פתאום לעבוד"
|
72 |
|
73 |
+
#: includes/class-freemius.php:1335
|
74 |
+
msgid "I can't pay for it anymore"
|
75 |
+
msgstr "אני לא יכול/ה להמשיך לשלם על זה"
|
|
|
76 |
|
77 |
+
#: includes/class-freemius.php:1337
|
78 |
+
msgid "What price would you feel comfortable paying?"
|
79 |
+
msgstr "מה המחיר שכן תרגיש\\י בנוח לשלם?"
|
|
|
80 |
|
81 |
+
#: includes/class-freemius.php:1343
|
82 |
+
msgid "I don't like to share my information with you"
|
83 |
+
msgstr "אני לא אוהב את הרעיון של שיתוף מידע איתכם"
|
84 |
|
85 |
+
#: includes/class-freemius.php:1364
|
86 |
+
msgid "The %s didn't work"
|
87 |
+
msgstr "ה%s לא עבד"
|
88 |
|
89 |
+
#: includes/class-freemius.php:1374
|
90 |
+
msgid "I couldn't understand how to make it work"
|
91 |
+
msgstr "לא הצלחתי להבין איך לגרום לזה לעבוד"
|
92 |
|
93 |
+
#: includes/class-freemius.php:1382
|
94 |
+
msgid "The %s is great, but I need specific feature that you don't support"
|
95 |
+
msgstr "The %s is great, but I need specific feature that you don't support"
|
96 |
|
97 |
+
#: includes/class-freemius.php:1384
|
98 |
+
msgid "What feature?"
|
99 |
+
msgstr "איזה פיטצ'ר?"
|
100 |
|
101 |
+
#: includes/class-freemius.php:1388
|
102 |
+
msgid "The %s is not working"
|
103 |
+
msgstr "ה%s לא עובד"
|
104 |
|
105 |
+
#: includes/class-freemius.php:1390
|
106 |
+
msgid "Kindly share what didn't work so we can fix it for future users..."
|
107 |
+
msgstr "אנא שתפ\\י מה לא עבד כדי שנוכל לתקן זאת עבור משתמשים עתידיים..."
|
108 |
|
109 |
+
#: includes/class-freemius.php:1394
|
110 |
+
msgid "It's not what I was looking for"
|
111 |
+
msgstr "חיפשתי משהו אחר"
|
|
|
112 |
|
113 |
+
#: includes/class-freemius.php:1396
|
114 |
+
msgid "What you've been looking for?"
|
115 |
+
msgstr "מה חיפשת?"
|
|
|
116 |
|
117 |
+
#: includes/class-freemius.php:1400
|
118 |
+
msgid "The %s didn't work as expected"
|
119 |
+
msgstr "ה%s לא עבד כמצופה"
|
|
|
120 |
|
121 |
+
#: includes/class-freemius.php:1402
|
122 |
+
msgid "What did you expect?"
|
123 |
+
msgstr "למה ציפית?"
|
|
|
124 |
|
125 |
+
#: includes/class-freemius.php1938, templates/debug.php:20
|
126 |
+
msgid "Freemius Debug"
|
127 |
+
msgstr "ניפוי תקלות פרימיוס"
|
|
|
128 |
|
129 |
+
#: includes/class-freemius.php:2508
|
130 |
+
msgid "I don't know what is cURL or how to install it, help me!"
|
131 |
+
msgstr "אין לי מושג מה זה cURL או איך להתקין אותו - אשמח לעזרה!"
|
132 |
|
133 |
+
#: includes/class-freemius.php:2510
|
134 |
+
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
135 |
+
msgstr "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
136 |
|
137 |
+
#: includes/class-freemius.php:2517
|
138 |
+
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
139 |
+
msgstr "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
140 |
|
141 |
+
#: includes/class-freemius.php:2619
|
142 |
+
msgid "Yes - do your thing"
|
143 |
+
msgstr "כן - בצעו את מה שצריך"
|
144 |
|
145 |
+
#: includes/class-freemius.php:2624
|
146 |
+
msgid "No - just deactivate"
|
147 |
+
msgstr "לא - פשוט כבה"
|
148 |
|
149 |
+
#: includes/class-freemius.php2669, includes/class-freemius.php3134,
|
150 |
+
#: includes/class-freemius.php3988, includes/class-freemius.php7270,
|
151 |
+
#: includes/class-freemius.php9137, includes/class-freemius.php9193,
|
152 |
+
#: includes/class-freemius.php9254, includes/class-freemius.php11154,
|
153 |
+
#: includes/class-freemius.php11165, includes/class-freemius.php11614,
|
154 |
+
#: includes/class-freemius.php11632, includes/class-freemius.php11730,
|
155 |
+
#: includes/class-freemius.php12405, templates/add-ons.php:43
|
156 |
+
msgctxt "exclamation"
|
157 |
+
msgid "Oops"
|
158 |
+
msgstr "אופס"
|
159 |
|
160 |
+
#: includes/class-freemius.php:2736
|
161 |
+
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
162 |
+
msgstr "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
|
|
163 |
|
164 |
+
#: includes/class-freemius.php:3131
|
165 |
+
msgctxt "addonX cannot run without pluginY"
|
166 |
+
msgid "%s cannot run without %s."
|
167 |
+
msgstr "%s לא יכול לעבוד ללא %s."
|
168 |
|
169 |
+
#: includes/class-freemius.php:3132
|
170 |
+
msgctxt "addonX cannot run..."
|
171 |
+
msgid "%s cannot run without the plugin."
|
172 |
+
msgstr "ההרחבה %s אינה יכולה לפעול ללא התוסף."
|
173 |
|
174 |
+
#: includes/class-freemius.php3253, includes/class-freemius.php3278,
|
175 |
+
#: includes/class-freemius.php:11703
|
176 |
+
msgid "Unexpected API error. Please contact the %s's author with the following error."
|
177 |
+
msgstr "Unexpected API error. Please contact the %s's author with the following error."
|
178 |
|
179 |
+
#: includes/class-freemius.php:3686
|
180 |
+
msgid "Premium %s version was successfully activated."
|
181 |
+
msgstr "Premium %s version was successfully activated."
|
|
|
182 |
|
183 |
+
#: includes/class-freemius.php3688, includes/class-freemius.php:4913
|
184 |
+
msgctxt ""
|
185 |
+
msgid "W00t"
|
186 |
+
msgstr "W00t"
|
187 |
|
188 |
+
#: includes/class-freemius.php:3703
|
|
|
189 |
msgid "You have a %s license."
|
190 |
msgstr "יש לך רישיון %s."
|
191 |
|
192 |
+
#: includes/class-freemius.php3707, includes/class-freemius.php8841,
|
193 |
+
#: includes/class-freemius.php8850, includes/class-freemius.php11105,
|
194 |
+
#: includes/class-freemius.php11318, includes/class-freemius.php11380,
|
195 |
+
#: includes/class-freemius.php:11492
|
196 |
+
msgctxt "interjection expressing joy or exuberance"
|
197 |
+
msgid "Yee-haw"
|
198 |
+
msgstr "יששש"
|
199 |
|
200 |
+
#: includes/class-freemius.php:3971
|
201 |
+
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
202 |
+
msgstr "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
|
|
203 |
|
204 |
+
#: includes/class-freemius.php:3975
|
205 |
+
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
206 |
+
msgstr "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
|
|
207 |
|
208 |
+
#: includes/class-freemius.php3984, templates/account.php692,
|
209 |
+
#: templates/add-ons.php:99
|
210 |
+
msgid "More information about %s"
|
211 |
+
msgstr "מידע נוסף אודות %s"
|
212 |
|
213 |
+
#: includes/class-freemius.php:3985
|
214 |
msgid "Purchase License"
|
215 |
msgstr "קניית רישיון"
|
216 |
|
217 |
+
#: includes/class-freemius.php4422, templates/connect.php:136
|
218 |
+
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
219 |
+
msgstr "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
|
221 |
+
#: includes/class-freemius.php:4426
|
222 |
+
msgid "start the trial"
|
223 |
+
msgstr "התחל תקופת ניסיון"
|
224 |
|
225 |
+
#: includes/class-freemius.php4427, templates/connect.php:140
|
226 |
+
msgid "complete the install"
|
227 |
+
msgstr "השלם התקנה"
|
|
|
228 |
|
229 |
+
#: includes/class-freemius.php:4506
|
230 |
msgid "You are just one step away - %s"
|
231 |
msgstr "You are just one step away - %s"
|
232 |
|
233 |
+
#: includes/class-freemius.php:4509
|
234 |
+
msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
|
235 |
msgid "Complete \"%s\" Activation Now"
|
236 |
msgstr "השלם הפעלת \"%s\" עכשיו"
|
237 |
|
238 |
+
#: includes/class-freemius.php:4523
|
239 |
msgid "We made a few tweaks to the %s, %s"
|
240 |
msgstr "We made a few tweaks to the %s, %s"
|
241 |
|
242 |
+
#: includes/class-freemius.php:4527
|
243 |
+
msgid "Opt in to make \"%s\" Better!"
|
244 |
+
msgstr "Opt in to make \"%s\" Better!"
|
245 |
|
246 |
+
#: includes/class-freemius.php:4912
|
247 |
+
msgid "The upgrade of %s was successfully completed."
|
248 |
+
msgstr "The upgrade of %s was successfully completed."
|
|
|
|
|
|
|
|
|
249 |
|
250 |
+
#: includes/class-freemius.php5997, includes/class-fs-plugin-updater.php358,
|
251 |
+
#: includes/class-fs-plugin-updater.php510,
|
252 |
+
#: includes/class-fs-plugin-updater.php516, templates/auto-installation.php:31
|
253 |
+
msgid "Add-On"
|
254 |
+
msgstr "Add-On"
|
255 |
|
256 |
+
#: includes/class-freemius.php5999, templates/debug.php303,
|
257 |
+
#: templates/debug.php:413
|
258 |
+
msgid "Plugin"
|
259 |
+
msgstr "תוסף"
|
260 |
|
261 |
+
#: includes/class-freemius.php6000, templates/debug.php303,
|
262 |
+
#: templates/debug.php413, templates/forms/deactivation/form.php:64
|
263 |
+
msgid "Theme"
|
264 |
+
msgstr "תבנית"
|
265 |
|
266 |
+
#: includes/class-freemius.php:7257
|
267 |
+
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
268 |
+
msgstr "We couldn't find your email address in the system, are you sure it's the right address?"
|
269 |
|
270 |
+
#: includes/class-freemius.php:7259
|
271 |
+
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
272 |
+
msgstr "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
|
|
273 |
|
274 |
+
#: includes/class-freemius.php:7468
|
275 |
+
msgid "Account is pending activation."
|
276 |
+
msgstr "Account is pending activation."
|
|
|
277 |
|
278 |
+
#: includes/class-freemius.php:8825
|
279 |
+
msgctxt "pluginX activation was successfully..."
|
280 |
+
msgid "%s activation was successfully completed."
|
281 |
+
msgstr "הפעלת %s הושלמה בהצלחה."
|
282 |
|
283 |
+
#: includes/class-freemius.php:8837
|
284 |
+
msgid "Your account was successfully activated with the %s plan."
|
285 |
+
msgstr "חשבונך הופעל בהצלחה עם חבילת %s."
|
286 |
|
287 |
+
#: includes/class-freemius.php8846, includes/class-freemius.php:11376
|
288 |
+
msgid "Your trial has been successfully started."
|
289 |
+
msgstr "הניסיון שלך הופעל בהצלחה."
|
290 |
|
291 |
+
#: includes/class-freemius.php9135, includes/class-freemius.php9191,
|
292 |
+
#: includes/class-freemius.php:9252
|
293 |
+
msgid "Couldn't activate %s."
|
294 |
+
msgstr "לא ניתן להפעיל את %s."
|
295 |
|
296 |
+
#: includes/class-freemius.php9136, includes/class-freemius.php9192,
|
297 |
+
#: includes/class-freemius.php:9253
|
298 |
+
msgid "Please contact us with the following message:"
|
299 |
+
msgstr "אנא צור איתנו קשר יחד עם ההודעה הבאה:"
|
300 |
|
301 |
+
#: includes/class-freemius.php9511, includes/class-freemius.php:13334
|
302 |
+
msgid "Upgrade"
|
303 |
+
msgstr "שדרג"
|
304 |
|
305 |
+
#: includes/class-freemius.php:9517
|
306 |
+
msgid "Start Trial"
|
307 |
+
msgstr "התחל תקופת ניסיון"
|
|
|
308 |
|
309 |
+
#: includes/class-freemius.php:9519
|
310 |
+
msgid "Pricing"
|
311 |
+
msgstr "מחירון"
|
312 |
|
313 |
+
#: includes/class-freemius.php9559, includes/class-freemius.php:9561
|
314 |
+
msgid "Affiliation"
|
315 |
+
msgstr "אפיליאציה"
|
316 |
|
317 |
+
#: includes/class-freemius.php9581, includes/class-freemius.php9583,
|
318 |
+
#: templates/account.php79, templates/debug.php:281
|
319 |
+
msgid "Account"
|
320 |
+
msgstr "חשבון"
|
321 |
|
322 |
+
#: includes/class-freemius.php9594, includes/class-freemius.php9596,
|
323 |
+
#: includes/customizer/class-fs-customizer-support-section.php:60
|
324 |
+
msgid "Contact Us"
|
325 |
+
msgstr "יצירת קשר"
|
326 |
|
327 |
+
#: includes/class-freemius.php9606, includes/class-freemius.php9608,
|
328 |
+
#: includes/class-freemius.php13344, templates/account.php:68
|
329 |
+
msgid "Add-Ons"
|
330 |
+
msgstr "Add-Ons"
|
331 |
|
332 |
+
#: includes/class-freemius.php9639, templates/pricing.php:92
|
333 |
+
msgctxt "noun"
|
334 |
+
msgid "Pricing"
|
335 |
+
msgstr "מחירון"
|
336 |
|
337 |
+
#: includes/class-freemius.php9819,
|
338 |
+
#: includes/customizer/class-fs-customizer-support-section.php:67
|
339 |
+
msgid "Support Forum"
|
340 |
+
msgstr "פורום תמיכה"
|
341 |
|
342 |
+
#: includes/class-freemius.php:10559
|
343 |
+
msgid "Your email has been successfully verified - you are AWESOME!"
|
344 |
+
msgstr "Your email has been successfully verified - you are AWESOME!"
|
345 |
|
346 |
+
#: includes/class-freemius.php:10560
|
347 |
+
msgctxt "a positive response"
|
348 |
+
msgid "Right on"
|
349 |
+
msgstr "מעולה"
|
350 |
|
351 |
+
#: includes/class-freemius.php:11096
|
352 |
+
msgid "Your %s Add-on plan was successfully upgraded."
|
353 |
+
msgstr "חבילת ההרחבה %s שודרגה בהצלחה."
|
354 |
|
355 |
+
#: includes/class-freemius.php:11098
|
356 |
+
msgid "%s Add-on was successfully purchased."
|
357 |
+
msgstr "ההרחבה %s נרכשה בהצלחה."
|
|
|
358 |
|
359 |
+
#: includes/class-freemius.php:11101
|
360 |
+
msgid "Download the latest version"
|
361 |
+
msgstr "הורד את הגרסה האחרונה"
|
362 |
|
363 |
+
#: includes/class-freemius.php:11150
|
364 |
+
msgctxt "%1s - plugin title, %2s - API domain"
|
365 |
+
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
366 |
+
msgstr "Your server is blocking the access to Freemius' API, which is crucial for %1s synchronization. Please contact your host to whitelist %2s"
|
367 |
|
368 |
+
#: includes/class-freemius.php11153, includes/class-freemius.php11463,
|
369 |
+
#: includes/class-freemius.php:11528
|
370 |
+
msgid "Error received from the server:"
|
371 |
+
msgstr "הוחזרה שגיאה מהשרת:"
|
372 |
|
373 |
+
#: includes/class-freemius.php:11164
|
374 |
+
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
375 |
+
msgstr "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
|
|
376 |
|
377 |
+
#: includes/class-freemius.php11281, includes/class-freemius.php11468,
|
378 |
+
#: includes/class-freemius.php:11511
|
379 |
+
msgctxt ""
|
380 |
+
msgid "Hmm"
|
381 |
+
msgstr "Hmm"
|
382 |
|
383 |
+
#: includes/class-freemius.php:11294
|
384 |
+
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
385 |
+
msgstr "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
386 |
|
387 |
+
#: includes/class-freemius.php11295, templates/account.php70,
|
388 |
+
#: templates/add-ons.php:130
|
389 |
+
msgctxt "trial period"
|
390 |
+
msgid "Trial"
|
391 |
+
msgstr "ניסיון"
|
392 |
|
393 |
+
#: includes/class-freemius.php:11300
|
394 |
+
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
395 |
+
msgstr "שידרגתי את החשבון שלי אבל כשאני מנסה לבצע סנכרון לרישיון החבילה נשארת %s."
|
|
|
396 |
|
397 |
+
#: includes/class-freemius.php11304, includes/class-freemius.php:11358
|
398 |
+
msgid "Please contact us here"
|
399 |
+
msgstr "אנא צור איתנו קשר כאן"
|
400 |
|
401 |
+
#: includes/class-freemius.php:11314
|
402 |
+
msgid "Your plan was successfully upgraded."
|
403 |
+
msgstr "החבילה שודרגה בהצלחה."
|
404 |
|
405 |
+
#: includes/class-freemius.php:11331
|
406 |
+
msgid "Your plan was successfully changed to %s."
|
407 |
+
msgstr "החבילה עודכנה בהצלחה אל %s."
|
408 |
|
409 |
+
#: includes/class-freemius.php:11346
|
410 |
+
msgid "Your license has expired. You can still continue using the free %s forever."
|
411 |
+
msgstr "Your license has expired. You can still continue using the free %s forever."
|
412 |
|
413 |
+
#: includes/class-freemius.php:11354
|
414 |
+
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
415 |
+
msgstr "רשיונך בוטל. אם לדעתך זו טעות, נא ליצור קשר עם התמיכה."
|
|
|
416 |
|
417 |
+
#: includes/class-freemius.php:11367
|
418 |
+
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
419 |
+
msgstr "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
420 |
|
421 |
+
#: includes/class-freemius.php:11389
|
422 |
+
msgid "Your trial has expired. You can still continue using all our free features."
|
423 |
+
msgstr "תקופת הניסיון נגמרה. ביכולתך להמשיך להשתמש בכל הפיטצ'רים החינאמיים."
|
|
|
424 |
|
425 |
+
#: includes/class-freemius.php:11459
|
426 |
+
msgid "It looks like the license could not be activated."
|
427 |
+
msgstr "נראה שלא ניתן להפעיל את הרישיון."
|
|
|
428 |
|
429 |
+
#: includes/class-freemius.php:11489
|
430 |
+
msgid "Your license was successfully activated."
|
431 |
+
msgstr "הרישיון הופעל בהצלחה."
|
432 |
|
433 |
+
#: includes/class-freemius.php:11515
|
434 |
+
msgid "It looks like your site currently doesn't have an active license."
|
435 |
+
msgstr "נראה לאתר עדיין אין רישיון פעיל."
|
436 |
|
437 |
+
#: includes/class-freemius.php:11527
|
438 |
+
msgid "It looks like the license deactivation failed."
|
439 |
+
msgstr "נראה שניתוק הרישיון נכשל."
|
440 |
|
441 |
+
#: includes/class-freemius.php:11554
|
442 |
+
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
443 |
+
msgstr "רישיונך נותק בהצלחה, חזרת לחבילת %s"
|
444 |
|
445 |
+
#: includes/class-freemius.php:11555
|
446 |
+
msgid "O.K"
|
447 |
+
msgstr "אוקיי"
|
448 |
|
449 |
+
#: includes/class-freemius.php:11603
|
450 |
+
msgid "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
451 |
+
msgstr "Your plan was successfully downgraded. Your %s plan license will expire in %s."
|
452 |
|
453 |
+
#: includes/class-freemius.php:11613
|
454 |
+
msgid "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
455 |
+
msgstr "Seems like we are having some temporary issue with your plan downgrade. Please try again in few minutes."
|
456 |
|
457 |
+
#: includes/class-freemius.php:11637
|
458 |
+
msgid "You are already running the %s in a trial mode."
|
459 |
+
msgstr "You are already running the %s in a trial mode."
|
460 |
|
461 |
+
#: includes/class-freemius.php:11648
|
462 |
+
msgid "You already utilized a trial before."
|
463 |
+
msgstr "הניסיון כבר נוצל בעבר."
|
464 |
|
465 |
+
#: includes/class-freemius.php:11662
|
466 |
+
msgid "Plan %s do not exist, therefore, can't start a trial."
|
467 |
+
msgstr "החבילה %s אינה קיימת, לכן, לא ניתן להתחיל תקופת ניסיון."
|
468 |
|
469 |
+
#: includes/class-freemius.php:11673
|
470 |
+
msgid "Plan %s does not support a trial period."
|
471 |
+
msgstr "תוכנית %s אינה תומכת בתקופת ניסיון."
|
472 |
|
473 |
+
#: includes/class-freemius.php:11684
|
474 |
+
msgid "None of the %s's plans supports a trial period."
|
475 |
+
msgstr "None of the %s's plans supports a trial period."
|
476 |
|
477 |
+
#: includes/class-freemius.php:11734
|
478 |
+
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
479 |
+
msgstr "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
480 |
|
481 |
+
#: includes/class-freemius.php:11785
|
482 |
+
msgid "Your %s free trial was successfully cancelled."
|
483 |
+
msgstr "תקופת הניסיון החינמית של %s בוטלה בהצלחה."
|
|
|
484 |
|
485 |
+
#: includes/class-freemius.php:11793
|
486 |
+
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
487 |
+
msgstr "נראה שיש תקלה זמנית המונעת את ביטול הניסיון. אנא נסו שוב בעוד כמה דקות."
|
|
|
488 |
|
489 |
+
#: includes/class-freemius.php:12032
|
490 |
+
msgid "Version %s was released."
|
491 |
+
msgstr "גרסה %s הושקה."
|
492 |
|
493 |
+
#: includes/class-freemius.php:12032
|
494 |
+
msgid "Please download %s."
|
495 |
+
msgstr "נא להוריד את %s."
|
496 |
|
497 |
+
#: includes/class-freemius.php:12039
|
498 |
+
msgid "the latest %s version here"
|
499 |
+
msgstr "גרסת ה-%s האחרונה כאן"
|
500 |
|
501 |
+
#: includes/class-freemius.php:12044
|
502 |
+
msgid "New"
|
503 |
+
msgstr "חדש"
|
504 |
|
505 |
+
#: includes/class-freemius.php:12049
|
506 |
+
msgid "Seems like you got the latest release."
|
507 |
+
msgstr "נראה שיש לך את הגרסה האחרונה."
|
|
|
508 |
|
509 |
+
#: includes/class-freemius.php:12050
|
510 |
+
msgid "You are all good!"
|
511 |
+
msgstr "את\\ה מסודר!"
|
|
|
512 |
|
513 |
+
#: includes/class-freemius.php:12316
|
514 |
+
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
515 |
+
msgstr "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
516 |
|
517 |
+
#: includes/class-freemius.php:12491
|
518 |
+
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
519 |
+
msgstr "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
520 |
|
521 |
+
#: includes/class-freemius.php:12497
|
522 |
+
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
523 |
+
msgstr "תודה על אישור ביצוע החלפת הבעלות. הרגע נשלח מייל ל-%s כדי לקבל אישור סופי."
|
524 |
|
525 |
+
#: includes/class-freemius.php:12502
|
526 |
+
msgid "%s is the new owner of the account."
|
527 |
+
msgstr "%s הינו הבעלים החד של חשבון זה."
|
528 |
|
529 |
+
#: includes/class-freemius.php:12504
|
530 |
+
msgctxt "as congratulations"
|
531 |
+
msgid "Congrats"
|
532 |
+
msgstr "מזל טוב"
|
533 |
|
534 |
+
#: includes/class-freemius.php:12524
|
535 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
536 |
+
msgstr "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
537 |
|
538 |
+
#: includes/class-freemius.php:12525
|
539 |
+
msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
540 |
+
msgstr "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
541 |
|
542 |
+
#: includes/class-freemius.php:12532
|
543 |
+
msgid "Change Ownership"
|
544 |
+
msgstr "עדכון בעלות"
|
545 |
|
546 |
+
#: includes/class-freemius.php:12540
|
547 |
+
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
548 |
+
msgstr "כתובת הדואל שלך עודכנה בהצלחה. הודעת אישור אמורה להתקבל בדואל שלך ברגעים הקרובים."
|
549 |
|
550 |
+
#: includes/class-freemius.php:12552
|
551 |
+
msgid "Please provide your full name."
|
552 |
+
msgstr "נא למלא את שמך המלא."
|
553 |
|
554 |
+
#: includes/class-freemius.php:12557
|
555 |
+
msgid "Your name was successfully updated."
|
556 |
+
msgstr "שמך עודכן בהצלחה."
|
557 |
|
558 |
+
#: includes/class-freemius.php:12618
|
559 |
+
msgid "You have successfully updated your %s."
|
560 |
+
msgstr "עידכנת בהצלחה את ה%s."
|
561 |
|
562 |
+
#: includes/class-freemius.php:12756
|
563 |
+
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
564 |
+
msgstr "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
565 |
|
566 |
+
#: includes/class-freemius.php:12757
|
567 |
+
msgctxt "advance notice of something that will need attention."
|
568 |
+
msgid "Heads up"
|
569 |
+
msgstr "לתשמות לבך"
|
570 |
|
571 |
+
#: includes/class-freemius.php:13075
|
572 |
+
msgid "Awesome"
|
573 |
+
msgstr "אדיר"
|
574 |
|
575 |
+
#: includes/class-freemius.php:13115
|
576 |
+
msgctxt "exclamation"
|
577 |
+
msgid "Hey"
|
578 |
+
msgstr "היי"
|
579 |
|
580 |
+
#: includes/class-freemius.php:13115
|
581 |
+
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
582 |
+
msgstr "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
583 |
|
584 |
+
#: includes/class-freemius.php:13123
|
585 |
+
msgid "No commitment for %s days - cancel anytime!"
|
586 |
+
msgstr "ללא התחייבות ל-%s ימין - בטלו בכל רגע!"
|
587 |
|
588 |
+
#: includes/class-freemius.php:13124
|
589 |
+
msgid "No credit card required"
|
590 |
+
msgstr "לא נדרש כרטיס אשראי"
|
591 |
|
592 |
+
#: includes/class-freemius.php13131, templates/forms/trial-start.php:53
|
593 |
+
msgctxt "call to action"
|
594 |
+
msgid "Start free trial"
|
595 |
+
msgstr "התחלת ניסיון חינם"
|
596 |
|
597 |
+
#: includes/class-freemius.php:13208
|
598 |
+
msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
599 |
+
msgstr "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
600 |
|
601 |
+
#: includes/class-freemius.php:13217
|
602 |
+
msgid "Learn more"
|
603 |
+
msgstr "Learn more"
|
604 |
|
605 |
+
#: includes/class-freemius.php13373, templates/account.php330,
|
606 |
+
#: templates/connect.php309, templates/forms/license-activation.php:24
|
607 |
+
msgid "Activate License"
|
608 |
+
msgstr "הפעלת רישיון"
|
609 |
|
610 |
+
#: includes/class-freemius.php13374, templates/account.php:393
|
611 |
+
msgid "Change License"
|
612 |
+
msgstr "שינוי רישיון"
|
613 |
|
614 |
+
#: includes/class-freemius.php:13435
|
615 |
+
msgid "Opt Out"
|
616 |
+
msgstr "Opt Out"
|
617 |
|
618 |
+
#: includes/class-freemius.php13437, includes/class-freemius.php:13442
|
619 |
+
msgid "Opt In"
|
620 |
+
msgstr "Opt In"
|
621 |
|
622 |
+
#: includes/class-freemius.php:13630
|
623 |
+
msgid "Please follow these steps to complete the upgrade"
|
624 |
+
msgstr "נא לבצע את הצעדים הבאים להשלמת השידרוג"
|
625 |
|
626 |
+
#: includes/class-freemius.php:13633
|
627 |
+
msgid "Download the latest %s version"
|
628 |
+
msgstr "הורד\\י את גרסת ה-%s העדכנית"
|
629 |
|
630 |
+
#: includes/class-freemius.php:13637
|
631 |
+
msgid "Upload and activate the downloaded version"
|
632 |
+
msgstr "העלה\\י והפעיל\\י את הגרסה שהורדת"
|
633 |
|
634 |
+
#: includes/class-freemius.php:13639
|
635 |
+
msgid "How to upload and activate?"
|
636 |
+
msgstr "איך להעלות ולהפעיל?"
|
637 |
|
638 |
+
#: includes/class-freemius.php:13798
|
639 |
+
msgid "Auto installation only works for opted-in users."
|
640 |
+
msgstr "Auto installation only works for opted-in users."
|
641 |
|
642 |
+
#: includes/class-freemius.php13808, includes/class-freemius.php13841,
|
643 |
+
#: includes/class-fs-plugin-updater.php490,
|
644 |
+
#: includes/class-fs-plugin-updater.php:504
|
645 |
+
msgid "Invalid module ID."
|
646 |
+
msgstr "Invalid module ID."
|
647 |
|
648 |
+
#: includes/class-freemius.php13817, includes/class-fs-plugin-updater.php:524
|
649 |
+
msgid "Premium version already active."
|
650 |
+
msgstr "Premium version already active."
|
651 |
|
652 |
+
#: includes/class-freemius.php:13824
|
653 |
+
msgid "You do not have a valid license to access the premium version."
|
654 |
+
msgstr "You do not have a valid license to access the premium version."
|
|
|
655 |
|
656 |
+
#: includes/class-freemius.php:13831
|
657 |
+
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
658 |
+
msgstr "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
659 |
|
660 |
+
#: includes/class-freemius.php13849, includes/class-fs-plugin-updater.php:523
|
661 |
+
msgid "Premium add-on version already installed."
|
662 |
+
msgstr "Premium add-on version already installed."
|
663 |
|
664 |
+
#: includes/class-freemius.php:14194
|
665 |
+
msgid "View paid features"
|
666 |
+
msgstr "View paid features"
|
667 |
|
668 |
+
#: includes/class-fs-plugin-updater.php:131
|
669 |
+
msgid "%sRenew your license now%s to access version %s features and support."
|
670 |
+
msgstr "%sRenew your license now%s to access version %s features and support."
|
671 |
|
672 |
+
#: includes/class-fs-plugin-updater.php:553
|
673 |
+
msgid "Installing plugin: %s"
|
674 |
+
msgstr "Installing plugin: %s"
|
675 |
|
676 |
+
#: includes/class-fs-plugin-updater.php:594
|
677 |
+
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
678 |
+
msgstr "Unable to connect to the filesystem. Please confirm your credentials."
|
679 |
|
680 |
+
#: includes/class-fs-plugin-updater.php:700
|
681 |
+
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
682 |
+
msgstr "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
683 |
|
684 |
+
#: includes/fs-plugin-info-dialog.php328, templates/account.php:696
|
685 |
+
msgctxt "verb"
|
686 |
+
msgid "Purchase"
|
687 |
+
msgstr "רכישה"
|
688 |
|
689 |
+
#: includes/fs-plugin-info-dialog.php:331
|
690 |
+
msgid "Start my free %s"
|
691 |
+
msgstr "התחל את %s הניסיון שלי"
|
692 |
|
693 |
+
#: includes/fs-plugin-info-dialog.php355, templates/account.php:52
|
694 |
+
msgctxt "as download latest version"
|
695 |
+
msgid "Download Latest"
|
696 |
+
msgstr "הורד גרסה אחרונה"
|
697 |
|
698 |
+
#: includes/fs-plugin-info-dialog.php358, templates/account.php676,
|
699 |
+
#: templates/account.php729, templates/auto-installation.php:110
|
700 |
+
msgid "Install Now"
|
701 |
+
msgstr "התקן עכשיו"
|
702 |
|
703 |
+
#: includes/fs-plugin-info-dialog.php364, templates/account.php:384
|
704 |
+
msgid "Install Update Now"
|
705 |
+
msgstr "התקן עדכון במיידי"
|
706 |
|
707 |
+
#: includes/fs-plugin-info-dialog.php:368
|
708 |
+
msgid "Newer Version (%s) Installed"
|
709 |
+
msgstr "גרסה חדשה (%s) הותקנה"
|
710 |
|
711 |
+
#: includes/fs-plugin-info-dialog.php:371
|
712 |
+
msgid "Latest Version Installed"
|
713 |
+
msgstr "הגרסה האחרונה הותקנה"
|
714 |
|
715 |
+
#: includes/fs-plugin-info-dialog.php:484
|
716 |
+
msgctxt "Plugin installer section title"
|
717 |
+
msgid "Description"
|
718 |
+
msgstr "תיאור"
|
719 |
|
720 |
+
#: includes/fs-plugin-info-dialog.php:485
|
721 |
+
msgctxt "Plugin installer section title"
|
722 |
+
msgid "Installation"
|
723 |
+
msgstr "התקנה"
|
724 |
|
725 |
+
#: includes/fs-plugin-info-dialog.php:486
|
726 |
+
msgctxt "Plugin installer section title"
|
727 |
+
msgid "FAQ"
|
728 |
+
msgstr "שאלות נפוצות"
|
729 |
|
730 |
+
#: includes/fs-plugin-info-dialog.php487,
|
731 |
+
#: templates/plugin-info/description.php:55
|
732 |
+
msgid "Screenshots"
|
733 |
+
msgstr "צילומי מסך"
|
734 |
|
735 |
+
#: includes/fs-plugin-info-dialog.php:488
|
736 |
+
msgctxt "Plugin installer section title"
|
737 |
+
msgid "Changelog"
|
738 |
+
msgstr "לוג שינויים"
|
739 |
|
740 |
+
#: includes/fs-plugin-info-dialog.php:489
|
741 |
+
msgctxt "Plugin installer section title"
|
742 |
+
msgid "Reviews"
|
743 |
+
msgstr "ביקורות"
|
744 |
|
745 |
+
#: includes/fs-plugin-info-dialog.php:490
|
746 |
+
msgctxt "Plugin installer section title"
|
747 |
+
msgid "Other Notes"
|
748 |
+
msgstr "היערות נוספות"
|
749 |
|
750 |
+
#: includes/fs-plugin-info-dialog.php:505
|
751 |
+
msgctxt "Plugin installer section title"
|
752 |
+
msgid "Features & Pricing"
|
753 |
+
msgstr "פיטצ'רים ומחירים"
|
754 |
|
755 |
+
#: includes/fs-plugin-info-dialog.php:515
|
756 |
+
msgid "Plugin Install"
|
757 |
+
msgstr "התקנת תוסף"
|
758 |
|
759 |
+
#: includes/fs-plugin-info-dialog.php:587
|
760 |
+
msgctxt "e.g. Professional Plan"
|
761 |
+
msgid "%s Plan"
|
762 |
+
msgstr "חבילה %s"
|
763 |
|
764 |
+
#: includes/fs-plugin-info-dialog.php:612
|
765 |
+
msgctxt "e.g. the best product"
|
766 |
+
msgid "Best"
|
767 |
+
msgstr "הכי טוב"
|
768 |
|
769 |
+
#: includes/fs-plugin-info-dialog.php618,
|
770 |
+
#: includes/fs-plugin-info-dialog.php:638
|
771 |
+
msgctxt "as every month"
|
772 |
+
msgid "Monthly"
|
773 |
+
msgstr "חודשי"
|
774 |
|
775 |
+
#: includes/fs-plugin-info-dialog.php:621
|
776 |
+
msgctxt "as once a year"
|
777 |
+
msgid "Annual"
|
778 |
+
msgstr "שנתי"
|
779 |
|
780 |
+
#: includes/fs-plugin-info-dialog.php:624
|
781 |
+
msgid "Lifetime"
|
782 |
+
msgstr "לכל החיים"
|
783 |
|
784 |
+
#: includes/fs-plugin-info-dialog.php638,
|
785 |
+
#: includes/fs-plugin-info-dialog.php640,
|
786 |
+
#: includes/fs-plugin-info-dialog.php:642
|
787 |
+
msgctxt "e.g. billed monthly"
|
788 |
+
msgid "Billed %s"
|
789 |
+
msgstr "מחוייב על בסיס %s"
|
790 |
|
791 |
+
#: includes/fs-plugin-info-dialog.php:640
|
792 |
+
msgctxt "as once a year"
|
793 |
+
msgid "Annually"
|
794 |
+
msgstr "שנתי"
|
795 |
|
796 |
+
#: includes/fs-plugin-info-dialog.php:642
|
797 |
+
msgctxt "as once a year"
|
798 |
+
msgid "Once"
|
799 |
+
msgstr "פעם אחת"
|
800 |
|
801 |
+
#: includes/fs-plugin-info-dialog.php:648
|
802 |
+
msgid "Single Site License"
|
803 |
+
msgstr "רשיון לאתר אחד"
|
804 |
|
805 |
+
#: includes/fs-plugin-info-dialog.php:650
|
806 |
+
msgid "Unlimited Licenses"
|
807 |
+
msgstr "רשיונות ללא הגבלה"
|
808 |
|
809 |
+
#: includes/fs-plugin-info-dialog.php:652
|
810 |
+
msgid "Up to %s Sites"
|
811 |
+
msgstr "עד %s אתרים"
|
812 |
|
813 |
+
#: includes/fs-plugin-info-dialog.php662,
|
814 |
+
#: templates/plugin-info/features.php:82
|
815 |
+
msgctxt "as monthly period"
|
816 |
+
msgid "mo"
|
817 |
+
msgstr "חודשים"
|
818 |
|
819 |
+
#: includes/fs-plugin-info-dialog.php669,
|
820 |
+
#: templates/plugin-info/features.php:80
|
821 |
+
msgctxt "as annual period"
|
822 |
+
msgid "year"
|
823 |
+
msgstr "שנה"
|
824 |
|
825 |
+
#: includes/fs-plugin-info-dialog.php:721
|
826 |
+
msgctxt "noun"
|
827 |
+
msgid "Price"
|
828 |
+
msgstr "מחיר"
|
829 |
|
830 |
+
#: includes/fs-plugin-info-dialog.php:767
|
831 |
+
msgctxt "as a discount of $5 or 10%"
|
832 |
+
msgid "Save %s"
|
833 |
+
msgstr "שמירת %s"
|
834 |
|
835 |
+
#: includes/fs-plugin-info-dialog.php:777
|
836 |
+
msgid "No commitment for %s - cancel anytime"
|
837 |
+
msgstr "No commitment for %s - cancel anytime"
|
|
|
838 |
|
839 |
+
#: includes/fs-plugin-info-dialog.php:780
|
840 |
+
msgid "After your free %s, pay as little as %s"
|
841 |
+
msgstr "After your free %s, pay as little as %s"
|
|
|
842 |
|
843 |
+
#: includes/fs-plugin-info-dialog.php:791
|
844 |
+
msgid "Details"
|
845 |
+
msgstr "פרטים"
|
846 |
+
|
847 |
+
#: includes/fs-plugin-info-dialog.php794, templates/account.php59,
|
848 |
+
#: templates/debug.php183, templates/debug.php220, templates/debug.php:354
|
849 |
+
msgctxt "product version"
|
850 |
+
msgid "Version"
|
851 |
+
msgstr "גרסה"
|
852 |
+
|
853 |
+
#: includes/fs-plugin-info-dialog.php:800
|
854 |
+
msgctxt "as the plugin author"
|
855 |
+
msgid "Author"
|
856 |
+
msgstr "Author"
|
857 |
+
|
858 |
+
#: includes/fs-plugin-info-dialog.php:806
|
859 |
+
msgid "Last Updated"
|
860 |
+
msgstr "עודכן לאחרונה"
|
861 |
+
|
862 |
+
#: includes/fs-plugin-info-dialog.php:810
|
863 |
+
msgctxt "x-ago"
|
864 |
+
msgid "%s ago"
|
865 |
+
msgstr "לפני %s"
|
866 |
+
|
867 |
+
#: includes/fs-plugin-info-dialog.php:819
|
868 |
+
msgid "Requires WordPress Version"
|
869 |
+
msgstr "Requires WordPress Version"
|
870 |
+
|
871 |
+
#: includes/fs-plugin-info-dialog.php:819
|
872 |
+
msgid "%s or higher"
|
873 |
+
msgstr "%s ומעלה"
|
874 |
+
|
875 |
+
#: includes/fs-plugin-info-dialog.php:825
|
876 |
+
msgid "Compatible up to"
|
877 |
+
msgstr "Compatible up to"
|
878 |
+
|
879 |
+
#: includes/fs-plugin-info-dialog.php:832
|
880 |
+
msgid "Downloaded"
|
881 |
+
msgstr "Downloaded"
|
882 |
+
|
883 |
+
#: includes/fs-plugin-info-dialog.php:835
|
884 |
+
msgid "%s time"
|
885 |
+
msgstr "פעם %s"
|
886 |
+
|
887 |
+
#: includes/fs-plugin-info-dialog.php:837
|
888 |
+
msgid "%s times"
|
889 |
+
msgstr "%s פעמים"
|
890 |
+
|
891 |
+
#: includes/fs-plugin-info-dialog.php:847
|
892 |
+
msgid "WordPress.org Plugin Page"
|
893 |
+
msgstr "WordPress.org Plugin Page"
|
894 |
+
|
895 |
+
#: includes/fs-plugin-info-dialog.php:854
|
896 |
+
msgid "Plugin Homepage"
|
897 |
+
msgstr "עמוד התוסף"
|
898 |
+
|
899 |
+
#: includes/fs-plugin-info-dialog.php861,
|
900 |
+
#: includes/fs-plugin-info-dialog.php:941
|
901 |
+
msgid "Donate to this plugin"
|
902 |
+
msgstr "Donate to this plugin"
|
903 |
+
|
904 |
+
#: includes/fs-plugin-info-dialog.php:867
|
905 |
+
msgid "Average Rating"
|
906 |
+
msgstr "דירוג ממוצע"
|
907 |
+
|
908 |
+
#: includes/fs-plugin-info-dialog.php:874
|
909 |
+
msgid "based on %s"
|
910 |
+
msgstr "מבוסס על %s"
|
911 |
+
|
912 |
+
#: includes/fs-plugin-info-dialog.php:878
|
913 |
+
msgid "%s rating"
|
914 |
+
msgstr "דרוג %s"
|
915 |
+
|
916 |
+
#: includes/fs-plugin-info-dialog.php:880
|
917 |
+
msgid "%s ratings"
|
918 |
+
msgstr "%s דרוגים"
|
919 |
+
|
920 |
+
#: includes/fs-plugin-info-dialog.php:894
|
921 |
+
msgid "%s star"
|
922 |
+
msgstr "כוכב %s"
|
923 |
+
|
924 |
+
#: includes/fs-plugin-info-dialog.php:896
|
925 |
+
msgid "%s stars"
|
926 |
+
msgstr "%s כוכבים"
|
927 |
+
|
928 |
+
#: includes/fs-plugin-info-dialog.php:907
|
929 |
+
msgid "Click to see reviews that provided a rating of %s"
|
930 |
+
msgstr "Click to see reviews that provided a rating of %s"
|
931 |
+
|
932 |
+
#: includes/fs-plugin-info-dialog.php:920
|
933 |
+
msgid "Contributors"
|
934 |
+
msgstr "תורמים"
|
935 |
+
|
936 |
+
#: includes/fs-plugin-info-dialog.php948,
|
937 |
+
#: includes/fs-plugin-info-dialog.php:950
|
938 |
+
msgid "Warning"
|
939 |
+
msgstr "Warning"
|
940 |
+
|
941 |
+
#: includes/fs-plugin-info-dialog.php:948
|
942 |
+
msgid "This plugin has not been tested with your current version of WordPress."
|
943 |
+
msgstr "This plugin has not been tested with your current version of WordPress."
|
944 |
+
|
945 |
+
#: includes/fs-plugin-info-dialog.php:950
|
946 |
+
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
947 |
+
msgstr "This plugin has not been marked as compatible with your version of WordPress."
|
948 |
+
|
949 |
+
#: includes/fs-plugin-info-dialog.php:969
|
950 |
+
msgid "Paid add-on must be deployed to Freemius."
|
951 |
+
msgstr "Paid add-on must be deployed to Freemius."
|
952 |
+
|
953 |
+
#: includes/fs-plugin-info-dialog.php:970
|
954 |
+
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
955 |
+
msgstr "Add-on must be deployed to WordPress.org or Freemius."
|
956 |
+
|
957 |
+
#: templates/account.php:53
|
958 |
+
msgid "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
959 |
+
msgstr "Downgrading your plan will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
960 |
+
|
961 |
+
#: templates/account.php:54
|
962 |
+
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
963 |
+
msgstr "ביטול הניסיון יחסום מייד את הפיטצ'רים שהינם בתשלום. האם ברצונך בכל זאת להמשיך?"
|
964 |
+
|
965 |
+
#: templates/account.php:55
|
966 |
+
msgid "You can still enjoy all %s features but you will not have access to %s updates and support."
|
967 |
+
msgstr "You can still enjoy all %s features but you will not have access to %s updates and support."
|
968 |
+
|
969 |
+
#: templates/account.php:56
|
970 |
+
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
971 |
+
msgstr "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
972 |
+
|
973 |
+
#. translators: %s: Plan title (e.g. "Professional")
|
974 |
+
#: templates/account.php:58
|
975 |
+
msgid "Activate %s Plan"
|
976 |
+
msgstr "הפעל חבילה %s"
|
977 |
+
|
978 |
+
#. translators: %s: Time period (e.g. Auto renews in "2 months")
|
979 |
+
#: templates/account.php:61
|
980 |
+
msgid "Auto renews in %s"
|
981 |
+
msgstr "עדכן אוטומטית בעוד %s"
|
982 |
+
|
983 |
+
#. translators: %s: Time period (e.g. Expires in "2 months")
|
984 |
+
#: templates/account.php:63
|
985 |
+
msgid "Expires in %s"
|
986 |
+
msgstr "פג תוקף בעוד %s"
|
987 |
+
|
988 |
+
#: templates/account.php:64
|
989 |
+
msgctxt "as synchronize license"
|
990 |
+
msgid "Sync License"
|
991 |
+
msgstr "סינכרן רישיון"
|
992 |
+
|
993 |
+
#: templates/account.php:65
|
994 |
+
msgid "Cancel Trial"
|
995 |
+
msgstr "ביט"
|
996 |
+
|
997 |
+
#: templates/account.php:66
|
998 |
+
msgid "Change Plan"
|
999 |
+
msgstr "שינוי חבילה"
|
1000 |
+
|
1001 |
+
#: templates/account.php:67
|
1002 |
+
msgctxt "verb"
|
1003 |
+
msgid "Upgrade"
|
1004 |
+
msgstr "שדרג"
|
1005 |
+
|
1006 |
+
#: templates/account.php:69
|
1007 |
+
msgctxt "verb"
|
1008 |
+
msgid "Downgrade"
|
1009 |
+
msgstr "שנמך"
|
1010 |
+
|
1011 |
+
#: templates/account.php71, templates/add-ons.php126,
|
1012 |
+
#: templates/plugin-info/features.php:72
|
1013 |
+
msgid "Free"
|
1014 |
+
msgstr "חינם"
|
1015 |
+
|
1016 |
+
#: templates/account.php:72
|
1017 |
+
msgid "Activate"
|
1018 |
+
msgstr "הפעלה"
|
1019 |
+
|
1020 |
+
#: templates/account.php73, templates/debug.php311,
|
1021 |
+
#: includes/customizer/class-fs-customizer-upsell-control.php:106
|
1022 |
+
msgctxt "as product pricing plan"
|
1023 |
+
msgid "Plan"
|
1024 |
+
msgstr "חבילה"
|
1025 |
+
|
1026 |
+
#: templates/account.php:87
|
1027 |
+
msgid "Free Trial"
|
1028 |
+
msgstr "ניסיון חינם"
|
1029 |
+
|
1030 |
+
#: templates/account.php:98
|
1031 |
+
msgid "Account Details"
|
1032 |
+
msgstr "פרטי חשבון"
|
1033 |
+
|
1034 |
+
#: templates/account.php:108
|
1035 |
+
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
1036 |
+
msgstr "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
1037 |
+
|
1038 |
+
#: templates/account.php:110
|
1039 |
+
msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
1040 |
+
msgstr "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
1041 |
+
|
1042 |
+
#: templates/account.php:113
|
1043 |
+
msgid "Delete Account"
|
1044 |
+
msgstr "מחיקת חשבון"
|
1045 |
+
|
1046 |
+
#: templates/account.php:124
|
1047 |
+
msgid "Deactivating your license will block all premium features, but will enable you to activate the license on another site. Are you sure you want to proceed?"
|
1048 |
+
msgstr "דיאקטיבציה של הרישיון תחסום את כל הפיטצ'רים שהם בתשלום. עם זאת, תיתאפשר הפעלה של הרישיון על אתר אחר. האם ברצונך להמשיך?"
|
1049 |
+
|
1050 |
+
#: templates/account.php125, templates/account.php:590
|
1051 |
+
msgid "Deactivate License"
|
1052 |
+
msgstr "שיחרור רישיון"
|
1053 |
+
|
1054 |
+
#: templates/account.php:142
|
1055 |
+
msgid "Are you sure you want to proceed?"
|
1056 |
+
msgstr "האם את/ה בטוח רוצה להמשיך?"
|
1057 |
+
|
1058 |
+
#: templates/account.php:142
|
1059 |
+
msgid "Cancel Subscription"
|
1060 |
+
msgstr "בטל מנוי"
|
1061 |
|
1062 |
+
#: templates/account.php:171
|
1063 |
+
msgctxt "as synchronize"
|
1064 |
+
msgid "Sync"
|
1065 |
+
msgstr "סינכרון"
|
1066 |
|
1067 |
+
#: templates/account.php185, templates/debug.php:389
|
1068 |
+
msgid "Name"
|
1069 |
+
msgstr "שם"
|
|
|
1070 |
|
1071 |
+
#: templates/account.php191, templates/debug.php:390
|
1072 |
+
msgid "Email"
|
1073 |
+
msgstr "דוא\"ל"
|
1074 |
|
1075 |
+
#: templates/account.php198, templates/debug.php310, templates/debug.php:419
|
1076 |
+
msgid "User ID"
|
1077 |
+
msgstr "מזהה משתמש"
|
1078 |
|
1079 |
+
#: templates/account.php:205
|
1080 |
+
msgid "Site ID"
|
1081 |
+
msgstr "מזהה אתר"
|
1082 |
|
1083 |
+
#: templates/account.php:208
|
1084 |
+
msgid "No ID"
|
1085 |
+
msgstr "אין מזהה"
|
1086 |
|
1087 |
+
#: templates/account.php213, templates/debug.php225, templates/debug.php312,
|
1088 |
+
#: templates/debug.php355, templates/debug.php:392
|
1089 |
+
msgid "Public Key"
|
1090 |
+
msgstr "מפתח פומבי"
|
1091 |
|
1092 |
+
#: templates/account.php219, templates/debug.php313, templates/debug.php356,
|
1093 |
+
#: templates/debug.php:393
|
1094 |
+
msgid "Secret Key"
|
1095 |
+
msgstr "מפתח סודי"
|
1096 |
|
1097 |
+
#: templates/account.php:222
|
1098 |
+
msgctxt "as secret encryption key missing"
|
1099 |
+
msgid "No Secret"
|
1100 |
+
msgstr "אין מפתח סודי"
|
1101 |
|
1102 |
+
#: templates/account.php:241
|
1103 |
+
msgid "Trial"
|
1104 |
+
msgstr "ניסיון"
|
1105 |
|
1106 |
+
#: templates/account.php257, templates/debug.php:424
|
1107 |
+
msgid "License Key"
|
1108 |
+
msgstr "License Key"
|
1109 |
|
1110 |
+
#: templates/account.php:287
|
1111 |
+
msgid "not verified"
|
1112 |
+
msgstr "לא מאומת"
|
1113 |
|
1114 |
+
#: templates/account.php:317
|
1115 |
+
msgid "Localhost"
|
1116 |
+
msgstr "שרת לוקאלי"
|
1117 |
|
1118 |
+
#: templates/account.php:321
|
1119 |
+
msgctxt "as 5 licenses left"
|
1120 |
+
msgid "%s left"
|
1121 |
+
msgstr "נשארו %s"
|
1122 |
|
1123 |
+
#: templates/account.php:322
|
1124 |
+
msgid "Last license"
|
1125 |
+
msgstr "רישיון אחרון"
|
1126 |
|
1127 |
+
#: templates/account.php:352
|
1128 |
+
msgid "Premium version"
|
1129 |
+
msgstr "גירסת פרימיום"
|
1130 |
|
1131 |
+
#: templates/account.php:354
|
1132 |
+
msgid "Free version"
|
1133 |
+
msgstr "גירסה חינאמית"
|
1134 |
|
1135 |
+
#: templates/account.php:366
|
1136 |
+
msgid "Verify Email"
|
1137 |
+
msgstr "אמת כתובת דוא\"ל"
|
1138 |
|
1139 |
+
#: templates/account.php:377
|
1140 |
+
msgid "Download %s Version"
|
1141 |
+
msgstr "הורד גרסת %s"
|
1142 |
|
1143 |
+
#: templates/account.php391, templates/account.php:442
|
1144 |
+
msgctxt "verb"
|
1145 |
+
msgid "Show"
|
1146 |
+
msgstr "הצג"
|
1147 |
|
1148 |
+
#: templates/account.php:405
|
1149 |
+
msgid "What is your %s?"
|
1150 |
+
msgstr "מה ה%s שלך?"
|
1151 |
|
1152 |
+
#: templates/account.php413, templates/account/billing.php:27
|
1153 |
+
msgctxt "verb"
|
1154 |
+
msgid "Edit"
|
1155 |
+
msgstr "ערוך"
|
1156 |
|
1157 |
+
#: templates/account.php:436
|
1158 |
+
msgctxt "verb"
|
1159 |
+
msgid "Hide"
|
1160 |
+
msgstr "הסתר"
|
1161 |
|
1162 |
+
#: templates/account.php472, templates/debug.php218, templates/debug.php308,
|
1163 |
+
#: templates/debug.php351, templates/debug.php388, templates/debug.php417,
|
1164 |
+
#: templates/debug.php496, templates/account/payments.php35,
|
1165 |
+
#: templates/debug/logger.php:21
|
1166 |
+
msgid "ID"
|
1167 |
+
msgstr "מזהה"
|
1168 |
|
1169 |
+
#: templates/account.php:475
|
1170 |
+
msgctxt "as software license"
|
1171 |
+
msgid "License"
|
1172 |
+
msgstr "רישיון"
|
1173 |
|
1174 |
+
#: templates/account.php:550
|
1175 |
+
msgid "Cancelled"
|
1176 |
+
msgstr "בוטל"
|
|
|
1177 |
|
1178 |
+
#: templates/account.php:555
|
1179 |
+
msgid "Expired"
|
1180 |
+
msgstr "פג תוקף"
|
1181 |
|
1182 |
+
#: templates/account.php:560
|
1183 |
+
msgid "No expiration"
|
1184 |
+
msgstr "ללא תפוגה"
|
|
|
1185 |
|
1186 |
+
#: templates/account.php668, templates/account.php:724
|
1187 |
+
msgid "Activate this add-on"
|
1188 |
+
msgstr "הפעל את ההרחבה"
|
|
|
1189 |
|
1190 |
+
#: templates/account.php745, templates/debug.php:336
|
1191 |
+
msgctxt "verb"
|
1192 |
+
msgid "Delete"
|
1193 |
+
msgstr "מחק"
|
1194 |
|
1195 |
+
#: templates/add-ons.php:36
|
1196 |
+
msgid "Add Ons for %s"
|
1197 |
+
msgstr "הרחבות עבור %s"
|
|
|
1198 |
|
1199 |
+
#: templates/add-ons.php:44
|
1200 |
+
msgid "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
1201 |
+
msgstr "We could'nt load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
|
|
1202 |
|
1203 |
+
#: templates/add-ons.php:135
|
1204 |
+
msgid "View details"
|
1205 |
+
msgstr "פרטים נוספים"
|
|
|
1206 |
|
1207 |
+
#: templates/admin-notice.php13, templates/forms/license-activation.php73,
|
1208 |
+
#: templates/forms/resend-key.php:77
|
1209 |
+
msgctxt "as close a window"
|
1210 |
+
msgid "Dismiss"
|
1211 |
+
msgstr "סגירה"
|
1212 |
|
1213 |
+
#: templates/auto-installation.php:44
|
1214 |
+
msgid "%s sec"
|
1215 |
+
msgstr "%s שניות"
|
1216 |
|
1217 |
+
#: templates/auto-installation.php:82
|
1218 |
+
msgid "Automatic Installation"
|
1219 |
+
msgstr "התקנה אוטומטית"
|
1220 |
|
1221 |
+
#: templates/auto-installation.php:92
|
1222 |
+
msgid "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1223 |
+
msgstr "An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now."
|
1224 |
|
1225 |
+
#: templates/auto-installation.php:103
|
1226 |
+
msgid "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1227 |
+
msgstr "The installation process has started and may take a few minutes to complete. Please wait until it is done - do not refresh this page."
|
1228 |
|
1229 |
+
#: templates/auto-installation.php:108
|
1230 |
+
msgid "Cancel Installation"
|
1231 |
+
msgstr "בטל התקנה"
|
1232 |
|
1233 |
+
#: templates/checkout.php:168
|
1234 |
+
msgid "Checkout"
|
1235 |
+
msgstr "Checkout"
|
1236 |
|
1237 |
+
#: templates/checkout.php:168
|
1238 |
+
msgid "PCI compliant"
|
1239 |
+
msgstr "PCI compliant"
|
1240 |
|
1241 |
+
#: templates/connect.php:128
|
1242 |
+
msgid "Allow & Continue"
|
1243 |
+
msgstr "אפשר\\י והמשכ\\י"
|
1244 |
|
1245 |
+
#: templates/connect.php:131
|
1246 |
+
msgid "Re-send activation email"
|
1247 |
+
msgstr "שליחה חוזרת של מייל האקטיבציה"
|
1248 |
|
1249 |
+
#: templates/connect.php:135
|
1250 |
+
msgid "Thanks %s!"
|
1251 |
+
msgstr "תודה %s!"
|
1252 |
|
1253 |
+
#: templates/connect.php143, templates/forms/license-activation.php:43
|
1254 |
+
msgid "Agree & Activate License"
|
1255 |
+
msgstr "הסכמה והפעלת רישיון"
|
1256 |
|
1257 |
+
#: templates/connect.php147, templates/connect.php:170
|
1258 |
+
msgctxt "greeting"
|
1259 |
+
msgid "Hey %s,"
|
1260 |
+
msgstr "היי %s,"
|
1261 |
|
1262 |
+
#: templates/connect.php:148
|
1263 |
+
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
1264 |
+
msgstr "Thanks for purchasing %s! To get started, please enter your license key:"
|
1265 |
|
1266 |
+
#: templates/connect.php:154
|
1267 |
+
msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1268 |
+
msgstr "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1269 |
|
1270 |
+
#: templates/connect.php:159
|
1271 |
+
msgid "Please help us improve %1$s! If you opt in, some data about your usage of %1$s will be sent to %4$s. If you skip this, that's okay! %1$s will still work just
|
|