Changeset 3307894
- Timestamp:
- 06/07/2025 03:42:44 PM (10 months ago)
- Location:
- serbian-transliteration
- Files:
-
- 142 added
- 32 edited
-
tags/2.3.3 (added)
-
tags/2.3.3/CHANGELOG.txt (added)
-
tags/2.3.3/LICENSE.txt (added)
-
tags/2.3.3/assets (added)
-
tags/2.3.3/assets/css (added)
-
tags/2.3.3/assets/css/admin.css (added)
-
tags/2.3.3/assets/css/admin.min.css (added)
-
tags/2.3.3/assets/css/highlight.min.css (added)
-
tags/2.3.3/assets/css/index.php (added)
-
tags/2.3.3/assets/css/tools.css (added)
-
tags/2.3.3/assets/css/tools.min.css (added)
-
tags/2.3.3/assets/img (added)
-
tags/2.3.3/assets/img/fp-icon-80x80.png (added)
-
tags/2.3.3/assets/img/icon-animated-24x24.gif (added)
-
tags/2.3.3/assets/img/icon-animated-32x32.gif (added)
-
tags/2.3.3/assets/img/index.php (added)
-
tags/2.3.3/assets/img/logo-contra-team.jpg (added)
-
tags/2.3.3/assets/img/logo-freelance-poslovi-sr_RS.jpg (added)
-
tags/2.3.3/assets/img/logo-freelance-poslovi.jpg (added)
-
tags/2.3.3/assets/index.php (added)
-
tags/2.3.3/assets/js (added)
-
tags/2.3.3/assets/js/admin.js (added)
-
tags/2.3.3/assets/js/admin.min.js (added)
-
tags/2.3.3/assets/js/highlight.min.js (added)
-
tags/2.3.3/assets/js/index.php (added)
-
tags/2.3.3/assets/js/tools-block.js (added)
-
tags/2.3.3/assets/js/tools-block.min.js (added)
-
tags/2.3.3/assets/js/tools-tinymce.js (added)
-
tags/2.3.3/assets/js/tools-tinymce.min.js (added)
-
tags/2.3.3/assets/js/tools.js (added)
-
tags/2.3.3/assets/js/tools.min.js (added)
-
tags/2.3.3/classes (added)
-
tags/2.3.3/classes/ajax.php (added)
-
tags/2.3.3/classes/autoloader.php (added)
-
tags/2.3.3/classes/cache-db.php (added)
-
tags/2.3.3/classes/controller.php (added)
-
tags/2.3.3/classes/debug.php (added)
-
tags/2.3.3/classes/email.php (added)
-
tags/2.3.3/classes/filters.php (added)
-
tags/2.3.3/classes/index.php (added)
-
tags/2.3.3/classes/init.php (added)
-
tags/2.3.3/classes/map.php (added)
-
tags/2.3.3/classes/maps (added)
-
tags/2.3.3/classes/maps/ar.php (added)
-
tags/2.3.3/classes/maps/ba.php (added)
-
tags/2.3.3/classes/maps/bel.php (added)
-
tags/2.3.3/classes/maps/bg_BG.php (added)
-
tags/2.3.3/classes/maps/bs_BA.php (added)
-
tags/2.3.3/classes/maps/cnr.php (added)
-
tags/2.3.3/classes/maps/el.php (added)
-
tags/2.3.3/classes/maps/hy.php (added)
-
tags/2.3.3/classes/maps/index.php (added)
-
tags/2.3.3/classes/maps/ka_GE.php (added)
-
tags/2.3.3/classes/maps/kir.php (added)
-
tags/2.3.3/classes/maps/kk.php (added)
-
tags/2.3.3/classes/maps/mk_MK.php (added)
-
tags/2.3.3/classes/maps/mn.php (added)
-
tags/2.3.3/classes/maps/ru_RU.php (added)
-
tags/2.3.3/classes/maps/sr_RS.php (added)
-
tags/2.3.3/classes/maps/tg.php (added)
-
tags/2.3.3/classes/maps/uk.php (added)
-
tags/2.3.3/classes/maps/uz_UZ.php (added)
-
tags/2.3.3/classes/menus.php (added)
-
tags/2.3.3/classes/mode.php (added)
-
tags/2.3.3/classes/model.php (added)
-
tags/2.3.3/classes/modes (added)
-
tags/2.3.3/classes/modes/admin.php (added)
-
tags/2.3.3/classes/modes/advanced.php (added)
-
tags/2.3.3/classes/modes/dev.php (added)
-
tags/2.3.3/classes/modes/forced.php (added)
-
tags/2.3.3/classes/modes/index.php (added)
-
tags/2.3.3/classes/modes/light.php (added)
-
tags/2.3.3/classes/modes/phantom.php (added)
-
tags/2.3.3/classes/modes/standard.php (added)
-
tags/2.3.3/classes/modes/woocommerce.php (added)
-
tags/2.3.3/classes/notifications.php (added)
-
tags/2.3.3/classes/plugins (added)
-
tags/2.3.3/classes/plugins.php (added)
-
tags/2.3.3/classes/plugins/advanced-custom-fields-pro.php (added)
-
tags/2.3.3/classes/plugins/advanced-custom-fields.php (added)
-
tags/2.3.3/classes/plugins/contact-form-7.php (added)
-
tags/2.3.3/classes/plugins/data-tables-generator-by-supsystic.php (added)
-
tags/2.3.3/classes/plugins/elementor.php (added)
-
tags/2.3.3/classes/plugins/index.php (added)
-
tags/2.3.3/classes/plugins/js-composer.php (added)
-
tags/2.3.3/classes/plugins/polylang.php (added)
-
tags/2.3.3/classes/plugins/revslider.php (added)
-
tags/2.3.3/classes/plugins/woocommerce.php (added)
-
tags/2.3.3/classes/plugins/wordpress-seo.php (added)
-
tags/2.3.3/classes/requirements.php (added)
-
tags/2.3.3/classes/rest.php (added)
-
tags/2.3.3/classes/sanitization.php (added)
-
tags/2.3.3/classes/search.php (added)
-
tags/2.3.3/classes/settings (added)
-
tags/2.3.3/classes/settings-fields.php (added)
-
tags/2.3.3/classes/settings-sidebars.php (added)
-
tags/2.3.3/classes/settings.php (added)
-
tags/2.3.3/classes/settings/index.php (added)
-
tags/2.3.3/classes/settings/page-credits.php (added)
-
tags/2.3.3/classes/settings/page-debug.php (added)
-
tags/2.3.3/classes/settings/page-functions.php (added)
-
tags/2.3.3/classes/settings/page-permalinks.php (added)
-
tags/2.3.3/classes/settings/page-shortcodes.php (added)
-
tags/2.3.3/classes/settings/page-tags.php (added)
-
tags/2.3.3/classes/settings/page-transliteration.php (added)
-
tags/2.3.3/classes/shortcodes.php (added)
-
tags/2.3.3/classes/themes (added)
-
tags/2.3.3/classes/themes.php (added)
-
tags/2.3.3/classes/themes/avada.php (added)
-
tags/2.3.3/classes/themes/divi.php (added)
-
tags/2.3.3/classes/themes/index.php (added)
-
tags/2.3.3/classes/themes/themify.php (added)
-
tags/2.3.3/classes/tools.php (added)
-
tags/2.3.3/classes/traits (added)
-
tags/2.3.3/classes/traits/cache-controlled.php (added)
-
tags/2.3.3/classes/traits/cache.php (added)
-
tags/2.3.3/classes/traits/index.php (added)
-
tags/2.3.3/classes/utilities.php (added)
-
tags/2.3.3/classes/wordpress.php (added)
-
tags/2.3.3/classes/wp-cli.php (added)
-
tags/2.3.3/constants.php (added)
-
tags/2.3.3/functions.php (added)
-
tags/2.3.3/index.php (added)
-
tags/2.3.3/languages (added)
-
tags/2.3.3/languages/index.php (added)
-
tags/2.3.3/languages/serbian-transliteration-hr.l10n.php (added)
-
tags/2.3.3/languages/serbian-transliteration-hr.mo (added)
-
tags/2.3.3/languages/serbian-transliteration-hr.po (added)
-
tags/2.3.3/languages/serbian-transliteration-sr_RS.l10n.php (added)
-
tags/2.3.3/languages/serbian-transliteration-sr_RS.mo (added)
-
tags/2.3.3/languages/serbian-transliteration-sr_RS.po (added)
-
tags/2.3.3/languages/serbian-transliteration.pot (added)
-
tags/2.3.3/libraries (added)
-
tags/2.3.3/libraries/.htaccess (added)
-
tags/2.3.3/libraries/index.php (added)
-
tags/2.3.3/libraries/locale.lib (added)
-
tags/2.3.3/libraries/sr_RS.diacritical.words.lib (added)
-
tags/2.3.3/libraries/sr_RS.skip.words.lib (added)
-
tags/2.3.3/readme.txt (added)
-
tags/2.3.3/serbian-transliteration.php (added)
-
tags/2.3.3/uninstall.php (added)
-
trunk/CHANGELOG.txt (modified) (1 diff)
-
trunk/classes/cache-db.php (modified) (3 diffs)
-
trunk/classes/debug.php (modified) (3 diffs)
-
trunk/classes/init.php (modified) (2 diffs)
-
trunk/classes/maps/ar.php (modified) (1 diff)
-
trunk/classes/maps/ba.php (modified) (1 diff)
-
trunk/classes/maps/bel.php (modified) (1 diff)
-
trunk/classes/maps/bg_BG.php (modified) (1 diff)
-
trunk/classes/maps/bs_BA.php (modified) (1 diff)
-
trunk/classes/maps/cnr.php (modified) (1 diff)
-
trunk/classes/maps/el.php (modified) (1 diff)
-
trunk/classes/maps/hy.php (modified) (1 diff)
-
trunk/classes/maps/ka_GE.php (modified) (1 diff)
-
trunk/classes/maps/kir.php (modified) (1 diff)
-
trunk/classes/maps/kk.php (modified) (1 diff)
-
trunk/classes/maps/mk_MK.php (modified) (2 diffs)
-
trunk/classes/maps/mn.php (modified) (1 diff)
-
trunk/classes/maps/ru_RU.php (modified) (1 diff)
-
trunk/classes/maps/sr_RS.php (modified) (1 diff)
-
trunk/classes/maps/tg.php (modified) (1 diff)
-
trunk/classes/maps/uk.php (modified) (1 diff)
-
trunk/classes/maps/uz_UZ.php (modified) (1 diff)
-
trunk/classes/mode.php (modified) (2 diffs)
-
trunk/classes/plugins.php (modified) (4 diffs)
-
trunk/classes/plugins/js-composer.php (added)
-
trunk/classes/settings-fields.php (modified) (3 diffs)
-
trunk/classes/settings.php (modified) (9 diffs)
-
trunk/classes/settings/page-debug.php (modified) (3 diffs)
-
trunk/classes/utilities.php (modified) (12 diffs)
-
trunk/classes/wp-cli.php (modified) (1 diff)
-
trunk/constants.php (modified) (5 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/serbian-transliteration.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
serbian-transliteration/trunk/CHANGELOG.txt
r3288639 r3307894 1 = 2.3.3 = 2 * Fixed domain was triggered too early 3 * Fixed admin transliteration 4 * Improved debugging 5 * Added transliteration for js-composer 6 * Improved plugin speed 7 * Improved PHP code 8 * Improved transliterations 9 1 10 = 2.3.2 = 2 11 * Fixed Wp Admin transliteration -
serbian-transliteration/trunk/classes/cache-db.php
r3269990 r3307894 260 260 /* 261 261 * Check is database table exists 262 * @vers on1.0.0262 * @version 1.0.0 263 263 */ 264 264 public static function table_exists($dry = false) … … 296 296 /* 297 297 * Install missing tables 298 * @vers on1.0.0298 * @version 1.0.0 299 299 */ 300 300 public static function table_install(): void … … 326 326 /* 327 327 * Instance 328 * @vers on1.0.0328 * @version 1.0.0 329 329 */ 330 330 public static function instance() -
serbian-transliteration/trunk/classes/debug.php
r3269990 r3307894 56 56 57 57 /* 58 * Check if PHP is 64 bit ve sion58 * Check if PHP is 64 bit version 59 59 * 60 60 * @return boolean true or false … … 80 80 81 81 /* 82 * Check if any OS is 64 bit ve sion82 * Check if any OS is 64 bit version 83 83 * 84 84 * @return boolean true or false … … 86 86 public static function is_os64() 87 87 { 88 // Let's ask system directly 89 if (function_exists('shell_exec')) { 90 if (self::is_win()) { 91 // Is Windows OS 92 $shell = shell_exec('wmic os get osarchitecture'); 93 if (!($shell === '' || $shell === '0' || $shell === false || $shell === null) && strpos($shell ?? '', '64') !== false) { 94 return true; 95 } 96 } else { 97 // Let's check some UNIX approach if is possible 98 $shell = shell_exec('uname -m'); 99 if (!($shell === '' || $shell === '0' || $shell === false || $shell === null) && strpos($shell ?? '', '64') !== false) { 100 return true; 101 } 102 } 103 } 104 105 // Check if PHP is 64 bit vesion (PHP 64bit only running on 64bit OS version) 106 $is_php64 = self::is_php64(); 107 if ($is_php64) { 108 return true; 109 } 110 // bit-shifting can help also 111 return (bool) (1 << 32) - 1; 88 // Check machine architecture using PHP 89 if (function_exists('php_uname')) { 90 $machine = php_uname('m'); 91 if ($machine && strpos($machine, '64') !== false) { 92 return true; 93 } 94 } 95 96 // Fallback to PHP architecture detection 97 return self::is_php64(); 112 98 } 113 99 -
serbian-transliteration/trunk/classes/init.php
r3269990 r3307894 11 11 // Register the textdomain for the plugin 12 12 $this->set_admin_cookie_based_on_url(); 13 $this->add_action('plugins_loaded', 'load_textdomain'); 14 $this->add_action('load_textdomain_mofile', 'load_textdomain_mofile', 10, 2); 13 // Load translations after plugins are fully loaded 14 15 $this->add_action('plugins_loaded', 'hook_init'); 15 16 $this->add_action('template_redirect', 'set_transliteration'); 16 17 … … 49 50 } 50 51 52 public function hook_init(): void 53 { 54 $this->add_action('init', 'load_textdomain'); 55 $this->add_filter('load_textdomain_mofile', 'load_textdomain_mofile', 10, 2); 56 } 57 58 /** 59 * Set an admin detection cookie based on the requested URL. 60 * 61 * This allows other plugin components to know whether the current 62 * request is in the admin area without relying solely on is_admin(). 63 */ 51 64 public function set_admin_cookie_based_on_url(): void 52 65 { -
serbian-transliteration/trunk/classes/maps/ar.php
r3269990 r3307894 35 35 ]; 36 36 37 /** 38 * Transliterate text between Cyrillic and Latin. 39 * 40 * @param mixed $content String to transliterate. 41 * @param string $translation Conversion direction. 42 * @return mixed 43 */ 37 44 public static function transliterate($content, $translation = 'cyr_to_lat') 38 45 { -
serbian-transliteration/trunk/classes/maps/ba.php
r3269990 r3307894 60 60 ]; 61 61 62 /** 63 * Transliterate text between Cyrillic and Latin. 64 * 65 * @param mixed $content String to transliterate. 66 * @param string $translation Conversion direction. 67 * @return mixed 68 */ 62 69 public static function transliterate($content, $translation = 'cyr_to_lat') 63 70 { -
serbian-transliteration/trunk/classes/maps/bel.php
r3269990 r3307894 40 40 ]; 41 41 42 /** 43 * Transliterate text between Cyrillic and Latin. 44 * 45 * @param mixed $content String to transliterate. 46 * @param string $translation Conversion direction. 47 * @return mixed 48 */ 42 49 public static function transliterate($content, $translation = 'cyr_to_lat') 43 50 { -
serbian-transliteration/trunk/classes/maps/bg_BG.php
r3269990 r3307894 35 35 ]; 36 36 37 /** 38 * Transliterate text between Cyrillic and Latin. 39 * 40 * @param mixed $content String to transliterate. 41 * @param string $translation Conversion direction. 42 * @return mixed 43 */ 37 44 public static function transliterate($content, $translation = 'cyr_to_lat') 38 45 { -
serbian-transliteration/trunk/classes/maps/bs_BA.php
r3269990 r3307894 45 45 ]; 46 46 47 /** 48 * Transliterate text between Cyrillic and Latin. 49 * 50 * @param mixed $content String to transliterate. 51 * @param string $translation Conversion direction. 52 * @return mixed 53 */ 47 54 public static function transliterate($content, $translation = 'cyr_to_lat') 48 55 { -
serbian-transliteration/trunk/classes/maps/cnr.php
r3269990 r3307894 47 47 ]; 48 48 49 /** 50 * Transliterate text between Cyrillic and Latin. 51 * 52 * @param mixed $content String to transliterate. 53 * @param string $translation Conversion direction. 54 * @return mixed 55 */ 49 56 public static function transliterate($content, $translation = 'cyr_to_lat') 50 57 { -
serbian-transliteration/trunk/classes/maps/el.php
r3269990 r3307894 39 39 ]; 40 40 41 /** 42 * Transliterate text between Cyrillic and Latin. 43 * 44 * @param mixed $content String to transliterate. 45 * @param string $translation Conversion direction. 46 * @return mixed 47 */ 41 48 public static function transliterate($content, $translation = 'cyr_to_lat') 42 49 { -
serbian-transliteration/trunk/classes/maps/hy.php
r3269990 r3307894 34 34 ]; 35 35 36 /** 37 * Transliterate text between Cyrillic and Latin. 38 * 39 * @param mixed $content String to transliterate. 40 * @param string $translation Conversion direction. 41 * @return mixed 42 */ 36 43 public static function transliterate($content, $translation = 'cyr_to_lat') 37 44 { -
serbian-transliteration/trunk/classes/maps/ka_GE.php
r3269990 r3307894 31 31 ]; 32 32 33 /** 34 * Transliterate text between Cyrillic and Latin. 35 * 36 * @param mixed $content String to transliterate. 37 * @param string $translation Conversion direction. 38 * @return mixed 39 */ 33 40 public static function transliterate($content, $translation = 'cyr_to_lat') 34 41 { -
serbian-transliteration/trunk/classes/maps/kir.php
r3269990 r3307894 54 54 ]; 55 55 56 /** 57 * Transliterate text between Cyrillic and Latin. 58 * 59 * @param mixed $content String to transliterate. 60 * @param string $translation Conversion direction. 61 * @return mixed 62 */ 56 63 public static function transliterate($content, $translation = 'cyr_to_lat') 57 64 { -
serbian-transliteration/trunk/classes/maps/kk.php
r3269990 r3307894 39 39 ]; 40 40 41 /** 42 * Transliterate text between Cyrillic and Latin. 43 * 44 * @param mixed $content String to transliterate. 45 * @param string $translation Conversion direction. 46 * @return mixed 47 */ 41 48 public static function transliterate($content, $translation = 'cyr_to_lat') 42 49 { -
serbian-transliteration/trunk/classes/maps/mk_MK.php
r3269990 r3307894 27 27 'в' => 'v', 'Г' => 'G', 'г' => 'g', 'Д' => 'D', 'д' => 'd', 28 28 'Е' => 'E', 'е' => 'e', 'З' => 'Z', 'з' => 'z', 'И' => 'I', 29 'и' => 'i', ' J' => 'J', 'j' => 'j', 'К' => 'K', 'к' => 'k',29 'и' => 'i', 'Ј' => 'J', 'ј' => 'j', 'К' => 'K', 'к' => 'k', 30 30 'Л' => 'L', 'л' => 'l', 'М' => 'M', 'м' => 'm', 'Н' => 'N', 31 31 'н' => 'n', 'О' => 'O', 'о' => 'o', 'П' => 'P', 'п' => 'p', … … 35 35 ]; 36 36 37 /** 38 * Transliterate text between Cyrillic and Latin. 39 * 40 * @param mixed $content String to transliterate. 41 * @param string $translation Conversion direction. 42 * @return mixed 43 */ 37 44 public static function transliterate($content, $translation = 'cyr_to_lat') 38 45 { -
serbian-transliteration/trunk/classes/maps/mn.php
r3269990 r3307894 54 54 ]; 55 55 56 /** 57 * Transliterate text between Cyrillic and Latin. 58 * 59 * @param mixed $content String to transliterate. 60 * @param string $translation Conversion direction. 61 * @return mixed 62 */ 56 63 public static function transliterate($content, $translation = 'cyr_to_lat') 57 64 { -
serbian-transliteration/trunk/classes/maps/ru_RU.php
r3269990 r3307894 35 35 ]; 36 36 37 /** 38 * Transliterate text between Cyrillic and Latin. 39 * 40 * @param mixed $content String to transliterate. 41 * @param string $translation Conversion direction. 42 * @return mixed 43 */ 37 44 public static function transliterate($content, $translation = 'cyr_to_lat') 38 45 { -
serbian-transliteration/trunk/classes/maps/sr_RS.php
r3269990 r3307894 44 44 ]; 45 45 46 /** 47 * Transliterate text between Cyrillic and Latin. 48 * 49 * @param mixed $content String to transliterate. 50 * @param string $translation Conversion direction. 51 * @return mixed 52 */ 46 53 public static function transliterate($content, $translation = 'cyr_to_lat') 47 54 { -
serbian-transliteration/trunk/classes/maps/tg.php
r3269990 r3307894 52 52 ]; 53 53 54 /** 55 * Transliterate text between Cyrillic and Latin. 56 * 57 * @param mixed $content String to transliterate. 58 * @param string $translation Conversion direction. 59 * @return mixed 60 */ 54 61 public static function transliterate($content, $translation = 'cyr_to_lat') 55 62 { -
serbian-transliteration/trunk/classes/maps/uk.php
r3269990 r3307894 42 42 ]; 43 43 44 /** 45 * Transliterate text between Cyrillic and Latin. 46 * 47 * @param mixed $content String to transliterate. 48 * @param string $translation Conversion direction. 49 * @return mixed 50 */ 44 51 public static function transliterate($content, $translation = 'cyr_to_lat') 45 52 { -
serbian-transliteration/trunk/classes/maps/uz_UZ.php
r3269990 r3307894 54 54 ]; 55 55 56 /** 57 * Transliterate text between Cyrillic and Latin. 58 * 59 * @param mixed $content String to transliterate. 60 * @param string $translation Conversion direction. 61 * @return mixed 62 */ 56 63 public static function transliterate($content, $translation = 'cyr_to_lat') 57 64 { -
serbian-transliteration/trunk/classes/mode.php
r3288639 r3307894 104 104 } 105 105 106 if (in_array($this->mode::MODE, ['forced'])) {107 return;108 }109 110 106 $filters = null; 111 107 … … 118 114 // On the frontend enable modes 119 115 else { 116 if (in_array($this->mode::MODE, ['forced'])) { 117 return; 118 } 119 120 120 $filters = $this->filters(); 121 121 } -
serbian-transliteration/trunk/classes/plugins.php
r3269990 r3307894 7 7 class Transliteration_Plugins 8 8 { 9 /** 10 * Cached list of active plugin integration classes. 11 * 12 * @var array|null 13 */ 14 private static ?array $cached_classes = null; 15 9 16 public function __construct() 10 17 { … … 12 19 } 13 20 21 /** 22 * Discover active plugin integration classes. 23 * Results are cached for subsequent calls within the request. 24 */ 14 25 public function plugin_classes() 15 26 { 27 if (self::$cached_classes !== null) { 28 return self::$cached_classes; 29 } 30 16 31 // Get the list of active plugins 17 32 $active_plugins = apply_filters('active_plugins', get_option('active_plugins')); … … 37 52 } 38 53 39 // F Ilter all classes54 // Filter all classes 40 55 $found_classes = apply_filters('rstr_active_plugin_classes', $found_classes, $active_plugins); 41 56 42 return $found_classes;57 return self::$cached_classes = $found_classes; 43 58 } 44 59 … … 59 74 } 60 75 } 76 77 /** 78 * Reset cached plugin classes. 79 */ 80 public static function clear_cache(): void 81 { 82 self::$cached_classes = null; 83 } 61 84 } -
serbian-transliteration/trunk/classes/settings-fields.php
r3269990 r3307894 329 329 330 330 add_settings_field( 331 ' parameter-url-selector', // ID331 'url-selector', // ID 332 332 __('Parameter URL selector', 'serbian-transliteration'), // Title 333 333 [$this, 'parameter_url_selector_callback'], // Callback … … 366 366 367 367 add_settings_field( 368 ' enable-body-class-' . $locale, // ID368 'disable-by-language-' . $locale, // ID 369 369 $language_name, // Title 370 370 [$this, 'exclude_language_callback'], // Callback … … 1044 1044 } 1045 1045 1046 public function exclude_language_callback(array $attr ): void1046 public function exclude_language_callback(array $attr=[]): void 1047 1047 { 1048 1048 foreach ([ -
serbian-transliteration/trunk/classes/settings.php
r3269990 r3307894 321 321 <div class="inner-sidebar"> 322 322 <div id="side-sortables" class="meta-box-sortables"> 323 <?php 324 do_action('transliteration-settings-before-sidebar', 'general', $this); 325 do_meta_boxes('transliteration-settings', 'side', null); 326 do_action('transliteration-settings-after-sidebar', 'general', $this); 327 ?> 323 <?php 324 // Hook triggered before settings sidebar 325 do_action('transliteration-settings-before-sidebar', 'general', $this); 326 do_meta_boxes('transliteration-settings', 'side', null); 327 // Hook triggered after settings sidebar 328 do_action('transliteration-settings-after-sidebar', 'general', $this); 329 ?> 328 330 </div> 329 331 </div> … … 332 334 <form method="post" action="options.php"> 333 335 <?php 334 settings_fields('transliteration-group'); 335 do_settings_sections('serbian-transliteration'); 336 submit_button( 337 __('Save Changes'), 338 'primary', 339 'trasnliteration_settings_save_changes_1', 340 false, 341 ['id' => 'trasnliteration_settings_submit_button_1'] 342 ); ?> 336 settings_fields('transliteration-group'); 337 do_settings_sections('serbian-transliteration'); 338 submit_button( 339 __('Save Changes'), 340 'primary', 341 'trasnliteration_settings_save_changes_1', 342 false, 343 ['id' => 'trasnliteration_settings_submit_button_1'] 344 ); 345 ?> 343 346 <div id="trasnliteration_settings_submit_button_float"> 344 347 <?php submit_button( … … 395 398 <div id="side-sortables" class="meta-box-sortables"> 396 399 <?php 400 // Hook triggered before settings sidebar 397 401 do_action('transliteration-settings-before-sidebar', 'shortcodes', $this); 398 402 do_meta_boxes('transliteration-settings', 'side', null); 403 // Hook triggered after settings sidebar 399 404 do_action('transliteration-settings-after-sidebar', 'shortcodes', $this); 400 405 ?> … … 431 436 <div id="side-sortables" class="meta-box-sortables"> 432 437 <?php 438 // Hook triggered before settings sidebar 433 439 do_action('transliteration-settings-before-sidebar', 'functions', $this); 434 440 do_meta_boxes('transliteration-settings', 'side', null); 441 // Hook triggered after settings sidebar 435 442 do_action('transliteration-settings-after-sidebar', 'functions', $this); 436 443 ?> … … 467 474 <div id="side-sortables" class="meta-box-sortables"> 468 475 <?php 476 // Hook triggered before settings sidebar 469 477 do_action('transliteration-settings-before-sidebar', 'tags', $this); 470 478 do_meta_boxes('transliteration-settings', 'side', null); 479 // Hook triggered after settings sidebar 471 480 do_action('transliteration-settings-after-sidebar', 'tags', $this); 472 481 ?> … … 512 521 <div id="side-sortables" class="meta-box-sortables"> 513 522 <?php 523 // Hook triggered before settings sidebar 514 524 do_action('transliteration-settings-before-sidebar', 'transliteration', $this); 515 525 do_meta_boxes('transliteration-tools', 'side', null); 526 // Hook triggered after settings sidebar 516 527 do_action('transliteration-settings-after-sidebar', 'transliteration', $this); 517 528 ?> … … 541 552 <div id="side-sortables" class="meta-box-sortables"> 542 553 <?php 554 // Hook triggered before settings sidebar 543 555 do_action('transliteration-settings-before-sidebar', 'permalinks', $this); 544 556 do_meta_boxes('transliteration-tools', 'side', null); 557 // Hook triggered after settings sidebar 545 558 do_action('transliteration-settings-after-sidebar', 'permalinks', $this); 546 559 ?> … … 577 590 <div id="side-sortables" class="meta-box-sortables"> 578 591 <?php 592 // Hook triggered before settings sidebar 579 593 do_action('transliteration-settings-before-sidebar', 'debug', $this); 580 594 do_meta_boxes('transliteration-settings', 'side', null); 595 // Hook triggered after settings sidebar 581 596 do_action('transliteration-settings-after-sidebar', 'debug', $this); 582 597 ?> … … 605 620 <div id="side-sortables" class="meta-box-sortables"> 606 621 <?php 622 // Hook triggered before settings sidebar 607 623 do_action('transliteration-settings-before-sidebar', 'credits', $this); 608 624 do_meta_boxes('transliteration-credits', 'side', null); 625 // Hook triggered after settings sidebar 609 626 do_action('transliteration-settings-after-sidebar', 'credits', $this); 610 627 ?> -
serbian-transliteration/trunk/classes/settings/page-debug.php
r3269990 r3307894 3 3 } 4 4 $activations = get_option(RSTR_NAME . '-activation'); 5 $options = get_rstr_option();6 5 ?><br> 7 6 <table class="table table-sm table-striped w-100"> 7 <?php // Hook to extend debug table header ?> 8 8 <thead><?php do_action('rstr/settings/debug/table/thead'); ?></thead> 9 <?php // Hook before first debug table row ?> 9 10 <tbody> 10 11 <?php do_action('rstr/settings/debug/table/tbody/start'); ?> … … 111 112 <tr> 112 113 <td><strong><?php esc_html_e('Plugin directory path', 'serbian-transliteration'); ?></strong></td> 114 <?php // Hook after last debug table row ?> 113 115 <td><?php echo RSTR_ROOT; ?></td> 116 <?php // Hook to extend debug table footer ?> 114 117 </tr> 115 118 <?php do_action('rstr/settings/debug/table/tbody/end'); ?> … … 121 124 <button class="accordion-link" type="button"><?php esc_html_e('Plugin settings', 'serbian-transliteration'); ?></button> 122 125 <div class="accordion-panel" style="padding:0;"> 123 <table class="rstr-debug-table" style="width:100%; max-width:100%; text-align:left; border-collapse: collapse"> 124 <tr> 125 <th style="width:35%;min-width: 165px;border: 1px solid #efefef; padding: 8px;"><?php esc_html_e('Option name', 'serbian-transliteration'); ?></th> 126 <th style="border: 1px solid #efefef; padding: 8px;"><?php esc_html_e('Value', 'serbian-transliteration'); ?></th> 127 </tr> 128 <?php foreach ($options as $key => $val) : ?> 129 <tr> 130 <td style="font-weight: 600; border: 1px solid #efefef; padding: 8px;"><?php echo esc_html($key); ?></td> 131 <td style="border: 1px solid #efefef; padding: <?php echo esc_html(is_array($val) ? 0 : 8); ?>px;"> 132 <?php if (is_array($val)) : ?> 133 <table class="rstr-debug-table-iner" style="width:100%; max-width:100%; text-align:left; padding:0; margin:0; border-collapse: collapse;"> 134 <tr> 135 <th style="width:50%;border: 1px solid #efefef; padding: 8px;"><?php esc_html_e('Key', 'serbian-transliteration'); ?></th> 136 <th style="border: 1px solid #efefef; padding: 8px;"><?php esc_html_e('Value', 'serbian-transliteration'); ?></th> 137 </tr> 138 <?php foreach ($val as $i => $prop) : ?> 139 <tr> 140 <td style="border: 1px solid #efefef; padding: 8px;"><?php echo esc_html($i); ?></td> 141 <td style="border: 1px solid #efefef; padding: 8px;"><?php echo esc_html($prop); ?></td> 142 </tr> 143 <?php endforeach; ?> 144 </table> 145 <?php else: ?> 146 <?php echo esc_html($val); ?> 147 <?php endif; ?> 148 </td> 149 </tr> 150 <?php endforeach; ?> 151 </table> 126 <?php Transliteration_Utilities::debug_render_all_settings_fields('html'); ?> 152 127 </div> 153 128 </div> -
serbian-transliteration/trunk/classes/utilities.php
r3288639 r3307894 12 12 * Registered languages 13 13 * @since 1.4.3 14 * @vers on1.0.014 * @version 1.0.0 15 15 * @author Ivijan-Stefan Stipic 16 16 */ … … 468 468 $wpdb->query(sprintf("DELETE FROM `%s` WHERE `%s`.`option_name` REGEXP '^_transient_(.*)?%s(.*|\$)'", $wpdb->options, $wpdb->options, $RSTR_NAME)); 469 469 } 470 471 if (class_exists('Transliteration_Plugins')) { 472 Transliteration_Plugins::clear_cache(); 473 } 470 474 } 471 475 … … 473 477 * Set cookie 474 478 * @since 1.0.10 475 * @vers on1.0.0479 * @version 1.0.0 476 480 */ 477 481 public static function setcookie($val, $expire = null): bool … … 501 505 * Get current script 502 506 * @since 1.0.10 503 * @vers on1.0.0507 * @version 1.0.0 504 508 */ 505 509 public static function get_current_script() … … 524 528 /* 525 529 * Flush Cache 526 * @vers on1.0.1530 * @version 1.0.1 527 531 */ 528 532 protected static $cache_flush = false; … … 754 758 755 759 // Check for specific editors and set the cache if true 756 if (self::is_elementor_editor() || self::is_oxygen_editor()) { 760 if ( 761 self::is_elementor_editor() || 762 self::is_oxygen_editor() || 763 self::is_wpbakery_editor() 764 ) { 757 765 return true; 758 766 } … … 781 789 /* 782 790 * Check is in the Elementor editor mode 783 * @vers on1.0.0791 * @version 1.0.0 784 792 */ 785 793 public static function is_elementor_editor() … … 806 814 /* 807 815 * Check is in the Elementor preview mode 808 * @vers on1.0.0816 * @version 1.0.0 809 817 */ 810 818 public static function is_elementor_preview() … … 833 841 /* 834 842 * Check is in the Oxygen editor mode 835 * @vers on1.0.0843 * @version 1.0.0 836 844 */ 837 845 public static function is_oxygen_editor() 838 846 { 839 847 return self::cached_static('is_oxygen_editor', fn (): bool => self::is_plugin_active('oxygen/functions.php') && (($_REQUEST['ct_builder'] ?? null) == 'true' || ($_REQUEST['ct_inner'] ?? null) == 'true' || preg_match('/^((ct_|oxy_)(.*?))$/i', ($_REQUEST['action'] ?? '')))); 848 } 849 850 /* 851 * Check is in the WPBakery editor mode 852 * @version 1.0.0 853 */ 854 public static function is_wpbakery_editor() 855 { 856 return self::cached_static('is_wpbakery_editor', function (): bool { 857 if ( 858 self::is_plugin_active('js_composer/js_composer.php') && ( 859 (!empty($_GET['vc_editable']) && $_GET['vc_editable'] === 'true') || 860 (!empty($_GET['vc_action']) && $_GET['vc_action'] === 'vc_inline') || 861 (function_exists('vc_is_inline') && vc_is_inline()) 862 ) 863 ) { 864 return true; 865 } 866 867 return false; 868 }); 840 869 } 841 870 … … 895 924 * PHP Wrapper for explode — Split a string by a string 896 925 * @since 1.0.9 897 * @vers on1.0.0926 * @version 1.0.0 898 927 * @url https://www.php.net/manual/en/function.explode.php 899 928 */ … … 1054 1083 */ 1055 1084 public static function normalize_latin_string($str) 1056 { 1057 1058 $map = apply_filters('rstr/utilities/normalize_latin_string', RSTR_NORMALIZE_LATIN_STRING_MAP, $str); 1059 1060 $str = strtr($str, $map); 1061 1062 if (function_exists('remove_accents')) { 1063 return remove_accents($str); 1064 } 1065 1066 return $str; 1067 } 1085 { 1086 // Step 1: Transliterate using WP native 1087 if (function_exists('remove_accents')) { 1088 $str = remove_accents($str); 1089 } 1090 1091 // Step 2: Apply custom Unicode symbol map 1092 $map = apply_filters('rstr/utilities/normalize_latin_string', RSTR_NORMALIZE_LATIN_STRING_MAP, $str); 1093 1094 // Step 3: Lazy translations 1095 $placeholders = [ 1096 '%%degrees%%' => __(' degrees ', 'serbian-transliteration'), 1097 '%%divided_by%%' => __(' divided by ', 'serbian-transliteration'), 1098 '%%times%%' => __(' times ', 'serbian-transliteration'), 1099 '%%plus_minus%%' => __(' plus-minus ', 'serbian-transliteration'), 1100 '%%square_root%%' => __(' square root ', 'serbian-transliteration'), 1101 '%%infinity%%' => __(' infinity ', 'serbian-transliteration'), 1102 '%%almost_equal%%' => __(' almost equal to ', 'serbian-transliteration'), 1103 '%%not_equal%%' => __(' not equal to ', 'serbian-transliteration'), 1104 '%%identical%%' => __(' identical to ', 'serbian-transliteration'), 1105 '%%less_equal%%' => __(' less than or equal to ', 'serbian-transliteration'), 1106 '%%greater_equal%%' => __(' greater than or equal to ', 'serbian-transliteration'), 1107 '%%left%%' => __(' left ', 'serbian-transliteration'), 1108 '%%right%%' => __(' right ', 'serbian-transliteration'), 1109 '%%up%%' => __(' up ', 'serbian-transliteration'), 1110 '%%down%%' => __(' down ', 'serbian-transliteration'), 1111 '%%left_right%%' => __(' left and right ', 'serbian-transliteration'), 1112 '%%up_down%%' => __(' up and down ', 'serbian-transliteration'), 1113 '%%care_of%%' => __(' care of ', 'serbian-transliteration'), 1114 '%%estimated%%' => __(' estimated ', 'serbian-transliteration'), 1115 '%%ohm%%' => __(' ohm ', 'serbian-transliteration'), 1116 '%%female%%' => __(' female ', 'serbian-transliteration'), 1117 '%%male%%' => __(' male ', 'serbian-transliteration'), 1118 '%%copyright%%' => __(' Copyright ', 'serbian-transliteration'), 1119 '%%registered%%' => __(' Registered ', 'serbian-transliteration'), 1120 '%%trademark%%' => __(' Trademark ', 'serbian-transliteration'), 1121 '%%latin%%' => __('Latin', 'serbian-transliteration'), 1122 '%%cyrillic%%' => __('Cyrillic', 'serbian-transliteration'), 1123 ]; 1124 1125 // Replace placeholders with translated strings 1126 $map = array_map(function ($value) use ($placeholders) { 1127 return $placeholders[$value] ?? $value; 1128 }, $map); 1129 1130 // Final string replacement 1131 return strtr($str, $map); 1132 } 1068 1133 1069 1134 /* … … 1322 1387 return self::cached_static('litespeed_is_cachable', fn (): bool => defined('LSCACHE_ENABLED') && LSCACHE_ENABLED && function_exists('litespeed_is_cachable') && litespeed_is_cachable()); 1323 1388 } 1389 1390 /* 1391 * Return plugin settings in debug format 1392 */ 1393 public static function debug_render_all_settings_fields($format = 'html') 1394 { 1395 $page = 'serbian-transliteration'; 1396 1397 global $wp_settings_fields; 1398 1399 if (!isset($wp_settings_fields[$page])) { 1400 if ($format === 'html') { 1401 echo '<p>No settings fields registered on this page.</p>'; 1402 } else { 1403 return ($format === 'json') ? json_encode([]) : serialize([]); 1404 } 1405 return; 1406 } 1407 1408 $disable_by_language = []; 1409 foreach ($wp_settings_fields[$page] as $section => $fields) { 1410 foreach ($fields as $id => $field) { 1411 if (strpos($id, 'disable-by-language-') !== false) { 1412 $disable_by_language = get_rstr_option('disable-by-language'); 1413 break; 1414 } 1415 } 1416 } 1417 1418 $data = []; 1419 $e = 0; 1420 1421 foreach ($wp_settings_fields[$page] as $section => $fields) { 1422 foreach ($fields as $id => $field) { 1423 if (strpos($id, 'disable-by-language-') !== false) { 1424 if ($e === 1) { 1425 continue; 1426 } 1427 $label = __('Exclusion', 'serbian-transliteration'); 1428 $val = $disable_by_language; 1429 ++$e; 1430 } else { 1431 $label = $field['title'] ?? $id; 1432 $val = get_rstr_option($id); 1433 } 1434 $data[] = ['label' => $label, 'value' => $val]; 1435 } 1436 } 1437 1438 if ($format === 'json') { 1439 return json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); 1440 } 1441 1442 if ($format === 'serialize') { 1443 return serialize($data); 1444 } 1445 1446 // Default: HTML table output 1447 echo '<table class="rstr-debug-table" style="width:100%; max-width:100%; text-align:left; border-collapse: collapse">'; 1448 echo '<tr> 1449 <th style="width:35%;min-width:165px;border:1px solid #efefef;padding:8px;">' . esc_html__('Option name', 'serbian-transliteration') . '</th> 1450 <th style="border:1px solid #efefef;padding:8px;">' . esc_html__('Value', 'serbian-transliteration') . '</th> 1451 </tr>'; 1452 1453 foreach ($data as $row) { 1454 $label = $row['label']; 1455 $val = $row['value']; 1456 1457 echo '<tr>'; 1458 echo '<td style="font-weight:600;border:1px solid #efefef;padding:8px;">' . esc_html($label) . '</td>'; 1459 echo '<td style="border:1px solid #efefef;padding:' . esc_html(is_array($val) ? 0 : 8) . 'px;">'; 1460 1461 if (is_array($val)) { 1462 echo '<table class="rstr-debug-table-iner" style="width:100%;text-align:left;border-collapse:collapse;">'; 1463 echo '<tr><th style="width:50%;border:1px solid #efefef;padding:8px;">' . esc_html__('Key', 'serbian-transliteration') . '</th>'; 1464 echo '<th style="border:1px solid #efefef;padding:8px;">' . esc_html__('Value', 'serbian-transliteration') . '</th></tr>'; 1465 foreach ($val as $i => $prop) { 1466 echo '<tr>'; 1467 echo '<td style="border:1px solid #efefef;padding:8px;">' . esc_html($i) . '</td>'; 1468 echo '<td style="border:1px solid #efefef;padding:8px;">' . esc_html($prop) . '</td>'; 1469 echo '</tr>'; 1470 } 1471 echo '</table>'; 1472 } else { 1473 echo esc_html($val); 1474 } 1475 1476 echo '</td>'; 1477 echo '</tr>'; 1478 } 1479 1480 echo '</table>'; 1481 } 1482 1324 1483 } -
serbian-transliteration/trunk/classes/wp-cli.php
r3269990 r3307894 8 8 * WP-CLI Helpers 9 9 * @since 1.4.3 10 * @vers on1.0.110 * @version 1.0.1 11 11 * @author Ivijan-Stefan Stipic 12 12 */ -
serbian-transliteration/trunk/constants.php
r3252345 r3307894 1 1 <?php if ( !defined('WPINC') ) die(); 2 2 3 // Find wp-admin file path 3 /** 4 * Absolute path to the wp-admin directory. 5 */ 4 6 if (!defined('WP_ADMIN_DIR')) { 5 7 // Default wp-admin directory … … 16 18 } 17 19 18 // Include Dependency 20 /** 21 * Include plugin dependencies when plugin.php is accessible. 22 */ 19 23 $include_dependency = false; 20 24 if (!function_exists('is_plugin_active_for_network') || !function_exists('is_plugin_active')) { … … 28 32 * Main plugin constants 29 33 * @since 1.0.0 30 * @vers on1.0.034 * @version 1.0.0 31 35 */ 32 36 33 / / Plugin basename37 /** Plugin basename used for activation checks. */ 34 38 if (!defined('RSTR_BASENAME')) { 35 39 define('RSTR_BASENAME', plugin_basename(RSTR_FILE)); 36 40 } 37 / / Plugin root41 /** Absolute path to the plugin root directory. */ 38 42 if (!defined('RSTR_ROOT')) { 39 43 define('RSTR_ROOT', rtrim(plugin_dir_path(RSTR_FILE) , '/')); 40 44 } 41 / / Plugin URL root45 /** Base URL to the plugin directory. */ 42 46 if (!defined('RSTR_URL')) { 43 47 define('RSTR_URL', rtrim(plugin_dir_url(RSTR_FILE) , '/')); 44 48 } 45 / / Assets URL49 /** URL to plugin assets directory. */ 46 50 if (!defined('RSTR_ASSETS')) { 47 51 define('RSTR_ASSETS', RSTR_URL . '/assets'); 48 52 } 49 / / Classes53 /** Directory containing plugin classes. */ 50 54 if (!defined('RSTR_CLASSES')) { 51 55 define('RSTR_CLASSES', RSTR_ROOT . '/classes'); 52 56 } 53 / / Plugin name57 /** Option name used for storing plugin settings. */ 54 58 if (!defined('RSTR_NAME')) { 55 59 define('RSTR_NAME', 'serbian-transliteration'); 56 60 } 57 / / Plugin table61 /** Database table slug for plugin tables. */ 58 62 if (!defined('RSTR_TABLE')) { 59 63 define('RSTR_TABLE', 'serbian_transliteration'); 60 64 } 61 65 62 / / Current plugin version ( if change, clear also session cache )66 /** Plugin version derived from the header comment. */ 63 67 if (function_exists('get_file_data') && $plugin_data = get_file_data(RSTR_FILE, array( 64 68 'Version' => 'Version' … … 74 78 define('RSTR_VERSION', $rstr_version); 75 79 } 76 / / Plugin session prefix (controlled by version)80 /** Prefix used for transients and cache entries. */ 77 81 if (!defined('RSTR_PREFIX')) { 78 82 define('RSTR_PREFIX', RSTR_TABLE . '_' . preg_replace("~[^0-9]~Ui", '', RSTR_VERSION) . '_'); 79 83 } 80 / / Is multisite84 /** True when plugin is network activated. */ 81 85 if (!defined('RSTR_MULTISITE')) { 82 86 define('RSTR_MULTISITE', function_exists('is_plugin_active_for_network') ? is_plugin_active_for_network(RSTR_BASENAME) : false); 83 87 } 84 if (!defined('RSTR_MULTISITE')) {85 define('RSTR_MULTISITE', false);86 }87 88 88 / / Is Woocommerce exists89 /** Indicates whether WooCommerce is active. */ 89 90 if (!defined('RSTR_WOOCOMMERCE')) { 90 91 define('RSTR_WOOCOMMERCE', (function_exists('is_plugin_active') ? is_plugin_active('woocommerce/woocommerce.php') : false)); 91 92 } 92 93 93 / / Normalize Latin String map94 /** Mapping of Unicode characters to ASCII equivalents. */ 94 95 if (!defined('RSTR_NORMALIZE_LATIN_STRING_MAP')) { 95 96 define('RSTR_NORMALIZE_LATIN_STRING_MAP', array( … … 165 166 'ხ' => 'kh', 'Ხ' => 'Kh', 'ჯ' => 'j', 'Ჯ' => 'J', 'ჰ' => 'h', 'Ჰ' => 'H', 166 167 167 '“'=>'"', '”'=>'"', '‘'=>"'", '’'=>"'", '•'=>'-', '…'=>'...', '—'=>'-', '–'=>'-', '¿'=>'?', '¡'=>'!', '°'=>__(' degrees ', 'serbian-transliteration'), 168 '“'=>'"', '”'=>'"', '‘'=>"'", '’'=>"'", '•'=>'-', '…'=>'...', '—'=>'-', '–'=>'-', '¿'=>'?', '¡'=>'!', 169 '°'=>'%%degrees%%', 168 170 '¼'=>' 1/4 ', '½'=>' 1/2 ', '¾'=>' 3/4 ', '⅓'=>' 1/3 ', '⅔'=>' 2/3 ', '⅛'=>' 1/8 ', '⅜'=>' 3/8 ', '⅝'=>' 5/8 ', '⅞'=>' 7/8 ', 169 '÷'=> __(' divided by ', 'serbian-transliteration'), '×'=>__(' times ', 'serbian-transliteration'), '±'=>__(' plus-minus ', 'serbian-transliteration'), '√'=>__(' square root ', 'serbian-transliteration'),170 '∞'=> __(' infinity ', 'serbian-transliteration'), '≈'=>__(' almost equal to ', 'serbian-transliteration'), '≠'=>__(' not equal to ', 'serbian-transliteration'),171 '≡'=> __(' identical to ', 'serbian-transliteration'), '≤'=>__(' less than or equal to ', 'serbian-transliteration'), '≥'=>__(' greater than or equal to ', 'serbian-transliteration'),172 '←'=> __(' left ', 'serbian-transliteration'), '→'=>__(' right ', 'serbian-transliteration'), '↑'=>__(' up ', 'serbian-transliteration'), '↓'=>__(' down ', 'serbian-transliteration'),173 '↔'=> __(' left and right ', 'serbian-transliteration'), '↕'=>__(' up and down ', 'serbian-transliteration'), '℅'=>__(' care of ', 'serbian-transliteration'),174 '℮' => __(' estimated ', 'serbian-transliteration'), 'Ω'=>__(' ohm ', 'serbian-transliteration'), '♀'=>__(' female ', 'serbian-transliteration'), '♂'=>__(' male ', 'serbian-transliteration'),175 '©'=> __(' Copyright ', 'serbian-transliteration'), '®'=>__(' Registered ', 'serbian-transliteration'), '™' =>__(' Trademark ', 'serbian-transliteration'),171 '÷'=>'%%divided_by%%', '×'=>'%%times%%', '±'=>'%%plus_minus%%', '√'=>'%%square_root%%', 172 '∞'=>'%%infinity%%', '≈'=>'%%almost_equal%%', '≠'=>'%%not_equal%%', 173 '≡'=>'%%identical%%', '≤'=>'%%less_equal%%', '≥'=>'%%greater_equal%%', 174 '←'=>'%%left%%', '→'=>'%%right%%', '↑'=>'%%up%%', '↓'=>'%%down%%', 175 '↔'=>'%%left_right%%', '↕'=>'%%up_down%%', '℅'=>'%%care_of%%', 176 '℮'=>'%%estimated%%', 'Ω'=>'%%ohm%%', '♀'=>'%%female%%', '♂'=>'%%male%%', 177 '©'=>'%%copyright%%', '®'=>'%%registered%%', '™'=>'%%trademark%%', 176 178 )); 177 179 } -
serbian-transliteration/trunk/readme.txt
r3304466 r3307894 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 2.3. 27 Stable tag: 2.3.3 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 109 109 110 110 == Changelog == 111 112 = 2.3.3 = 113 * Fixed domain was triggered too early 114 * Fixed admin transliteration 115 * Improved debugging 116 * Added transliteration for js-composer 117 * Improved plugin speed 118 * Improved PHP code 119 * Improved transliterations 111 120 112 121 = 2.3.2 = … … 248 257 249 258 == Upgrade Notice == 259 260 = 2.3.3 = 261 * Fixed domain was triggered too early 262 * Fixed admin transliteration 263 * Improved debugging 264 * Added transliteration for js-composer 265 * Improved plugin speed 266 * Improved PHP code 267 * Improved transliterations 250 268 251 269 = 2.3.2 = -
serbian-transliteration/trunk/serbian-transliteration.php
r3288639 r3307894 6 6 * Plugin URI: https://wordpress.org/plugins/serbian-transliteration/ 7 7 * Description: All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works. 8 * Version: 2.3. 28 * Version: 2.3.3 9 9 * Requires at least: 5.4 10 10 * Tested up to: 6.8 … … 81 81 * Main plugin constants 82 82 * @since 1.1.0 83 * @vers on1.0.083 * @version 1.0.0 84 84 */ 85 85 // Main plugin file … … 112 112 * Get plugin options 113 113 * @since 1.1.3 114 * @vers on1.0.0114 * @version 1.0.0 115 115 */ 116 116 if (!function_exists('get_rstr_option')) {
Note: See TracChangeset
for help on using the changeset viewer.