Si vous constatez la perte de tickets, de commentaires ou de projets, veuillez consulter la page https://status.framasoft.org/incident/626.

Commit eb627fad authored by Robin Caramaschi's avatar Robin Caramaschi

Merge branch 'master' into 'master'

[FIX] Member of team doesn't appear when content are empty

See merge request !23
parents 30191a50 1e259c38
......@@ -30,24 +30,24 @@ Connectez vous avec :
- Présentation de votre travail d'artisan
- Page d'accueil d'un festival
- Et tout ce que votre créativité en fera
## Utilisé par Framasoft pour construire les Pages Framasite
Vous pouvez faire votre page Framasite, gratuitement et librement, là-bas :
[https://frama.site/](https://frama.site/)
----------
## Soutenir
Pour soutenir le créateur de ce projet libre et open source, vous pouvez faire un don sur Patreon :
Pour soutenir le créateur de ce projet libre et open source, vous pouvez faire un don sur Patreon :
[https://www.patreon.com/robinbanquo](https://www.patreon.com/robinbanquo)
----------
----------
## Derniers ajouts
......@@ -66,7 +66,7 @@ Pour soutenir le créateur de ce projet libre et open source, vous pouvez faire
- Redesign de la fenêtre de choix de modules (grâce à la contribution d'un designer)
## Lancer PrettyNoemie en local
## Lancer PrettyNoemie en local
**Pré-requis :**
- PHP (7 recommandé)
......@@ -76,27 +76,26 @@ Téléchargez les fichier en zip ou clonez le repository avec :
git clone https://framagit.org/framasoft/PrettyNoemieCMS
- puis à l'interieur du dossier, lancez la commande d'installation avec Composer :
Puis à l'interieur du dossier, lancez la commande d'installation avec Composer :
composer install
Si la commande n'est pas reconnue, essayez : php composer.phar installer
Si la commande n'est pas reconnue, essayez : `php composer.phar installer`
lancez enfin le serveur localintégré à php (php7 voire un poil moins ) avec :
Lancez enfin le serveur local intégré à php (php7 voir un poil moins) avec :
php -S localhost:8000
Subtilité : le fichier *app/config/config.ini* à une option qui est a **true** en production et à **""** en devellopement.
Vérifiez que vous avez bien :
Vérifiez que vous avez bien :
[globals]
/autres options/
/autres options/
/autres options/
isMediaPathModified =
Le compte d'admin en localhost ( [http://localhost:8000/](http://localhost:8000/) ) :
login: admin
......@@ -126,5 +125,3 @@ Pour savoir comment faire, voici un tuto sur l'utilisation de git et Gitlab pour
## Licence
GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
......@@ -192,39 +192,38 @@ class EditController extends Controller {
* Methode permettant la sauvegarde de tout les elements modifiables des modules
*/
function saveUglyForm() {
//on recupere la structure du site
$siteStructure=$this->getSiteStructure();
//on récupere le tableau contenu dans _POST
$postArray=$this->f3->get('POST');
//voir la doc du purifier html ici http://htmlpurifier.org/
$config=HTMLPurifier_Config::createDefault();
$purifier=new HTMLPurifier($config);
//pour chacunes des entrées
foreach ($postArray as $key=>$value) {
//on récupere les infos contenues dans les clef des input name
$splittedKey=explode("-",$key);
$id=$splittedKey[1];
$name=$splittedKey[2];
// on recupere la structure du site
$siteStructure = $this->getSiteStructure();
// on récupere le tableau contenu dans _POST
$postArray = $this->f3->get('POST');
// voir la doc du purifier html ici http://htmlpurifier.org/
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
// pour chacunes des entrées
foreach ($postArray as $key => $value) {
// on récupere les infos contenues dans les clef des input name
$splittedKey = explode("-", $key);
$id = $splittedKey[1];
$name = $splittedKey[2];
//on corrige le défaut de medium éditeur (ou notre galere a le configurer en remplacant les balises h6 par des p
$value=preg_replace('`<h6`','<p',$value);
$value=preg_replace('`</h6>`','</p>',$value);
$value = preg_replace('`<h6`', '<p', $value);
$value = preg_replace('`</h6>`', '</p>', $value);
//on vire les "\t" qui rendent le code dégueu
$value=preg_replace('`\t`','',$value);
//on vire les balises vides qui rendent le code dégueu
$value = preg_replace('`\t`', '', $value);
if ($value==='<p><br></p>') {
$value='';
//on vire les balises vides qui rendent le code dégueux
if ($value === '<p><br></p>' || $value === '<br>') {
$value = '';
}
//puis on boucle sur notre structure
foreach ($siteStructure as $i=>$section) {
foreach ($siteStructure as $i => $section) {
//si on est dans la bonne section
if ($section['id']===$id) {
if ($section['id'] === $id) {
//on cherche le bon name
foreach ($section['fields'] as $fieldName=>$fieldContent) {
if ($fieldName===
$name) {
if ($fieldName === $name) {
//puis on update cette entrée
$siteStructure[$i]['fields'][$fieldName]['value']=
$siteStructure[$i]['fields'][$fieldName]['value'] =
$purifier->purify($value);
}
}
......@@ -232,9 +231,9 @@ class EditController extends Controller {
}
}
//on sauvegarde notre tableau modifié par la méthode
$this->db->write('siteStructure.json',$siteStructure);
$this->db->write('siteStructure.json', $siteStructure);
//et on reroute vers la page d'admin
$this->f3->reroute('/admin'.$this->f3->get('hash'));
$this->f3->reroute('/admin' . $this->f3->get('hash'));
}
/****************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment