PluXml, Moteur de Blog et CMS à l'XML sans base de données

Overview

PluXml

Créez un site web performant en toute simplicité et sans base de données.

Télécharger PluXml 5.8.7 (zip)

  • Version bugfix (5.8.8) en développement : master
  • Verison instable (6.0) en développement : 6.0

Principales caractéristiques

  • Aucune base de données requise
  • Portable sur clé USB
  • Multiutilisateurs avec des niveaux d'autorisations différents
  • Pages statiques, catégories, gestion des tags
  • Gestion des commentaires
  • Gestionnaire de médias
  • Traduit en 11 langues (français, allemand, anglais, espagnol, italien, néerlandais, occitan, polonais, portugais, roumain, russe)
  • Thèmes personnalisables
  • Plugins
  • Réécriture d'url (nécessite le module apache mod_rewrite)

Démonstration

Prérequis

Que ce soit en local sur votre ordinateur ou sur internet, votre hébergement doit posséder les éléments suivants pour pouvoir utiliser PluXml :

  • PHP 7.2 ou supérieur
  • Librairie GD pour la gestion des images
  • Fonction PHP d'envoi d'emails autorisée (non obligatoire)
  • Le module Apache mod_rewrite activé pour utiliser la réécriture d'url (non obligatoire)

Procédure d'installation

  • Récuperez l'archive téléchargeable sur cette page et dézippez la à la racine de votre site
  • Connectez-vous à votre site et suivez la procédure d'installation affichée à l'écran

Mise à jour d'une version existante de PluXml

  • IMPORTANT : Sauvegardez le dossier data de votre PluXml
  • Récuperez l'archive téléchargeable sur cette page et dézippez la à la racine de votre site de manière à écraser les fichiers existants
  • Connectez-vous à votre site et suivez la procédure de mise à jour affichée à l'écran

Liens

