* @copyright Copyright (C) 2008-2018, Rémi Jean
* @license GNU General Public License, version 3
- * @link http://zwiicms.com/
+ * @link http://zwiicms.fr/
*/
@@ -19,7 +19,7 @@ class install extends common {
'index' => self::GROUP_VISITOR,
'steps' => self::GROUP_ADMIN,
'update' => self::GROUP_ADMIN,
- 'removeAll' => self::GROUP_ADMIN,
+ 'removeAll' => self::GROUP_ADMIN
];
@@ -41,17 +41,44 @@ class install extends common {
else {
// Soumission du formulaire
if($this->isPost()) {
- //$sent = $success = false;
+ $success = true;
// Double vérification pour le mot de passe
if($this->getInput('installPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true)) {
self::$inputNotices['installConfirmPassword'] = 'Incorrect';
+ $success = false;
}
- // Crée l'utilisateur
+ // Utilisateur
$userFirstname = $this->getInput('installFirstname', helper::FILTER_STRING_SHORT, true);
$userLastname = $this->getInput('installLastname', helper::FILTER_STRING_SHORT, true);
$userMail = $this->getInput('installMail', helper::FILTER_MAIL, true);
$userId = $this->getInput('installId', helper::FILTER_ID, true);
- // Bannière par défaut
+ // Création de l'utilisateur si les données sont complétées.
+ // success retour de l'enregistrement des données
+ $success = $this->setData([
+ 'user',
+ $userId,
+ [
+ 'firstname' => $userFirstname,
+ 'forgot' => 0,
+ 'group' => self::GROUP_ADMIN,
+ 'lastname' => $userLastname,
+ 'mail' => $userMail,
+ 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true)
+ ]
+ ]);
+ // Compte créé, envoi du mail et création des données du site
+ if ($success) { // Formulaire complété envoi du mail
+ // Envoie le mail
+ // Sent contient true si réussite sinon code erreur d'envoi en clair
+ $sent = $this->sendMail(
+ $userMail,
+ 'Installation de votre site',
+ 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
' .
+ 'Voici les détails de votre installation.
' .
+ 'URL du site : ' . helper::baseUrl(false) . '
' .
+ 'Identifiant du compte : ' . $this->getInput('installId') . '
',
+ null
+ );
// Créer les dossiers
if (!is_dir(self::FILE_DIR.'source/banniere/')) {
mkdir(self::FILE_DIR.'source/banniere/');}
@@ -65,50 +92,25 @@ class install extends common {
copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico');
copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico');
// Configure certaines données par défaut
- if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === TRUE) {
+ if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) {
$this->initData('page','fr',true);
$this->initData('module','fr',true);
$this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]);
$this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]);
$this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]);
}
- $success = $this->setData([
- 'user',
- $userId,
- [
- 'firstname' => $userFirstname,
- 'forgot' => 0,
- 'group' => self::GROUP_ADMIN,
- 'lastname' => $userLastname,
- 'mail' => $userMail,
- 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true),
- 'pseudo' => $userFirstname,
- 'signature'=> self::SIGNATURE_PSEUDO
- ]
+ // Stocker le dossier d'installation
+ $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]);
+ // Générer un fichier robots.txt
+ $this->createRobots();
+ // Créer sitemap
+ $this->createSitemap();
+ // Valeurs en sortie
+ $this->addOutput([
+ 'redirect' => helper::baseUrl(false),
+ 'notification' => ($sent === true ? 'Installation terminée' : $sent),
+ 'state' => ($sent === true ? true : null)
]);
- if ($success === true) { // Formulaire complété envoi du mail
- // Envoie le mail
- $sent = $this->sendMail(
- $userMail,
- 'Installation de votre site',
- 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
' .
- 'Voici les détails de votre installation.
' .
- 'URL du site : ' . helper::baseUrl(false) . '
' .
- 'Identifiant du compte : ' . $this->getInput('installId') . '
',
- null
- );
- // Stocker le dossier d'installation
- $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]);
- // Générer un fichier robots.txt
- $this->createRobots();
- // Créer sitemap
- $this->createSitemap();
- // Valeurs en sortie
- $this->addOutput([
- 'redirect' => helper::baseUrl(false),
- 'notification' => ($sent === true ? 'Installation terminée' : $sent),
- 'state' => ($sent === true ? true : null)
- ]);
}
}
diff --git a/core/module/install/ressource/.htaccess b/core/module/install/ressource/.htaccess
old mode 100755
new mode 100644
diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php
old mode 100755
new mode 100644
index 4a9cf666..624b50c5
--- a/core/module/install/ressource/defaultdata.php
+++ b/core/module/install/ressource/defaultdata.php
@@ -5,10 +5,14 @@ class init extends common {
'analyticsId' => '',
'autoBackup' => true,
'autoUpdate' => true,
+ 'autoUpdateHtaccess' => false,
'cookieConsent' => true,
'favicon' => 'favicon.ico',
'faviconDark' => 'faviconDark.ico',
'homePageId' => 'accueil',
+ 'page302' => 'erreur302',
+ 'page403' => 'erreur403',
+ 'page404' => 'erreur404',
'maintenance' => false,
'social' => [
'facebookId' => 'facebook',
@@ -22,22 +26,23 @@ class init extends common {
'timezone' => 'Europe/Paris',
'itemsperPage' => 10,
'legalPageId' => 'mentions-legales',
+ 'searchPageId' => 'recherche',
'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.',
'title' => 'Votre site en quelques clics !',
- 'proxyUrl' => "",
- 'proxyPort' => "",
- 'proxyType' => "tcp://",
+ 'proxyUrl' => '',
+ 'proxyPort' => '',
+ 'proxyType' => 'tcp://',
'smtp' => [
'enable' => false,
],
- "connect" => [
- "timeout" => 600,
- "attempt" => 3,
+ 'connect' => [
+ 'timeout' => 600,
+ 'attempt' => 3,
'log' => false
]
],
'core' => [
- 'dataVersion' => 10000,
+ 'dataVersion' => 10300,
'lastBackup' => 0,
'lastClearTmp' => 0,
'lastAutoUpdate' => 0,
@@ -109,10 +114,11 @@ class init extends common {
'displayCopyright' => false,
'displayLegal' => false,
'displaySearch' => false,
+ 'displayMemberBar' => false,
'template' => '3'
],
'header' => [
- 'backgroundColor' => 'rgba(255, 255, 255, 1)',
+ 'backgroundColor' => 'rgba(32, 59, 82, 1)',
'font' => 'Oswald',
'fontSize' => '2em',
'fontWeight' => 'normal',
@@ -123,7 +129,7 @@ class init extends common {
'margin' => false,
'position' => 'site',
'textAlign' => 'center',
- 'textColor' => 'rgba(0, 17, 157, 1)',
+ 'textColor' => 'rgba(255, 255, 255, 1)',
'textHide' => false,
'textTransform' => 'none',
'linkHomePage' => true,
@@ -146,7 +152,8 @@ class init extends common {
'activeColorAuto' => true,
'activeColor' => 'rgba(255, 255, 255, 1)',
'activeTextColor' => 'rgba(255, 255, 255, 1)',
- 'radius' => '0px'
+ 'radius' => '0px',
+ 'memberBar' => true
],
'site' => [
'backgroundColor' => 'rgba(255, 255, 255, 1)',
@@ -227,9 +234,9 @@ class init extends common {
'disable' => false,
'content' => 'Vous pouvez assigner des parents à vos pages afin de mieux organiser votre menu !
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac dolor arcu. Cras dignissim finibus nisi, vulputate egestas mauris faucibus ultricies. Nullam ornare pretium eleifend. Donec placerat purus ut turpis dapibus condimentum. Fusce at leo pharetra nisl vestibulum fermentum. Maecenas feugiat justo at semper tincidunt. Integer in blandit lorem.
+
Ergo ego senator inimicus, si ita vultis, homini, amicus esse, sicut semper fui, rei publicae debeo. Quid? si ipsas inimicitias, depono rei publicae causa, quis me tandem iure reprehendet, praesertim cum ego omnium meorum consiliorum atque factorum exempla semper ex summorum hominum consiliis atque factis mihi censuerim petenda.
+
Principium autem unde latius se funditabat, emersit ex negotio tali. Chilo ex vicario et coniux eius Maxima nomine, questi apud Olybrium ea tempestate urbi praefectum, vitamque suam venenis petitam adseverantes inpetrarunt ut hi, quos suspectati sunt, ilico rapti conpingerentur in vincula, organarius Sericus et Asbolius palaestrita et aruspex Campensis.
',
'hideTitle' => false,
'breadCrumb' => true,
@@ -255,8 +262,8 @@ class init extends common {
'disable' => false,
'content' => 'Cette page n\'est visible que des membres de votre site !
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
+
Eius populus ab incunabulis primis ad usque pueritiae tempus extremum, quod annis circumcluditur fere trecentis, circummurana pertulit bella, deinde aetatem ingressus adultam post multiplices bellorum aerumnas Alpes transcendit et fretum, in iuvenem erectus et virum ex omni plaga quam orbis ambit inmensus, reportavit laureas et triumphos, iamque vergens in senium et nomine solo aliquotiens vincens ad tranquilliora vitae discessit.
+
Exsistit autem hoc loco quaedam quaestio subdifficilis, num quando amici novi, digni amicitia, veteribus sint anteponendi, ut equis vetulis teneros anteponere solemus. Indigna homine dubitatio! Non enim debent esse amicitiarum sicut aliarum rerum satietates; veterrima quaeque, ut ea vina, quae vetustatem ferunt, esse debet suavissima; verumque illud est, quod dicitur, multos modios salis simul edendos esse, ut amicitiae munus expletum sit.
',
'hideTitle' => false,
'breadCrumb' => true,
@@ -291,7 +298,7 @@ class init extends common {
'moduleId' => '',
'parentPageId' => 'accueil',
'modulePosition' => 'bottom',
- 'position' => 3,
+ 'position' => 2,
'group' => self::GROUP_VISITOR,
'targetBlank' => false,
'title' => 'Mise en page',
@@ -339,7 +346,7 @@ class init extends common {
'moduleId' => 'blog',
'modulePosition' => 'bottom',
'parentPageId' => '',
- 'position' => 4,
+ 'position' => 3,
'group' => self::GROUP_VISITOR,
'targetBlank' => false,
'title' => 'Blog',
@@ -362,7 +369,7 @@ class init extends common {
'moduleId' => 'gallery',
'modulePosition' => 'bottom',
'parentPageId' => '',
- 'position' => 5,
+ 'position' => 4,
'group' => self::GROUP_VISITOR,
'targetBlank' => false,
'title' => 'Galeries',
@@ -386,7 +393,7 @@ class init extends common {
'moduleId' => 'redirection',
'modulePosition' => 'bottom',
'parentPageId' => '',
- 'position' => 6,
+ 'position' => 5,
'group' => self::GROUP_VISITOR,
'targetBlank' => true,
'title' => 'Site de Zwii',
@@ -409,7 +416,7 @@ class init extends common {
'moduleId' => 'form',
'modulePosition' => 'bottom',
'parentPageId' => '',
- 'position' => 7,
+ 'position' => 6,
'group' => self::GROUP_VISITOR,
'targetBlank' => false,
'title' => 'Contact',
@@ -537,7 +544,101 @@ class init extends common {
'hideMenuSide' => false,
'hideMenuHead' => false,
'hideMenuChildren' => false
- ]
+ ],
+ 'erreur302' => [
+ 'typeMenu' => 'text',
+ 'iconUrl' => '',
+ 'disable' => false,
+ 'content' => 'Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.
+ ',
+ 'hideTitle' => false,
+ 'breadCrumb' => false,
+ 'metaDescription' => '',
+ 'metaTitle' => '',
+ 'moduleId' => '',
+ 'modulePosition' => '',
+ 'parentPageId' => '',
+ 'position' => 0,
+ 'group' => self::GROUP_VISITOR,
+ 'targetBlank' => false,
+ 'title' => 'Maintenance en cours',
+ 'block' => '12',
+ 'barLeft' => '',
+ 'barRight' => '',
+ 'displayMenu' => 'none',
+ 'hideMenuSide' => true,
+ 'hideMenuHead' => true,
+ 'hideMenuChildren' => true
+ ],
+ 'erreur403' => [
+ 'typeMenu' => 'text',
+ 'iconUrl' => '',
+ 'disable' => false,
+ 'content' => 'Vous n\'êtes pas autorisé à accéder à cette page...
Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.
',
+ 'hideTitle' => false,
+ 'breadCrumb' => false,
+ 'metaDescription' => '',
+ 'metaTitle' => '',
+ 'moduleId' => '',
+ 'modulePosition' => 'bottom',
+ 'parentPageId' => '',
+ 'position' => 0,
+ 'group' => self::GROUP_VISITOR,
+ 'targetBlank' => false,
+ 'title' => 'Erreur 403',
+ 'block' => '12',
+ 'barLeft' => '',
+ 'barRight' => '',
+ 'displayMenu' => 'none',
+ 'hideMenuSide' => false,
+ 'hideMenuChildren' => false
+ ],
+ 'erreur404' => [
+ 'typeMenu' => 'text',
+ 'iconUrl' => '',
+ 'disable' => false,
+ 'content' => '
Oups ! La page demandée est introuvable...
Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.
',
+ 'hideTitle' => false,
+ 'breadCrumb' => false,
+ 'metaDescription' => '',
+ 'metaTitle' => '',
+ 'moduleId' => 'search',
+ 'modulePosition' => 'bottom',
+ 'parentPageId' => '',
+ 'position' => 0,
+ 'group' => self::GROUP_VISITOR,
+ 'targetBlank' => false,
+ 'title' => 'Erreur 404',
+ 'block' => '12',
+ 'barLeft' => '',
+ 'barRight' => '',
+ 'displayMenu' => 'none',
+ 'hideMenuSide' => false,
+ 'hideMenuChildren' =>false
+ ],
+ 'recherche' => [
+ 'typeMenu' => 'icon',
+ 'iconUrl' => 'icones/loupe.png',
+ 'disable' => false,
+ 'content' => '
Rechercher dans le site
',
+ 'hideTitle' => true,
+ 'breadCrumb' => false,
+ 'metaDescription' => '',
+ 'metaTitle' => '',
+ 'moduleId' => 'search',
+ 'modulePosition' => 'bottom',
+ 'parentPageId' => '',
+ 'position' => 7,
+ 'group' => self::GROUP_VISITOR,
+ 'targetBlank' => false,
+ 'title' => 'Recherche',
+ 'block' => '12',
+ 'barLeft' => '',
+ 'barRight' => '',
+ 'displayMenu' => 'none',
+ 'hideMenuSide' => false,
+ 'hideMenuChildren' => false
+ ],
],
'module' => [
'blog' => [
@@ -551,7 +652,7 @@ class init extends common {
'userId' => ''
]
],
- 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a placerat metus. Morbi luctus laoreet dolor et euismod. Phasellus eget eros ac eros pretium tincidunt. Sed maximus magna lectus, non vestibulum sapien pretium maximus. Donec convallis leo tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras convallis lacus eu risus gravida varius. Etiam mattis massa vitae eros placerat bibendum.
Vivamus tempus magna augue, in bibendum quam blandit at. Morbi felis tortor, suscipit ut ipsum ut, volutpat consectetur orci. Nulla tincidunt quis ligula non viverra. Sed pretium dictum blandit. Donec fringilla, nunc at dictum pretium, arcu massa viverra leo, et porta turpis ipsum eget risus. Quisque quis maximus purus, in elementum arcu. Donec nisi orci, aliquam non luctus non, congue volutpat massa. Curabitur sed risus congue, porta arcu vel, tincidunt nisi. Duis tincidunt quam ut velit maximus ornare. Nullam sagittis, ante quis pharetra hendrerit, lorem massa dapibus mi, a hendrerit dolor odio nec augue. Nunc sem nisl, tincidunt vitae nunc et, viverra tristique diam. In eget dignissim lectus. Nullam volutpat lacus id ex dapibus viverra. Pellentesque ultricies lorem ut nunc elementum volutpat. Cras id ultrices justo.
Phasellus nec erat leo. Praesent at sem nunc. Vestibulum quis condimentum turpis. Cras semper diam vitae enim fringilla, ut fringilla mauris efficitur. In nec porttitor urna. Nam eros leo, vehicula eget lobortis sed, gravida id mauris. Nulla bibendum nunc tortor, non bibendum justo consectetur vel. Phasellus nec risus diam. In commodo tellus nec nulla fringilla, nec feugiat nunc consectetur. Etiam non eros sodales, sodales lacus vel, finibus leo. Quisque hendrerit tristique congue. Phasellus nec augue vitae libero elementum facilisis. Mauris pretium ornare nisi, non scelerisque velit consectetur sit amet.
',
+ 'content' => 'Et eodem impetu Domitianum praecipitem per scalas itidem funibus constrinxerunt, eosque coniunctos per ampla spatia civitatis acri raptavere discursu. iamque artuum et membrorum divulsa conpage superscandentes corpora mortuorum ad ultimam truncata deformitatem velut exsaturati mox abiecerunt in flumen.
Ex his quidam aeternitati se commendari posse per statuas aestimantes eas ardenter adfectant quasi plus praemii de figmentis aereis sensu carentibus adepturi, quam ex conscientia honeste recteque factorum, easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo, cum consiliis armisque regem superasset Antiochum. quam autem sit pulchrum exigua haec spernentem et minima ad ascensus verae gloriae tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato monstravit. qui interrogatus quam ob rem inter multos... statuam non haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam quod est gravius cur inpetraverim mussitare.
Latius iam disseminata licentia onerosus bonis omnibus Caesar nullum post haec adhibens modum orientis latera cuncta vexabat nec honoratis parcens nec urbium primatibus nec plebeiis.
',
'picture' => 'galerie/landscape/meadow.jpg',
'hidePicture' => false,
'pictureSize' => 20,
@@ -563,7 +664,7 @@ class init extends common {
'mon-deuxieme-article' => [
'closeComment' => false,
'comment' => [],
- 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis eros pharetra metus rutrum pretium et sagittis mauris. Donec commodo venenatis sem nec suscipit. In tempor sollicitudin scelerisque. Etiam quis nibh eleifend, congue nisl quis, ultricies ipsum. Integer at est a eros vulputate pellentesque eu vitae tellus. Nullam suscipit quam nisl. Vivamus dui odio, luctus ac fringilla ultrices, eleifend vel sapien. Integer sem ex, lobortis eu mattis eu, condimentum non libero. Aliquam non porttitor elit, eu hendrerit neque. Praesent tortor urna, tincidunt sed dictum id, rutrum tempus sapien.
Donec accumsan ante ac odio laoreet porttitor. Pellentesque et leo a leo scelerisque mattis id vel elit. Quisque egestas congue enim nec semper. Morbi mollis nibh sapien. Nunc quis fringilla lorem. Donec vel venenatis nunc. Donec lectus velit, tempor sit amet dui sed, consequat commodo enim. Nam porttitor neque semper, dapibus nunc bibendum, lobortis urna. Morbi ullamcorper molestie lectus a elementum. Curabitur eu cursus orci, sed tristique justo. In massa lacus, imperdiet eu elit quis, consectetur maximus magna. Integer suscipit varius ante vitae egestas. Morbi scelerisque fermentum ipsum, euismod faucibus mi tincidunt id. Sed at consectetur velit. Ut fermentum nunc nibh, at commodo felis lacinia nec.
Nullam a justo quis lectus facilisis semper eget quis sem. Morbi suscipit erat sem, non fermentum nunc luctus vel. Proin venenatis quam ut arcu luctus efficitur. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam sollicitudin tristique nunc nec convallis. Maecenas id tortor semper, tempus nisl laoreet, cursus lacus. Aliquam sagittis est in leo congue, a pharetra felis aliquet. Nulla gravida lobortis sapien, quis viverra enim ullamcorper sed. Donec ultrices sem eu volutpat dapibus. Nam euismod, tellus eu congue mollis, massa nisi finibus odio, vitae porta arcu urna ac lorem. Sed faucibus dignissim pretium. Pellentesque eget ante tellus. Pellentesque a elementum odio, sit amet vulputate diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In hendrerit consequat dolor, malesuada pellentesque tellus molestie non. Aenean quis purus a lectus pellentesque laoreet.
',
+ 'content' => 'Et prima post Osdroenam quam, ut dictum est, ab hac descriptione discrevimus, Commagena, nunc Euphratensis, clementer adsurgit, Hierapoli, vetere Nino et Samosata civitatibus amplis inlustris.
Ob haec et huius modi multa, quae cernebantur in paucis, omnibus timeri sunt coepta. et ne tot malis dissimulatis paulatimque serpentibus acervi crescerent aerumnarum, nobilitatis decreto legati mittuntur: Praetextatus ex urbi praefecto et ex vicario Venustus et ex consulari Minervius oraturi, ne delictis supplicia sint grandiora, neve senator quisquam inusitato et inlicito more tormentis exponeretur.
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani; ab his sermo oritur, respondet Laelius, cuius tota disputatio est de amicitia, quam legens te ipse cognosces.
',
'picture' => 'galerie/landscape/desert.jpg',
'hidePicture' => false,
'pictureSize' => 40,
@@ -575,7 +676,7 @@ class init extends common {
'mon-troisieme-article' => [
'closeComment' => true,
'comment' => [],
- 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ut tempus nibh. Cras eget iaculis justo, ac laoreet lacus. Nunc tellus nulla, auctor id hendrerit eu, pellentesque in sapien. In hac habitasse platea dictumst. Aliquam leo urna, hendrerit id nunc eget, finibus maximus dolor. Sed rutrum sapien consectetur, tincidunt nulla at, blandit quam. Duis ex enim, vehicula vel nisi vitae, lobortis volutpat nisl. Vivamus enim libero, euismod nec risus vel, interdum placerat elit. In cursus sapien condimentum dui imperdiet, sed lobortis ante consectetur. Maecenas hendrerit eget felis non consequat.
Nullam nec risus non velit efficitur tempus eget tincidunt mauris. Etiam venenatis leo id justo sagittis, commodo dignissim sapien tristique. Vivamus finibus augue malesuada sapien gravida rutrum. Integer mattis lectus ac pulvinar scelerisque. Integer suscipit feugiat metus, ac molestie odio suscipit eget. Fusce at elit in tellus venenatis finibus id sit amet magna. Integer sodales luctus neque blandit posuere. Cras pellentesque dictum lorem eget vestibulum. Quisque vitae metus non nisi efficitur rhoncus ut vitae ipsum. Donec accumsan massa at est faucibus lacinia. Quisque imperdiet luctus neque eu vestibulum. Phasellus pellentesque felis ligula, id imperdiet elit ultrices eu.
',
+ 'content' => 'Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas et palatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus.
Proinde concepta rabie saeviore, quam desperatio incendebat et fames, amplificatis viribus ardore incohibili in excidium urbium matris Seleuciae efferebantur, quam comes tuebatur Castricius tresque legiones bellicis sudoribus induratae.
Inter has ruinarum varietates a Nisibi quam tuebatur accitus Vrsicinus, cui nos obsecuturos iunxerat imperiale praeceptum, dispicere litis exitialis certamina cogebatur abnuens et reclamans, adulatorum oblatrantibus turmis, bellicosus sane milesque semper et militum ductor sed forensibus iurgiis longe discretus, qui metu sui discriminis anxius cum accusatores quaesitoresque subditivos sibi consociatos ex isdem foveis cerneret emergentes, quae clam palamve agitabantur, occultis Constantium litteris edocebat inplorans subsidia, quorum metu tumor notissimus Caesaris exhalaret.
',
'picture' => 'galerie/landscape/iceberg.jpg',
'hidePicture' => false,
'pictureSize' => 100,
@@ -632,7 +733,7 @@ class init extends common {
'contact' => [
'config' => [
'button' => '',
- 'capcha' => true,
+ 'captcha' => true,
'group' => self::GROUP_ADMIN,
'pageId' => '',
'subject' => ''
@@ -665,3 +766,4 @@ class init extends common {
]
];
}
+
diff --git a/core/module/install/view/index/index.css b/core/module/install/view/index/index.css
index ba396f2e..d7c543b0 100755
--- a/core/module/install/view/index/index.css
+++ b/core/module/install/view/index/index.css
@@ -1,17 +1 @@
-/**
- * This file is part of Zwii.
- *
- * For full copyright and license information, please see the LICENSE
- * file that was distributed with this source code.
- *
- * @author Rémi Jean
- * @copyright Copyright (C) 2008-2018, Rémi Jean
- * @author Frédéric Tempez
- * @copyright Copyright (C) 2018-2020, Frédéric Tempez
- * @license GNU General Public License, version 3
- * @link http://zwiicms.com/
- */
-
-
-
-@import url("site/data/admin.css");
\ No newline at end of file
+/* Vide */
\ No newline at end of file
diff --git a/core/module/install/view/index/index.js.php b/core/module/install/view/index/index.js.php
old mode 100755
new mode 100644
index 7a7d83c5..eef087dd
--- a/core/module/install/view/index/index.js.php
+++ b/core/module/install/view/index/index.js.php
@@ -7,7 +7,7 @@
* @author Rémi Jean
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @license GNU General Public License, version 3
- * @link http://zwiicms.com/
+ * @link http://zwiicms.fr/
*/
/**
diff --git a/core/module/install/view/index/index.php b/core/module/install/view/index/index.php
old mode 100755
new mode 100644
index 74677c5a..9c60b0eb
--- a/core/module/install/view/index/index.php
+++ b/core/module/install/view/index/index.php
@@ -20,7 +20,7 @@
Réseaux sociaux
@@ -247,8 +295,8 @@Référencement
@@ -294,8 +342,8 @@Réseau
@@ -332,8 +380,8 @@Messagerie SMTP
@@ -403,8 +451,8 @@Sécurité de la connexion
@@ -454,8 +502,8 @@Journalisation
@@ -492,8 +540,8 @@Scripts
@@ -529,57 +577,23 @@Système +
-
- 'ZwiiCMS',
- 'readonly' => true,
- 'value' => common::ZWII_VERSION
- ]); ?>
-
-
- 'Blog',
- 'readonly' => true,
- 'value' => blog::BLOG_VERSION
- ]); ?>
-
-
- 'Form',
- 'readonly' => true,
- 'value' => form::FORM_VERSION
- ]); ?>
-
-
- 'Gallery',
- 'readonly' => true,
- 'value' => gallery::GALLERY_VERSION
- ]); ?>
-
-
- 'News',
- 'readonly' => true,
- 'value' => news::NEWS_VERSION
- ]); ?>
-
-
- 'Redirection',
- 'readonly' => true,
- 'value' => redirection::REDIRECTION_VERSION
- ]); ?>
+
+
+
+
+
+
+
diff --git a/core/module/config/view/manage/manage.css b/core/module/config/view/manage/manage.css
index 6faa3a6a..a7139f53 100755
--- a/core/module/config/view/manage/manage.css
+++ b/core/module/config/view/manage/manage.css
@@ -9,7 +9,7 @@
* @author Frédéric Tempez
* @copyright Copyright (C) 2018-2020, Frédéric Tempez
* @license GNU General Public License, version 3
- * @link http://zwiicms.com/
+ * @link http://zwiicms.fr/
*/
@import url("site/data/admin.css");
\ No newline at end of file
diff --git a/core/module/config/view/manage/manage.php b/core/module/config/view/manage/manage.php
old mode 100755
new mode 100644
index cd951922..bc5a8c2e
--- a/core/module/config/view/manage/manage.php
+++ b/core/module/config/view/manage/manage.php
@@ -10,8 +10,7 @@
'Valider',
- 'ico' => 'check'
+ 'value' => 'Restaurer'
]); ?>
Versions des modules
Restauration ou transfert d'un site
-Conversion des URL après transfert de site
-' . + 'Voici les détails de votre installation.
' . + 'URL du site : ' . helper::baseUrl(false) . '
' . + 'Identifiant du compte : ' . $this->getInput('installId') . '
', + null + ); // Créer les dossiers if (!is_dir(self::FILE_DIR.'source/banniere/')) { mkdir(self::FILE_DIR.'source/banniere/');} @@ -65,50 +92,25 @@ class install extends common { copy('core/module/install/ressource/file/source/favicon.ico',self::FILE_DIR.'source/favicon.ico'); copy('core/module/install/ressource/file/source/faviconDark.ico',self::FILE_DIR.'source/faviconDark.ico'); // Configure certaines données par défaut - if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === TRUE) { + if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { $this->initData('page','fr',true); $this->initData('module','fr',true); $this->setData(['module', 'blog', 'mon-premier-article', 'userId', $userId]); $this->setData(['module', 'blog', 'mon-deuxieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'mon-troisieme-article', 'userId', $userId]); } - $success = $this->setData([ - 'user', - $userId, - [ - 'firstname' => $userFirstname, - 'forgot' => 0, - 'group' => self::GROUP_ADMIN, - 'lastname' => $userLastname, - 'mail' => $userMail, - 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true), - 'pseudo' => $userFirstname, - 'signature'=> self::SIGNATURE_PSEUDO - ] + // Stocker le dossier d'installation + $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]); + // Générer un fichier robots.txt + $this->createRobots(); + // Créer sitemap + $this->createSitemap(); + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl(false), + 'notification' => ($sent === true ? 'Installation terminée' : $sent), + 'state' => ($sent === true ? true : null) ]); - if ($success === true) { // Formulaire complété envoi du mail - // Envoie le mail - $sent = $this->sendMail( - $userMail, - 'Installation de votre site', - 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
' . - 'Voici les détails de votre installation.
' . - 'URL du site : ' . helper::baseUrl(false) . '
' . - 'Identifiant du compte : ' . $this->getInput('installId') . '
', - null - ); - // Stocker le dossier d'installation - $this->setData(['core', 'baseUrl', helper::baseUrl(false,false) ]); - // Générer un fichier robots.txt - $this->createRobots(); - // Créer sitemap - $this->createSitemap(); - // Valeurs en sortie - $this->addOutput([ - 'redirect' => helper::baseUrl(false), - 'notification' => ($sent === true ? 'Installation terminée' : $sent), - 'state' => ($sent === true ? true : null) - ]); } } diff --git a/core/module/install/ressource/.htaccess b/core/module/install/ressource/.htaccess old mode 100755 new mode 100644 diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php old mode 100755 new mode 100644 index 4a9cf666..624b50c5 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -5,10 +5,14 @@ class init extends common { 'analyticsId' => '', 'autoBackup' => true, 'autoUpdate' => true, + 'autoUpdateHtaccess' => false, 'cookieConsent' => true, 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', 'homePageId' => 'accueil', + 'page302' => 'erreur302', + 'page403' => 'erreur403', + 'page404' => 'erreur404', 'maintenance' => false, 'social' => [ 'facebookId' => 'facebook', @@ -22,22 +26,23 @@ class init extends common { 'timezone' => 'Europe/Paris', 'itemsperPage' => 10, 'legalPageId' => 'mentions-legales', + 'searchPageId' => 'recherche', 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', 'title' => 'Votre site en quelques clics !', - 'proxyUrl' => "", - 'proxyPort' => "", - 'proxyType' => "tcp://", + 'proxyUrl' => '', + 'proxyPort' => '', + 'proxyType' => 'tcp://', 'smtp' => [ 'enable' => false, ], - "connect" => [ - "timeout" => 600, - "attempt" => 3, + 'connect' => [ + 'timeout' => 600, + 'attempt' => 3, 'log' => false ] ], 'core' => [ - 'dataVersion' => 10000, + 'dataVersion' => 10300, 'lastBackup' => 0, 'lastClearTmp' => 0, 'lastAutoUpdate' => 0, @@ -109,10 +114,11 @@ class init extends common { 'displayCopyright' => false, 'displayLegal' => false, 'displaySearch' => false, + 'displayMemberBar' => false, 'template' => '3' ], 'header' => [ - 'backgroundColor' => 'rgba(255, 255, 255, 1)', + 'backgroundColor' => 'rgba(32, 59, 82, 1)', 'font' => 'Oswald', 'fontSize' => '2em', 'fontWeight' => 'normal', @@ -123,7 +129,7 @@ class init extends common { 'margin' => false, 'position' => 'site', 'textAlign' => 'center', - 'textColor' => 'rgba(0, 17, 157, 1)', + 'textColor' => 'rgba(255, 255, 255, 1)', 'textHide' => false, 'textTransform' => 'none', 'linkHomePage' => true, @@ -146,7 +152,8 @@ class init extends common { 'activeColorAuto' => true, 'activeColor' => 'rgba(255, 255, 255, 1)', 'activeTextColor' => 'rgba(255, 255, 255, 1)', - 'radius' => '0px' + 'radius' => '0px', + 'memberBar' => true ], 'site' => [ 'backgroundColor' => 'rgba(255, 255, 255, 1)', @@ -227,9 +234,9 @@ class init extends common { 'disable' => false, 'content' => '
Vous pouvez assigner des parents à vos pages afin de mieux organiser votre menu !
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ac dolor arcu. Cras dignissim finibus nisi, vulputate egestas mauris faucibus ultricies. Nullam ornare pretium eleifend. Donec placerat purus ut turpis dapibus condimentum. Fusce at leo pharetra nisl vestibulum fermentum. Maecenas feugiat justo at semper tincidunt. Integer in blandit lorem.
Ergo ego senator inimicus, si ita vultis, homini, amicus esse, sicut semper fui, rei publicae debeo. Quid? si ipsas inimicitias, depono rei publicae causa, quis me tandem iure reprehendet, praesertim cum ego omnium meorum consiliorum atque factorum exempla semper ex summorum hominum consiliis atque factis mihi censuerim petenda.
Principium autem unde latius se funditabat, emersit ex negotio tali. Chilo ex vicario et coniux eius Maxima nomine, questi apud Olybrium ea tempestate urbi praefectum, vitamque suam venenis petitam adseverantes inpetrarunt ut hi, quos suspectati sunt, ilico rapti conpingerentur in vincula, organarius Sericus et Asbolius palaestrita et aruspex Campensis.
Cette page n\'est visible que des membres de votre site !
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.
Eius populus ab incunabulis primis ad usque pueritiae tempus extremum, quod annis circumcluditur fere trecentis, circummurana pertulit bella, deinde aetatem ingressus adultam post multiplices bellorum aerumnas Alpes transcendit et fretum, in iuvenem erectus et virum ex omni plaga quam orbis ambit inmensus, reportavit laureas et triumphos, iamque vergens in senium et nomine solo aliquotiens vincens ad tranquilliora vitae discessit.
Exsistit autem hoc loco quaedam quaestio subdifficilis, num quando amici novi, digni amicitia, veteribus sint anteponendi, ut equis vetulis teneros anteponere solemus. Indigna homine dubitatio! Non enim debent esse amicitiarum sicut aliarum rerum satietates; veterrima quaeque, ut ea vina, quae vetustatem ferunt, esse debet suavissima; verumque illud est, quod dicitur, multos modios salis simul edendos esse, ut amicitiae munus expletum sit.
Notre site est actuellement en maintenance. Nous sommes désolés pour la gêne occasionnée et faisons notre possible pour être rapidement de retour.
+Vous n\'êtes pas autorisé à accéder à cette page...
Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.
', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 403', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' => false + ], + 'erreur404' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '
Oups ! La page demandée est introuvable...
Personnalisez cette page à votre convenance sans qu\'elle apparaisse dans les menus.
', + 'hideTitle' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => 'search', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Erreur 404', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], + 'recherche' => [ + 'typeMenu' => 'icon', + 'iconUrl' => 'icones/loupe.png', + 'disable' => false, + 'content' => '
Rechercher dans le site
', + 'hideTitle' => true, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => 'search', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 7, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Recherche', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' => false + ], ], 'module' => [ 'blog' => [ @@ -551,7 +652,7 @@ class init extends common { 'userId' => '' ] ], - 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a placerat metus. Morbi luctus laoreet dolor et euismod. Phasellus eget eros ac eros pretium tincidunt. Sed maximus magna lectus, non vestibulum sapien pretium maximus. Donec convallis leo tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras convallis lacus eu risus gravida varius. Etiam mattis massa vitae eros placerat bibendum.
Vivamus tempus magna augue, in bibendum quam blandit at. Morbi felis tortor, suscipit ut ipsum ut, volutpat consectetur orci. Nulla tincidunt quis ligula non viverra. Sed pretium dictum blandit. Donec fringilla, nunc at dictum pretium, arcu massa viverra leo, et porta turpis ipsum eget risus. Quisque quis maximus purus, in elementum arcu. Donec nisi orci, aliquam non luctus non, congue volutpat massa. Curabitur sed risus congue, porta arcu vel, tincidunt nisi. Duis tincidunt quam ut velit maximus ornare. Nullam sagittis, ante quis pharetra hendrerit, lorem massa dapibus mi, a hendrerit dolor odio nec augue. Nunc sem nisl, tincidunt vitae nunc et, viverra tristique diam. In eget dignissim lectus. Nullam volutpat lacus id ex dapibus viverra. Pellentesque ultricies lorem ut nunc elementum volutpat. Cras id ultrices justo.
Phasellus nec erat leo. Praesent at sem nunc. Vestibulum quis condimentum turpis. Cras semper diam vitae enim fringilla, ut fringilla mauris efficitur. In nec porttitor urna. Nam eros leo, vehicula eget lobortis sed, gravida id mauris. Nulla bibendum nunc tortor, non bibendum justo consectetur vel. Phasellus nec risus diam. In commodo tellus nec nulla fringilla, nec feugiat nunc consectetur. Etiam non eros sodales, sodales lacus vel, finibus leo. Quisque hendrerit tristique congue. Phasellus nec augue vitae libero elementum facilisis. Mauris pretium ornare nisi, non scelerisque velit consectetur sit amet.
', + 'content' => 'Et eodem impetu Domitianum praecipitem per scalas itidem funibus constrinxerunt, eosque coniunctos per ampla spatia civitatis acri raptavere discursu. iamque artuum et membrorum divulsa conpage superscandentes corpora mortuorum ad ultimam truncata deformitatem velut exsaturati mox abiecerunt in flumen.
Ex his quidam aeternitati se commendari posse per statuas aestimantes eas ardenter adfectant quasi plus praemii de figmentis aereis sensu carentibus adepturi, quam ex conscientia honeste recteque factorum, easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo, cum consiliis armisque regem superasset Antiochum. quam autem sit pulchrum exigua haec spernentem et minima ad ascensus verae gloriae tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato monstravit. qui interrogatus quam ob rem inter multos... statuam non haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam quod est gravius cur inpetraverim mussitare.
Latius iam disseminata licentia onerosus bonis omnibus Caesar nullum post haec adhibens modum orientis latera cuncta vexabat nec honoratis parcens nec urbium primatibus nec plebeiis.
', 'picture' => 'galerie/landscape/meadow.jpg', 'hidePicture' => false, 'pictureSize' => 20, @@ -563,7 +664,7 @@ class init extends common { 'mon-deuxieme-article' => [ 'closeComment' => false, 'comment' => [], - 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lobortis eros pharetra metus rutrum pretium et sagittis mauris. Donec commodo venenatis sem nec suscipit. In tempor sollicitudin scelerisque. Etiam quis nibh eleifend, congue nisl quis, ultricies ipsum. Integer at est a eros vulputate pellentesque eu vitae tellus. Nullam suscipit quam nisl. Vivamus dui odio, luctus ac fringilla ultrices, eleifend vel sapien. Integer sem ex, lobortis eu mattis eu, condimentum non libero. Aliquam non porttitor elit, eu hendrerit neque. Praesent tortor urna, tincidunt sed dictum id, rutrum tempus sapien.
Donec accumsan ante ac odio laoreet porttitor. Pellentesque et leo a leo scelerisque mattis id vel elit. Quisque egestas congue enim nec semper. Morbi mollis nibh sapien. Nunc quis fringilla lorem. Donec vel venenatis nunc. Donec lectus velit, tempor sit amet dui sed, consequat commodo enim. Nam porttitor neque semper, dapibus nunc bibendum, lobortis urna. Morbi ullamcorper molestie lectus a elementum. Curabitur eu cursus orci, sed tristique justo. In massa lacus, imperdiet eu elit quis, consectetur maximus magna. Integer suscipit varius ante vitae egestas. Morbi scelerisque fermentum ipsum, euismod faucibus mi tincidunt id. Sed at consectetur velit. Ut fermentum nunc nibh, at commodo felis lacinia nec.
Nullam a justo quis lectus facilisis semper eget quis sem. Morbi suscipit erat sem, non fermentum nunc luctus vel. Proin venenatis quam ut arcu luctus efficitur. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam sollicitudin tristique nunc nec convallis. Maecenas id tortor semper, tempus nisl laoreet, cursus lacus. Aliquam sagittis est in leo congue, a pharetra felis aliquet. Nulla gravida lobortis sapien, quis viverra enim ullamcorper sed. Donec ultrices sem eu volutpat dapibus. Nam euismod, tellus eu congue mollis, massa nisi finibus odio, vitae porta arcu urna ac lorem. Sed faucibus dignissim pretium. Pellentesque eget ante tellus. Pellentesque a elementum odio, sit amet vulputate diam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In hendrerit consequat dolor, malesuada pellentesque tellus molestie non. Aenean quis purus a lectus pellentesque laoreet.
', + 'content' => 'Et prima post Osdroenam quam, ut dictum est, ab hac descriptione discrevimus, Commagena, nunc Euphratensis, clementer adsurgit, Hierapoli, vetere Nino et Samosata civitatibus amplis inlustris.
Ob haec et huius modi multa, quae cernebantur in paucis, omnibus timeri sunt coepta. et ne tot malis dissimulatis paulatimque serpentibus acervi crescerent aerumnarum, nobilitatis decreto legati mittuntur: Praetextatus ex urbi praefecto et ex vicario Venustus et ex consulari Minervius oraturi, ne delictis supplicia sint grandiora, neve senator quisquam inusitato et inlicito more tormentis exponeretur.
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani; ab his sermo oritur, respondet Laelius, cuius tota disputatio est de amicitia, quam legens te ipse cognosces.
', 'picture' => 'galerie/landscape/desert.jpg', 'hidePicture' => false, 'pictureSize' => 40, @@ -575,7 +676,7 @@ class init extends common { 'mon-troisieme-article' => [ 'closeComment' => true, 'comment' => [], - 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ut tempus nibh. Cras eget iaculis justo, ac laoreet lacus. Nunc tellus nulla, auctor id hendrerit eu, pellentesque in sapien. In hac habitasse platea dictumst. Aliquam leo urna, hendrerit id nunc eget, finibus maximus dolor. Sed rutrum sapien consectetur, tincidunt nulla at, blandit quam. Duis ex enim, vehicula vel nisi vitae, lobortis volutpat nisl. Vivamus enim libero, euismod nec risus vel, interdum placerat elit. In cursus sapien condimentum dui imperdiet, sed lobortis ante consectetur. Maecenas hendrerit eget felis non consequat.
Nullam nec risus non velit efficitur tempus eget tincidunt mauris. Etiam venenatis leo id justo sagittis, commodo dignissim sapien tristique. Vivamus finibus augue malesuada sapien gravida rutrum. Integer mattis lectus ac pulvinar scelerisque. Integer suscipit feugiat metus, ac molestie odio suscipit eget. Fusce at elit in tellus venenatis finibus id sit amet magna. Integer sodales luctus neque blandit posuere. Cras pellentesque dictum lorem eget vestibulum. Quisque vitae metus non nisi efficitur rhoncus ut vitae ipsum. Donec accumsan massa at est faucibus lacinia. Quisque imperdiet luctus neque eu vestibulum. Phasellus pellentesque felis ligula, id imperdiet elit ultrices eu.
', + 'content' => 'Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas et palatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus.
Proinde concepta rabie saeviore, quam desperatio incendebat et fames, amplificatis viribus ardore incohibili in excidium urbium matris Seleuciae efferebantur, quam comes tuebatur Castricius tresque legiones bellicis sudoribus induratae.
Inter has ruinarum varietates a Nisibi quam tuebatur accitus Vrsicinus, cui nos obsecuturos iunxerat imperiale praeceptum, dispicere litis exitialis certamina cogebatur abnuens et reclamans, adulatorum oblatrantibus turmis, bellicosus sane milesque semper et militum ductor sed forensibus iurgiis longe discretus, qui metu sui discriminis anxius cum accusatores quaesitoresque subditivos sibi consociatos ex isdem foveis cerneret emergentes, quae clam palamve agitabantur, occultis Constantium litteris edocebat inplorans subsidia, quorum metu tumor notissimus Caesaris exhalaret.
', 'picture' => 'galerie/landscape/iceberg.jpg', 'hidePicture' => false, 'pictureSize' => 100, @@ -632,7 +733,7 @@ class init extends common { 'contact' => [ 'config' => [ 'button' => '', - 'capcha' => true, + 'captcha' => true, 'group' => self::GROUP_ADMIN, 'pageId' => '', 'subject' => '' @@ -665,3 +766,4 @@ class init extends common { ] ]; } + diff --git a/core/module/install/view/index/index.css b/core/module/install/view/index/index.css index ba396f2e..d7c543b0 100755 --- a/core/module/install/view/index/index.css +++ b/core/module/install/view/index/index.css @@ -1,17 +1 @@ -/** - * This file is part of Zwii. - * - * For full copyright and license information, please see the LICENSE - * file that was distributed with this source code. - * - * @author Rémi JeanMise en page
@@ -156,8 +163,8 @@ echo template::formOpen('pageEditForm');Emplacement dans le menu
@@ -216,11 +223,11 @@ echo template::formOpen('pageEditForm');Options avancées d'emplacement +
Options d'emplacement avancées
@@ -248,8 +255,8 @@ echo template::formOpen('pageEditForm');Permission et référencement
diff --git a/core/module/search/search.php b/core/module/search/search.php deleted file mode 100755 index 8775d93d..00000000 --- a/core/module/search/search.php +++ /dev/null @@ -1,211 +0,0 @@ - - * @copyright Copyright (C) 2008-2018, Rémi Jean - * @license GNU General Public License, version 3 - * @link http://zwiicms.com/ - * - * Module search - * Produit par la communauté à partit d'un développement de Sylvain Lelièvre - */ - -// Module de recherche d'un mot ou d'une phrase clef - -class search extends common { - - public static $actions = [ - 'index' => self::GROUP_VISITOR - ]; - - - public function index() { - if($this->isPost()) { - //Initialisations variables - $success = true; - $result = ''; - $notification = ''; - $total=''; - $this->setData(['search',$total,0]); - - // Récupération du mot clef passé par le formulaire de ...view/index.php, avec caractères accentués - $motclef=$this->getInput('searchMotphraseclef'); - - // Récupération de l'état de l'option mot entier passé par le même formulaire - $motentier=$this->getInput('searchMotentier', helper::FILTER_BOOLEAN); - - //Pour affichage de l'entête du résultat - $result = 'Recherche avec le mot clef : '.$motclef.'
'; - if ($motclef !== "" && strlen($motclef) > 2) { - foreach($this->getHierarchy(null,false,null) as $parentId => $childIds) { - if ($this->getData(['page', $parentId, 'disable']) === false && - $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && - $this->getData(['page', $parentId, 'block']) !== 'bar') { - $url = $parentId; - $titre = $this->getData(['page', $parentId, 'title']); - $contenu = $this->getData(['page', $parentId, 'content']); - // Pages sauf pages filles et articles de blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - } - - foreach($childIds as $childId) { - // Sous page - if ($this->getData(['page', $childId, 'disable']) === false && - $this->getUser('group') >= $this->getData(['page', $parentId, 'group']) && - $this->getData(['page', $parentId, 'block']) !== 'bar') { - $url = $childId; - $titre = $this->getData(['page', $childId, 'title']); - $contenu = $this->getData(['page', $childId, 'content']); - //Pages filles - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - - // Articles d'une sous-page blog - if ($this->getData(['page', $childId, 'moduleId']) === 'blog') - { - foreach($this->getData(['module',$childId]) as $articleId => $article) { - if($this->getData(['module',$childId,$articleId,'state']) === true) { - $url = $childId . '/' . $articleId; - $titre = $article['title']; - $contenu = $article['content']; - // Articles de sous-page de type blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - } - } - } - - // Articles d'un blog - - if ($this->getData(['page', $parentId, 'moduleId']) === 'blog' ) { - foreach($this->getData(['module',$parentId]) as $articleId => $article) { - if($this->getData(['module',$parentId,$articleId,'state']) === true) - { - $url = $parentId. '/' . $articleId; - $titre = $article['title']; - $contenu = $article['content']; - // Articles de Blog - $result .= $this->occurrence($url, $titre, $contenu, $motclef, $motentier); - - } - } - } - } - // Message de synthèse de la recherche - if ($this->getData(['search',$total])===0) { - $notification = 'Mot clef non trouvé. Avez-vous pensé aux accents ?'; - $result .='Mot clef non trouvé. Avez-vous pensé aux accents ?'; - $success = false; - } else { - $result .= 'Nombre d\'occurrences : '.$this->getData(['search',$total]); - $notification = 'Nombre d\'occurrences : '.$this->getData(['search',$total]); - $success = true; - } - } else { - $notification = 'Trop court ! Minimum 3 caractères'; - $result = 'Trop court ! Minimum 3 caractères'; - $success = false; - } - - $_POST['result'] = $result; - $_POST['occurence'] = $total; - // Valeurs en sortie, affichage du résultat - $this->addOutput([ - 'title' => '', - 'view' => 'result', - 'notification' => $notification, - 'state' => $success - ]); - } else { - // Valeurs en sortie, affichage du formulaire - $this->addOutput([ - 'title' => '', - 'view' => 'index' - ]); - } - } - - - // Fonction de recherche des occurrences dans $contenu - // Renvoie le résultat sous forme de chaîne - private function occurrence($url, $titre, $contenu, $motclef, $motentier) - { - // Nettoyage de $contenu : on enlève tout ce qui est inclus entre < et > - $contenu = $this->nettoyer_html($contenu); - // Accentuation - $contenu = html_entity_decode($contenu); - // Initialisations - $nboccu = 0; - $dejavu = ''; - $total = ''; - $resultat= ''; - // Recherche des occurrences - do { - $occu = stristr($contenu,$motclef); - if ($occu !== false) { - if ($motentier === true) { - $controle_entier=$this->test_motentier($contenu,$motclef); - } else { - $controle_entier=true; - } - if ($controle_entier) { - if ($titre !== $dejavu) { - $resultat = '
'; - } - $dejavu = $titre; - $nboccu++; - $resultat .= 'Mot clef trouvé dans la page : '.$titre.'
'.$nboccu.' - "...'.substr($occu,0,200).'..."
'; - } - // Pour recherche d'une autre occurrence dans le même contenu - $contenu = substr($occu,10); - } - } - while($occu != ''); - $this->setData(['search',$total,$this->getData(['search',$total]) + $nboccu]); - - - return $resultat; - } - - // Déclaration de la fonction nettoyer(string $contenu) : string - // Supprime de $contenu les caractères placés entre < et >, donc les balises html commeetc... - // Retourne $contenu nettoyée, le résultat est sensiblement différent de celui obtenu avec la fonction strip_tags() - private function nettoyer_html($contenu) - { - do { - $pos1=strpos($contenu,chr(60)); - if($pos1!==false) { - $pos2=strpos($contenu,chr(62)); - if($pos2!==false) $contenu=substr_replace($contenu," ",$pos1,($pos2 - $pos1 + 1)); - } - } - while($pos1!==false); - return $contenu; - } - - // Déclaration de la fonction test_motentier(string $chaine, string $clef) : bool - // Vérifie si dans la string $chaine, $clef est un mot entier - // $clef ne doit pas être précédé ni suivi d'une lettre maj ou min - private function test_motentier($chaine, $clef) - { - $resultat=true; - $pos1=stripos($chaine,$clef); - $avant=ord(substr($chaine,$pos1-1, 1)); - $apres=ord(substr($chaine,$pos1+strlen($clef),1)); - // Traitement pour le caractère qui précède et celui qui suit - if (($avant>=65 && $avant<=90) || - ($avant>=97 && $avant<=122) || - ($apres>=65 && $apres<=90) || - ($apres>=97 && $apres<=122) ) { - $resultat=false; - } - return $resultat; - } -} diff --git a/core/module/search/view/index/index.php b/core/module/search/view/index/index.php deleted file mode 100755 index e5243bde..00000000 --- a/core/module/search/view/index/index.php +++ /dev/null @@ -1,29 +0,0 @@ - -
Rechercher
-Recherche
-Résultat(s)
- -Image
- getData(['theme', 'body', 'image'])) ? $this->getData(['theme', 'body', 'image']) : ""; - echo template::file('themeBodyImage', [ - 'label' => 'Fond', - 'type' => 1, - 'value' => $imageFile - ]); ?> +Couleurs
Informations
+Paramètres du bloc Informations
Configuration
+Configuration des blocs
Contenu personnalisé
- 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'textPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'textAlign']) - ]); ?> +Réseaux sociaux
- 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'socialsPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'socialsAlign']) - ]); ?> +Informations
- 'Emplacement', - 'selected' => $this->getData(['theme', 'footer', 'copyrightPosition']), - 'class' => 'themeFooterContent' - ]); ?> - 'Alignement', - 'selected' => $this->getData(['theme', 'footer', 'copyrightAlign']) - ]); ?> +Couleurs
Image
Télécharger le thème
@@ -59,16 +64,16 @@ 'ico' => 'download', 'value' => 'Thème site' ]); ?> -@@ -43,10 +43,10 @@
- getData(['module', $this->getUrl(0), 'config', 'capcha'])): ?> + getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>Configuration des vignettes
+Vignettes + +
Configuration des légendes
+Légendes + +
' . $titre . '
'; + // Création de l'aperçu + // Eviter de découper avec une valeur négative + $d = $matches[0][0][1] - 50 < 0 ? 1 : $matches[0][0][1] - 50; + // Rechercher l'espace le plus proche + $d = $d >= 1 ? strpos($contenu,' ',$d) : $d; + // Découper l'aperçu + $t = substr($contenu, $d ,$this->getData(['module',$this->getUrl(0),'previewLength'])); + // Applique une mise en évidence + $t = preg_replace($keywords, '\1',$t); + // Sauver résultat + $resultat .= ''.$t.'...
'; + $resultat .= '' . count($matches[0]) . (count($matches[0]) === 1 ? ' correspondance
' : ' correspondances
'); + //} + return ([ + 'matches' => count($matches[0]), + 'preview' => $resultat + ]); + } + } + } +} diff --git a/core/module/config/view/restore/restore.css b/module/search/view/config/config.css similarity index 86% rename from core/module/config/view/restore/restore.css rename to module/search/view/config/config.css index 6faa3a6a..5e80538a 100755 --- a/core/module/config/view/restore/restore.css +++ b/module/search/view/config/config.css @@ -9,7 +9,8 @@ * @author Frédéric Tempez
* @copyright Copyright (C) 2018-2020, Frédéric Tempez
* @license GNU General Public License, version 3
- * @link http://zwiicms.com/
+ * @link http://zwiicms.fr/
*/
-@import url("site/data/admin.css");
\ No newline at end of file
+
+ @import url("site/data/admin.css");
\ No newline at end of file
diff --git a/module/search/view/config/config.php b/module/search/view/config/config.php
new file mode 100755
index 00000000..8280ee9a
--- /dev/null
+++ b/module/search/view/config/config.php
@@ -0,0 +1,72 @@
+
+
+
+ 'buttonGrey',
+ 'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0),
+ 'ico' => 'left',
+ 'value' => 'Retour'
+ ]); ?>
+
+
+
+
+
+
+
+
+
+
+ 'Texte du bouton',
+ 'value' => $this->getData(['module', $this->getUrl(0), 'submitText'])
+ ]); ?>
+
+
+ 'Dimension de l\'aperçu',
+ 'selected' => $this->getData(['module', $this->getUrl(0),'previewLength'])
+ ]); ?>
+
+
+
+
+ 'Aide dans la zone de saisie',
+ 'value' => $this->getData(['module', $this->getUrl(0), 'placeHolder'])
+ ]); ?>
+
+
+ $this->getData(['module', $this->getUrl(0), 'resultHideContent']),
+ ]); ?>
+
+
+
+
+
+
+
+
+
+
+ 'colorPicker',
+ 'help' => 'Le curseur horizontal règle le niveau de transparence, le placer tout à la gauche pour un surlignement invisible.',
+ 'label' => 'Surlignement',
+ 'value' => $this->getData(['theme', 'search', 'keywordColor'])
+ ]); ?>
+
+
+
+
+
+
+Version n°
+
+
\ No newline at end of file
diff --git a/module/search/view/index/index.css b/module/search/view/index/index.css
new file mode 100755
index 00000000..8e5dc743
--- /dev/null
+++ b/module/search/view/index/index.css
@@ -0,0 +1,14 @@
+.searchKeyword {
+ --keywordColor: rgba(229, 229, 1, 1);
+}
+.searchTitle {
+ font: caption;
+ font-style: italic;
+ margin-left: 1em;
+}
+.searchKeyword {
+ background: var(--keywordColor);
+}
+.searchResult {
+ margin: .3em 0 .3em 1em;
+}
\ No newline at end of file
diff --git a/module/search/view/index/index.php b/module/search/view/index/index.php
new file mode 100755
index 00000000..4399c591
--- /dev/null
+++ b/module/search/view/index/index.php
@@ -0,0 +1,39 @@
+
+
+
+
+
+ $this->getData(['module', $this->getUrl(0), 'placeHolder']) ? $this->getData(['module', $this->getUrl(0), 'placeHolder']) : $module::$messagePlaceHolder,
+ 'value' => $module::$motclef
+ ]); ?>
+
+
+ $this->getData(['module', $this->getUrl(0), 'submitText']) ? $this->getData(['module', $this->getUrl(0), 'submitText']) : $module::$messageButtontext
+ ]); ?>
+
+
+
+
+ $module::$motentier,
+ ]); ?>
+
+
+
+
+
+
+
+ '.$module::$resultTitle . ''; ?>
+ '.$module::$resultList.'';
+ ?>
+ '.$module::$resultError.'';
+ ?>
+
+
+
+
diff --git a/site/backup/.htaccess b/site/backup/.htaccess
old mode 100755
new mode 100644
diff --git a/site/data/.htaccess b/site/data/.htaccess
old mode 100755
new mode 100644
diff --git a/site/file/source/icones/loupe.png b/site/file/source/icones/loupe.png
new file mode 100755
index 00000000..c0aec15f
Binary files /dev/null and b/site/file/source/icones/loupe.png differ
diff --git a/site/file/thumb/galerie/landscape/mini_desert.jpg b/site/file/thumb/galerie/landscape/mini_desert.jpg
new file mode 100644
index 00000000..c5b19837
Binary files /dev/null and b/site/file/thumb/galerie/landscape/mini_desert.jpg differ
diff --git a/site/file/thumb/galerie/landscape/mini_iceberg.jpg b/site/file/thumb/galerie/landscape/mini_iceberg.jpg
new file mode 100644
index 00000000..b35d3cd4
Binary files /dev/null and b/site/file/thumb/galerie/landscape/mini_iceberg.jpg differ
diff --git a/site/file/thumb/galerie/landscape/mini_meadow.jpg b/site/file/thumb/galerie/landscape/mini_meadow.jpg
new file mode 100644
index 00000000..bb6f27a7
Binary files /dev/null and b/site/file/thumb/galerie/landscape/mini_meadow.jpg differ
diff --git a/site/file/thumb/galerie/space/mini_cosmos.jpg b/site/file/thumb/galerie/space/mini_cosmos.jpg
new file mode 100644
index 00000000..bc382898
Binary files /dev/null and b/site/file/thumb/galerie/space/mini_cosmos.jpg differ
diff --git a/site/file/thumb/galerie/space/mini_earth.jpg b/site/file/thumb/galerie/space/mini_earth.jpg
new file mode 100644
index 00000000..2b30b7e2
Binary files /dev/null and b/site/file/thumb/galerie/space/mini_earth.jpg differ
diff --git a/site/file/thumb/galerie/space/mini_nebula.jpg b/site/file/thumb/galerie/space/mini_nebula.jpg
new file mode 100644
index 00000000..028d4b4a
Binary files /dev/null and b/site/file/thumb/galerie/space/mini_nebula.jpg differ
diff --git a/site/file/thumb/icones/loupe.png b/site/file/thumb/icones/loupe.png
new file mode 100755
index 00000000..4bb22f17
Binary files /dev/null and b/site/file/thumb/icones/loupe.png differ
diff --git a/site/file/thumb/icones/mini_home_black.png b/site/file/thumb/icones/mini_home_black.png
deleted file mode 100755
index c10adef1..00000000
Binary files a/site/file/thumb/icones/mini_home_black.png and /dev/null differ
diff --git a/site/file/thumb/icones/mini_home_blue.png b/site/file/thumb/icones/mini_home_blue.png
deleted file mode 100755
index 7faad994..00000000
Binary files a/site/file/thumb/icones/mini_home_blue.png and /dev/null differ
diff --git a/site/tmp/.htaccess b/site/tmp/.htaccess
old mode 100755
new mode 100644
Paramètres du module
+Thème + +
+