Changeset 3423181
- Timestamp:
- 12/18/2025 06:40:49 PM (2 months ago)
- Location:
- analogwp-library
- Files:
-
- 2 added
- 14 edited
- 1 copied
-
tags/1.7.0 (copied) (copied from analogwp-library/trunk)
-
tags/1.7.0/analogwp-library.php (modified) (3 diffs)
-
tags/1.7.0/assets/js/admin-settings.js (modified) (1 diff)
-
tags/1.7.0/inc/Featuresets/rollback/class-init.php (modified) (2 diffs)
-
tags/1.7.0/inc/Featuresets/rollback/class-rollback-downgrader-skin.php (added)
-
tags/1.7.0/inc/Featuresets/rollback/class-rollbacker.php (modified) (3 diffs)
-
tags/1.7.0/inc/Settings/Views/html-admin-settings.php (modified) (1 diff)
-
tags/1.7.0/languages/analogwp-library-analog-custom-library-app.json (modified) (1 diff)
-
tags/1.7.0/languages/analogwp-library.pot (modified) (3 diffs)
-
trunk/analogwp-library.php (modified) (3 diffs)
-
trunk/assets/js/admin-settings.js (modified) (1 diff)
-
trunk/inc/Featuresets/rollback/class-init.php (modified) (2 diffs)
-
trunk/inc/Featuresets/rollback/class-rollback-downgrader-skin.php (added)
-
trunk/inc/Featuresets/rollback/class-rollbacker.php (modified) (3 diffs)
-
trunk/inc/Settings/Views/html-admin-settings.php (modified) (1 diff)
-
trunk/languages/analogwp-library-analog-custom-library-app.json (modified) (1 diff)
-
trunk/languages/analogwp-library.pot (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
analogwp-library/tags/1.7.0/analogwp-library.php
r3396722 r3423181 11 11 * Plugin URI: https://analogwp.com/custom-library-for-elementor 12 12 * Description: Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor. 13 * Version: 1. 6.113 * Version: 1.7.0 14 14 * Author: AnalogWP 15 15 * Author URI: https://analogwp.com/ … … 19 19 * Requires at least: 6.0 20 20 * Requires PHP: 7.4 21 * Elementor tested up to: 3.33. 222 * Elementor Pro tested up to: 3.33. 121 * Elementor tested up to: 3.33.6 22 * Elementor Pro tested up to: 3.33.2 23 23 */ 24 24 … … 28 28 define( 'AGWP_LIBRARY_PHP_MINIMUM', '7.4' ); 29 29 define( 'AGWP_LIBRARY_WP_MINIMUM', '6.0' ); 30 define( 'AGWP_LIBRARY_VERSION', '1. 6.1' );30 define( 'AGWP_LIBRARY_VERSION', '1.7.0' ); 31 31 define( 'AGWP_LIBRARY_PLUGIN_FILE', __FILE__ ); 32 32 define( 'AGWP_LIBRARY_PLUGIN_URL', plugin_dir_url( AGWP_LIBRARY_PLUGIN_FILE ) ); -
analogwp-library/tags/1.7.0/assets/js/admin-settings.js
r3396722 r3423181 190 190 191 191 $.post( 192 'https://analogwp.com/?ang-api= cl_bfcm_discount_code',192 'https://analogwp.com/?ang-api=pro_discount_code', 193 193 { 194 194 email: email, 195 195 first_name: JSON.stringify( fname ), 196 196 last_name: JSON.stringify( lname ), 197 slug: 'custom-library', 197 198 } 198 199 ).done( function( res ) { -
analogwp-library/tags/1.7.0/inc/Featuresets/rollback/class-init.php
r3384542 r3423181 50 50 */ 51 51 public function add_rollback_data( $data ) { 52 $data['rollback_url'] = wp_nonce_url( admin_url( 'admin-post.php?action=analog_custom_library_rollback&version=VERSION' ), 'analog_custom_library_rollback' ); 53 $data['rollback_versions'] = self::get_rollback_versions(); 52 $data['rollback_url'] = wp_nonce_url( admin_url( 'admin-post.php?action=analog_custom_library_rollback&version=VERSION' ), 'analog_custom_library_rollback' ); 54 53 55 54 return $data; … … 142 141 } 143 142 144 $current_index++;143 ++$current_index; 145 144 $rollback_versions[] = $version; 146 145 } -
analogwp-library/tags/1.7.0/inc/Featuresets/rollback/class-rollbacker.php
r3384542 r3423181 127 127 background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIzIiBoZWlnaHQ9IjQyIiB2aWV3Qm94PSIwIDAgMjIzIDQyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI5Ljg0NTcgNC4zMTc1NkMyNi41OTc4IC0xLjQzOTE4IDE4LjQwMjIgLTEuNDM5MTkgMTUuMTU0MyA0LjMxNzU2TDEuMTI3MjMgMjkuMTc5N0MtMi4wOTU3NiAzNC44OTIyIDEuOTc2ODMgNDIgOC40NzI5NiA0MkgzNi41MjdDNDMuMDIzMiA0MiA0Ny4wOTU4IDM0Ljg5MjIgNDMuODcyOCAyOS4xNzk3TDI5Ljg0NTcgNC4zMTc1NlpNMjguNzc0MSAyMS41MDZDMjYgMTYuNTg5MSAxOSAxNi41ODkxIDE2LjIyNTkgMjEuNTA2QzEzLjQ3MzEgMjYuMzg1MiAxNi45NTE2IDMyLjQ1NiAyMi41IDMyLjQ1NkMyOC4wNDg0IDMyLjQ1NiAzMS41MjY5IDI2LjM4NTIgMjguNzc0MSAyMS41MDZaIiBmaWxsPSIjMUExQTFBIi8+CjxwYXRoIGQ9Ik03MC4zNiAzNC4zNkM2OC43NzYgMzQuMzYgNjcuMzQ4IDMzLjk2NCA2Ni4wNzYgMzMuMTcyQzY0LjgwNCAzMi4zOCA2My44MDggMzEuMyA2My4wODggMjkuOTMyQzYyLjM2OCAyOC41NjQgNjIuMDA4IDI3LjAyOCA2Mi4wMDggMjUuMzI0QzYyLjAwOCAyMy41OTYgNjIuMzY4IDIyLjA0OCA2My4wODggMjAuNjhDNjMuODA4IDE5LjMxMiA2NC44MDQgMTguMjMyIDY2LjA3NiAxNy40NEM2Ny4zNDggMTYuNjQ4IDY4Ljc3NiAxNi4yNTIgNzAuMzYgMTYuMjUyQzcxLjYwOCAxNi4yNTIgNzIuNzI0IDE2LjUwNCA3My43MDggMTcuMDA4Qzc0LjY5MiAxNy41MTIgNzUuNDcyIDE4LjIyIDc2LjA0OCAxOS4xMzJDNzYuNjQ4IDIwLjAyIDc2Ljk3MiAyMS4wMjggNzcuMDIgMjIuMTU2VjI4LjQyQzc2Ljk3MiAyOS41NzIgNzYuNjQ4IDMwLjU5MiA3Ni4wNDggMzEuNDhDNzUuNDcyIDMyLjM2OCA3NC42OTIgMzMuMDc2IDczLjcwOCAzMy42MDRDNzIuNzI0IDM0LjEwOCA3MS42MDggMzQuMzYgNzAuMzYgMzQuMzZaTTcxLjIyNCAzMC4wMDRDNzIuNTQ0IDMwLjAwNCA3My42MTIgMjkuNTcyIDc0LjQyOCAyOC43MDhDNzUuMjQ0IDI3LjgyIDc1LjY1MiAyNi42OCA3NS42NTIgMjUuMjg4Qzc1LjY1MiAyNC4zNzYgNzUuNDYgMjMuNTcyIDc1LjA3NiAyMi44NzZDNzQuNzE2IDIyLjE1NiA3NC4yIDIxLjYwNCA3My41MjggMjEuMjJDNzIuODggMjAuODEyIDcyLjExMiAyMC42MDggNzEuMjI0IDIwLjYwOEM3MC4zNiAyMC42MDggNjkuNTkyIDIwLjgxMiA2OC45MiAyMS4yMkM2OC4yNzIgMjEuNjA0IDY3Ljc1NiAyMi4xNTYgNjcuMzcyIDIyLjg3NkM2Ny4wMTIgMjMuNTcyIDY2LjgzMiAyNC4zNzYgNjYuODMyIDI1LjI4OEM2Ni44MzIgMjYuMjI0IDY3LjAxMiAyNy4wNTIgNjcuMzcyIDI3Ljc3MkM2Ny43NTYgMjguNDY4IDY4LjI3MiAyOS4wMiA2OC45MiAyOS40MjhDNjkuNTkyIDI5LjgxMiA3MC4zNiAzMC4wMDQgNzEuMjI0IDMwLjAwNFpNNzUuNCAzNFYyOS4zMkw3Ni4xNTYgMjUuMDcyTDc1LjQgMjAuODk2VjE2LjYxMkg4MC4wOFYzNEg3NS40Wk05NS45NTIxIDM0VjI0LjAyOEM5NS45NTIxIDIyLjk5NiA5NS42MjgxIDIyLjE1NiA5NC45ODAxIDIxLjUwOEM5NC4zMzIxIDIwLjg2IDkzLjQ5MjEgMjAuNTM2IDkyLjQ2MDEgMjAuNTM2QzkxLjc4ODEgMjAuNTM2IDkxLjE4ODEgMjAuNjggOTAuNjYwMSAyMC45NjhDOTAuMTMyMSAyMS4yNTYgODkuNzEyMSAyMS42NjQgODkuNDAwMSAyMi4xOTJDODkuMTEyMSAyMi43MiA4OC45NjgxIDIzLjMzMiA4OC45NjgxIDI0LjAyOEw4Ny4xMzIxIDIzLjA5MkM4Ny4xMzIxIDIxLjcyNCA4Ny40MjAxIDIwLjUzNiA4Ny45OTYxIDE5LjUyOEM4OC41OTYxIDE4LjQ5NiA4OS40MTIxIDE3LjY5MiA5MC40NDQxIDE3LjExNkM5MS41MDAxIDE2LjU0IDkyLjY4ODEgMTYuMjUyIDk0LjAwODEgMTYuMjUyQzk1LjI4MDEgMTYuMjUyIDk2LjQyMDEgMTYuNTc2IDk3LjQyODEgMTcuMjI0Qzk4LjQzNjEgMTcuODQ4IDk5LjIyODEgMTguNjc2IDk5LjgwNDEgMTkuNzA4QzEwMC4zOCAyMC43MTYgMTAwLjY2OCAyMS44MDggMTAwLjY2OCAyMi45ODRWMzRIOTUuOTUyMVpNODQuMjUyMSAzNFYxNi42MTJIODguOTY4MVYzNEg4NC4yNTIxWk0xMTEuNzM5IDM0LjM2QzExMC4xNTUgMzQuMzYgMTA4LjcyNyAzMy45NjQgMTA3LjQ1NSAzMy4xNzJDMTA2LjE4MyAzMi4zOCAxMDUuMTg3IDMxLjMgMTA0LjQ2NyAyOS45MzJDMTAzLjc0NyAyOC41NjQgMTAzLjM4NyAyNy4wMjggMTAzLjM4NyAyNS4zMjRDMTAzLjM4NyAyMy41OTYgMTAzLjc0NyAyMi4wNDggMTA0LjQ2NyAyMC42OEMxMDUuMTg3IDE5LjMxMiAxMDYuMTgzIDE4LjIzMiAxMDcuNDU1IDE3LjQ0QzEwOC43MjcgMTYuNjQ4IDExMC4xNTUgMTYuMjUyIDExMS43MzkgMTYuMjUyQzExMi45ODcgMTYuMjUyIDExNC4xMDMgMTYuNTA0IDExNS4wODcgMTcuMDA4QzExNi4wNzEgMTcuNTEyIDExNi44NTEgMTguMjIgMTE3LjQyNyAxOS4xMzJDMTE4LjAyNyAyMC4wMiAxMTguMzUxIDIxLjAyOCAxMTguMzk5IDIyLjE1NlYyOC40MkMxMTguMzUxIDI5LjU3MiAxMTguMDI3IDMwLjU5MiAxMTcuNDI3IDMxLjQ4QzExNi44NTEgMzIuMzY4IDExNi4wNzEgMzMuMDc2IDExNS4wODcgMzMuNjA0QzExNC4xMDMgMzQuMTA4IDExMi45ODcgMzQuMzYgMTExLjczOSAzNC4zNlpNMTEyLjYwMyAzMC4wMDRDMTEzLjkyMyAzMC4wMDQgMTE0Ljk5MSAyOS41NzIgMTE1LjgwNyAyOC43MDhDMTE2LjYyMyAyNy44MiAxMTcuMDMxIDI2LjY4IDExNy4wMzEgMjUuMjg4QzExNy4wMzEgMjQuMzc2IDExNi44MzkgMjMuNTcyIDExNi40NTUgMjIuODc2QzExNi4wOTUgMjIuMTU2IDExNS41NzkgMjEuNjA0IDExNC45MDcgMjEuMjJDMTE0LjI1OSAyMC44MTIgMTEzLjQ5MSAyMC42MDggMTEyLjYwMyAyMC42MDhDMTExLjczOSAyMC42MDggMTEwLjk3MSAyMC44MTIgMTEwLjI5OSAyMS4yMkMxMDkuNjUxIDIxLjYwNCAxMDkuMTM1IDIyLjE1NiAxMDguNzUxIDIyLjg3NkMxMDguMzkxIDIzLjU3MiAxMDguMjExIDI0LjM3NiAxMDguMjExIDI1LjI4OEMxMDguMjExIDI2LjIyNCAxMDguMzkxIDI3LjA1MiAxMDguNzUxIDI3Ljc3MkMxMDkuMTM1IDI4LjQ2OCAxMDkuNjUxIDI5LjAyIDExMC4yOTkgMjkuNDI4QzExMC45NzEgMjkuODEyIDExMS43MzkgMzAuMDA0IDExMi42MDMgMzAuMDA0Wk0xMTYuNzc5IDM0VjI5LjMyTDExNy41MzUgMjUuMDcyTDExNi43NzkgMjAuODk2VjE2LjYxMkgxMjEuNDU5VjM0SDExNi43NzlaTTEyNS42MzEgMzRWNy45NzJIMTMwLjM0N1YzNEgxMjUuNjMxWk0xNDIuNjk4IDM0LjM2QzE0MC45NDYgMzQuMzYgMTM5LjM2MiAzMy45NjQgMTM3Ljk0NiAzMy4xNzJDMTM2LjU1NCAzMi4zNTYgMTM1LjQzOCAzMS4yNjQgMTM0LjU5OCAyOS44OTZDMTMzLjc4MiAyOC41MDQgMTMzLjM3NCAyNi45NTYgMTMzLjM3NCAyNS4yNTJDMTMzLjM3NCAyMy41NDggMTMzLjc4MiAyMi4wMjQgMTM0LjU5OCAyMC42OEMxMzUuNDE0IDE5LjMxMiAxMzYuNTMgMTguMjMyIDEzNy45NDYgMTcuNDRDMTM5LjM2MiAxNi42MjQgMTQwLjkzNCAxNi4yMTYgMTQyLjY2MiAxNi4yMTZDMTQ0LjQzOCAxNi4yMTYgMTQ2LjAyMiAxNi42MjQgMTQ3LjQxNCAxNy40NEMxNDguODMgMTguMjMyIDE0OS45NDYgMTkuMzEyIDE1MC43NjIgMjAuNjhDMTUxLjU3OCAyMi4wMjQgMTUxLjk4NiAyMy41NDggMTUxLjk4NiAyNS4yNTJDMTUxLjk4NiAyNi45NTYgMTUxLjU3OCAyOC41MDQgMTUwLjc2MiAyOS44OTZDMTQ5Ljk0NiAzMS4yNjQgMTQ4LjgzIDMyLjM1NiAxNDcuNDE0IDMzLjE3MkMxNDYuMDIyIDMzLjk2NCAxNDQuNDUgMzQuMzYgMTQyLjY5OCAzNC4zNlpNMTQyLjY2MiAyOS45NjhDMTQzLjU1IDI5Ljk2OCAxNDQuMzMgMjkuNzc2IDE0NS4wMDIgMjkuMzkyQzE0NS42OTggMjguOTg0IDE0Ni4yMjYgMjguNDMyIDE0Ni41ODYgMjcuNzM2QzE0Ni45NyAyNy4wMTYgMTQ3LjE2MiAyNi4yIDE0Ny4xNjIgMjUuMjg4QzE0Ny4xNjIgMjQuMzc2IDE0Ni45NyAyMy41NzIgMTQ2LjU4NiAyMi44NzZDMTQ2LjIwMiAyMi4xOCAxNDUuNjc0IDIxLjY0IDE0NS4wMDIgMjEuMjU2QzE0NC4zMyAyMC44NDggMTQzLjU1IDIwLjY0NCAxNDIuNjYyIDIwLjY0NEMxNDEuNzk4IDIwLjY0NCAxNDEuMDMgMjAuODQ4IDE0MC4zNTggMjEuMjU2QzEzOS42ODYgMjEuNjQgMTM5LjE1OCAyMi4xOCAxMzguNzc0IDIyLjg3NkMxMzguMzkgMjMuNTcyIDEzOC4xOTggMjQuMzc2IDEzOC4xOTggMjUuMjg4QzEzOC4xOTggMjYuMiAxMzguMzkgMjcuMDE2IDEzOC43NzQgMjcuNzM2QzEzOS4xNTggMjguNDMyIDEzOS42ODYgMjguOTg0IDE0MC4zNTggMjkuMzkyQzE0MS4wMyAyOS43NzYgMTQxLjc5OCAyOS45NjggMTQyLjY2MiAyOS45NjhaTTE2Mi4yOTQgNDEuNzA0QzE2MC40NDYgNDEuNzA0IDE1OC44MTQgNDEuMzY4IDE1Ny4zOTggNDAuNjk2QzE1NS45ODIgNDAuMDQ4IDE1NC44NTQgMzkuMTI0IDE1NC4wMTQgMzcuOTI0TDE1Ny4wMDIgMzQuOTM2QzE1Ny42NzQgMzUuNzI4IDE1OC40MTggMzYuMzI4IDE1OS4yMzQgMzYuNzM2QzE2MC4wNzQgMzcuMTY4IDE2MS4wODIgMzcuMzg0IDE2Mi4yNTggMzcuMzg0QzE2My43MjIgMzcuMzg0IDE2NC44NzQgMzcuMDEyIDE2NS43MTQgMzYuMjY4QzE2Ni41NzggMzUuNTI0IDE2Ny4wMSAzNC40OTIgMTY3LjAxIDMzLjE3MlYyOC44MTZMMTY3LjgwMiAyNUwxNjcuMDQ2IDIxLjE4NFYxNi42MTJIMTcxLjcyNlYzMy4xQzE3MS43MjYgMzQuODI4IDE3MS4zMTggMzYuMzI4IDE3MC41MDIgMzcuNkMxNjkuNzEgMzguODk2IDE2OC42MDYgMzkuOTA0IDE2Ny4xOSA0MC42MjRDMTY1Ljc3NCA0MS4zNDQgMTY0LjE0MiA0MS43MDQgMTYyLjI5NCA0MS43MDRaTTE2Mi4wNzggMzMuNTMyQzE2MC41MTggMzMuNTMyIDE1OS4xMTQgMzMuMTYgMTU3Ljg2NiAzMi40MTZDMTU2LjYxOCAzMS42NDggMTU1LjYzNCAzMC42MDQgMTU0LjkxNCAyOS4yODRDMTU0LjIxOCAyNy45NjQgMTUzLjg3IDI2LjQ4OCAxNTMuODcgMjQuODU2QzE1My44NyAyMy4yMjQgMTU0LjIxOCAyMS43NiAxNTQuOTE0IDIwLjQ2NEMxNTUuNjM0IDE5LjE2OCAxNTYuNjE4IDE4LjE0OCAxNTcuODY2IDE3LjQwNEMxNTkuMTE0IDE2LjYzNiAxNjAuNTE4IDE2LjI1MiAxNjIuMDc4IDE2LjI1MkMxNjMuMzc0IDE2LjI1MiAxNjQuNTE0IDE2LjUwNCAxNjUuNDk4IDE3LjAwOEMxNjYuNTA2IDE3LjUxMiAxNjcuMjk4IDE4LjIwOCAxNjcuODc0IDE5LjA5NkMxNjguNDUgMTkuOTYgMTY4Ljc2MiAyMC45OCAxNjguODEgMjIuMTU2VjI3LjYyOEMxNjguNzYyIDI4Ljc4IDE2OC40MzggMjkuODEyIDE2Ny44MzggMzAuNzI0QzE2Ny4yNjIgMzEuNjEyIDE2Ni40NyAzMi4zMDggMTY1LjQ2MiAzMi44MTJDMTY0LjQ3OCAzMy4yOTIgMTYzLjM1IDMzLjUzMiAxNjIuMDc4IDMzLjUzMlpNMTYzLjAxNCAyOS4yNDhDMTYzLjg3OCAyOS4yNDggMTY0LjYyMiAyOS4wNjggMTY1LjI0NiAyOC43MDhDMTY1Ljg5NCAyOC4zMjQgMTY2LjM5OCAyNy44MDggMTY2Ljc1OCAyNy4xNkMxNjcuMTE4IDI2LjQ4OCAxNjcuMjk4IDI1LjczMiAxNjcuMjk4IDI0Ljg5MkMxNjcuMjk4IDI0LjAyOCAxNjcuMTE4IDIzLjI3MiAxNjYuNzU4IDIyLjYyNEMxNjYuMzk4IDIxLjk3NiAxNjUuODk0IDIxLjQ3MiAxNjUuMjQ2IDIxLjExMkMxNjQuNjIyIDIwLjcyOCAxNjMuODc4IDIwLjUzNiAxNjMuMDE0IDIwLjUzNkMxNjIuMTUgMjAuNTM2IDE2MS4zOTQgMjAuNzI4IDE2MC43NDYgMjEuMTEyQzE2MC4wOTggMjEuNDcyIDE1OS41OTQgMjEuOTg4IDE1OS4yMzQgMjIuNjZDMTU4Ljg3NCAyMy4zMDggMTU4LjY5NCAyNC4wNTIgMTU4LjY5NCAyNC44OTJDMTU4LjY5NCAyNS43MDggMTU4Ljg3NCAyNi40NTIgMTU5LjIzNCAyNy4xMjRDMTU5LjU5NCAyNy43NzIgMTYwLjA5OCAyOC4yODggMTYwLjc0NiAyOC42NzJDMTYxLjM5NCAyOS4wNTYgMTYyLjE1IDI5LjI0OCAxNjMuMDE0IDI5LjI0OFpNMTgwLjUxMyAzNEwxNzMuOTk3IDE2LjYxMkgxNzguNzQ5TDE4Mi45OTcgMjkuMjQ4TDE4MS41NTcgMjkuMjg0TDE4NS45MTMgMTYuNjEySDE4OS4zMzNMMTkzLjY4OSAyOS4yODRMMTkyLjI0OSAyOS4yNDhMMTk2LjQ5NyAxNi42MTJIMjAxLjI0OUwxOTQuNzY5IDM0SDE5MS4zNDlMMTg2Ljk1NyAyMS45NzZIMTg4LjI4OUwxODMuODk3IDM0SDE4MC41MTNaTTIxMy4xODUgMzQuMzZDMjExLjkzNyAzNC4zNiAyMTAuODA5IDM0LjEwOCAyMDkuODAxIDMzLjYwNEMyMDguNzkzIDMzLjA3NiAyMDcuOTg5IDMyLjM2OCAyMDcuMzg5IDMxLjQ4QzIwNi43ODkgMzAuNTkyIDIwNi40NjUgMjkuNTcyIDIwNi40MTcgMjguNDJWMjIuMjY0QzIwNi40NjUgMjEuMTEyIDIwNi43ODkgMjAuMDkyIDIwNy4zODkgMTkuMjA0QzIwOC4wMTMgMTguMjkyIDIwOC44MTcgMTcuNTcyIDIwOS44MDEgMTcuMDQ0QzIxMC44MDkgMTYuNTE2IDIxMS45MzcgMTYuMjUyIDIxMy4xODUgMTYuMjUyQzIxNC43OTMgMTYuMjUyIDIxNi4yMzMgMTYuNjQ4IDIxNy41MDUgMTcuNDRDMjE4Ljc3NyAxOC4yMzIgMjE5Ljc3MyAxOS4zMTIgMjIwLjQ5MyAyMC42OEMyMjEuMjM3IDIyLjA0OCAyMjEuNjA5IDIzLjU5NiAyMjEuNjA5IDI1LjMyNEMyMjEuNjA5IDI3LjAyOCAyMjEuMjM3IDI4LjU2NCAyMjAuNDkzIDI5LjkzMkMyMTkuNzczIDMxLjMgMjE4Ljc3NyAzMi4zOCAyMTcuNTA1IDMzLjE3MkMyMTYuMjMzIDMzLjk2NCAyMTQuNzkzIDM0LjM2IDIxMy4xODUgMzQuMzZaTTIwMy41MzcgNDEuMjcyVjE2LjYxMkgyMDguMjUzVjIxLjE4NEwyMDcuNDYxIDI1LjM5NkwyMDguMjE3IDI5LjYwOFY0MS4yNzJIMjAzLjUzN1pNMjEyLjM1NyAzMC4wMDRDMjEzLjIyMSAzMC4wMDQgMjEzLjk4OSAyOS44MTIgMjE0LjY2MSAyOS40MjhDMjE1LjMzMyAyOS4wMiAyMTUuODQ5IDI4LjQ2OCAyMTYuMjA5IDI3Ljc3MkMyMTYuNTkzIDI3LjA1MiAyMTYuNzg1IDI2LjIyNCAyMTYuNzg1IDI1LjI4OEMyMTYuNzg1IDI0LjM3NiAyMTYuNTkzIDIzLjU3MiAyMTYuMjA5IDIyLjg3NkMyMTUuODQ5IDIyLjE1NiAyMTUuMzMzIDIxLjYwNCAyMTQuNjYxIDIxLjIyQzIxMy45ODkgMjAuODEyIDIxMy4yMjEgMjAuNjA4IDIxMi4zNTcgMjAuNjA4QzIxMS41MTcgMjAuNjA4IDIxMC43NjEgMjAuODEyIDIxMC4wODkgMjEuMjJDMjA5LjQxNyAyMS42MDQgMjA4Ljg4OSAyMi4xNTYgMjA4LjUwNSAyMi44NzZDMjA4LjE0NSAyMy41NzIgMjA3Ljk2NSAyNC4zNzYgMjA3Ljk2NSAyNS4yODhDMjA3Ljk2NSAyNi4yMjQgMjA4LjE0NSAyNy4wNTIgMjA4LjUwNSAyNy43NzJDMjA4Ljg4OSAyOC40NjggMjA5LjQwNSAyOS4wMiAyMTAuMDUzIDI5LjQyOEMyMTAuNzI1IDI5LjgxMiAyMTEuNDkzIDMwLjAwNCAyMTIuMzU3IDMwLjAwNFoiIGZpbGw9IiMxQTFBMUEiLz4KPC9zdmc+Cg=="); 128 128 background-repeat: no-repeat; 129 transform: translate( 50%);129 transform: translate(10%); 130 130 } 131 131 </style> 132 132 <?php 133 }134 135 /**136 * Apply package.137 *138 * Change the plugin data when WordPress checks for updates. This method139 * modifies package data to update the plugin from a specific URL containing140 * the version package.141 *142 * @access protected143 */144 protected function apply_package() {145 $update_plugins = get_site_transient( 'update_plugins' );146 if ( ! is_object( $update_plugins ) ) {147 $update_plugins = new \stdClass();148 }149 150 $plugin_info = new \stdClass();151 $plugin_info->new_version = $this->version;152 $plugin_info->slug = $this->plugin_slug;153 $plugin_info->package = $this->package_url;154 $plugin_info->url = 'https://analogwp.com/';155 156 $update_plugins->response[ $this->plugin_name ] = $plugin_info;157 158 set_site_transient( 'update_plugins', $update_plugins );159 133 } 160 134 … … 167 141 */ 168 142 protected function upgrade() { 169 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 143 if ( ! class_exists( 'WP_Upgrader_Skin' ) ) { 144 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 145 } 170 146 171 $upgrader_args = array( 172 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), 147 require_once __DIR__ . '/class-rollback-downgrader-skin.php'; 148 149 $skin_args = array( 150 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), 173 151 'plugin' => $this->plugin_name, 174 'nonce' => 'upgrade-plugin_' . $this->plugin_name,175 'title' => esc_html__( 'Rollback to Previous Version', 'analogwp-library' ),152 'nonce' => 'upgrade-plugin_' . $this->plugin_name, 153 'title' => esc_html__( 'Rollback to Previous Version', 'analogwp-library' ), 176 154 ); 177 155 178 156 $this->print_inline_style(); 179 157 180 $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) ); 181 $upgrader->upgrade( $this->plugin_name ); 158 $skin = new Rollback_Downgrader_Skin( $skin_args ); 159 $upgrader = new \Plugin_Upgrader( $skin ); 160 161 // IMPORTANT: initialize + install strings so feedback() can map keys. 162 $upgrader->init(); 163 $upgrader->upgrade_strings(); 164 $upgrader->run( 165 array( 166 'package' => $this->package_url, 167 'destination' => WP_PLUGIN_DIR, 168 'abort_if_destination_exists' => false, 169 'clear_working' => true, 170 'hook_extra' => array( 171 'plugin' => $this->plugin_name, 172 'type' => 'plugin', 173 'action' => 'update', 174 ), 175 ) 176 ); 182 177 } 183 178 … … 190 185 */ 191 186 public function run() { 192 $this->apply_package();193 187 $this->upgrade(); 194 188 } -
analogwp-library/tags/1.7.0/inc/Settings/Views/html-admin-settings.php
r3396722 r3423181 82 82 <?php if ( ! Plugin::instance()->has_pro_active() ) : ?> 83 83 <div class="upgrade-box special"> 84 <h3> Upgrade to Custom Library Pro with<br/>80% discount in a Lifetime Deal</h3>84 <h3>🔥 Upgrade to Custom Library PRO with a Special Discount</h3> 85 85 86 <p> Black Friday + Cyber Monday Special!<br/>We have <b>already applied 50% discount sitewide</b>—enter your email to <b>get an extra 30% code on top</b>. Limited-time offer!</p>86 <p>Get additional features like <strong>Custom Branding/White-Label, Import/Export Templates, Role-Based Access Controls, Priority support and so much more</strong> while helping us support its development and maintenance.</p> 87 87 88 88 <form id="js-ang-custom-library-request-discount" method="post"> -
analogwp-library/tags/1.7.0/languages/analogwp-library-analog-custom-library-app.json
r3396722 r3423181 1 {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n!=1);","lang":"en"},"Custom Library for Elementor":[""],"https://analogwp.com/custom-library-for-elementor":[""],"Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor.":[""],"AnalogWP":[""],"https://analogwp.com/":[""],"Custom Library for Elementor requires PHP version %s":[""],"Error Activating":[""],"Custom Library for Elementor requires WordPress version %s+. Because you are using an earlier version, the plugin is currently NOT RUNNING.":[""],"Custom Library for Elementor requires Elementor v%s or newer in order to work. Please update Elementor to the latest version.":[""],"Update Elementor Now":[""],"Custom Library for Elementor is not working because you need to activate the Elementor plugin.":[""],"Activate Elementor Now":[""],"Custom Library for Elementor is not working because you need to install the Elementor plugin.":[""],"Install Elementor Now":[""],"Settings":[""],"Library":[""],"Something went wrong.":[""],"Template":[""],"Block":[""],"Add Custom Library for Elementor":[""],"Library is now synced":[""],"Something is not right, please try again.":[""],"Get unlimited access to the Custom Library for Elementor library and features with the PRO version.":[""],"View Plans":[""],"Templates":[""],"Blocks":[""],"Exit preview":[""],"Open in new tab":[""],"Import Template":[""],"Custom Library Settings":[""],"Custom Library":[""],"Your settings have been saved.":[""],"The changes you made will be lost if you navigate away from this page.":[""],"Select Image":[""],"Use this image":[""],"Pro":[""],"Upgrade to Pro":[""],"Toggle":[""],"Change Image":[""],"Revert to Default":[""],"Import":[""],"Go":[""],"Export All":[""],"Custom Library for Elementor Shortcuts":[""],"Templates Library":[""],"Theme Custom Library for Elementor":[""],"Add to library":[""],"Custom Library for Elementor Logo":[""],"Enjoyed %1$s? Please leave us a %2$s rating. We really appreciate your support!":[""],"View Documentation":[""],"Documentation":[""],"Get Support":[""],"Invalid Template ID.":[""],"No options key provided.":[""],"Setting updated.":[""],"Back to Library":[""],"Loading icon":[""],"Search Templates":[""],"The %s has been imported and is now available in the":[""],"Elementor %s library":[""],"Ok, thanks":[""],"No Templates found":[""],"Loading Templates...":[""],"Insert":[""],"Library Settings":[""],"Save changes":[""],"Your Email":[""],"First Name":[""],"Send me the coupon":[""],"By submitting your details, you agree to our %s.":[""],"privacy policy":[""],"Version Control":[""],"Rollback Versions":[""],"If you are having issues with current version of Custom Library, you can rollback to a previous stable version.":[""],"Rollback Custom Library":[""],"Reinstall this version":[""],"Tools":[""],"Updated successfully":[""],"Update failed! Please try again":[""],"Run Update":[""],"%1$s ? %2$s template(s)":[""],"Update Library Templates":[""],"This action will update any templates found to be outdated in the Custom Library from their source template in Elementor template library.":[""],"Note: Outdated templates are templates that were created before the current version of this plugin. You only need to run this when you think there is a problem in the Custom Library.":[""],"No outdated templates found.":[""],"Failed to update outdated templates.":[""],"Misc":[""],"Remove Data on Uninstall":[""],"Check this box to remove all data stored by Custom Library for Elementor plugin, including license info, user settings, import history etc.":[""],"Importer / Exporter":[""],"Templates Importer":[""],"Imports .json or .zip files exported only via the Custom Library Pro templates exporter.":[""],"Templates Exporter":[""],"Exports all the templates published and available in the Custom Library.":[""],"General":[""],"General Settings":[""],"Hide default Elementor Template library icon from editor.":[""],"Hide default Elementor Template library popup from editor.":[""],"Placeholder image":[""],"Replace the default placeholder image.":[""],"Trigger icon":[""],"Replace the trigger icon.":[""],"Library Access":[""],"Show to All":[""],"Show only to specific roles":[""],"Show only to specific users":[""],"Settings Access":[""],"Please note, by default all administrators have settings access even if it is not explicitly set here to avoid accidental lockouts.":[""],"Design":[""],"Library popup style":[""],"Compact (popup)":[""],"Fullscreen":[""],"Template columns":[""],"2 Columns":[""],"3 Columns":[""],"Auto":[""],"Categories location":[""],"Sidebar":[""],"Horizontal":[""],"None":[""],"Show categories template count":[""],"Library title":[""],"Show Buttons on hover":[""],"Show Preview Button":[""],"Show Edit Button":[""],"Header colors":[""],"Header Background":[""],"Header Text":[""],"Header Border Bottom":[""],"Categories colors":[""],"Categories Background":[""],"Categories Text":[""],"Active Category Text":[""],"Button styles":[""],"Button Background Color":[""],"Button Text Color":[""],"Button Border Color":[""],"Button Border Radius":[""],"Button Border Width":[""],"Rollback to Previous Version":[""]," Sorry, you are not allowed to rollback Custom Library plugin for this site.":[""],"Error occurred, the version selected is invalid. Try selecting different version.":[""],"Save":[""],"Enter Template Name":[""],"Add to Custom Library":[""],"Give your template a name":[""],"Cloud Templates":[""],"Upgrade":[""],"Connect":[""],"Site Templates":[""],"Note: Custom Library sync requires \"Site Templates\" to be checked as well.":[""],"You?ve saved 100% of the templates in your plan.":[""],"To get more space %s":[""],"Upgrade now":[""],"Learn more about the":[""],"Template Library":[""],"Unable to sanitize this file hence it wasn't uploaded!":[""],"Full Size":[""],"Thumbnail":[""],"Medium":[""],"Large":[""],"settings title\u0004Enable SVG Uploads":[""]}}}1 {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n!=1);","lang":"en"},"Custom Library for Elementor":[""],"https://analogwp.com/custom-library-for-elementor":[""],"Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor.":[""],"AnalogWP":[""],"https://analogwp.com/":[""],"Custom Library for Elementor requires PHP version %s":[""],"Error Activating":[""],"Custom Library for Elementor requires WordPress version %s+. Because you are using an earlier version, the plugin is currently NOT RUNNING.":[""],"Custom Library for Elementor requires Elementor v%s or newer in order to work. Please update Elementor to the latest version.":[""],"Update Elementor Now":[""],"Custom Library for Elementor is not working because you need to activate the Elementor plugin.":[""],"Activate Elementor Now":[""],"Custom Library for Elementor is not working because you need to install the Elementor plugin.":[""],"Install Elementor Now":[""],"Settings":[""],"Library":[""],"Something went wrong.":[""],"Template":[""],"Block":[""],"Add Custom Library for Elementor":[""],"Library is now synced":[""],"Something is not right, please try again.":[""],"Get unlimited access to the Custom Library for Elementor library and features with the PRO version.":[""],"View Plans":[""],"Templates":[""],"Blocks":[""],"Exit preview":[""],"Open in new tab":[""],"Import Template":[""],"Custom Library Settings":[""],"Custom Library":[""],"Your settings have been saved.":[""],"The changes you made will be lost if you navigate away from this page.":[""],"Select Image":[""],"Use this image":[""],"Pro":[""],"Upgrade to Pro":[""],"Toggle":[""],"Change Image":[""],"Revert to Default":[""],"Import":[""],"Go":[""],"Export All":[""],"Custom Library for Elementor Shortcuts":[""],"Templates Library":[""],"Theme Custom Library for Elementor":[""],"Add to library":[""],"Custom Library for Elementor Logo":[""],"Enjoyed %1$s? Please leave us a %2$s rating. We really appreciate your support!":[""],"View Documentation":[""],"Documentation":[""],"Get Support":[""],"Invalid Template ID.":[""],"No options key provided.":[""],"Setting updated.":[""],"Back to Library":[""],"Loading icon":[""],"Search Templates":[""],"The %s has been imported and is now available in the":[""],"Elementor %s library":[""],"Ok, thanks":[""],"No Templates found":[""],"Loading Templates...":[""],"Insert":[""],"Library Settings":[""],"Save changes":[""],"Your Email":[""],"First Name":[""],"Send me the coupon":[""],"By submitting your details, you agree to our %s.":[""],"privacy policy":[""],"Version Control":[""],"Rollback Versions":[""],"If you are having issues with current version of Custom Library, you can rollback to a previous stable version.":[""],"Rollback Custom Library":[""],"Reinstall this version":[""],"Tools":[""],"Updated successfully":[""],"Update failed! Please try again":[""],"Run Update":[""],"%1$s ? %2$s template(s)":[""],"Update Library Templates":[""],"This action will update any templates found to be outdated in the Custom Library from their source template in Elementor template library.":[""],"Note: Outdated templates are templates that were created before the current version of this plugin. You only need to run this when you think there is a problem in the Custom Library.":[""],"No outdated templates found.":[""],"Failed to update outdated templates.":[""],"Misc":[""],"Remove Data on Uninstall":[""],"Check this box to remove all data stored by Custom Library for Elementor plugin, including license info, user settings, import history etc.":[""],"Importer / Exporter":[""],"Templates Importer":[""],"Imports .json or .zip files exported only via the Custom Library Pro templates exporter.":[""],"Templates Exporter":[""],"Exports all the templates published and available in the Custom Library.":[""],"General":[""],"General Settings":[""],"Hide default Elementor Template library icon from editor.":[""],"Hide default Elementor Template library popup from editor.":[""],"Placeholder image":[""],"Replace the default placeholder image.":[""],"Trigger icon":[""],"Replace the trigger icon.":[""],"Library Access":[""],"Show to All":[""],"Show only to specific roles":[""],"Show only to specific users":[""],"Settings Access":[""],"Please note, by default all administrators have settings access even if it is not explicitly set here to avoid accidental lockouts.":[""],"Design":[""],"Library popup style":[""],"Compact (popup)":[""],"Fullscreen":[""],"Template columns":[""],"2 Columns":[""],"3 Columns":[""],"Auto":[""],"Categories location":[""],"Sidebar":[""],"Horizontal":[""],"None":[""],"Show categories template count":[""],"Library title":[""],"Show Buttons on hover":[""],"Show Preview Button":[""],"Show Edit Button":[""],"Header colors":[""],"Header Background":[""],"Header Text":[""],"Header Border Bottom":[""],"Categories colors":[""],"Categories Background":[""],"Categories Text":[""],"Active Category Text":[""],"Button styles":[""],"Button Background Color":[""],"Button Text Color":[""],"Button Border Color":[""],"Button Border Radius":[""],"Button Border Width":[""],"Rollback to Previous Version":[""],"Rolling back plugin?":[""],"Rollback failed during installation.":[""],"Rollback complete. The plugin files have been restored.":[""],"Go to Plugins page":[""],"Sorry, you are not allowed to rollback Custom Library plugin for this site.":[""],"Error occurred, the version selected is invalid. Try selecting different version.":[""],"Save":[""],"Enter Template Name":[""],"Add to Custom Library":[""],"Give your template a name":[""],"Cloud Templates":[""],"Upgrade":[""],"Connect":[""],"Site Templates":[""],"Note: Custom Library sync requires \"Site Templates\" to be checked as well.":[""],"You?ve saved 100% of the templates in your plan.":[""],"To get more space %s":[""],"Upgrade now":[""],"Learn more about the":[""],"Template Library":[""],"Unable to sanitize this file hence it wasn't uploaded!":[""],"Full Size":[""],"Thumbnail":[""],"Medium":[""],"Large":[""],"settings title\u0004Enable SVG Uploads":[""]}}} -
analogwp-library/tags/1.7.0/languages/analogwp-library.pot
r3396722 r3423181 4 4 msgid "" 5 5 msgstr "" 6 "Project-Id-Version: analogwp-library 1. 6.1\n"6 "Project-Id-Version: analogwp-library 1.7.0\n" 7 7 "Report-Msgid-Bugs-To: AnalogWP <EMAIL>\n" 8 8 "MIME-Version: 1.0\n" … … 10 10 "Content-Type: text/plain; charset=iso-8859-1\n" 11 11 "Plural-Forms: nplurals=2; plural=(n!=1);\n" 12 "POT-Creation-Date: 2025-1 1-16T19:13:34.673Z\n"12 "POT-Creation-Date: 2025-12-18T18:40:27.845Z\n" 13 13 "PO-Revision-Date: 2025-MO-DA HO:MI+ZONE\n" 14 14 "Last-Translator: AnalogWP <EMAIL>\n" … … 633 633 msgstr "" 634 634 635 #: inc/Featuresets/rollback/class-rollbacker.php:1 75636 #: inc/Featuresets/rollback/class-init.php:9 4635 #: inc/Featuresets/rollback/class-rollbacker.php:153 636 #: inc/Featuresets/rollback/class-init.php:93 637 637 msgid "Rollback to Previous Version" 638 638 msgstr "" 639 639 640 #: inc/Featuresets/rollback/class-init.php:67 640 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:32 641 msgid "Rolling back plugin?" 642 msgstr "" 643 644 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:74 645 msgid "Rollback failed during installation." 646 msgstr "" 647 648 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:85 649 msgid "Rollback complete. The plugin files have been restored." 650 msgstr "" 651 652 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:90 653 msgid "Go to Plugins page" 654 msgstr "" 655 656 #: inc/Featuresets/rollback/class-init.php:66 641 657 msgid "Sorry, you are not allowed to rollback Custom Library plugin for this site." 642 658 msgstr "" 643 659 644 #: inc/Featuresets/rollback/class-init.php:7 5660 #: inc/Featuresets/rollback/class-init.php:74 645 661 msgid "" 646 662 "Error occurred, the version selected is invalid. Try selecting different " -
analogwp-library/trunk/analogwp-library.php
r3396722 r3423181 11 11 * Plugin URI: https://analogwp.com/custom-library-for-elementor 12 12 * Description: Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor. 13 * Version: 1. 6.113 * Version: 1.7.0 14 14 * Author: AnalogWP 15 15 * Author URI: https://analogwp.com/ … … 19 19 * Requires at least: 6.0 20 20 * Requires PHP: 7.4 21 * Elementor tested up to: 3.33. 222 * Elementor Pro tested up to: 3.33. 121 * Elementor tested up to: 3.33.6 22 * Elementor Pro tested up to: 3.33.2 23 23 */ 24 24 … … 28 28 define( 'AGWP_LIBRARY_PHP_MINIMUM', '7.4' ); 29 29 define( 'AGWP_LIBRARY_WP_MINIMUM', '6.0' ); 30 define( 'AGWP_LIBRARY_VERSION', '1. 6.1' );30 define( 'AGWP_LIBRARY_VERSION', '1.7.0' ); 31 31 define( 'AGWP_LIBRARY_PLUGIN_FILE', __FILE__ ); 32 32 define( 'AGWP_LIBRARY_PLUGIN_URL', plugin_dir_url( AGWP_LIBRARY_PLUGIN_FILE ) ); -
analogwp-library/trunk/assets/js/admin-settings.js
r3396722 r3423181 190 190 191 191 $.post( 192 'https://analogwp.com/?ang-api= cl_bfcm_discount_code',192 'https://analogwp.com/?ang-api=pro_discount_code', 193 193 { 194 194 email: email, 195 195 first_name: JSON.stringify( fname ), 196 196 last_name: JSON.stringify( lname ), 197 slug: 'custom-library', 197 198 } 198 199 ).done( function( res ) { -
analogwp-library/trunk/inc/Featuresets/rollback/class-init.php
r3384542 r3423181 50 50 */ 51 51 public function add_rollback_data( $data ) { 52 $data['rollback_url'] = wp_nonce_url( admin_url( 'admin-post.php?action=analog_custom_library_rollback&version=VERSION' ), 'analog_custom_library_rollback' ); 53 $data['rollback_versions'] = self::get_rollback_versions(); 52 $data['rollback_url'] = wp_nonce_url( admin_url( 'admin-post.php?action=analog_custom_library_rollback&version=VERSION' ), 'analog_custom_library_rollback' ); 54 53 55 54 return $data; … … 142 141 } 143 142 144 $current_index++;143 ++$current_index; 145 144 $rollback_versions[] = $version; 146 145 } -
analogwp-library/trunk/inc/Featuresets/rollback/class-rollbacker.php
r3384542 r3423181 127 127 background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIzIiBoZWlnaHQ9IjQyIiB2aWV3Qm94PSIwIDAgMjIzIDQyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI5Ljg0NTcgNC4zMTc1NkMyNi41OTc4IC0xLjQzOTE4IDE4LjQwMjIgLTEuNDM5MTkgMTUuMTU0MyA0LjMxNzU2TDEuMTI3MjMgMjkuMTc5N0MtMi4wOTU3NiAzNC44OTIyIDEuOTc2ODMgNDIgOC40NzI5NiA0MkgzNi41MjdDNDMuMDIzMiA0MiA0Ny4wOTU4IDM0Ljg5MjIgNDMuODcyOCAyOS4xNzk3TDI5Ljg0NTcgNC4zMTc1NlpNMjguNzc0MSAyMS41MDZDMjYgMTYuNTg5MSAxOSAxNi41ODkxIDE2LjIyNTkgMjEuNTA2QzEzLjQ3MzEgMjYuMzg1MiAxNi45NTE2IDMyLjQ1NiAyMi41IDMyLjQ1NkMyOC4wNDg0IDMyLjQ1NiAzMS41MjY5IDI2LjM4NTIgMjguNzc0MSAyMS41MDZaIiBmaWxsPSIjMUExQTFBIi8+CjxwYXRoIGQ9Ik03MC4zNiAzNC4zNkM2OC43NzYgMzQuMzYgNjcuMzQ4IDMzLjk2NCA2Ni4wNzYgMzMuMTcyQzY0LjgwNCAzMi4zOCA2My44MDggMzEuMyA2My4wODggMjkuOTMyQzYyLjM2OCAyOC41NjQgNjIuMDA4IDI3LjAyOCA2Mi4wMDggMjUuMzI0QzYyLjAwOCAyMy41OTYgNjIuMzY4IDIyLjA0OCA2My4wODggMjAuNjhDNjMuODA4IDE5LjMxMiA2NC44MDQgMTguMjMyIDY2LjA3NiAxNy40NEM2Ny4zNDggMTYuNjQ4IDY4Ljc3NiAxNi4yNTIgNzAuMzYgMTYuMjUyQzcxLjYwOCAxNi4yNTIgNzIuNzI0IDE2LjUwNCA3My43MDggMTcuMDA4Qzc0LjY5MiAxNy41MTIgNzUuNDcyIDE4LjIyIDc2LjA0OCAxOS4xMzJDNzYuNjQ4IDIwLjAyIDc2Ljk3MiAyMS4wMjggNzcuMDIgMjIuMTU2VjI4LjQyQzc2Ljk3MiAyOS41NzIgNzYuNjQ4IDMwLjU5MiA3Ni4wNDggMzEuNDhDNzUuNDcyIDMyLjM2OCA3NC42OTIgMzMuMDc2IDczLjcwOCAzMy42MDRDNzIuNzI0IDM0LjEwOCA3MS42MDggMzQuMzYgNzAuMzYgMzQuMzZaTTcxLjIyNCAzMC4wMDRDNzIuNTQ0IDMwLjAwNCA3My42MTIgMjkuNTcyIDc0LjQyOCAyOC43MDhDNzUuMjQ0IDI3LjgyIDc1LjY1MiAyNi42OCA3NS42NTIgMjUuMjg4Qzc1LjY1MiAyNC4zNzYgNzUuNDYgMjMuNTcyIDc1LjA3NiAyMi44NzZDNzQuNzE2IDIyLjE1NiA3NC4yIDIxLjYwNCA3My41MjggMjEuMjJDNzIuODggMjAuODEyIDcyLjExMiAyMC42MDggNzEuMjI0IDIwLjYwOEM3MC4zNiAyMC42MDggNjkuNTkyIDIwLjgxMiA2OC45MiAyMS4yMkM2OC4yNzIgMjEuNjA0IDY3Ljc1NiAyMi4xNTYgNjcuMzcyIDIyLjg3NkM2Ny4wMTIgMjMuNTcyIDY2LjgzMiAyNC4zNzYgNjYuODMyIDI1LjI4OEM2Ni44MzIgMjYuMjI0IDY3LjAxMiAyNy4wNTIgNjcuMzcyIDI3Ljc3MkM2Ny43NTYgMjguNDY4IDY4LjI3MiAyOS4wMiA2OC45MiAyOS40MjhDNjkuNTkyIDI5LjgxMiA3MC4zNiAzMC4wMDQgNzEuMjI0IDMwLjAwNFpNNzUuNCAzNFYyOS4zMkw3Ni4xNTYgMjUuMDcyTDc1LjQgMjAuODk2VjE2LjYxMkg4MC4wOFYzNEg3NS40Wk05NS45NTIxIDM0VjI0LjAyOEM5NS45NTIxIDIyLjk5NiA5NS42MjgxIDIyLjE1NiA5NC45ODAxIDIxLjUwOEM5NC4zMzIxIDIwLjg2IDkzLjQ5MjEgMjAuNTM2IDkyLjQ2MDEgMjAuNTM2QzkxLjc4ODEgMjAuNTM2IDkxLjE4ODEgMjAuNjggOTAuNjYwMSAyMC45NjhDOTAuMTMyMSAyMS4yNTYgODkuNzEyMSAyMS42NjQgODkuNDAwMSAyMi4xOTJDODkuMTEyMSAyMi43MiA4OC45NjgxIDIzLjMzMiA4OC45NjgxIDI0LjAyOEw4Ny4xMzIxIDIzLjA5MkM4Ny4xMzIxIDIxLjcyNCA4Ny40MjAxIDIwLjUzNiA4Ny45OTYxIDE5LjUyOEM4OC41OTYxIDE4LjQ5NiA4OS40MTIxIDE3LjY5MiA5MC40NDQxIDE3LjExNkM5MS41MDAxIDE2LjU0IDkyLjY4ODEgMTYuMjUyIDk0LjAwODEgMTYuMjUyQzk1LjI4MDEgMTYuMjUyIDk2LjQyMDEgMTYuNTc2IDk3LjQyODEgMTcuMjI0Qzk4LjQzNjEgMTcuODQ4IDk5LjIyODEgMTguNjc2IDk5LjgwNDEgMTkuNzA4QzEwMC4zOCAyMC43MTYgMTAwLjY2OCAyMS44MDggMTAwLjY2OCAyMi45ODRWMzRIOTUuOTUyMVpNODQuMjUyMSAzNFYxNi42MTJIODguOTY4MVYzNEg4NC4yNTIxWk0xMTEuNzM5IDM0LjM2QzExMC4xNTUgMzQuMzYgMTA4LjcyNyAzMy45NjQgMTA3LjQ1NSAzMy4xNzJDMTA2LjE4MyAzMi4zOCAxMDUuMTg3IDMxLjMgMTA0LjQ2NyAyOS45MzJDMTAzLjc0NyAyOC41NjQgMTAzLjM4NyAyNy4wMjggMTAzLjM4NyAyNS4zMjRDMTAzLjM4NyAyMy41OTYgMTAzLjc0NyAyMi4wNDggMTA0LjQ2NyAyMC42OEMxMDUuMTg3IDE5LjMxMiAxMDYuMTgzIDE4LjIzMiAxMDcuNDU1IDE3LjQ0QzEwOC43MjcgMTYuNjQ4IDExMC4xNTUgMTYuMjUyIDExMS43MzkgMTYuMjUyQzExMi45ODcgMTYuMjUyIDExNC4xMDMgMTYuNTA0IDExNS4wODcgMTcuMDA4QzExNi4wNzEgMTcuNTEyIDExNi44NTEgMTguMjIgMTE3LjQyNyAxOS4xMzJDMTE4LjAyNyAyMC4wMiAxMTguMzUxIDIxLjAyOCAxMTguMzk5IDIyLjE1NlYyOC40MkMxMTguMzUxIDI5LjU3MiAxMTguMDI3IDMwLjU5MiAxMTcuNDI3IDMxLjQ4QzExNi44NTEgMzIuMzY4IDExNi4wNzEgMzMuMDc2IDExNS4wODcgMzMuNjA0QzExNC4xMDMgMzQuMTA4IDExMi45ODcgMzQuMzYgMTExLjczOSAzNC4zNlpNMTEyLjYwMyAzMC4wMDRDMTEzLjkyMyAzMC4wMDQgMTE0Ljk5MSAyOS41NzIgMTE1LjgwNyAyOC43MDhDMTE2LjYyMyAyNy44MiAxMTcuMDMxIDI2LjY4IDExNy4wMzEgMjUuMjg4QzExNy4wMzEgMjQuMzc2IDExNi44MzkgMjMuNTcyIDExNi40NTUgMjIuODc2QzExNi4wOTUgMjIuMTU2IDExNS41NzkgMjEuNjA0IDExNC45MDcgMjEuMjJDMTE0LjI1OSAyMC44MTIgMTEzLjQ5MSAyMC42MDggMTEyLjYwMyAyMC42MDhDMTExLjczOSAyMC42MDggMTEwLjk3MSAyMC44MTIgMTEwLjI5OSAyMS4yMkMxMDkuNjUxIDIxLjYwNCAxMDkuMTM1IDIyLjE1NiAxMDguNzUxIDIyLjg3NkMxMDguMzkxIDIzLjU3MiAxMDguMjExIDI0LjM3NiAxMDguMjExIDI1LjI4OEMxMDguMjExIDI2LjIyNCAxMDguMzkxIDI3LjA1MiAxMDguNzUxIDI3Ljc3MkMxMDkuMTM1IDI4LjQ2OCAxMDkuNjUxIDI5LjAyIDExMC4yOTkgMjkuNDI4QzExMC45NzEgMjkuODEyIDExMS43MzkgMzAuMDA0IDExMi42MDMgMzAuMDA0Wk0xMTYuNzc5IDM0VjI5LjMyTDExNy41MzUgMjUuMDcyTDExNi43NzkgMjAuODk2VjE2LjYxMkgxMjEuNDU5VjM0SDExNi43NzlaTTEyNS42MzEgMzRWNy45NzJIMTMwLjM0N1YzNEgxMjUuNjMxWk0xNDIuNjk4IDM0LjM2QzE0MC45NDYgMzQuMzYgMTM5LjM2MiAzMy45NjQgMTM3Ljk0NiAzMy4xNzJDMTM2LjU1NCAzMi4zNTYgMTM1LjQzOCAzMS4yNjQgMTM0LjU5OCAyOS44OTZDMTMzLjc4MiAyOC41MDQgMTMzLjM3NCAyNi45NTYgMTMzLjM3NCAyNS4yNTJDMTMzLjM3NCAyMy41NDggMTMzLjc4MiAyMi4wMjQgMTM0LjU5OCAyMC42OEMxMzUuNDE0IDE5LjMxMiAxMzYuNTMgMTguMjMyIDEzNy45NDYgMTcuNDRDMTM5LjM2MiAxNi42MjQgMTQwLjkzNCAxNi4yMTYgMTQyLjY2MiAxNi4yMTZDMTQ0LjQzOCAxNi4yMTYgMTQ2LjAyMiAxNi42MjQgMTQ3LjQxNCAxNy40NEMxNDguODMgMTguMjMyIDE0OS45NDYgMTkuMzEyIDE1MC43NjIgMjAuNjhDMTUxLjU3OCAyMi4wMjQgMTUxLjk4NiAyMy41NDggMTUxLjk4NiAyNS4yNTJDMTUxLjk4NiAyNi45NTYgMTUxLjU3OCAyOC41MDQgMTUwLjc2MiAyOS44OTZDMTQ5Ljk0NiAzMS4yNjQgMTQ4LjgzIDMyLjM1NiAxNDcuNDE0IDMzLjE3MkMxNDYuMDIyIDMzLjk2NCAxNDQuNDUgMzQuMzYgMTQyLjY5OCAzNC4zNlpNMTQyLjY2MiAyOS45NjhDMTQzLjU1IDI5Ljk2OCAxNDQuMzMgMjkuNzc2IDE0NS4wMDIgMjkuMzkyQzE0NS42OTggMjguOTg0IDE0Ni4yMjYgMjguNDMyIDE0Ni41ODYgMjcuNzM2QzE0Ni45NyAyNy4wMTYgMTQ3LjE2MiAyNi4yIDE0Ny4xNjIgMjUuMjg4QzE0Ny4xNjIgMjQuMzc2IDE0Ni45NyAyMy41NzIgMTQ2LjU4NiAyMi44NzZDMTQ2LjIwMiAyMi4xOCAxNDUuNjc0IDIxLjY0IDE0NS4wMDIgMjEuMjU2QzE0NC4zMyAyMC44NDggMTQzLjU1IDIwLjY0NCAxNDIuNjYyIDIwLjY0NEMxNDEuNzk4IDIwLjY0NCAxNDEuMDMgMjAuODQ4IDE0MC4zNTggMjEuMjU2QzEzOS42ODYgMjEuNjQgMTM5LjE1OCAyMi4xOCAxMzguNzc0IDIyLjg3NkMxMzguMzkgMjMuNTcyIDEzOC4xOTggMjQuMzc2IDEzOC4xOTggMjUuMjg4QzEzOC4xOTggMjYuMiAxMzguMzkgMjcuMDE2IDEzOC43NzQgMjcuNzM2QzEzOS4xNTggMjguNDMyIDEzOS42ODYgMjguOTg0IDE0MC4zNTggMjkuMzkyQzE0MS4wMyAyOS43NzYgMTQxLjc5OCAyOS45NjggMTQyLjY2MiAyOS45NjhaTTE2Mi4yOTQgNDEuNzA0QzE2MC40NDYgNDEuNzA0IDE1OC44MTQgNDEuMzY4IDE1Ny4zOTggNDAuNjk2QzE1NS45ODIgNDAuMDQ4IDE1NC44NTQgMzkuMTI0IDE1NC4wMTQgMzcuOTI0TDE1Ny4wMDIgMzQuOTM2QzE1Ny42NzQgMzUuNzI4IDE1OC40MTggMzYuMzI4IDE1OS4yMzQgMzYuNzM2QzE2MC4wNzQgMzcuMTY4IDE2MS4wODIgMzcuMzg0IDE2Mi4yNTggMzcuMzg0QzE2My43MjIgMzcuMzg0IDE2NC44NzQgMzcuMDEyIDE2NS43MTQgMzYuMjY4QzE2Ni41NzggMzUuNTI0IDE2Ny4wMSAzNC40OTIgMTY3LjAxIDMzLjE3MlYyOC44MTZMMTY3LjgwMiAyNUwxNjcuMDQ2IDIxLjE4NFYxNi42MTJIMTcxLjcyNlYzMy4xQzE3MS43MjYgMzQuODI4IDE3MS4zMTggMzYuMzI4IDE3MC41MDIgMzcuNkMxNjkuNzEgMzguODk2IDE2OC42MDYgMzkuOTA0IDE2Ny4xOSA0MC42MjRDMTY1Ljc3NCA0MS4zNDQgMTY0LjE0MiA0MS43MDQgMTYyLjI5NCA0MS43MDRaTTE2Mi4wNzggMzMuNTMyQzE2MC41MTggMzMuNTMyIDE1OS4xMTQgMzMuMTYgMTU3Ljg2NiAzMi40MTZDMTU2LjYxOCAzMS42NDggMTU1LjYzNCAzMC42MDQgMTU0LjkxNCAyOS4yODRDMTU0LjIxOCAyNy45NjQgMTUzLjg3IDI2LjQ4OCAxNTMuODcgMjQuODU2QzE1My44NyAyMy4yMjQgMTU0LjIxOCAyMS43NiAxNTQuOTE0IDIwLjQ2NEMxNTUuNjM0IDE5LjE2OCAxNTYuNjE4IDE4LjE0OCAxNTcuODY2IDE3LjQwNEMxNTkuMTE0IDE2LjYzNiAxNjAuNTE4IDE2LjI1MiAxNjIuMDc4IDE2LjI1MkMxNjMuMzc0IDE2LjI1MiAxNjQuNTE0IDE2LjUwNCAxNjUuNDk4IDE3LjAwOEMxNjYuNTA2IDE3LjUxMiAxNjcuMjk4IDE4LjIwOCAxNjcuODc0IDE5LjA5NkMxNjguNDUgMTkuOTYgMTY4Ljc2MiAyMC45OCAxNjguODEgMjIuMTU2VjI3LjYyOEMxNjguNzYyIDI4Ljc4IDE2OC40MzggMjkuODEyIDE2Ny44MzggMzAuNzI0QzE2Ny4yNjIgMzEuNjEyIDE2Ni40NyAzMi4zMDggMTY1LjQ2MiAzMi44MTJDMTY0LjQ3OCAzMy4yOTIgMTYzLjM1IDMzLjUzMiAxNjIuMDc4IDMzLjUzMlpNMTYzLjAxNCAyOS4yNDhDMTYzLjg3OCAyOS4yNDggMTY0LjYyMiAyOS4wNjggMTY1LjI0NiAyOC43MDhDMTY1Ljg5NCAyOC4zMjQgMTY2LjM5OCAyNy44MDggMTY2Ljc1OCAyNy4xNkMxNjcuMTE4IDI2LjQ4OCAxNjcuMjk4IDI1LjczMiAxNjcuMjk4IDI0Ljg5MkMxNjcuMjk4IDI0LjAyOCAxNjcuMTE4IDIzLjI3MiAxNjYuNzU4IDIyLjYyNEMxNjYuMzk4IDIxLjk3NiAxNjUuODk0IDIxLjQ3MiAxNjUuMjQ2IDIxLjExMkMxNjQuNjIyIDIwLjcyOCAxNjMuODc4IDIwLjUzNiAxNjMuMDE0IDIwLjUzNkMxNjIuMTUgMjAuNTM2IDE2MS4zOTQgMjAuNzI4IDE2MC43NDYgMjEuMTEyQzE2MC4wOTggMjEuNDcyIDE1OS41OTQgMjEuOTg4IDE1OS4yMzQgMjIuNjZDMTU4Ljg3NCAyMy4zMDggMTU4LjY5NCAyNC4wNTIgMTU4LjY5NCAyNC44OTJDMTU4LjY5NCAyNS43MDggMTU4Ljg3NCAyNi40NTIgMTU5LjIzNCAyNy4xMjRDMTU5LjU5NCAyNy43NzIgMTYwLjA5OCAyOC4yODggMTYwLjc0NiAyOC42NzJDMTYxLjM5NCAyOS4wNTYgMTYyLjE1IDI5LjI0OCAxNjMuMDE0IDI5LjI0OFpNMTgwLjUxMyAzNEwxNzMuOTk3IDE2LjYxMkgxNzguNzQ5TDE4Mi45OTcgMjkuMjQ4TDE4MS41NTcgMjkuMjg0TDE4NS45MTMgMTYuNjEySDE4OS4zMzNMMTkzLjY4OSAyOS4yODRMMTkyLjI0OSAyOS4yNDhMMTk2LjQ5NyAxNi42MTJIMjAxLjI0OUwxOTQuNzY5IDM0SDE5MS4zNDlMMTg2Ljk1NyAyMS45NzZIMTg4LjI4OUwxODMuODk3IDM0SDE4MC41MTNaTTIxMy4xODUgMzQuMzZDMjExLjkzNyAzNC4zNiAyMTAuODA5IDM0LjEwOCAyMDkuODAxIDMzLjYwNEMyMDguNzkzIDMzLjA3NiAyMDcuOTg5IDMyLjM2OCAyMDcuMzg5IDMxLjQ4QzIwNi43ODkgMzAuNTkyIDIwNi40NjUgMjkuNTcyIDIwNi40MTcgMjguNDJWMjIuMjY0QzIwNi40NjUgMjEuMTEyIDIwNi43ODkgMjAuMDkyIDIwNy4zODkgMTkuMjA0QzIwOC4wMTMgMTguMjkyIDIwOC44MTcgMTcuNTcyIDIwOS44MDEgMTcuMDQ0QzIxMC44MDkgMTYuNTE2IDIxMS45MzcgMTYuMjUyIDIxMy4xODUgMTYuMjUyQzIxNC43OTMgMTYuMjUyIDIxNi4yMzMgMTYuNjQ4IDIxNy41MDUgMTcuNDRDMjE4Ljc3NyAxOC4yMzIgMjE5Ljc3MyAxOS4zMTIgMjIwLjQ5MyAyMC42OEMyMjEuMjM3IDIyLjA0OCAyMjEuNjA5IDIzLjU5NiAyMjEuNjA5IDI1LjMyNEMyMjEuNjA5IDI3LjAyOCAyMjEuMjM3IDI4LjU2NCAyMjAuNDkzIDI5LjkzMkMyMTkuNzczIDMxLjMgMjE4Ljc3NyAzMi4zOCAyMTcuNTA1IDMzLjE3MkMyMTYuMjMzIDMzLjk2NCAyMTQuNzkzIDM0LjM2IDIxMy4xODUgMzQuMzZaTTIwMy41MzcgNDEuMjcyVjE2LjYxMkgyMDguMjUzVjIxLjE4NEwyMDcuNDYxIDI1LjM5NkwyMDguMjE3IDI5LjYwOFY0MS4yNzJIMjAzLjUzN1pNMjEyLjM1NyAzMC4wMDRDMjEzLjIyMSAzMC4wMDQgMjEzLjk4OSAyOS44MTIgMjE0LjY2MSAyOS40MjhDMjE1LjMzMyAyOS4wMiAyMTUuODQ5IDI4LjQ2OCAyMTYuMjA5IDI3Ljc3MkMyMTYuNTkzIDI3LjA1MiAyMTYuNzg1IDI2LjIyNCAyMTYuNzg1IDI1LjI4OEMyMTYuNzg1IDI0LjM3NiAyMTYuNTkzIDIzLjU3MiAyMTYuMjA5IDIyLjg3NkMyMTUuODQ5IDIyLjE1NiAyMTUuMzMzIDIxLjYwNCAyMTQuNjYxIDIxLjIyQzIxMy45ODkgMjAuODEyIDIxMy4yMjEgMjAuNjA4IDIxMi4zNTcgMjAuNjA4QzIxMS41MTcgMjAuNjA4IDIxMC43NjEgMjAuODEyIDIxMC4wODkgMjEuMjJDMjA5LjQxNyAyMS42MDQgMjA4Ljg4OSAyMi4xNTYgMjA4LjUwNSAyMi44NzZDMjA4LjE0NSAyMy41NzIgMjA3Ljk2NSAyNC4zNzYgMjA3Ljk2NSAyNS4yODhDMjA3Ljk2NSAyNi4yMjQgMjA4LjE0NSAyNy4wNTIgMjA4LjUwNSAyNy43NzJDMjA4Ljg4OSAyOC40NjggMjA5LjQwNSAyOS4wMiAyMTAuMDUzIDI5LjQyOEMyMTAuNzI1IDI5LjgxMiAyMTEuNDkzIDMwLjAwNCAyMTIuMzU3IDMwLjAwNFoiIGZpbGw9IiMxQTFBMUEiLz4KPC9zdmc+Cg=="); 128 128 background-repeat: no-repeat; 129 transform: translate( 50%);129 transform: translate(10%); 130 130 } 131 131 </style> 132 132 <?php 133 }134 135 /**136 * Apply package.137 *138 * Change the plugin data when WordPress checks for updates. This method139 * modifies package data to update the plugin from a specific URL containing140 * the version package.141 *142 * @access protected143 */144 protected function apply_package() {145 $update_plugins = get_site_transient( 'update_plugins' );146 if ( ! is_object( $update_plugins ) ) {147 $update_plugins = new \stdClass();148 }149 150 $plugin_info = new \stdClass();151 $plugin_info->new_version = $this->version;152 $plugin_info->slug = $this->plugin_slug;153 $plugin_info->package = $this->package_url;154 $plugin_info->url = 'https://analogwp.com/';155 156 $update_plugins->response[ $this->plugin_name ] = $plugin_info;157 158 set_site_transient( 'update_plugins', $update_plugins );159 133 } 160 134 … … 167 141 */ 168 142 protected function upgrade() { 169 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 143 if ( ! class_exists( 'WP_Upgrader_Skin' ) ) { 144 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 145 } 170 146 171 $upgrader_args = array( 172 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), 147 require_once __DIR__ . '/class-rollback-downgrader-skin.php'; 148 149 $skin_args = array( 150 'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ), 173 151 'plugin' => $this->plugin_name, 174 'nonce' => 'upgrade-plugin_' . $this->plugin_name,175 'title' => esc_html__( 'Rollback to Previous Version', 'analogwp-library' ),152 'nonce' => 'upgrade-plugin_' . $this->plugin_name, 153 'title' => esc_html__( 'Rollback to Previous Version', 'analogwp-library' ), 176 154 ); 177 155 178 156 $this->print_inline_style(); 179 157 180 $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) ); 181 $upgrader->upgrade( $this->plugin_name ); 158 $skin = new Rollback_Downgrader_Skin( $skin_args ); 159 $upgrader = new \Plugin_Upgrader( $skin ); 160 161 // IMPORTANT: initialize + install strings so feedback() can map keys. 162 $upgrader->init(); 163 $upgrader->upgrade_strings(); 164 $upgrader->run( 165 array( 166 'package' => $this->package_url, 167 'destination' => WP_PLUGIN_DIR, 168 'abort_if_destination_exists' => false, 169 'clear_working' => true, 170 'hook_extra' => array( 171 'plugin' => $this->plugin_name, 172 'type' => 'plugin', 173 'action' => 'update', 174 ), 175 ) 176 ); 182 177 } 183 178 … … 190 185 */ 191 186 public function run() { 192 $this->apply_package();193 187 $this->upgrade(); 194 188 } -
analogwp-library/trunk/inc/Settings/Views/html-admin-settings.php
r3396722 r3423181 82 82 <?php if ( ! Plugin::instance()->has_pro_active() ) : ?> 83 83 <div class="upgrade-box special"> 84 <h3> Upgrade to Custom Library Pro with<br/>80% discount in a Lifetime Deal</h3>84 <h3>🔥 Upgrade to Custom Library PRO with a Special Discount</h3> 85 85 86 <p> Black Friday + Cyber Monday Special!<br/>We have <b>already applied 50% discount sitewide</b>—enter your email to <b>get an extra 30% code on top</b>. Limited-time offer!</p>86 <p>Get additional features like <strong>Custom Branding/White-Label, Import/Export Templates, Role-Based Access Controls, Priority support and so much more</strong> while helping us support its development and maintenance.</p> 87 87 88 88 <form id="js-ang-custom-library-request-discount" method="post"> -
analogwp-library/trunk/languages/analogwp-library-analog-custom-library-app.json
r3396722 r3423181 1 {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n!=1);","lang":"en"},"Custom Library for Elementor":[""],"https://analogwp.com/custom-library-for-elementor":[""],"Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor.":[""],"AnalogWP":[""],"https://analogwp.com/":[""],"Custom Library for Elementor requires PHP version %s":[""],"Error Activating":[""],"Custom Library for Elementor requires WordPress version %s+. Because you are using an earlier version, the plugin is currently NOT RUNNING.":[""],"Custom Library for Elementor requires Elementor v%s or newer in order to work. Please update Elementor to the latest version.":[""],"Update Elementor Now":[""],"Custom Library for Elementor is not working because you need to activate the Elementor plugin.":[""],"Activate Elementor Now":[""],"Custom Library for Elementor is not working because you need to install the Elementor plugin.":[""],"Install Elementor Now":[""],"Settings":[""],"Library":[""],"Something went wrong.":[""],"Template":[""],"Block":[""],"Add Custom Library for Elementor":[""],"Library is now synced":[""],"Something is not right, please try again.":[""],"Get unlimited access to the Custom Library for Elementor library and features with the PRO version.":[""],"View Plans":[""],"Templates":[""],"Blocks":[""],"Exit preview":[""],"Open in new tab":[""],"Import Template":[""],"Custom Library Settings":[""],"Custom Library":[""],"Your settings have been saved.":[""],"The changes you made will be lost if you navigate away from this page.":[""],"Select Image":[""],"Use this image":[""],"Pro":[""],"Upgrade to Pro":[""],"Toggle":[""],"Change Image":[""],"Revert to Default":[""],"Import":[""],"Go":[""],"Export All":[""],"Custom Library for Elementor Shortcuts":[""],"Templates Library":[""],"Theme Custom Library for Elementor":[""],"Add to library":[""],"Custom Library for Elementor Logo":[""],"Enjoyed %1$s? Please leave us a %2$s rating. We really appreciate your support!":[""],"View Documentation":[""],"Documentation":[""],"Get Support":[""],"Invalid Template ID.":[""],"No options key provided.":[""],"Setting updated.":[""],"Back to Library":[""],"Loading icon":[""],"Search Templates":[""],"The %s has been imported and is now available in the":[""],"Elementor %s library":[""],"Ok, thanks":[""],"No Templates found":[""],"Loading Templates...":[""],"Insert":[""],"Library Settings":[""],"Save changes":[""],"Your Email":[""],"First Name":[""],"Send me the coupon":[""],"By submitting your details, you agree to our %s.":[""],"privacy policy":[""],"Version Control":[""],"Rollback Versions":[""],"If you are having issues with current version of Custom Library, you can rollback to a previous stable version.":[""],"Rollback Custom Library":[""],"Reinstall this version":[""],"Tools":[""],"Updated successfully":[""],"Update failed! Please try again":[""],"Run Update":[""],"%1$s ? %2$s template(s)":[""],"Update Library Templates":[""],"This action will update any templates found to be outdated in the Custom Library from their source template in Elementor template library.":[""],"Note: Outdated templates are templates that were created before the current version of this plugin. You only need to run this when you think there is a problem in the Custom Library.":[""],"No outdated templates found.":[""],"Failed to update outdated templates.":[""],"Misc":[""],"Remove Data on Uninstall":[""],"Check this box to remove all data stored by Custom Library for Elementor plugin, including license info, user settings, import history etc.":[""],"Importer / Exporter":[""],"Templates Importer":[""],"Imports .json or .zip files exported only via the Custom Library Pro templates exporter.":[""],"Templates Exporter":[""],"Exports all the templates published and available in the Custom Library.":[""],"General":[""],"General Settings":[""],"Hide default Elementor Template library icon from editor.":[""],"Hide default Elementor Template library popup from editor.":[""],"Placeholder image":[""],"Replace the default placeholder image.":[""],"Trigger icon":[""],"Replace the trigger icon.":[""],"Library Access":[""],"Show to All":[""],"Show only to specific roles":[""],"Show only to specific users":[""],"Settings Access":[""],"Please note, by default all administrators have settings access even if it is not explicitly set here to avoid accidental lockouts.":[""],"Design":[""],"Library popup style":[""],"Compact (popup)":[""],"Fullscreen":[""],"Template columns":[""],"2 Columns":[""],"3 Columns":[""],"Auto":[""],"Categories location":[""],"Sidebar":[""],"Horizontal":[""],"None":[""],"Show categories template count":[""],"Library title":[""],"Show Buttons on hover":[""],"Show Preview Button":[""],"Show Edit Button":[""],"Header colors":[""],"Header Background":[""],"Header Text":[""],"Header Border Bottom":[""],"Categories colors":[""],"Categories Background":[""],"Categories Text":[""],"Active Category Text":[""],"Button styles":[""],"Button Background Color":[""],"Button Text Color":[""],"Button Border Color":[""],"Button Border Radius":[""],"Button Border Width":[""],"Rollback to Previous Version":[""]," Sorry, you are not allowed to rollback Custom Library plugin for this site.":[""],"Error occurred, the version selected is invalid. Try selecting different version.":[""],"Save":[""],"Enter Template Name":[""],"Add to Custom Library":[""],"Give your template a name":[""],"Cloud Templates":[""],"Upgrade":[""],"Connect":[""],"Site Templates":[""],"Note: Custom Library sync requires \"Site Templates\" to be checked as well.":[""],"You?ve saved 100% of the templates in your plan.":[""],"To get more space %s":[""],"Upgrade now":[""],"Learn more about the":[""],"Template Library":[""],"Unable to sanitize this file hence it wasn't uploaded!":[""],"Full Size":[""],"Thumbnail":[""],"Medium":[""],"Large":[""],"settings title\u0004Enable SVG Uploads":[""]}}}1 {"domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural_forms":"nplurals=2; plural=(n!=1);","lang":"en"},"Custom Library for Elementor":[""],"https://analogwp.com/custom-library-for-elementor":[""],"Custom Library for Elementor creates the foundation for a design framework that will help you create better, more consistent websites with Elementor.":[""],"AnalogWP":[""],"https://analogwp.com/":[""],"Custom Library for Elementor requires PHP version %s":[""],"Error Activating":[""],"Custom Library for Elementor requires WordPress version %s+. Because you are using an earlier version, the plugin is currently NOT RUNNING.":[""],"Custom Library for Elementor requires Elementor v%s or newer in order to work. Please update Elementor to the latest version.":[""],"Update Elementor Now":[""],"Custom Library for Elementor is not working because you need to activate the Elementor plugin.":[""],"Activate Elementor Now":[""],"Custom Library for Elementor is not working because you need to install the Elementor plugin.":[""],"Install Elementor Now":[""],"Settings":[""],"Library":[""],"Something went wrong.":[""],"Template":[""],"Block":[""],"Add Custom Library for Elementor":[""],"Library is now synced":[""],"Something is not right, please try again.":[""],"Get unlimited access to the Custom Library for Elementor library and features with the PRO version.":[""],"View Plans":[""],"Templates":[""],"Blocks":[""],"Exit preview":[""],"Open in new tab":[""],"Import Template":[""],"Custom Library Settings":[""],"Custom Library":[""],"Your settings have been saved.":[""],"The changes you made will be lost if you navigate away from this page.":[""],"Select Image":[""],"Use this image":[""],"Pro":[""],"Upgrade to Pro":[""],"Toggle":[""],"Change Image":[""],"Revert to Default":[""],"Import":[""],"Go":[""],"Export All":[""],"Custom Library for Elementor Shortcuts":[""],"Templates Library":[""],"Theme Custom Library for Elementor":[""],"Add to library":[""],"Custom Library for Elementor Logo":[""],"Enjoyed %1$s? Please leave us a %2$s rating. We really appreciate your support!":[""],"View Documentation":[""],"Documentation":[""],"Get Support":[""],"Invalid Template ID.":[""],"No options key provided.":[""],"Setting updated.":[""],"Back to Library":[""],"Loading icon":[""],"Search Templates":[""],"The %s has been imported and is now available in the":[""],"Elementor %s library":[""],"Ok, thanks":[""],"No Templates found":[""],"Loading Templates...":[""],"Insert":[""],"Library Settings":[""],"Save changes":[""],"Your Email":[""],"First Name":[""],"Send me the coupon":[""],"By submitting your details, you agree to our %s.":[""],"privacy policy":[""],"Version Control":[""],"Rollback Versions":[""],"If you are having issues with current version of Custom Library, you can rollback to a previous stable version.":[""],"Rollback Custom Library":[""],"Reinstall this version":[""],"Tools":[""],"Updated successfully":[""],"Update failed! Please try again":[""],"Run Update":[""],"%1$s ? %2$s template(s)":[""],"Update Library Templates":[""],"This action will update any templates found to be outdated in the Custom Library from their source template in Elementor template library.":[""],"Note: Outdated templates are templates that were created before the current version of this plugin. You only need to run this when you think there is a problem in the Custom Library.":[""],"No outdated templates found.":[""],"Failed to update outdated templates.":[""],"Misc":[""],"Remove Data on Uninstall":[""],"Check this box to remove all data stored by Custom Library for Elementor plugin, including license info, user settings, import history etc.":[""],"Importer / Exporter":[""],"Templates Importer":[""],"Imports .json or .zip files exported only via the Custom Library Pro templates exporter.":[""],"Templates Exporter":[""],"Exports all the templates published and available in the Custom Library.":[""],"General":[""],"General Settings":[""],"Hide default Elementor Template library icon from editor.":[""],"Hide default Elementor Template library popup from editor.":[""],"Placeholder image":[""],"Replace the default placeholder image.":[""],"Trigger icon":[""],"Replace the trigger icon.":[""],"Library Access":[""],"Show to All":[""],"Show only to specific roles":[""],"Show only to specific users":[""],"Settings Access":[""],"Please note, by default all administrators have settings access even if it is not explicitly set here to avoid accidental lockouts.":[""],"Design":[""],"Library popup style":[""],"Compact (popup)":[""],"Fullscreen":[""],"Template columns":[""],"2 Columns":[""],"3 Columns":[""],"Auto":[""],"Categories location":[""],"Sidebar":[""],"Horizontal":[""],"None":[""],"Show categories template count":[""],"Library title":[""],"Show Buttons on hover":[""],"Show Preview Button":[""],"Show Edit Button":[""],"Header colors":[""],"Header Background":[""],"Header Text":[""],"Header Border Bottom":[""],"Categories colors":[""],"Categories Background":[""],"Categories Text":[""],"Active Category Text":[""],"Button styles":[""],"Button Background Color":[""],"Button Text Color":[""],"Button Border Color":[""],"Button Border Radius":[""],"Button Border Width":[""],"Rollback to Previous Version":[""],"Rolling back plugin?":[""],"Rollback failed during installation.":[""],"Rollback complete. The plugin files have been restored.":[""],"Go to Plugins page":[""],"Sorry, you are not allowed to rollback Custom Library plugin for this site.":[""],"Error occurred, the version selected is invalid. Try selecting different version.":[""],"Save":[""],"Enter Template Name":[""],"Add to Custom Library":[""],"Give your template a name":[""],"Cloud Templates":[""],"Upgrade":[""],"Connect":[""],"Site Templates":[""],"Note: Custom Library sync requires \"Site Templates\" to be checked as well.":[""],"You?ve saved 100% of the templates in your plan.":[""],"To get more space %s":[""],"Upgrade now":[""],"Learn more about the":[""],"Template Library":[""],"Unable to sanitize this file hence it wasn't uploaded!":[""],"Full Size":[""],"Thumbnail":[""],"Medium":[""],"Large":[""],"settings title\u0004Enable SVG Uploads":[""]}}} -
analogwp-library/trunk/languages/analogwp-library.pot
r3396722 r3423181 4 4 msgid "" 5 5 msgstr "" 6 "Project-Id-Version: analogwp-library 1. 6.1\n"6 "Project-Id-Version: analogwp-library 1.7.0\n" 7 7 "Report-Msgid-Bugs-To: AnalogWP <EMAIL>\n" 8 8 "MIME-Version: 1.0\n" … … 10 10 "Content-Type: text/plain; charset=iso-8859-1\n" 11 11 "Plural-Forms: nplurals=2; plural=(n!=1);\n" 12 "POT-Creation-Date: 2025-1 1-16T19:13:34.673Z\n"12 "POT-Creation-Date: 2025-12-18T18:40:27.845Z\n" 13 13 "PO-Revision-Date: 2025-MO-DA HO:MI+ZONE\n" 14 14 "Last-Translator: AnalogWP <EMAIL>\n" … … 633 633 msgstr "" 634 634 635 #: inc/Featuresets/rollback/class-rollbacker.php:1 75636 #: inc/Featuresets/rollback/class-init.php:9 4635 #: inc/Featuresets/rollback/class-rollbacker.php:153 636 #: inc/Featuresets/rollback/class-init.php:93 637 637 msgid "Rollback to Previous Version" 638 638 msgstr "" 639 639 640 #: inc/Featuresets/rollback/class-init.php:67 640 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:32 641 msgid "Rolling back plugin?" 642 msgstr "" 643 644 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:74 645 msgid "Rollback failed during installation." 646 msgstr "" 647 648 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:85 649 msgid "Rollback complete. The plugin files have been restored." 650 msgstr "" 651 652 #: inc/Featuresets/rollback/class-rollback-downgrader-skin.php:90 653 msgid "Go to Plugins page" 654 msgstr "" 655 656 #: inc/Featuresets/rollback/class-init.php:66 641 657 msgid "Sorry, you are not allowed to rollback Custom Library plugin for this site." 642 658 msgstr "" 643 659 644 #: inc/Featuresets/rollback/class-init.php:7 5660 #: inc/Featuresets/rollback/class-init.php:74 645 661 msgid "" 646 662 "Error occurred, the version selected is invalid. Try selecting different "
Note: See TracChangeset
for help on using the changeset viewer.