Comments
  • Bug : encodage des caractères sur le titre d'un article

    Bug : encodage des caractères sur le titre d'un article

    Salut

    J'ai créé un article dont le titre est en gros "L'Œil du mal" avec donc un bel oe majuscule. Pas de souci pour rédiger l'article mais... dans la liste des articles de l'administration, il apparaît comme ça : L'?il du mal Je pense qu'il s'agit d'un souci d'encodage ?

    opened by Draky50110 20
  • Restructure le panneau d'administration des commentaires.

    Restructure le panneau d'administration des commentaires.

    L'adresse IP avec le drapeau du pays d'origine des commentateurs sont affichés, avec un lien vers leur site et leur adresse mail si existants. Vérifie que la bibliothèque GEOIP est installée pour géo-localiser l'adresse IP. Permet aussi de faire défiler les pages avec les touches fléchées gauche et droite. Limite la hauteur d'affichage des longs commentaires (spam)

    opened by bazooka07 15
  • Image d'article, afficher une vignette

    Image d'article, afficher une vignette

    Bonjour,

    J'ai fais une petite modification dans le fichier class.plx.show.php. Cette modification permet d'afficher la vignette d'une image d'article au lieu de la version en grande taille redimensionner par css.

    	public function artThumbnail($format='<img class="art_thumbnail" src="#img_url" alt="#img_alt" title="#img_title" />', $echo=true) {
    
    		$imgUrl = $this->plxMotor->plxRecord_arts->f('thumbnail');
    		if($imgUrl) {
    			$row = str_replace('#img_url', $this->plxMotor->urlRewrite($imgUrl), $format);
    			$row = str_replace('#img_title', plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('thumbnail_title')), $row);
    			$row = str_replace('#img_alt', $this->plxMotor->plxRecord_arts->f('thumbnail_alt'), $row);
    			if($echo)
    				echo $row;
    			else
    				return $row;
    		} else {
    			if(!$echo) return false;
    		}
    
    	}
    

    Par

    	public function artThumbnail($format='<img class="art_thumbnail" src="#img_url" alt="#img_alt" title="#img_title" />', $echo=true, $thumb=true) {
    
    		$imgUrl = $this->plxMotor->plxRecord_arts->f('thumbnail');
    		if($imgUrl) {
    			if($thumb) {
    				$filename = parse_url($imgUrl);
    				$filename = basename($filename['path']);
    				$thumbfile = plxUtils::thumbName($filename);
    				$imgUrl = str_replace($filename, $thumbfile, $imgUrl);
    				$row = str_replace('#img_url', $this->plxMotor->urlRewrite($imgUrl), $format);
    			} 
    			$row = str_replace('#img_url', $this->plxMotor->urlRewrite($imgUrl), $format);
    			$row = str_replace('#img_title', plxUtils::strCheck($this->plxMotor->plxRecord_arts->f('thumbnail_title')), $row);
    			$row = str_replace('#img_alt', $this->plxMotor->plxRecord_arts->f('thumbnail_alt'), $row);
    			if($echo)
    				echo $row;
    			else
    				return $row;
    		} else {
    			if(!$echo) return false;
    		}
    
    	}
    
    opened by Philippe-M 11
  • Feats : printLinkCss, printInputDir in media & editTpl, admin + defaut themes retail & reset pw multilingual mail

    Feats : printLinkCss, printInputDir in media & editTpl, admin + defaut themes retail & reset pw multilingual mail

    Au départ juste un débogue des erreurs... Puis espaces et fins de fichiers normalisés.

    En local Il tourne super bien, La M.A.J. s'est bien déroulé (PHP 7.0.33 et apache)

    Jolis boulots pour la translittération

    bug changes 
    opened by sudwebdesign 9
  • Ajout d'une page pour traduire les fichiers de langue depuis l'administration

    Ajout d'une page pour traduire les fichiers de langue depuis l'administration

    On utilise un dossier TEMPLATES, dans lequel les fichiers de langue sont formatés et commentés, car, lors de l'enregistrement des fichiers dans leur dossier de destination correspondant à la langue en cours de traduction, les commentaires et le formatage sont perdus.

    On utilise ces fichiers du dossier TEMPLATES pour avoir les index disponibles à traduire.

    opened by jerrywham 9
  • Utilisation de PLX_DATA_PATH pour la configuration et gestion des thèmes et plugins dans le config.php

    Utilisation de PLX_DATA_PATH pour la configuration et gestion des thèmes et plugins dans le config.php

    Suite à mon message du forum, je propose les modifications légères suivantes (cf. code) :

    1. Déplacer PLX_DATA_PATH dans le config.php afin que PLX_CONFIG_PATH puisse en profiter.
    2. Déplacer également PLX_THEMES_PATH et PLX_PLUGINS_PATH afin que tous les chemins puissent être modifiés au même endroit.

    Désormais, si on souhaite placer les répertoires DATA, PLUGINS, et THEMES ailleurs dans l'arborescence de son système, il suffit de modifier le config.php.

    opened by Mindiell 8
  • Fermeture des overlay page medias

    Fermeture des overlay page medias

    Pour fermer la visualisation d'une image, il faut cliquer sur la croix en haut à droite avec la souris. Ça peut devenir vite soulant si on veut vérifier plusieurs images.

    Je propose donc de modifier le script overlay afin que l'on puisse également fermer l'image en cliquant sur le bouton escape du clavier.

    Pour cela, je propose de modifier la ligne 212 du fichier core/admin/medias.php par :

    echo '<a class="overlay" title="'.plxUtils::strCheck($v['name']).'" href="'.$v['path'].'"><img alt="" src="'.$v['.thumb'].'" class="thumb" /></a>';
    

    et de modifier la fonction javascript overlay par :

    
    var all = document.querySelectorAll(".overlay");
    var mbox = document.getElementById("modal__box");
    var mb = document.getElementById("modal");
    for (var i = 0, nb = all.length; i < nb; i++) {
    	all[i].addEventListener('click', function(e) {
    		e.preventDefault();
    		mbox.innerHTML = '<img src="'+this.href+'" alt="" />';
    		mb.click();
    	},false);
    }
    window.addEventListener("keydown", function (event) {
    	// validate if the press key is the escape key
    	if (event.code=="Escape" || event.key=="Escape" || event.keyCode==27) {
        	mbox.innerHTML = "";
        	mb.click();
        }	
    });
    
    changes 
    opened by jerrywham 8
  • Sécurité: Externaliser les éléments javascripts et css

    Sécurité: Externaliser les éléments javascripts et css

    Bonjour,

    Il y a plusieurs éléments javascript et css directement dans les pages html/php de PluXml. Ce n'est pas une bonnes pratique de développement et ces élements rentrent en conflit avec les Content Security Policies qu'appliquent le serveur web.

    Pour trouver les éléments, il faut faire :

    • grep -R "style=" core/ pour les fichiers qui possèdent des éléments de style directement le code html/php au lieu d'être externalisé dans le fichier style.css

    • grep -R "