diff --git a/CHANGES.md b/CHANGES.md index b429ac70..edb7376f 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,10 +15,16 @@ - Approbation des commentaires - Gestion des thèmes : - Bouton de réinitialisation avec confirmation + +## Version 10.3.07 +- Petites corrections +- Bouton format dans TinyMCE ## version 10.3.06 - Correction : - Edition de page avec module, le changement de mise en page désactive le bouton d'option du module. +- Modification : + - Modules News et Blog : ajout de l'option flux RSS. L'option est activée par défaut. ## version 10.3.05 - Correction : diff --git a/core/core.php b/core/core.php index d251f465..0390a125 100644 --- a/core/core.php +++ b/core/core.php @@ -17,9 +17,10 @@ class common { const DISPLAY_RAW = 0; const DISPLAY_JSON = 1; - const DISPLAY_LAYOUT_BLANK = 2; - const DISPLAY_LAYOUT_MAIN = 3; - const DISPLAY_LAYOUT_LIGHT = 4; + const DISPLAY_RSS = 2; + const DISPLAY_LAYOUT_BLANK = 3; + const DISPLAY_LAYOUT_MAIN = 4; + const DISPLAY_LAYOUT_LIGHT = 5; const GROUP_BANNED = -1; const GROUP_VISITOR = 0; const GROUP_MEMBER = 1; @@ -938,8 +939,9 @@ class common { public function setData($keys = []) { // Pas d'enregistrement lorsqu'une notice est présente ou tableau transmis vide - if (!empty(self::$inputNotices - OR empty($keys))) { + if (!empty(self::$inputNotices) + OR empty($keys) + OR in_array(NULL, $keys) ) { return false; } @@ -1427,6 +1429,39 @@ class common { } $this->setData(['core', 'dataVersion', 10304]); } + // Version 10.3.06 + if ($this->getData(['core', 'dataVersion']) < 10306) { + // Liste des pages + $pageList = array(); + foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) { + $pageList [] = $parentKey; + foreach ($parentValue as $childKey) { + $pageList [] = $childKey; + } + } + // Mettre à jour les données des blogs les articles sont dans posts + foreach ($pageList as $parentKey => $parent) { + //La page a une galerie + if ($this->getData(['page',$parent,'moduleId']) === 'blog' ) { + foreach ( $this->getData(['module', $parent]) as $blogKey => $blogItem) { + $data = $this->getdata(['module',$parent,$blogKey]); + $this->deleteData(['module',$parent, $blogKey]); + $this->setData([ 'module', $parent, 'posts', $blogKey, $data ]); + } + } + } + foreach ($pageList as $parentKey => $parent) { + //La page a une galerie + if ($this->getData(['page',$parent,'moduleId']) === 'news' ) { + foreach ( $this->getData(['module', $parent]) as $newsKey => $newsItem) { + $data = $this->getdata(['module',$parent,$newsKey]); + $this->deleteData(['module',$parent, $newsKey]); + $this->setData([ 'module', $parent, 'posts', $newsKey, $data ]); + } + } + } + $this->setData(['core', 'dataVersion', 10306]); + } // Version 10.4.00 if ($this->getData(['core', 'dataVersion']) < 10400) { // Ajouter le prénom comme pseudo et le pseudo comme signature @@ -1448,24 +1483,24 @@ class common { foreach ($pageList as $parentKey => $parent) { //La page a une galerie if ($this->getData(['page',$parent,'moduleId']) === 'blog' ) { - $articleIds = array_keys(helper::arrayCollumn($this->getData(['module',$parent]), 'publishedOn', 'SORT_DESC')); + $articleIds = array_keys(helper::arrayCollumn($this->getData(['module',$parent], 'posts'), 'publishedOn', 'SORT_DESC')); foreach ($articleIds as $key => $article) { // Droits les deux groupes - $this->setData(['module', $parent, $article,'editConsent', 3]); + $this->setData(['module', $parent, 'posts', $article,'editConsent', 3]); // Limite de taille 500 - $this->setData(['module', $parent, $article,'commentMaxlength', '500']); + $this->setData(['module', $parent, 'posts', $article,'commentMaxlength', '500']); // Pas d'approbation des commentaires - $this->setData(['module', $parent, $article,'commentApproved', false ]); + $this->setData(['module', $parent, 'posts', $article,'commentApproved', false ]); // pas de notification - $this->setData(['module', $parent, $article,'commentNotification', false ]); + $this->setData(['module', $parent, 'posts', $article,'commentNotification', false ]); // groupe de notification - $this->setData(['module', $parent, $article,'commentGroupNotification', 3 ]); + $this->setData(['module', $parent, 'posts', $article,'commentGroupNotification', 3 ]); } // Traitement des commentaires - if ( is_array($this->getData(['module', $parent, $article,'comment'])) ) { - foreach($this->getData(['module', $parent, $article,'comment']) as $commentId => $comment) { + if ( is_array($this->getData(['module', $parent, 'posts', $article,'comment'])) ) { + foreach($this->getData(['module', $parent, 'posts', $article,'comment']) as $commentId => $comment) { // Approbation - $this->setData(['module', $parent, $article,'comment', $commentId, 'approval', true ]); + $this->setData(['module', $parent, 'posts', $article,'comment', $commentId, 'approval', true ]); } } } @@ -1885,7 +1920,7 @@ class core extends common { 'title' => $title, // Meta description = 160 premiers caractères de l'article 'metaDescription' => $this->getData(['page',$this->getUrl(0),'moduleId']) === 'blog' && !empty($this->getUrl(1)) - ? strip_tags(substr($this->getData(['module',$this->getUrl(0),$this->getUrl(1),'content']) ,0,159)) + ? strip_tags(substr($this->getData(['module',$this->getUrl(0),'posts',$this->getUrl(1),'content']) ,0,159)) : $this->getData(['page', $this->getUrl(0), 'metaDescription']), 'metaTitle' => $this->getData(['page', $this->getUrl(0), 'metaTitle']), 'typeMenu' => $this->getData(['page', $this->getUrl(0), 'typeMenu']), @@ -2130,7 +2165,12 @@ class core extends common { header('Content-Type: application/json'); echo json_encode($this->output['content']); break; - // Layout alléger + // RSS feed + case self::DISPLAY_RSS: + header('Content-type: application/rss+xml; charset=UTF-8'); + echo $this->output['content']; + break; + // Layout allégé case self::DISPLAY_LAYOUT_LIGHT: require 'core/layout/light.php'; break; diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 28808690..986a68b1 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -648,65 +648,55 @@ class init extends common { ], 'module' => [ 'blog' => [ - 'mon-premier-article' => [ - 'comment' => [ - '58e11d09e5aff' => [ - 'author' => 'Rémi', - 'content' => 'Article bien rédigé et très pertinent, bravo !', - 'createdOn' => 1421748000, - 'userId' => '', - 'approval' => true - ] + 'config' => [ + 'feeds' => true, + 'feedsLabel' => "Syndication RSS" + ], + 'posts' => [ + 'mon-premier-article' => [ + 'closeComment' => false, + 'comment' => [ + '58e11d09e5aff' => [ + 'author' => 'Rémi', + 'content' => 'Article bien rédigé et très pertinent, bravo !', + 'createdOn' => 1421748000, + 'userId' => '' + ] + ], + '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, + 'publishedOn' => 1548790902, + 'state' => true, + 'title' => 'Mon premier article', + 'userId' => '' // Géré au moment de l'installation + ], + 'mon-deuxieme-article' => [ + 'closeComment' => false, + 'comment' => [], + '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, + 'publishedOn' => 1550432502, + 'state' => true, + 'title' => 'Mon deuxième article', + 'userId' => '' // Géré au moment de l'installation + ], + 'mon-troisieme-article' => [ + 'closeComment' => true, + 'comment' => [], + '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, + 'publishedOn' => 1550864502, + 'state' => true, + 'title' => 'Mon troisième article', + 'userId' => '' // Géré au moment de l'installation ], - '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, - 'publishedOn' => 1548790902, - 'state' => true, - 'title' => 'Mon premier article', - 'userId' => '', // Géré au moment de l'installation - 'editConsent' => 'all', - 'commentMaxlength' => '500', - 'commentApproved' => false, - 'commentClose' => false, - 'commentNotification' => false, - 'commentGroupNotification' => 3 ], - 'mon-deuxieme-article' => [ - 'comment' => [], - '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, - 'publishedOn' => 1550432502, - 'state' => true, - 'title' => 'Mon deuxième article', - 'userId' => '', // Géré au moment de l'installation - 'editConsent' => 'all', - 'commentMaxlength' => '500', - 'commentApproved' => false, - 'commentClose' => false, - 'commentNotification' => false, - 'commentGroupNotification' => 3 - ], - 'mon-troisieme-article' => [ - 'comment' => [], - '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, - 'publishedOn' => 1550864502, - 'state' => true, - 'title' => 'Mon troisième article', - 'userId' => '', // Géré au moment de l'installation - 'editConsent' => 'all', - 'commentMaxlength' => '500', - 'commentApproved' => false, - 'commentClose' => true, - 'commentNotification' => false, - 'commentGroupNotification' => 3 - ] ], 'galeries' => [ 'beaux-paysages' => [ diff --git a/core/module/sitemap/view/index/index.php b/core/module/sitemap/view/index/index.php index 862b9eec..6ae5361c 100644 --- a/core/module/sitemap/view/index/index.php +++ b/core/module/sitemap/view/index/index.php @@ -1,48 +1,48 @@