Changeset 2255724
- Timestamp:
- 03/06/2020 05:01:11 PM (6 years ago)
- Location:
- wp-advanced-search
- Files:
-
- 131 added
- 1 deleted
- 11 edited
-
tags/3.3.4 (deleted)
-
tags/3.3.5 (added)
-
tags/3.3.5/WP-Advanced-Search-Autocompletion.php (added)
-
tags/3.3.5/WP-Advanced-Search-Autocorrection.php (added)
-
tags/3.3.5/WP-Advanced-Search-Documentation.php (added)
-
tags/3.3.5/WP-Advanced-Search-Function.php (added)
-
tags/3.3.5/WP-Advanced-Search-ImportExport.php (added)
-
tags/3.3.5/WP-Advanced-Search-Includes.php (added)
-
tags/3.3.5/WP-Advanced-Search-Options.php (added)
-
tags/3.3.5/WP-Advanced-Search-Pagination.php (added)
-
tags/3.3.5/WP-Advanced-Search-Styles.php (added)
-
tags/3.3.5/WP-Advanced-Search.php (added)
-
tags/3.3.5/class.inc (added)
-
tags/3.3.5/class.inc/ajaxResults.php (added)
-
tags/3.3.5/class.inc/autocompletion (added)
-
tags/3.3.5/class.inc/autocompletion/autocompletion-PHP5.5.php (added)
-
tags/3.3.5/class.inc/autocompletion/indicator.gif (added)
-
tags/3.3.5/class.inc/autocompletion/jquery.autocomplete-original.js (added)
-
tags/3.3.5/class.inc/autocompletion/jquery.autocomplete.css (added)
-
tags/3.3.5/class.inc/autocompletion/jquery.autocomplete.js (added)
-
tags/3.3.5/class.inc/autocompletion/jquery.js (added)
-
tags/3.3.5/class.inc/autocompletion/params-original.js (added)
-
tags/3.3.5/class.inc/autocompletion/params.js (added)
-
tags/3.3.5/class.inc/moteur-php5.5.class-inc.php (added)
-
tags/3.3.5/class.inc/stopwords (added)
-
tags/3.3.5/class.inc/stopwords.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-de_DE.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-en_GB.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-en_US.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-es_ES.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-fr_FR.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-it_IT.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-pl_PL.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-pt_BR.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-pt_PT.php (added)
-
tags/3.3.5/class.inc/stopwords/stopwords-ru_RU.php (added)
-
tags/3.3.5/css (added)
-
tags/3.3.5/css/pagination (added)
-
tags/3.3.5/css/pagination/colored-flat-design.css (added)
-
tags/3.3.5/css/pagination/flat-design-blue.css (added)
-
tags/3.3.5/css/pagination/flat-design.css (added)
-
tags/3.3.5/css/pagination/geek-zone.css (added)
-
tags/3.3.5/css/pagination/orange-design.css (added)
-
tags/3.3.5/css/pagination/style-pagination-blanc.css (added)
-
tags/3.3.5/css/pagination/style-pagination-bleu.css (added)
-
tags/3.3.5/css/pagination/style-pagination-empty.css (added)
-
tags/3.3.5/css/pagination/style-pagination-google-style.css (added)
-
tags/3.3.5/css/pagination/style-pagination-gris.css (added)
-
tags/3.3.5/css/pagination/style-pagination-n-columns.css (added)
-
tags/3.3.5/css/pagination/style-pagination-noir.css (added)
-
tags/3.3.5/css/pagination/style-pagination-rouge.css (added)
-
tags/3.3.5/css/pagination/style-pagination-vert.css (added)
-
tags/3.3.5/css/templates (added)
-
tags/3.3.5/css/templates/classic-black (added)
-
tags/3.3.5/css/templates/classic-black/style-noir.css (added)
-
tags/3.3.5/css/templates/classic-blue (added)
-
tags/3.3.5/css/templates/classic-blue/style-bleu.css (added)
-
tags/3.3.5/css/templates/classic-red (added)
-
tags/3.3.5/css/templates/classic-red/style-rouge.css (added)
-
tags/3.3.5/css/templates/colored-flat-design (added)
-
tags/3.3.5/css/templates/colored-flat-design/style-colored-flat-design.css (added)
-
tags/3.3.5/css/templates/flat-design (added)
-
tags/3.3.5/css/templates/flat-design-blue (added)
-
tags/3.3.5/css/templates/flat-design-blue/style-flat-design-blue.css (added)
-
tags/3.3.5/css/templates/flat-design/style-flat-design.css (added)
-
tags/3.3.5/css/templates/geek-zone (added)
-
tags/3.3.5/css/templates/geek-zone/computer.png (added)
-
tags/3.3.5/css/templates/geek-zone/style-geek-zone.css (added)
-
tags/3.3.5/css/templates/google-style (added)
-
tags/3.3.5/css/templates/google-style/style-google.css (added)
-
tags/3.3.5/css/templates/n-columns (added)
-
tags/3.3.5/css/templates/n-columns/style-2-columns.css (added)
-
tags/3.3.5/css/templates/n-columns/style-3-columns.css (added)
-
tags/3.3.5/css/templates/orange-grey (added)
-
tags/3.3.5/css/templates/orange-grey/style-orange-design.css (added)
-
tags/3.3.5/css/templates/style-empty.css (added)
-
tags/3.3.5/css/wp-advanced-search-admin.css (added)
-
tags/3.3.5/img (added)
-
tags/3.3.5/img/icon-16.png (added)
-
tags/3.3.5/img/icon-256x256.png (added)
-
tags/3.3.5/img/icon.png (added)
-
tags/3.3.5/img/loader.gif (added)
-
tags/3.3.5/img/loading.gif (added)
-
tags/3.3.5/img/loadingBlue.gif (added)
-
tags/3.3.5/img/loadingGrey.gif (added)
-
tags/3.3.5/img/screenshot-1.png (added)
-
tags/3.3.5/img/screenshot-2.png (added)
-
tags/3.3.5/img/screenshot-3.png (added)
-
tags/3.3.5/img/screenshot-4.png (added)
-
tags/3.3.5/img/screenshot-5.png (added)
-
tags/3.3.5/img/screenshot-6.png (added)
-
tags/3.3.5/img/screenshot-7.png (added)
-
tags/3.3.5/img/warning.png (added)
-
tags/3.3.5/js (added)
-
tags/3.3.5/js/ajaxInfiniteScroll-min.js (added)
-
tags/3.3.5/js/ajaxInfiniteScroll.js (added)
-
tags/3.3.5/js/ajaxInfiniteScrollStart-min.js (added)
-
tags/3.3.5/js/ajaxInfiniteScrollStart.js (added)
-
tags/3.3.5/js/ajaxTrigger-min.js (added)
-
tags/3.3.5/js/ajaxTrigger.js (added)
-
tags/3.3.5/js/ajaxTriggerStart-min.js (added)
-
tags/3.3.5/js/ajaxTriggerStart.js (added)
-
tags/3.3.5/js/jquery.js (added)
-
tags/3.3.5/lang (added)
-
tags/3.3.5/lang/wp-advanced-search-en.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_AU.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_AU.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_CA.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_CA.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_GB.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_GB.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_NZ.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_NZ.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_US.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_US.po (added)
-
tags/3.3.5/lang/wp-advanced-search-en_ZA.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-en_ZA.po (added)
-
tags/3.3.5/lang/wp-advanced-search-fr_FR.mo (added)
-
tags/3.3.5/lang/wp-advanced-search-fr_FR.po (added)
-
tags/3.3.5/lang/wp-advanced-search.pot (added)
-
tags/3.3.5/readme.txt (added)
-
tags/3.3.5/screenshot-1.png (added)
-
tags/3.3.5/screenshot-10.png (added)
-
tags/3.3.5/screenshot-2.png (added)
-
tags/3.3.5/screenshot-3.png (added)
-
tags/3.3.5/screenshot-4.png (added)
-
tags/3.3.5/screenshot-5.png (added)
-
tags/3.3.5/screenshot-6.png (added)
-
tags/3.3.5/screenshot-7.png (added)
-
tags/3.3.5/screenshot-8.png (added)
-
tags/3.3.5/screenshot-9.png (added)
-
trunk/WP-Advanced-Search-Autocompletion.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Autocorrection.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Documentation.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Function.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-ImportExport.php (modified) (2 diffs)
-
trunk/WP-Advanced-Search-Includes.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Options.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Pagination.php (modified) (1 diff)
-
trunk/WP-Advanced-Search-Styles.php (modified) (1 diff)
-
trunk/WP-Advanced-Search.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-advanced-search/trunk/WP-Advanced-Search-Autocompletion.php
r1594762 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction d'affichage de la page d'option pour l'autocomplétion 3 5 function WP_Advanced_Search_Callback_Autocompletion() { -
wp-advanced-search/trunk/WP-Advanced-Search-Autocorrection.php
r1594762 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction d'affichage de la page d'option pour la correction automatique 3 5 function WP_Advanced_Search_Callback_Autocorrection() { -
wp-advanced-search/trunk/WP-Advanced-Search-Documentation.php
r1501541 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction d'affichage de la page d'aide et de réglages de l'extension 3 5 function WP_Advanced_Search_Callback_Documentation() { -
wp-advanced-search/trunk/WP-Advanced-Search-Function.php
r1528734 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 /*--------------------------------------------*/ 3 5 /*----- Fonction de gestion des extraits -----*/ -
wp-advanced-search/trunk/WP-Advanced-Search-ImportExport.php
r2254880 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction pour l'exportation (après clic sur le bouton) 3 5 function WP_Advanced_Search_Export() { 4 global $wpdb, $tableName; 5 6 // Nom des tables à sauvegarder 7 $table1 = $wpdb->prefix.$tableName; 8 $table2 = $wpdb->prefix."autosuggest"; 9 $table3 = $wpdb->prefix."autocorrectindex"; 10 11 // Création du dump SQL 12 $sqlDB = mysql_dump($wpdb, DB_NAME, array($table1, $table2, $table3)); 13 $backupFile = "WP_Advanced_Search-".DB_NAME.'-'.date("d_m_Y_H\hi").".sql"; 14 15 // Force le téléchargement 16 header('Content-Disposition: attachment; filename='.$backupFile); 17 header('Content-Type: application/force-download'); 18 header('Content-type: application/octet-stream'); 19 echo $sqlDB; 6 if(current_user_can('edit_posts')) { 7 global $wpdb, $tableName; 8 9 // Nom des tables à sauvegarder 10 $table1 = $wpdb->prefix.$tableName; 11 $table2 = $wpdb->prefix."autosuggest"; 12 $table3 = $wpdb->prefix."autocorrectindex"; 13 14 // Création du dump SQL 15 $sqlDB = mysql_dump($wpdb, DB_NAME, array($table1, $table2, $table3)); 16 $backupFile = "WP_Advanced_Search-".DB_NAME.'-'.date("d_m_Y_H\hi").".sql"; 17 18 // Force le téléchargement 19 header('Content-Disposition: attachment; filename='.$backupFile); 20 header('Content-Type: application/force-download'); 21 header('Content-type: application/octet-stream'); 22 echo $sqlDB; 23 } 20 24 } 21 25 add_action('admin_post_db_export', 'WP_Advanced_Search_Export'); … … 23 27 // Fonction pour l'importation (après validation dans les options) 24 28 function WP_Advanced_Search_Import() { 25 global $wpdb, $tableName; 26 27 // Nom des tables à supprimer (si ce n'est pas le cas dans le Dump) 28 $table1 = $wpdb->prefix.$tableName; 29 $table2 = $wpdb->prefix."autosuggest"; 30 $table3 = $wpdb->prefix."autocorrectindex"; 31 $tables = array($table1, $table2, $table3); // Tableau des tables 32 33 // Fichier pour l'upload WordPress à utiliser 34 if(!function_exists('wp_handle_upload')) { 35 require_once(ABSPATH.'wp-admin/includes/file.php'); 36 } 37 38 // Début de l'importation du fichier 39 if(isset($_FILES['wp_advanced_search_file_import'])) { 40 41 42 $uploadedfile = $_FILES['wp_advanced_search_file_import']; // Fichier uploadé 43 $upload_overrides = array( 44 'test_form' => false, // Pour WordPress 45 'test_type' => false, // Ne pas bloquer à cause du type MIME (vérifié après) 46 ); 47 $movefile = wp_handle_upload($uploadedfile, $upload_overrides); // Déplacement du fichier chargé 48 49 // Vérification du déplacement du fichier (si OK) 50 if($movefile && !isset($movefile['error'])) { 51 $extension = strrchr($uploadedfile['name'], '.'); // Récupération de l'extension 52 $mimesSQL = array("text/x-sql", "text/sql", "application/sql", "text/plain", "application/octet-stream"); // Types MIME autorisés 53 $mime = mime_content_type($movefile['file']); // Récupération du type MIME véritable 54 55 // Si le type MIME et l'extension correspondent, on continue... 56 if(in_array($mime, $mimesSQL) && $extension == ".sql") { 57 // Récupération de l'URL du fichier (pour la suppression future) 58 $urlFile = $movefile['file']; 59 60 // Importation SQL 61 $sql = file($urlFile); 62 $cleanSQL = array(); // Tableau des requêtes SQL nettoyées 63 $dropTables = array(); 64 $nb = 0; 65 // Nettoyage des requêtes 66 foreach($sql as $ligne) { 67 // Supprime les espaces inutiles 68 $ligne = trim($ligne); 69 70 // Supprime les commentaires et lignes vides inutiles 71 if(substr($ligne, 0, 2) == '--' || substr($ligne, 0, 2) == '/*' || $ligne == '') { 72 continue; 73 } 74 75 // Vérifie que les DROP TABLE sont bien présents (sinon erreur lors de l'importation) 76 if(substr($ligne, 0, 10) == 'DROP TABLE') { 77 $dropTables[] = $ligne; 78 } 79 80 // Vérifie si la ligne se termine bien comme une instruction SQL ';' 81 if(substr($ligne, -1, 1) != ';') { 82 $cleanSQL[$nb].= $ligne; 83 continue; 84 } else { 85 $cleanSQL[$nb].= $ligne; 86 } 87 $nb++; 29 if(current_user_can('edit_posts')) { 30 global $wpdb, $tableName; 31 32 // Nom des tables à supprimer (si ce n'est pas le cas dans le Dump) 33 $table1 = $wpdb->prefix.$tableName; 34 $table2 = $wpdb->prefix."autosuggest"; 35 $table3 = $wpdb->prefix."autocorrectindex"; 36 $tables = array($table1, $table2, $table3); // Tableau des tables 37 38 // Fichier pour l'upload WordPress à utiliser 39 if(!function_exists('wp_handle_upload')) { 40 require_once(ABSPATH.'wp-admin/includes/file.php'); 41 } 42 43 // Début de l'importation du fichier 44 if(isset($_FILES['wp_advanced_search_file_import'])) { 45 46 47 $uploadedfile = $_FILES['wp_advanced_search_file_import']; // Fichier uploadé 48 $upload_overrides = array( 49 'test_form' => false, // Pour WordPress 50 'test_type' => false, // Ne pas bloquer à cause du type MIME (vérifié après) 51 ); 52 $movefile = wp_handle_upload($uploadedfile, $upload_overrides); // Déplacement du fichier chargé 53 54 // Vérification du déplacement du fichier (si OK) 55 if($movefile && !isset($movefile['error'])) { 56 $extension = strrchr($uploadedfile['name'], '.'); // Récupération de l'extension 57 $mimesSQL = array("text/x-sql", "text/sql", "application/sql", "text/plain", "application/octet-stream"); // Types MIME autorisés 58 $mime = mime_content_type($movefile['file']); // Récupération du type MIME véritable 59 60 // Si le type MIME et l'extension correspondent, on continue... 61 if(in_array($mime, $mimesSQL) && $extension == ".sql") { 62 // Récupération de l'URL du fichier (pour la suppression future) 63 $urlFile = $movefile['file']; 64 65 // Importation SQL 66 $sql = file($urlFile); 67 $cleanSQL = array(); // Tableau des requêtes SQL nettoyées 68 $dropTables = array(); 69 $nb = 0; 70 // Nettoyage des requêtes 71 foreach($sql as $ligne) { 72 // Supprime les espaces inutiles 73 $ligne = trim($ligne); 74 75 // Supprime les commentaires et lignes vides inutiles 76 if(substr($ligne, 0, 2) == '--' || substr($ligne, 0, 2) == '/*' || $ligne == '') { 77 continue; 78 } 79 80 // Vérifie que les DROP TABLE sont bien présents (sinon erreur lors de l'importation) 81 if(substr($ligne, 0, 10) == 'DROP TABLE') { 82 $dropTables[] = $ligne; 83 } 84 85 // Vérifie si la ligne se termine bien comme une instruction SQL ';' 86 if(substr($ligne, -1, 1) != ';') { 87 $cleanSQL[$nb].= $ligne; 88 continue; 89 } else { 90 $cleanSQL[$nb].= $ligne; 91 } 92 $nb++; 93 } 94 95 // Vérifie qu'il y a les DROP TABLE pour les 3 tables de la base 96 if(empty($dropTables) || count($dropTables) != 3) { 97 foreach($tables as $table) { 98 $wpdb->query('DROP TABLE IF EXISTS `'.$table.'`;'); 99 } 100 } 101 102 // Envoi des requêtes une par une dans la BDD 103 foreach($cleanSQL as $query) { 104 $wpdb->query($query); 105 } 106 107 // Message de validation 108 $msg = "validImport"; 109 } else { 110 $msg = "errorMime"; 111 } 112 113 // Supprime le fichier après l'importation (sécurité) 114 unlink($urlFile); 115 } else { 116 echo $movefile['error']; 117 if(!empty($uploadedfile['name'])) { 118 $msg = "errorImport"; 119 } else { 120 $msg = "noImport"; 88 121 } 89 90 // Vérifie qu'il y a les DROP TABLE pour les 3 tables de la base91 if(empty($dropTables) || count($dropTables) != 3) {92 foreach($tables as $table) {93 $wpdb->query('DROP TABLE IF EXISTS `'.$table.'`;');94 }95 }96 97 // Envoi des requêtes une par une dans la BDD98 foreach($cleanSQL as $query) {99 $wpdb->query($query);100 }101 102 // Message de validation103 $msg = "validImport";104 } else {105 $msg = "errorMime";106 122 } 107 108 // Supprime le fichier après l'importation (sécurité) 109 unlink($urlFile); 110 } else { 111 echo $movefile['error']; 112 if(!empty($uploadedfile['name'])) { 113 $msg = "errorImport"; 114 } else { 115 $msg = "noImport"; 116 } 117 } 118 } 119 120 // Redirection avec message en notice 121 $url = add_query_arg('message', $msg, urldecode(wp_get_referer())); 122 wp_safe_redirect($url); 123 } 124 125 // Redirection avec message en notice 126 $url = add_query_arg('message', $msg, urldecode(wp_get_referer())); 127 wp_safe_redirect($url); 128 } 123 129 } 124 130 add_action('admin_post_db_import', 'WP_Advanced_Search_Import'); -
wp-advanced-search/trunk/WP-Advanced-Search-Includes.php
r2242519 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 /*--------------------------------------------*/ 3 5 /*--------- Fonction d'autocomplétion --------*/ -
wp-advanced-search/trunk/WP-Advanced-Search-Options.php
r1501541 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 function WP_Advanced_Search_FullText() { 3 5 global $wpdb, $tableName; -
wp-advanced-search/trunk/WP-Advanced-Search-Pagination.php
r1501541 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction d'affichage de la page d'aide et de réglages de l'extension 3 5 function WP_Advanced_Search_Callback_Pagination() { -
wp-advanced-search/trunk/WP-Advanced-Search-Styles.php
r1501541 r2255724 1 1 <?php 2 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 3 2 4 // Fonction d'affichage de la page d'aide et de réglages de l'extension 3 5 function WP_Advanced_Search_Callback_Styles() { -
wp-advanced-search/trunk/WP-Advanced-Search.php
r2254880 r2255724 5 5 Description: Moteur de recherche avancé pour WordPress à la place du moteur initial (mise en surbrillance, trois types de recherche, styles, paginations, algorithme de pertinence optionnel...). (<em>Plugin adds a advanced search engine for WordPress with a lot of options (three type of search, bloded request, three method for pagination, relevancy algorithm...</em>). 6 6 Author: Mathieu Chartier 7 Version: 3.3. 47 Version: 3.3.5 8 8 Author URI: http://blog.internet-formation.fr 9 9 Text Domain: wp-advanced-search … … 11 11 */ 12 12 13 if(!defined('ABSPATH')) exit; // Exclu en cas d'accès direct par l'URL du fichier 14 13 15 // Instanciation des variables globales 14 16 global $wpdb, $table_WP_Advanced_Search, $tableName, $WP_Advanced_Search_Version; … … 17 19 18 20 // Version du plugin 19 $WP_Advanced_Search_Version = "3.3. 4";21 $WP_Advanced_Search_Version = "3.3.5"; 20 22 21 23 function WP_Advanced_Search_Lang() { 22 load_plugin_textdomain('wp-advanced-search', false, dirname(plugin_basename( __FILE__ )).'/lang/'); 24 // load_plugin_textdomain('wp-advanced-search', false, dirname(plugin_basename( __FILE__ )).'/lang/'); 25 load_plugin_textdomain('wp-advanced-search', false, basename(dirname( __FILE__ )).'/lang/'); 23 26 } 24 27 add_action('plugins_loaded', 'WP_Advanced_Search_Lang' ); -
wp-advanced-search/trunk/readme.txt
r2254880 r2255724 7 7 License: GPLv2 or later 8 8 Requires at least: 2.5 9 Tested up to: 5. 2.310 Stable Tag: 3.3. 49 Tested up to: 5.3.2 10 Stable Tag: 3.3.5 11 11 12 12 "WP-Advanced-Search" est un moteur de recherche complet et puissant pour WordPress entièrement modulable (WP-Advanced-Search is a complete and powerful search engine for WordPress, fully scalable). … … 89 89 == Changelog == 90 90 91 = Version 3.3. 4 (05/03/2020) =91 = Version 3.3.5 (06/03/2020) = 92 92 - Correction d'une faille de sécurité à l'aide de Florian Hauser de www.code-white.com (Fix a security breach using Florian Hauser from www.code-white.com) 93 93
Note: See TracChangeset
for help on using the changeset viewer.