search en test
This commit is contained in:
parent
6084179d1d
commit
0f3cdfe3c6
@ -1587,7 +1587,7 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Version 10.6.00
|
// Version 10.6.00
|
||||||
if ($this->getData(['core', 'dataVersion']) < 10600) {
|
if ($this->getData(['core', 'dataVersion']) < 106) {
|
||||||
|
|
||||||
// Mise à jour des données des modules autonomes
|
// Mise à jour des données des modules autonomes
|
||||||
|
|
||||||
|
@ -5,6 +5,9 @@ class init extends search {
|
|||||||
'resultHideContent' => false,
|
'resultHideContent' => false,
|
||||||
'placeHolder' => 'Un ou plusieurs mots-clés séparés par un espace ou par +',
|
'placeHolder' => 'Un ou plusieurs mots-clés séparés par un espace ou par +',
|
||||||
'submitText' => 'Rechercher',
|
'submitText' => 'Rechercher',
|
||||||
'versionData' => '2.0'
|
'versionData' => '2.0'
|
||||||
|
];
|
||||||
|
public static $defaultTheme = [
|
||||||
|
'keywordColor' => 'rgba(229, 229, 1, 1)'
|
||||||
];
|
];
|
||||||
}
|
}
|
@ -51,24 +51,34 @@ class search extends common {
|
|||||||
* Appelée par les fonctions index et config
|
* Appelée par les fonctions index et config
|
||||||
*/
|
*/
|
||||||
private function update() {
|
private function update() {
|
||||||
|
return;
|
||||||
// Initialisation d'un nouveau module
|
|
||||||
$this->initCss($this->getUrl(0));
|
|
||||||
|
|
||||||
// Version 2.0
|
// Version 2.0
|
||||||
|
// Déplacement des données de l'instance
|
||||||
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '2.0', '<') ) {
|
if (version_compare($this->getData(['module', $this->getUrl(0), 'config', 'versionData']), '2.0', '<') ) {
|
||||||
|
|
||||||
// Données de l'instance
|
|
||||||
$data = $this->getData(['module', $this->getUrl(0)]);
|
$data = $this->getData(['module', $this->getUrl(0)]);
|
||||||
|
// Feuille de style
|
||||||
|
$fileCSS = self::DATADIRECTORY . $this->getUrl(0) . '.css' ;
|
||||||
$this->setData(['module', $this->getUrl(0), 'config', [
|
$this->setData(['module', $this->getUrl(0), 'config', [
|
||||||
'submitText' => $this->getData(['module', $this->getUrl(0), 'submitText']),
|
'submitText' => $this->getData(['module', $this->getUrl(0), 'submitText']),
|
||||||
'placeHolder' => $this->getData(['module', $this->getUrl(0), 'placeHolder']),
|
'placeHolder' => $this->getData(['module', $this->getUrl(0), 'placeHolder']),
|
||||||
'resultHideContent' => $this->getData(['module', $this->getUrl(0), 'resultHideContent']),
|
'resultHideContent' => $this->getData(['module', $this->getUrl(0), 'resultHideContent']),
|
||||||
'previewLength' => $this->getData(['module', $this->getUrl(0), 'previewLength']),
|
'previewLength' => $this->getData(['module', $this->getUrl(0), 'previewLength']),
|
||||||
'keywordColor' => $this->getData(['module', $this->getUrl(0), 'keywordColor']),
|
|
||||||
'style' => self::DATADIRECTORY . $this->getUrl(0) . '.css',
|
|
||||||
'versionData' => '2.0'
|
'versionData' => '2.0'
|
||||||
]]);
|
]]);
|
||||||
|
$this->setData(['module', $this->getUrl(0), 'theme', [
|
||||||
|
'keywordColor' => $this->getData(['module', $this->getUrl(0), 'keywordColor']),
|
||||||
|
'style' => $fileCSS
|
||||||
|
]]);
|
||||||
|
|
||||||
|
// Dossier de l'instance
|
||||||
|
if (!is_dir(self::DATADIRECTORY)) {
|
||||||
|
mkdir (self::DATADIRECTORY, 0777, true);
|
||||||
|
}
|
||||||
|
// Générer la feuille de CSS
|
||||||
|
$style = '.searchItem {background: ' . $this->getData(['module', $this->getUrl(0), 'theme', 'keywordColor']) . ';}';
|
||||||
|
// Sauver la feuille de style
|
||||||
|
$success = file_put_contents( $fileCSS, $style);
|
||||||
|
// Nettoyage des données précédentes
|
||||||
$this->deleteData(['module', $this->getUrl(0), 'submitText']);
|
$this->deleteData(['module', $this->getUrl(0), 'submitText']);
|
||||||
$this->deleteData(['module', $this->getUrl(0), 'placeHolder']);
|
$this->deleteData(['module', $this->getUrl(0), 'placeHolder']);
|
||||||
$this->deleteData(['module', $this->getUrl(0), 'resultHideContent']);
|
$this->deleteData(['module', $this->getUrl(0), 'resultHideContent']);
|
||||||
@ -78,47 +88,49 @@ class search extends common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialisation du thème du module
|
* Initialisation du module
|
||||||
* Appelée par les fonctions index et config
|
|
||||||
*/
|
*/
|
||||||
private function initCss($moduleId){
|
private function init($moduleId){
|
||||||
// Variable commune
|
// Variable commune
|
||||||
$fileCSS = self::DATADIRECTORY . $moduleId . '.css' ;
|
$fileCSS = self::DATADIRECTORY . $moduleId . '.css' ;
|
||||||
|
|
||||||
// Absence des données CSS
|
// Données du module
|
||||||
if ( $this->getData(['module', $moduleId, 'config', 'keywordColor']) === null ) {
|
require_once('module/search/ressource/defaultdata.php');
|
||||||
|
$this->setData(['module', $moduleId, 'config',init::$defaultData ]);
|
||||||
|
// Données de thème
|
||||||
|
$this->setData(['module', $moduleId, 'theme',init::$defaultTheme ]);
|
||||||
|
// Feuille de style
|
||||||
|
// Générer la feuille de CSS
|
||||||
|
$style = '.searchItem {background: rgba(229, 229, 1, 1);}';
|
||||||
|
|
||||||
$this->setData(['module', $moduleId, 'config', 'keywordColor', 'rgba(229, 229, 1, 1)']);
|
// Dossier de l'instance
|
||||||
|
if (!is_dir(self::DATADIRECTORY)) {
|
||||||
|
mkdir (self::DATADIRECTORY, 0777, true);
|
||||||
}
|
}
|
||||||
// Absence de la feuille de style
|
|
||||||
if (!file_exists(self::DATADIRECTORY . $moduleId . '.css') ) {
|
|
||||||
// Générer la feuille de CSS
|
|
||||||
$style = '.searchItem {background: rgba(229, 229, 1, 1);}';
|
|
||||||
|
|
||||||
// Dossier de l'instance
|
// Sauver la feuille de style
|
||||||
if (!is_dir(self::DATADIRECTORY)) {
|
file_put_contents(self::DATADIRECTORY .$moduleId . '.css' , $style );
|
||||||
mkdir (self::DATADIRECTORY, 0777, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sauver la feuille de style
|
// Stocker le nom de la feuille de style
|
||||||
$success = file_put_contents(self::DATADIRECTORY .$moduleId . '.css' , $style );
|
$this->setData(['module', $moduleId, 'theme', 'style', self::DATADIRECTORY . $moduleId . '.css']);
|
||||||
|
|
||||||
// Nom de la feuille de style
|
|
||||||
$this->setData(['module', $moduleId, 'config', 'style', self::DATADIRECTORY . $moduleId . '.css']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Configuration vide
|
// Configuration vide
|
||||||
public function config() {
|
public function config() {
|
||||||
|
|
||||||
|
// Initialisation d'un nouveau module
|
||||||
|
if ($this->getData(['module', $this->getUrl(0)]) === null) {
|
||||||
|
$this->init($this->getUrl(0));
|
||||||
|
}
|
||||||
|
|
||||||
// Mise à jour des données de module
|
// Mise à jour des données de module
|
||||||
$this->update();
|
$this->update();
|
||||||
|
|
||||||
if($this->isPost()) {
|
if($this->isPost()) {
|
||||||
|
|
||||||
// Générer la feuille de CSS
|
// Générer la feuille de CSS
|
||||||
$style = '.searchItem {background:' . $this->getInput('searchKeywordColor') . ';}';
|
$style = '.keywordColor {background:' . $this->getInput('searchKeywordColor') . ';}';
|
||||||
// Dossier de l'instance
|
// Dossier de l'instance
|
||||||
if (!is_dir(self::DATADIRECTORY)) {
|
if (!is_dir(self::DATADIRECTORY)) {
|
||||||
mkdir (self::DATADIRECTORY , 0777, true);
|
mkdir (self::DATADIRECTORY , 0777, true);
|
||||||
@ -133,9 +145,11 @@ class search extends common {
|
|||||||
'placeHolder' => $this->getInput('searchPlaceHolder'),
|
'placeHolder' => $this->getInput('searchPlaceHolder'),
|
||||||
'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN),
|
'resultHideContent' => $this->getInput('searchResultHideContent',helper::FILTER_BOOLEAN),
|
||||||
'previewLength' => $this->getInput('searchPreviewLength',helper::FILTER_INT),
|
'previewLength' => $this->getInput('searchPreviewLength',helper::FILTER_INT),
|
||||||
|
'versionData' => $this->getData(['module', $this->getUrl(0), 'config', 'versionData'])
|
||||||
|
]]);
|
||||||
|
$this->setData(['module', $this->getUrl(0), 'theme',[
|
||||||
'keywordColor' => $this->getInput('searchKeywordColor'),
|
'keywordColor' => $this->getInput('searchKeywordColor'),
|
||||||
'style' => $success ? self::DATADIRECTORY . $this->getUrl(0) . '.css' : '',
|
'style' => $success ? self::DATADIRECTORY . $this->getUrl(0) . '.css' : '',
|
||||||
'versionData' => $this->getData(['module', $this->getUrl(0), 'config', 'versionData'])
|
|
||||||
]]);
|
]]);
|
||||||
|
|
||||||
|
|
||||||
@ -159,6 +173,11 @@ class search extends common {
|
|||||||
|
|
||||||
public function index() {
|
public function index() {
|
||||||
|
|
||||||
|
// Initialisation d'un nouveau module
|
||||||
|
if ($this->getData(['module', $this->getUrl(0)]) === null) {
|
||||||
|
$this->init($this->getUrl(0));
|
||||||
|
}
|
||||||
|
|
||||||
// Mise à jour des données de module
|
// Mise à jour des données de module
|
||||||
$this->update();
|
$this->update();
|
||||||
|
|
||||||
@ -312,7 +331,7 @@ class search extends common {
|
|||||||
'view' => 'index',
|
'view' => 'index',
|
||||||
'showBarEditButton' => true,
|
'showBarEditButton' => true,
|
||||||
'showPageContent' => !$this->getData(['module', $this->getUrl(0), 'config', 'resultHideContent']),
|
'showPageContent' => !$this->getData(['module', $this->getUrl(0), 'config', 'resultHideContent']),
|
||||||
'style' => $this->getData(['module', $this->getUrl(0), 'config', 'style'])
|
'style' => $this->getData(['module', $this->getUrl(0), 'theme', 'style'])
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
// Valeurs en sortie, affichage du formulaire
|
// Valeurs en sortie, affichage du formulaire
|
||||||
@ -361,7 +380,7 @@ class search extends common {
|
|||||||
// Découper l'aperçu
|
// Découper l'aperçu
|
||||||
$t = substr($contenu, $d ,$this->getData(['module',$this->getUrl(0), 'config', 'previewLength']));
|
$t = substr($contenu, $d ,$this->getData(['module',$this->getUrl(0), 'config', 'previewLength']));
|
||||||
// Applique une mise en évidence
|
// Applique une mise en évidence
|
||||||
$t = preg_replace($keywords, '<span class= "searchItem">\1</span>',$t);
|
$t = preg_replace($keywords, '<span class= "keywordColor">\1</span>',$t);
|
||||||
// Sauver résultat
|
// Sauver résultat
|
||||||
$resultat .= '<p class="searchResult">'.$t.'...</p>';
|
$resultat .= '<p class="searchResult">'.$t.'...</p>';
|
||||||
$resultat .= '<p class="searchTitle">' . count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance<p>' : ' correspondances<p>');
|
$resultat .= '<p class="searchTitle">' . count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance<p>' : ' correspondances<p>');
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
'class' => 'colorPicker',
|
'class' => 'colorPicker',
|
||||||
'help' => 'Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.',
|
'help' => 'Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.',
|
||||||
'label' => 'Surlignement',
|
'label' => 'Surlignement',
|
||||||
'value' => $this->getData(['module', $this->getUrl(0), 'config', 'keywordColor'])
|
'value' => $this->getData(['module', $this->getUrl(0), 'theme', 'keywordColor'])
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user