Changeset 2989840
- Timestamp:
- 11/06/2023 12:01:42 PM (2 years ago)
- Location:
- plerdy-heatmap/trunk
- Files:
-
- 2 edited
-
plerdy_heatmap_tracking.php (modified) (2 diffs)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
plerdy-heatmap/trunk/plerdy_heatmap_tracking.php
r2976243 r2989840 4 4 Plugin URI: https://www.plerdy.com 5 5 Description: The easiest way to add the Plerdy tracking script to your WordPress site! 6 Version: 1.3. 26 Version: 1.3.3 7 7 Author: Plerdy 8 8 Author URI: https://www.plerdy.com … … 82 82 83 83 public function register_settings() { 84 register_setting( 'plerdy-options', 'plerdy_tracking_script' );85 register_setting( 'plerdy-options', 'plerdy_abtracking_script');84 register_setting( 'plerdy-options', 'plerdy_tracking_script', array( $this, 'validate_tracking_script' ) ); 85 register_setting( 'plerdy-options', 'plerdy_abtracking_script', array( $this, 'validate_abtracking_script' ) ); 86 86 register_setting( 'plerdy-options', 'checkbox' ); 87 87 } 88 89 public function validate_tracking_script( $input ) { 90 // Використовуємо регулярний вираз для валідації 91 $pattern = "/^" . 92 preg_quote("<!-- BEGIN PLERDY CODE -->", '/') . 93 "\s*<script type=\"text\/javascript\" defer data-plerdy_code='1'>\s*" . 94 "var _protocol=\"https:\"==document\.location\.protocol\?\" https:\/\/\":\" http:\/\/\";\s*" . 95 "_site_hash_code = \"([a-f0-9]{32})\",_suid=(\d+),\s*" . 96 "plerdyScript=document\.createElement\(\"script\"\);\s*" . 97 "plerdyScript\.setAttribute\(\"defer\",\"\"\),plerdyScript\.dataset\.plerdymainscript=\"plerdymainscript\",\s*" . 98 "plerdyScript\.src=\"https:\/\/test\.plerdy\.com\/public\/js\/click\/main\.js\?v=\"\+Math\.random\(\);\s*" . 99 "var plerdymainscript=document\.querySelector\(\"\\[data-plerdymainscript='plerdymainscript'\\]\"\);\s*" . 100 "plerdymainscript&&plerdymainscript\.parentNode\.removeChild\(plerdymainscript\);\s*" . 101 "try{document\.head\.appendChild\(plerdyScript\)}catch\(t\){console\.log\(t,\"unable add script tag\"\)}\s*" . 102 "<\/script>\s*" . 103 preg_quote("<!-- END PLERDY CODE -->", '/') . 104 "$/"; 105 106 107 108 if (preg_match($pattern, $input)) { 109 return $input; 110 } else { 111 // Якщо валідація не пройшла, поверніть значення за замовчуванням або виведіть помилку 112 add_settings_error( 'plerdy_tracking_script', 'invalid_tracking_script', 'Invalid tracking script format' ); 113 return get_option( 'plerdy_tracking_script' ); 114 } 115 } 116 117 public function validate_abtracking_script( $input ) { 118 // Використовуємо регулярний вираз для валідації 119 120 $pattern = "/^" . 121 preg_quote("<!-- BEGIN PLERDY A/B TESTING CODE -->", '/') . 122 "<script type=\"text\/javascript\">" . 123 "_suid=(\d+);" . 124 "<\/script>" . 125 "<script async type=\"text\/javascript\" src=\"https://test.plerdy.com/public/js/click/plerdy_ab-min.js?v=" . 126 "([a-zA-Z0-9]+)\"" . ">". 127 "<\/script>" . 128 preg_quote("<!-- END PLERDY A/B TESTING CODE -->", '/') . 129 "$/"; 130 131 if (preg_match($pattern, $input)) { 132 133 return $input; 134 } else { 135 // Якщо валідація не пройшла, поверніть значення за замовчуванням або виведіть помилку 136 add_settings_error( 'plerdy_abtracking_script', 'invalid_abtracking_script', 'Invalid A/B testing script format' ); 137 return get_option( 'plerdy_abtracking_script' ); 138 } 139 } 140 88 141 89 142 public function admin_options() { -
plerdy-heatmap/trunk/readme.txt
r2976243 r2989840 4 4 Requires at least: 1.0 5 5 Tested up to: 6.3 6 Stable Tag: 1.3. 26 Stable Tag: 1.3.3 7 7 License: GPLv2 8 8 License URI: https://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset
for help on using the changeset viewer.