push initial du projet par Stéphane
This commit is contained in:
50
config/config.php
Executable file
50
config/config.php
Executable file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
session_start();
|
||||
// infos de base du site
|
||||
$site=array(
|
||||
"titre"=>"Xml collection 2020",
|
||||
"descriptif"=>"Un dérivé de XML collection avec une fonction d'import. Comment montrer un grand nombre de documents et les classer de la manière la plus fluide possible ?",
|
||||
"keywords"=>"collection, xml, outil, galerie",
|
||||
"footer" => "Copyleft XML Collection v3",
|
||||
);
|
||||
|
||||
// accès
|
||||
$logins = array(
|
||||
"admin"=> array( // the login
|
||||
"nom"=>"admin", // the name (! not the login)
|
||||
"pwd"=>"admin" // the password
|
||||
)
|
||||
);
|
||||
|
||||
define("COLLECTION",true); // gestion des collections activée
|
||||
define("DISPLAY_TOOL_TRI",true); // afficher ou pas l'outil de tri
|
||||
define("DISPLAY_TOOL_INFOS",true); // afficher ou pas l'outil des infos
|
||||
define("DISPLAY_TOOL_ACTION",true); // afficher ou pas le choix de l'affichage des contenus
|
||||
|
||||
define("DISPLAY_ACTION","showlateral"); // gestion des collections activée showgal, showlateral, shpwfullpage
|
||||
define("DISPLAY_TRI","byid"); // gestion de l'ordre des items: byid,byantiid,alpha,antialpha
|
||||
|
||||
// taille des vignettes
|
||||
define("ILLU_WIDTH",500);
|
||||
define("ILLU_HEIGHT",500);
|
||||
define("IMG_DEFAULT","images/defaut.jpg");
|
||||
|
||||
// chemin pour toutes les manipulations de fichier
|
||||
define("CHEMIN", str_replace(array("/admin","/process","/inc"),"",realpath(''))."/");
|
||||
@$url_dir = preg_replace('/[^\/]+\.php(\?.*)?$/i', '',($_SERVER['REQUEST_SCHEME'] ? $_SERVER['REQUEST_SCHEME']."://" : "http://"). $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
|
||||
define("URL",str_replace(array("/config","/process","/inc"),"",$url_dir));
|
||||
|
||||
/* constantes utiles */
|
||||
define("DOSSIER_XML","contenus/xmls/"); // dossier des xml
|
||||
define("DOSSIER_FICHIERS","contenus/fichiers/"); // dossier des fichiers
|
||||
define("DOSSIER_VIGNETTES","contenus/cache/vignettes/"); // dossier des vignettes
|
||||
define("DOSSIER_CACHE","contenus/cache/"); // cache pour vignettes et des items
|
||||
define("MODELE",CHEMIN."config/structure_xml.xml");
|
||||
define("DOSSIER_UPLOAD","upload/");
|
||||
define("DOSSIER_CUSTOM","config/custom/");
|
||||
define("DOSSIER_COLLECTION","contenus/collections/"); // dossier des xml
|
||||
define("MODELE_COLLECTION",CHEMIN."config/structure_collection.xml");
|
||||
|
||||
// afficher les messages d'erreur ou log obligé
|
||||
define("DEBUG",false);
|
||||
?>
|
||||
10
config/custom/about.xml
Executable file
10
config/custom/about.xml
Executable file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item type="livre">
|
||||
<titre>A propos</titre>
|
||||
<texte><p>Ce site est destiné à explorer les possibilités d'une galerie simple sans base de données, avec système d'import massif et tri à la volée, plus la possibilité de préparer des sélections de ces éléments. Le tout est pensé à but pédagogiques.</p>
|
||||
<p>Ceci est la deuxième version de ce projet, la première version datant de 2015.
|
||||
</p>
|
||||
<p><i>Stéphane Noël</i></p>
|
||||
|
||||
</texte>
|
||||
</item>
|
||||
17
config/custom/configuration.xml
Executable file
17
config/custom/configuration.xml
Executable file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<item dir="ltr">
|
||||
<titre><![CDATA[
|
||||
Configuration
|
||||
]]></titre>
|
||||
<texte><![CDATA[
|
||||
<p>Il est possible lors que l'installation de configurer le titre, descriptif, keywords et footer de ce site grâce au fichier général de configuration.</p>
|
||||
<p>De plus, le dossier "custom" du site permet:<br>
|
||||
- de placer dans le menu des pages comme celle-ci sous format XML.<br>
|
||||
- d'ajouter des déclarations css supplémentaires dans un ou plusieurs fichiers css.<br>
|
||||
- de recoder les principales fonctions d'affichages dans un fichier récervés à ces fonctions</p>
|
||||
<p>Cette méthode permet d'updater le site sans perdre ses propres modifications à l'avenir</p>
|
||||
|
||||
]]>
|
||||
</texte>
|
||||
|
||||
</item>
|
||||
14
config/custom/custom-functions.php
Executable file
14
config/custom/custom-functions.php
Executable file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
function display_mosaique_item_custom_disactived($xml,$return=false){
|
||||
$item = "<article class=\"col-12 col-sm-6 col-md-4 col-lg-3 mb-3 item\" data-xml=\"".$xml->fichier_seul."\" data-mainillu=\"".$xml->get("illustration", "images/defaut.jpg")."\">\n";
|
||||
$item .= "<div class=\"info-content\"><h3 class=\"titre-mini mb-2\" onclick=\"item_click(this)\" data-contenu=\"titre\">".$xml->get("titre")."</h3>";
|
||||
|
||||
$item .= "</article>\n";
|
||||
if($return){
|
||||
return $item;
|
||||
} else {
|
||||
echo $item;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
14
config/custom/perso.css
Executable file
14
config/custom/perso.css
Executable file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
[display-viewer='on'][display-container=side-container] #side-container {
|
||||
left:50vw;
|
||||
opacity:1;
|
||||
}
|
||||
[display-viewer='on'][display-container=side-container] #items-container {
|
||||
width:50%;
|
||||
}
|
||||
|
||||
#side-container {
|
||||
width:50%;
|
||||
}
|
||||
*/
|
||||
|
||||
12
config/custom/roadmad.xml
Executable file
12
config/custom/roadmad.xml
Executable file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item type="livre">
|
||||
<titre>Roadmap</titre>
|
||||
<texte><p>- Les champs obligatoires doivent être obstructifs</p><p>
|
||||
- les images de galeries doivent pouvoir être montées sous forme de zip pour plus de facilité</p><p>
|
||||
- affichage en liste des items sur base des items de la liste: abandonner le système bootstrap pour quelque chose de personnalisé, et de plus adapté</p><p>
|
||||
- Ajouter un outil de réorganisation + sauvegarde de l'ordre obtenu (renommer en masse les fichiers xml)</p><p>- forcer la taille des vignettes quand elles sont trop petites<br></p><p>
|
||||
- Ajouter la possibilité de modifier les settings de base via un xml de configuration, editable dans l'admin
|
||||
|
||||
|
||||
</p></texte>
|
||||
</item>
|
||||
11
config/structure_collection.xml
Executable file
11
config/structure_collection.xml
Executable file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
attributs: multiple="oui" pour multiple
|
||||
-->
|
||||
<item type="collection" titre="Collection" cle="titre">
|
||||
<titre type="text" titre="Titre" class="titre-small" obligatoire="oui"></titre>
|
||||
<auteur type="text" titre="Auteur" obligatoire="oui"></auteur>
|
||||
<tags type="text" titre="Tags"></tags>
|
||||
<descriptif type="textarea" titre="Descriptif"></descriptif>
|
||||
<items titre="items" multiple="oui" type="text"></items>
|
||||
</item>
|
||||
8
config/structure_page.xml
Executable file
8
config/structure_page.xml
Executable file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
attributs: multiple="oui" pour multiple
|
||||
-->
|
||||
<item type="livre" titre="Livre" cle="titre">
|
||||
<titre type="text" titre="Titre" class="ergote-lateral-titre my-2" obligatoire="oui" afficher="oui"></titre>
|
||||
<texte type="textarea" titre="Contenu" class="" afficher="oui"></texte>
|
||||
</item>
|
||||
26
config/structure_xml.xml
Executable file
26
config/structure_xml.xml
Executable file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
le nom des tag est libre
|
||||
L'ordre sera l'ordre d'affichage des champs
|
||||
le type peut être: text, textarea, select, radio, image, file
|
||||
l'attribut titre="letitre" permet l'affichage du label. Il est obligatoire
|
||||
pour select et radio, les options sont ajoutées dans un attribut valeur séparé par des pipes (|): contenu="un|deux|trois"
|
||||
tous ces champs peuvent être multiples, c'est à dire pouvoir être dédoublés. Dans ce cas, ajouter l'attibut multiple="oui"
|
||||
pour les fichiers et les images, un attribut allow suivi des extensions autorisées est obligatoire: allow="jpg,jpeg,png,gif" pour les images (qui seront affichées) et allow="pdf,zip,doc,xls" par exemple pour les fichiers
|
||||
l'attibut class="" permet de personnaliser l'affichage dans les affichages létéraul et en full screen. Xml collection emploie bootstrap, et on peut aussi utiliser la css personnelle (voir le fichier instructions.txt)
|
||||
un attribut obligatoire="oui" est prévu mais pas encore actif
|
||||
l'attribut afficher="oui" affiche l'information dans la collection en homepage
|
||||
|
||||
en cas ou un élément est multiple et montré en liste,
|
||||
la classe .sep-virgule permet de séparer les éléments par des virgules
|
||||
Typiquement des tags
|
||||
-->
|
||||
<item type="item" titre="item" cle="titre">
|
||||
<illustration type="image" titre="Image principale" allow="jpg,jpeg,gif,png" afficher="oui"></illustration>
|
||||
<titre type="text" titre="Titre" class="titre-small my-2" obligatoire="oui" afficher="oui"></titre>
|
||||
<auteur type="text" titre="Auteur" obligatoire="oui" afficher="oui"></auteur>
|
||||
<tags type="text" titre="Tags" multiple="oui" class="py-1 my-2 border-top border-bottom small sep-virgule" afficher="oui"></tags>
|
||||
<descriptif type="textarea" titre="Descriptif" class=""></descriptif>
|
||||
<galerie type="image" titre="Galerie" multiple="oui" allow="jpg,jpeg,gif,png"></galerie>
|
||||
<fichier type="file" titre="Fichiers" multiple="oui" allow="pdf,zip,tif,doc"></fichier>
|
||||
</item>
|
||||
Reference in New Issue
Block a user