diff --git a/.htaccess b/.htaccess old mode 100644 new mode 100755 index 4d96cb2..c49f36a --- a/.htaccess +++ b/.htaccess @@ -1 +1 @@ -ErrorDocument 404 /AEOSTRUNK/index.php?redirect \ No newline at end of file +ErrorDocument 404 /index.php?redirect diff --git a/admin/base.php b/admin/base.php old mode 100644 new mode 100755 index 4e7e891..f593e72 --- a/admin/base.php +++ b/admin/base.php @@ -1,905 +1,780 @@ - +
-
- - - -
- Avatar -
- -
+ } + ?> + + + + Version actuelle : + Nouvelle version disponible'; ?> + +
+ - - '; + include('../lib/config.lib.php'); + break; + + case 'supprimer': + if (isset($_['del'])) + { + removeFolder("../themes/".$_['dossier']); + echo '
Thème supprimé avec succès
'; + } + else + { + ?> +
+ Voulez-vous vraiment supprimer ce thème ? +
+
+
Thème correctement installé.
"; break; + case 2: echo "
Thème déjà installé.
"; break; + case 3: echo "
Ce fichier n'est pas un fichier zip.
"; break; + case 1: default: echo "
Une erreur est survenue.
"; break; + } + } + break; + + case 'modifier': + include("../themes/".$_['dossier']."/edition.php"); + break; + } + + + switch($sid) + { + case 1: break; + case 2: + if(@$_['Send']!=1) + { + if(isset($_['action']) && $_['action']!='ajouter') break; ?> +

Ajouter un thème

+
+ + +

* Le thème doit être un fichier .zip

+
+ +

Gestions des thèmes

+ + + + + + + + + + + + + + + + + { ?> + + + + +
Nom du moduleAuteur(s)VersionModifierSupprimerSelection
editedit + deletedelete + + aff + aff +
Mise à jour réussie."; + //Permet le rafraichissement instantané + include('../lib/config.lib.php'); + } + ?> +
+

Réglages Généraux

+ - - + + + + + + + + + + +

- " title="" > - ">" > | - "> + Titre du site :
Description du site :
Bas de page :
+ + +
+ Mise à  jour réussie."; + //Permet le rafraichissement instantané + include('../lib/config.lib.php'); + } + ?> +
+

Compte Administrateur

+ + + + + + + + + + + + + +
Nom d'utilisateur :
Mot de passe :
Email :
+ + +
+ Mise à  jour réussie."; + // Permet le rafraichissement instantané + include('../lib/config.lib.php'); + } + ?> +
+

Maintenance

+ + + + + + + - + + + + Mise à  jour réussie."; + } ?> -
Site en maintenance ?/>
+
-
-

- - - - -

-
+
+

Configuration système

+ + + + + + + + + + + + + +
Langue du site : + +
URL Rewriting : + ', + " + Cette option permet de rendre les URL plus facile à lire.

+ Exemple :
+ domaine.com/[".substr(AEOS_REW, 0, -1)."]-1-Nom-de-la-Page

+ "); ?> +
+ +
Mode Debug : + ', + " + Cette option permet de d'afficher les erreurs PHP et ajoute de nouvelles fonctions.

+ Destiné au développeur. + "); ?> +
/>
+ + +
+ Page restaurée avec succés."; + break; + + case 'vider': + if (isset($_['del'])) + { + clearFolder("../data/corbeille/"); + echo "
La corbeille a été vidée
"; + } + else + { + ?> +
+ Voulez-vous vraiment supprimer ce thème ? +
+
+
+ Page supprimée avec succès'; + } + else + { + ?> +
+ Voulez-vous vraiment supprimer ce thème ? +
+
+
+ +

Gestions de la Corbeille

+ + + + + + + + + + + + + + + + +
NomDate de suppressionModuleRestaurerSupprimer
">retour">delete
- break; - - case 'logout': // Page déconnexion - session_destroy(); - header('Location: index.php'); - break; - } ?> - - + -
- - \ No newline at end of file + \ No newline at end of file diff --git a/admin/index.php b/admin/index.php old mode 100644 new mode 100755 index eeac464..a1e518c --- a/admin/index.php +++ b/admin/index.php @@ -1,10 +1,14 @@ @@ -14,100 +18,83 @@ require_once ('../lib/var.lib.php'); <?php echo AEOS_NAME; ?> - - + - - + -
-

-  <?php echo $lang[" /> -

-
+
+

Logo AEOS

+
+ Logout + Administration - AEOS +
+ + $generatedPassword)); - ?>

Un email vous a été envoyé.

"; + } + else + { + echo "

Login ou email incorrect.

"; } - else { ?>

-
- -
- -
- -
- - +

Login

+

Email

+

+ +

Retour

+ Login ou mot de passe incorrect.

"; } - else { ?>

- - - - -
- - + + + \ No newline at end of file diff --git a/admin/notifications.xml b/admin/notifications.xml new file mode 100755 index 0000000..fe2da35 --- /dev/null +++ b/admin/notifications.xml @@ -0,0 +1,27 @@ + + + + normal + De nouveaux commentaires 06 + http://google.fr + + + + apply + De nouveaux commentaires 06 + http://google.fr + + + + update + De nouveaux commentaires 06 + http://google.fr + + + + bug + De nouveaux commentaires 06 + http://google.fr + + 06-07-2013 + \ No newline at end of file diff --git a/admin/owEditor/loader.gif b/admin/owEditor/loader.gif new file mode 100755 index 0000000..69fb0ca Binary files /dev/null and b/admin/owEditor/loader.gif differ diff --git a/admin/owEditor/owEditor.gif b/admin/owEditor/owEditor.gif new file mode 100755 index 0000000..cd33a5d Binary files /dev/null and b/admin/owEditor/owEditor.gif differ diff --git a/admin/owEditor/owEditor.js b/admin/owEditor/owEditor.js new file mode 100755 index 0000000..ebf47a5 --- /dev/null +++ b/admin/owEditor/owEditor.js @@ -0,0 +1,80 @@ +function __(a){return a}function $BK(a){"string"==typeof a&&(a=document.getElementById(a));return a&&!a.appendTo?bkExtend(a,bkElement.prototype):a}function bkClass(){}var bkExtend=function(){var a=arguments;1==a.length&&(a=[this,a[0]]);for(var b in a[1])a[0][b]=a[1][b];return a[0]};bkClass.prototype.construct=function(){}; +bkClass.extend=function(a){var b=function(){if(arguments[0]!==bkClass)return this.construct.apply(this,arguments)},c=new this(bkClass);bkExtend(c,a);b.prototype=c;b.extend=this.extend;return b}; +var bkElement=bkClass.extend({construct:function(a,b){"string"==typeof a&&(a=(b||document).createElement(a));return a=$BK(a)},appendTo:function(a){a.appendChild(this);return this},appendBefore:function(a){a.parentNode.insertBefore(this,a);return this},addEvent:function(a,b){bkLib.addEvent(this,a,b);return this},setContent:function(a){this.innerHTML=a;return this},pos:function(){var a=curtop=0;obj=this;if(obj.offsetParent){do a+=obj.offsetLeft,curtop+=obj.offsetTop;while(obj=obj.offsetParent)}var b= +window.opera?0:parseInt(this.getStyle("border-width")||this.style.border)||0;return[a+b,curtop+b+this.offsetHeight]},noSelect:function(){bkLib.noSelect(this);return this},parentTag:function(a){var b=this;do{if(b&&b.nodeName&&b.nodeName.toUpperCase()==a)return b;b=b.parentNode}while(b);return!1},hasClass:function(a){return this.className.match(RegExp("(\\s|^)owEdit-"+a+"(\\s|$)"))},addClass:function(a){this.hasClass(a)||(this.className+=" owEdit-"+a);return this},removeClass:function(a){this.hasClass(a)&& +(this.className=this.className.replace(RegExp("(\\s|^)owEdit-"+a+"(\\s|$)")," "));return this},setStyle:function(a){var b=this.style,c;for(c in a)switch(c){case "float":b.cssFloat=b.styleFloat=a[c];break;case "opacity":b.opacity=a[c];b.filter="alpha(opacity="+Math.round(100*a[c])+")";break;case "className":this.className=a[c];break;default:b[c]=a[c]}return this},getStyle:function(a,b){var c=b?b:document.defaultView;if(1==this.nodeType)return c&&c.getComputedStyle?c.getComputedStyle(this,null).getPropertyValue(a): +this.currentStyle[bkLib.camelize(a)]},remove:function(){this.parentNode.removeChild(this);return this},setAttributes:function(a){for(var b in a)this[b]=a[b];return this}}),bkLib={isMSIE:-1!=navigator.appVersion.indexOf("MSIE"),addEvent:function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent("on"+b,c)},toArray:function(a){for(var b=a.length,c=Array(b);b--;)c[b]=a[b];return c},noSelect:function(a){a.setAttribute&&("input"!=a.nodeName.toLowerCase()&&"textarea"!=a.nodeName.toLowerCase())&& +a.setAttribute("unselectable","on");for(var b=0;b.owEdit-main p { margin: 0; }'; + } + else + { + echo $script; + } + + if($_SERVER['REQUEST_METHOD']=='POST' && $showLoadingMsg) + { + + echo + << +
+ + Upload en cours...
+
+ +END; + } + exit; +} + +function owupload_file_uri($filename) +{ + $path = $_SERVER['PHP_SELF']; + $file = basename ($path); + if($_SERVER['SERVER_PORT']!=80) $base = str_replace($file,"", $_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['SCRIPT_NAME']); + else $base = str_replace($file,"", $_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']); + $base = str_replace('/admin/owEditor/','', $base); + //$folder = "http://".$base."/data/images"; // => 127*/.../*images + $folder = "../../data/images"; // => 127*/.../*images + return $folder.'/'.$filename; +} + +function ini_max_upload_size() +{ + $post_size = ini_get('post_max_size'); + $upload_size = ini_get('upload_max_filesize'); + if(!$post_size) $post_size = '8M'; + if(!$upload_size) $upload_size = '2M'; + + return min( ini_bytes_from_string($post_size), ini_bytes_from_string($upload_size) ); +} + +function ini_bytes_from_string($val) +{ + $val = trim($val); + $last = strtolower($val[strlen($val)-1]); + switch($last) { + case 'g': + $val *= 1024; + case 'm': + $val *= 1024; + case 'k': + $val *= 1024; + } + return $val; +} + +function bytes_to_readable( $bytes ) +{ + if ($bytes<=0) + return '0 Byte'; + + $convention=1000; //[1000->10^x|1024->2^x] + $s=array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB'); + $e=floor(log($bytes,$convention)); + return round($bytes/pow($convention,$e),2).' '.$s[$e]; +} +?> \ No newline at end of file diff --git a/admin/pell/pell.min.js b/admin/pell/pell.min.js deleted file mode 100644 index 3516f3c..0000000 --- a/admin/pell/pell.min.js +++ /dev/null @@ -1,266 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = global || self, global.pell = factory()); -}(this, function () { 'use strict'; - - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; - } - - function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - var ownKeys = Object.keys(source); - - if (typeof Object.getOwnPropertySymbols === 'function') { - ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { - return Object.getOwnPropertyDescriptor(source, sym).enumerable; - })); - } - - ownKeys.forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } - - return target; - } - - var addEventListener = function addEventListener(parent, type, listener) { - return parent.addEventListener(type, listener); - }; - var appendChild = function appendChild(parent, child) { - return parent.appendChild(child); - }; - var createElement = function createElement(tag) { - return document.createElement(tag); - }; - var defaultParagraphSeparatorString = 'defaultParagraphSeparator'; - var exec = function exec(command) { - var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return document.execCommand(command, false, value); - }; - var formatBlock = 'formatBlock'; - var queryCommandState = function queryCommandState(command) { - return document.queryCommandState(command); - }; - var queryCommandValue = function queryCommandValue(command) { - return document.queryCommandValue(command); - }; - - var bold = { - icon: 'B', - result: function result() { - return exec('bold'); - }, - state: function state() { - return queryCommandState('bold'); - }, - title: 'Bold' - }; - var code = { - icon: '</>', - result: function result() { - return exec(formatBlock, '
');
-    },
-    title: 'Code'
-  };
-  var heading1 = {
-    icon: 'H1',
-    result: function result() {
-      return exec(formatBlock, '

'); - }, - title: 'Heading 1' - }; - var heading2 = { - icon: 'H2', - result: function result() { - return exec(formatBlock, '

'); - }, - title: 'Heading 2' - }; - var image = { - icon: '📷', - result: function result() { - var url = window.prompt('Enter the image URL'); - if (url) exec('insertImage', url); - }, - title: 'Image' - }; - var italic = { - icon: 'I', - result: function result() { - return exec('italic'); - }, - state: function state() { - return queryCommandState('italic'); - }, - title: 'Italic' - }; - var line = { - icon: '―', - result: function result() { - return exec('insertHorizontalRule'); - }, - title: 'Horizontal Line' - }; - var link = { - icon: '🔗', - result: function result() { - var url = window.prompt('Enter the link URL'); - if (url) exec('createLink', url); - }, - title: 'Link' - }; - var olist = { - icon: '#', - result: function result() { - return exec('insertOrderedList'); - }, - title: 'Ordered List' - }; - var paragraph = { - icon: '¶', - result: function result() { - return exec(formatBlock, '

'); - }, - title: 'Paragraph' - }; - var quote = { - icon: '“ ”', - result: function result() { - return exec(formatBlock, '

'); - }, - title: 'Quote' - }; - var strikethrough = { - icon: 'S', - result: function result() { - return exec('strikeThrough'); - }, - state: function state() { - return queryCommandState('strikeThrough'); - }, - title: 'Strike-through' - }; - var ulist = { - icon: '•', - result: function result() { - return exec('insertUnorderedList'); - }, - title: 'Unordered List' - }; - var underline = { - icon: 'U', - result: function result() { - return exec('underline'); - }, - state: function state() { - return queryCommandState('underline'); - }, - title: 'Underline' - }; - var defaultActions = { - bold: bold, - code: code, - heading1: heading1, - heading2: heading2, - image: image, - italic: italic, - line: line, - link: link, - olist: olist, - paragraph: paragraph, - quote: quote, - strikethrough: strikethrough, - ulist: ulist, - underline: underline - }; - - var defaultClasses = { - actionbar: 'pell-actionbar', - button: 'pell-button', - content: 'pell-content', - selected: 'pell-button-selected' - }; - var init = function init(settings) { - var actions = settings.actions ? settings.actions.map(function (action) { - if (typeof action === 'string') return defaultActions[action];else if (defaultActions[action.name]) return _objectSpread({}, defaultActions[action.name], action); - return action; - }) : Object.keys(defaultActions).map(function (action) { - return defaultActions[action]; - }); - - var classes = _objectSpread({}, defaultClasses, settings.classes); - - var defaultParagraphSeparator = settings[defaultParagraphSeparatorString] || 'div'; - var actionbar = createElement('div'); - actionbar.className = classes.actionbar; - appendChild(settings.element, actionbar); - var content = settings.element.content = createElement('div'); - content.contentEditable = true; - content.className = classes.content; - content.className = classes.content; - content.id = "pell-id"; - - content.oninput = function (_ref) { - var firstChild = _ref.target.firstChild; - if (firstChild && firstChild.nodeType === 3) exec(formatBlock, "<".concat(defaultParagraphSeparator, ">"));else if (content.innerHTML === '
') content.innerHTML = ''; - settings.onChange(content.innerHTML); - }; - - content.onkeydown = function (event) { - if (event.key === 'Enter' && queryCommandValue(formatBlock) === 'blockquote') { - setTimeout(function () { - return exec(formatBlock, "<".concat(defaultParagraphSeparator, ">")); - }, 0); - } - }; - - appendChild(settings.element, content); - actions.forEach(function (action) { - var button = createElement('button'); - button.className = classes.button; - button.innerHTML = action.icon; - button.title = action.title; - button.setAttribute('type', 'button'); - - button.onclick = function () { - return action.result() && content.focus(); - }; - - if (action.state) { - var handler = function handler() { - return button.classList[action.state() ? 'add' : 'remove'](classes.selected); - }; - - addEventListener(content, 'keyup', handler); - addEventListener(content, 'mouseup', handler); - addEventListener(button, 'click', handler); - } - - appendChild(actionbar, button); - }); - if (settings.styleWithCSS) exec('styleWithCSS'); - exec(defaultParagraphSeparatorString, defaultParagraphSeparator); - return settings.element; - }; - var pell = { - init: init - }; - - return pell; - -})); diff --git a/core/.htaccess b/core/.htaccess new file mode 100755 index 0000000..bff45ba --- /dev/null +++ b/core/.htaccess @@ -0,0 +1,2 @@ +Options -Indexes +deny from all \ No newline at end of file diff --git a/core/base.php b/core/base.php old mode 100644 new mode 100755 index 9e78a41..47a5880 --- a/core/base.php +++ b/core/base.php @@ -1,5 +1,5 @@ Impossible d'accéder à la page demandée."; else include_once("modules/".$contenu['page']['type']['#text']."/base.php"); @@ -10,16 +10,16 @@

Moteur généré par AEOS - CMS

-

Logo

+

Logo

- Copyright © 2004 - NNS Production. Tous droits réservés. + Copyright © 2004 - NNS Production. Tous droits rérvés.

AEOS est un logiciel libre sous licence GNU/GPL.

+?> \ No newline at end of file diff --git a/core/footer.php b/core/footer.php old mode 100644 new mode 100755 index b1ec531..defd873 --- a/core/footer.php +++ b/core/footer.php @@ -1,6 +1,6 @@ -AEOS v -
+ +AEOS v ()

"> - Haut de page - diff --git a/core/index.html b/core/index.html old mode 100644 new mode 100755 diff --git a/core/menu.php b/core/menu.php old mode 100644 new mode 100755 index c0f4dd3..f9a39e9 --- a/core/menu.php +++ b/core/menu.php @@ -3,17 +3,14 @@ $list=listing_ordre(); foreach ($list as &$pages) { - $page = lecture_xml(DATA_PAGES.$pages); + $page = lecture_xml($DATA_PAGES.$pages); if ($page['page']['etat']['#text']==1) { - echo "
  • "; - + echo "
  • "; if ($page['page']['id']['#text']==$id){echo ""; } echo $page['page']['nom']['#text']; if ($page['page']['id']['#text']==$id){echo ""; } echo "
  • "; } } -?> \ No newline at end of file +?> diff --git a/core/menu.php~ b/core/menu.php~ new file mode 100755 index 0000000..78317ff --- /dev/null +++ b/core/menu.php~ @@ -0,0 +1,19 @@ +"; + if ($page['page']['id']['#text']==$id){echo ""; } + echo $page['page']['nom']['#text']; + if ($page['page']['id']['#text']==$id){echo ""; } + echo ""; + } + $j++; + } + unset($j); +?> diff --git a/credits.txt b/credits.txt old mode 100644 new mode 100755 index 7e63f06..bb97b46 --- a/credits.txt +++ b/credits.txt @@ -1,7 +1,5 @@ -Crédits: +Crdits: -[NNS Production] Développement & Design +[NNS Production] Dveloppement & Design [Brian Kirchoff] Original nicEditor -[holger1] Fonction PHP XML2ARRAY -[nullivex] Fonction PHP ARRAY2XML -[patrickblackjr] Changelog design \ No newline at end of file +[holger1] Fonction PHP XML2ARRAY \ No newline at end of file diff --git a/data/.htaccess b/data/.htaccess old mode 100644 new mode 100755 index ad3094f..a8e89e4 --- a/data/.htaccess +++ b/data/.htaccess @@ -1,4 +1,6 @@ - - order allow,deny - deny from all - \ No newline at end of file +Options -Indexes +Deny from all + + + Allow from all + diff --git a/data/config.xml b/data/config.xml new file mode 100755 index 0000000..6c5977c --- /dev/null +++ b/data/config.xml @@ -0,0 +1,29 @@ + + + AEOS + Version Stable d'AEOS. + fr + + admin + admin@admin.fr + 21232f297a57a5a743894a0e4a801fc3 + + 1 + main + 0 + 0.4 [CALVARIUM] + off + TRUE + Site en maintenance +
    +
    + AEOS est un logiciel libre sous licence GNU/GPL v3
    + Toutes suggestions, patchs ou commentaires sont les bienvenues + ]]> +
    + + + 1 + +
    diff --git a/data/fonts/headline.eot b/data/fonts/headline.eot new file mode 100755 index 0000000..2740608 Binary files /dev/null and b/data/fonts/headline.eot differ diff --git a/data/fonts/headline.svg b/data/fonts/headline.svg new file mode 100755 index 0000000..44f3330 --- /dev/null +++ b/data/fonts/headline.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/fonts/headline.ttf b/data/fonts/headline.ttf new file mode 100755 index 0000000..7e3c58c Binary files /dev/null and b/data/fonts/headline.ttf differ diff --git a/data/fonts/headline.woff b/data/fonts/headline.woff new file mode 100755 index 0000000..5b45caf Binary files /dev/null and b/data/fonts/headline.woff differ diff --git a/data/fonts/simplesnails.eot b/data/fonts/simplesnails.eot new file mode 100755 index 0000000..4335d07 Binary files /dev/null and b/data/fonts/simplesnails.eot differ diff --git a/data/fonts/simplesnails.svg b/data/fonts/simplesnails.svg new file mode 100755 index 0000000..46ee337 --- /dev/null +++ b/data/fonts/simplesnails.svg @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/fonts/simplesnails.ttf b/data/fonts/simplesnails.ttf new file mode 100755 index 0000000..d385028 Binary files /dev/null and b/data/fonts/simplesnails.ttf differ diff --git a/data/fonts/simplesnails.woff b/data/fonts/simplesnails.woff new file mode 100755 index 0000000..ccfdc8b Binary files /dev/null and b/data/fonts/simplesnails.woff differ diff --git a/data/images/.htaccess b/data/images/.htaccess new file mode 100755 index 0000000..6db0ae1 --- /dev/null +++ b/data/images/.htaccess @@ -0,0 +1 @@ +Allow from all \ No newline at end of file diff --git a/data/images/1.jpg b/data/images/1.jpg new file mode 100755 index 0000000..611e151 Binary files /dev/null and b/data/images/1.jpg differ diff --git a/data/images/2.jpg b/data/images/2.jpg new file mode 100755 index 0000000..a4d3427 Binary files /dev/null and b/data/images/2.jpg differ diff --git a/data/images/3.jpg b/data/images/3.jpg new file mode 100755 index 0000000..2f374c9 Binary files /dev/null and b/data/images/3.jpg differ diff --git a/data/images/4.jpg b/data/images/4.jpg new file mode 100755 index 0000000..176df58 Binary files /dev/null and b/data/images/4.jpg differ diff --git a/data/images/index.html b/data/images/index.html new file mode 100755 index 0000000..e69de29 diff --git a/data/index.html b/data/index.html old mode 100644 new mode 100755 diff --git a/data/pages/1#Accueil.xml b/data/pages/1#Accueil.xml new file mode 100755 index 0000000..22f59b5 --- /dev/null +++ b/data/pages/1#Accueil.xml @@ -0,0 +1,25 @@ + + + 1 + Accueil + + AEOS est un CMS pensé pour être le plus rapide et le plus simple possible.

    + + La sauvegarde et la lecture de donnée est très simple. Fonctionnant sans base de donnée SQL - grâce au XML - AEOS se voit très pratique pour une installation sur des hébergements web basique.

    + + Son côté modulable vous permet d'installer un thème, un module ou un composant facilement et rapidement.

    + + Pensé pour être le plus rapide possible - et respectant les conventions du W3C - nous n'avons en aucun cas négligé la sécurité. Toutes vos informations seront protégées grâce aux fonctionnalités Calcium.

    + + Le tout est sous licence GNU/GPL V3 et est donc gratuit !

    + + L'équipe NNS Production. + + + ]]> +
    + owSimple + 1 + 1 +
    diff --git a/data/pages/1#accueil.xml b/data/pages/1#accueil.xml deleted file mode 100644 index 73f7f0b..0000000 --- a/data/pages/1#accueil.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 1 - Accueil - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit.

    -

    Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna.

    -

    Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet.

    -]]>
    - owSimple - 1 - 1 -
    diff --git a/data/pages/2#Blog.xml b/data/pages/2#Blog.xml new file mode 100755 index 0000000..6a161d9 --- /dev/null +++ b/data/pages/2#Blog.xml @@ -0,0 +1,9 @@ + + + 2 + Blog + ]]> + owSimple + 2 + 1 + diff --git a/data/pages/3#Forum.xml b/data/pages/3#Forum.xml new file mode 100755 index 0000000..2cf9955 --- /dev/null +++ b/data/pages/3#Forum.xml @@ -0,0 +1,9 @@ + + + 3 + Forum + + owSimple + 3 + 1 + diff --git a/data/pages/4#Ressources.xml b/data/pages/4#Ressources.xml new file mode 100755 index 0000000..ad54ef0 --- /dev/null +++ b/data/pages/4#Ressources.xml @@ -0,0 +1,9 @@ + + + 4 + Ressources + + owSimple + 4 + 1 + diff --git a/data/pages/5#Documentation.xml b/data/pages/5#Documentation.xml new file mode 100755 index 0000000..6087487 --- /dev/null +++ b/data/pages/5#Documentation.xml @@ -0,0 +1,9 @@ + + + 5 + Documentation + + owSimple + 5 + 1 + diff --git a/index.php b/index.php old mode 100644 new mode 100755 index 2698585..821831e --- a/index.php +++ b/index.php @@ -1,20 +1,25 @@ @@ -24,25 +29,12 @@ if(isset($_GET['redirect'])) <?php echo AEOS_NAME." | ".AEOS_TITLE; ?> - - - + diff --git a/install/base.xml b/install/base.xml new file mode 100755 index 0000000..ec0ede4 --- /dev/null +++ b/install/base.xml @@ -0,0 +1,23 @@ + + + AEOS | Version Stable + Version Stable d'AEOS. + fr + + admin + admin@admin.fr + 21232f297a57a5a743894a0e4a801fc3 + + 1 + defaut + 0 + 0.4 [CALVARIUM] + off + FALSE + Site en maintenance +
    © 2004 - 2013 NNS Production
    + 10-07-2013 + + 1 + +
    diff --git a/install/config.xml b/install/config.xml deleted file mode 100644 index dcea271..0000000 --- a/install/config.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - test - test - fr_FR - - - fr_FR - Français - - - en_US - English - - - - - 1 - ??? - ??? - test@test.test - - $2y$10$w9qL6OSzztNBUBKLm1jUhezMNb6y3J1M/d.ksKs0T4XL1HzCMfFN2 - - Admin - - - 1 - defaut - 0 - 0.5 - CALVARIUM - stable - 06072013 - FALSE - Le site est actuellement en maintenance ! :) - FALSE -
    © 2004 - 2020 NNS Production
    - FALSE - page- -
    diff --git a/install/index.php b/install/index.php old mode 100644 new mode 100755 index 6eb3ec1..83ba9ac --- a/install/index.php +++ b/install/index.php @@ -2,9 +2,6 @@ ob_start(); if (file_exists("../data/config.xml")){header('Location: ../index.php');} require_once ('../lib/aeos.lib.php'); - $config = lecture_xml("config.xml"); - if (!isset($_POST['lang'])) $langs="fr_FR"; else $langs=$_POST['lang']; - require_once('lang/'.$langs.'/index.php'); ?> @@ -12,18 +9,24 @@ AEOS | Installation +
    -

    Logo AEOS

    +

    Logo AEOS

    +
    + Logout + Installation - AEOS +
    - -
    -
    - AEOS
    + -
    +

    -

    -

    -

    ".$lang['L_Inst_instruction']; ?>

    +

    AEOS v

    +

    +

    @@ -109,9 +111,9 @@ } else { ?> - " class="input_button" /> - + " />

    - + + " />

    @@ -140,10 +143,8 @@ ?>

    -

    @@ -154,19 +155,16 @@ $_POST['titre'], - 'configuration/description_site'=>$_POST['description'], - 'configuration/lang'=>$langs)); - - + ecriture_xml('base.xml', 'nom_site', $_POST['titre']); + ecriture_xml('base.xml', 'description_site', $_POST['description']); + ecriture_xml('base.xml', 'lang', $_POST['lang']); } if (@$_GET['erreur']==1) echo "".$lang['L_Inst_Msg_motdepasse']."
    "; elseif (@$_GET['erreur']==2) echo "".$lang['L_Inst_Msg_mauvaisemail']."
    "; ?> -

    - +

    +

    + " /> password_hash($_POST['mdp_admin'],PASSWORD_DEFAULT), - 'configuration/users/admin/email'=>$_POST['email_admin'] - )); + ecriture_xml('base.xml', 'login_admin', $_POST['login_admin']); + ecriture_xml('base.xml', 'mdp_admin', md5($_POST['mdp_admin'])); + ecriture_xml('base.xml', 'email_admin', $_POST['email_admin']); } } $licence = @file_get_contents('http://www.gnu.org/licenses/gpl.txt'); ?> @@ -202,9 +199,9 @@

    - -

    - +

    +

    +

    " />

    -

    AEOS v

    +

    AEOS v

    @@ -229,20 +226,10 @@ " />

    - + - - diff --git a/install/install.css b/install/install.css new file mode 100755 index 0000000..a224c0b --- /dev/null +++ b/install/install.css @@ -0,0 +1,66 @@ +/* Install.css */ + +#Administration +{ + width:350px; + position:absolute; + top:30%; + left:50%; + margin:-175px 0 0 -175px; +} +#Administration a {color:#FFFFFF;} +#Administration h6 {margin:3px 0 20px 0;} +#Administration p {margin:0 0 5px 0; padding:0 8px 0 8px;} +#Administration h1, #Administration h6, #Administration p, #Administration h3, #Administration h4, #Administration h5 {font-size:12px; text-align:center; color:#EAEAEC; font-weight:bold; text-shadow:1px 1px 0 #606062;} +#Administration h3 {font-size:15px; margin:0 0 10px 0;} +#Administration h4 {font-size:12px; margin:0 0 10px 0;} +#Administration h5 {font-size:12px; font-weight:200; margin:0 0 20px 0;} +#Administration input {min-width:200px;} +#Administration input[type="checkbox"] {min-width:5px; margin:0 5px 0 0;} +#Administration .input_button, #Administration .input_text, #Administration .input_select {width:235px; height:35px; min-width:0%;} +#Administration .input_button {margin:15px 0 0 0;} +#Administration textarea.input_text {height:180px;} +table.Full {width:240px; margin:0 0 0 57px;} + +#Layout +{ + width:350px; + height:100%; + position:absolute; + top:0; + left:50%; + margin:0 0 0 -175px; + background:url(../themes/system/images/sidemenu.png); + border-right:1px solid #4E4F50; + border-left:1px solid #4E4F50; +} + +#Menu +{ + width:150px; + position:absolute; + margin:0 0 0 -150px; + top:25%; +} +#Menu ul li +{ + list-style-type:none; + height:35px; + border-top:5px solid #FFFFFF; + border-bottom:5px solid #FFFFFF; + border-left:5px solid #FFFFFF; + padding:17px 10px 0 0; + margin:15px 0 15px 0; + box-shadow: -3px 3px 5px #888888; + text-align:right; +} +#Menu ul li.Actif +{ + color:#FFFFFF; + background:url(../themes/system/images/sidemenu.png); + margin:0 -1px 0 0; + font-weight:bold; + font-size:16px; + text-align:left; + padding:17px 0 0 10px; +} \ No newline at end of file diff --git a/install/lang/en_US/index.php b/install/lang/en/index.php old mode 100644 new mode 100755 similarity index 100% rename from install/lang/en_US/index.php rename to install/lang/en/index.php diff --git a/install/lang/en_US/lang.xml b/install/lang/en/lang.xml old mode 100644 new mode 100755 similarity index 100% rename from install/lang/en_US/lang.xml rename to install/lang/en/lang.xml diff --git a/install/lang/fr/index.php b/install/lang/fr/index.php new file mode 100755 index 0000000..ce87405 --- /dev/null +++ b/install/lang/fr/index.php @@ -0,0 +1,53 @@ + "Français", + +// Installation +'L_Inst_Etape' => "Prérequis", +'L_Inst_Etape1' => "Configuration", +'L_Inst_Etape2' => "Administration", +'L_Inst_Etape3' => "Licence", +'L_Inst_Etape4' => "Terminée !", + +'L_Inst_intro' => "Préface d'installation", +'L_Inst_bienvenue' => "Bienvenue sur l'assistant d'installation d'AEOS !", +'L_Inst_instruction' => "Veuillez suivre les étapes et valider avec le bouton 'suivant'.", +'L_Inst_prerequis' => "Prérequis: ", //espace +'L_Inst_versionphp' => "Version de PHP: ", //espace +'L_Inst_repdata' => "Répertoire 'data' accessible en écriture: ", //espace + +'L_Inst_confgen' => "Configuration générale", +'L_Inst_sitenom' => "Titre", +'L_Inst_descnom' => "Description", + +'L_Inst_confadmin' => "Configuration du compte Administrateur", + +'L_Inst_licence' => "Licence publique générale GNU", +'L_Inst_accepte' => "Oui j'ai lu et j'accepte les termes et conditions d'utilisation", +'L_Inst_succes' => "installé avec succés !", +'L_Inst_effacerinstall' => "N'oubliez pas d'effacer le dossier INSTALL de votre serveur !", +'L_Inst_admineffacer' => "(Possibilité de l'effacer via l'administration du site)", +'L_Inst_accessite' => "Accés au site", + +// Installation -> Message d'erreur +'L_Inst_Msg_versionphp' => "Vous ne disposez pas de la version 5 de PHP.", +'L_Inst_Msg_erreur' => "ERREUR", +'L_Inst_Msg_repdata' => "Le dossier DATA n'a pas les droits appropriés. Il est en ", //espace +'L_Inst_Msg_motdepasse' => "Les deux mots de passe ne sont pas identiques !", +'L_Inst_Msg_mauvaisemail' => "Votre adresse email n'est pas conforme.", +'L_Inst_Msg_condition' => "Veuillez accepter les conditions !", + +// Mot +'L_Mot_etape' => "Etape", +'L_Mot_preface' => "Préface", +'L_Mot_finalisation' => "Finalisation", +'L_Mot_remerciements' => "Remerciements", +'L_Mot_identifiant' => "Identifiant", +'L_Mot_motdepasse' => "Mot de passe", +'L_Mot_confmotdepasse' => "Confirmer mot de passe", +'L_Mot_mail' => "Mail", +'L_Mot_suivant' => "Suivant", +'L_Mot_precedent' => "Précédent", +); +?> \ No newline at end of file diff --git a/install/lang/fr_FR/lang.xml b/install/lang/fr/lang.xml old mode 100644 new mode 100755 similarity index 100% rename from install/lang/fr_FR/lang.xml rename to install/lang/fr/lang.xml diff --git a/install/lang/fr_FR/index.php b/install/lang/fr_FR/index.php deleted file mode 100644 index 9adbad9..0000000 --- a/install/lang/fr_FR/index.php +++ /dev/null @@ -1,59 +0,0 @@ - "Français", - -// Installation -'L_Install' => "Installation du CMS", -'L_Inst_Etape' => "Prérequis", -'L_Inst_Etape1' => "Configuration", -'L_Inst_Etape2' => "Administration", -'L_Inst_Etape3' => "Licence", -'L_Inst_Etape4' => "Terminée !", - -'L_Inst_intro' => "Préface d'installation", -'L_Inst_bienvenue' => "Bienvenue sur l'assistant d'installation", -'L_Inst_instruction' => "Merci de suivre les étapes suivantes", -'L_Inst_prerequis' => "Prérequis: ", //espace -'L_Inst_versionphp' => "Version de PHP: ", //espace -'L_Inst_repdata' => "Répertoire 'data' accessible en écriture: ", //espace -'L_Inst_OK' => "OK", - -'L_Inst_confgen' => "Configuration générale", -'L_Inst_sitenom' => "Titre du site", -'L_Inst_descnom' => "Description du site", - -'L_Inst_confadmin' => "Configuration du compte Administrateur", -'L_Inst_roleAdmin' => "Administrateur", - -'L_Inst_licence' => "Licence publique générale GNU", -'L_Inst_accepte' => "Oui j'ai lu et j'accepte les termes et conditions d'utilisation", -'L_Inst_succes' => "installé avec succés !", -'L_Inst_effacerinstall' => "N'oubliez pas d'effacer le dossier INSTALL de votre serveur !", -'L_Inst_admineffacer' => "(Possibilité de l'effacer via l'administration du site)", -'L_Inst_accessite' => "Accés au site", - -// Installation -> Message d'erreur -'L_Inst_Msg_versionphp' => "Vous ne disposez pas de la version 5 de PHP.", -'L_Inst_Msg_erreur' => "ERREUR", -'L_Inst_Msg_repdata' => "Le dossier DATA n'a pas les droits appropriés. Il est en ", //espace -'L_Inst_Msg_motdepasse' => "Les deux mots de passe ne sont pas identiques !", -'L_Inst_Msg_mauvaisemail' => "Votre adresse email n'est pas conforme.", -'L_Inst_Msg_condition' => "Veuillez accepter les conditions !", - -// Mot -'L_Mot_etape' => "Etape", -'L_Mot_preface' => "Préface", -'L_Mot_finalisation' => "Finalisation", -'L_Mot_remerciements' => "Remerciements", -'L_Mot_identifiant' => "Identifiant", -'L_Mot_motdepasse' => "Mot de passe", -'L_Mot_confmotdepasse' => "Confirmer mot de passe", -'L_Mot_mail' => "Email", -'L_Mot_suivant' => "Suivant", -'L_Mot_precedent' => "Précédent", - -'login_msg_Layus' => "Vous entrez dans une zone d'accès sécurisée qui ne doit être utilisée uniquement par les personnes autorisées.", - -); -?> \ No newline at end of file diff --git a/lang/en_US.php b/lang/en_US.php deleted file mode 100644 index de7a358..0000000 --- a/lang/en_US.php +++ /dev/null @@ -1,162 +0,0 @@ -"English", - -//=== Basic -"footer_version_loved" =>" with by NNS Production", - -//=== Login -"login_Administration" =>"Administration", -"login_SecurePanel" =>"Safety panel", -"login_Username" =>"Username", -"login_Password" =>"Password", -"login_Connexion" =>"Login", -"login_ForgotPassword" =>"Forgot your password?", -"login_Version" =>"version", -"login_msg_Layus" =>"You are entering a secure access area that should only be used by authorized persons.", -"login_sendNewPassword" =>"Send a new password", - -//=== Administration -"admin_Dashboard" =>"Dashboard", -"admin_msg_installFolderDeleted" =>"The installation folder and its contents were successfully deleted!", -"admin_msg_installFolderStill" =>"The AEOS installation folder is still online. This folder is now useless and may cause a security risk for your site.", -"admin_input_DeleteFolder" =>"Delete the folder", - -"admin_title_welcome" =>"Welcome to your administration area!", -"admin_text_welcome_1" =>"It is from the menus on your left that you will be able to manage your site. From here, you will be able to manage your pages, your modules, your components, your themes, but also to modify the settings. Don't forget to put your site on maintenance before modifying essential things.", -"admin_text_welcome_2" =>"Good luck to you! :)", - -"admin_Pages" =>"Pages", -"admin_addPage" =>"Add a page", -"admin_Addons" =>"Modules", -"admin_addAddon" =>"Add a module", -"admin_Plugins" =>"Components", -"admin_addPlugin" =>"Add a component", -"admin_Themes" =>"Themes", -"admin_addTheme" =>"Add a theme", -"admin_Settings" =>"Settings", -"admin_General" =>"General", -"admin_Connexion" =>"Login", -"admin_Maintenance" =>"Maintenance", -"admin_System" =>"System", -"admin_Trashbin" =>"Trash", -"admin_EmptyTrashbin" =>"Empty the bin", -"admin_Logout" =>"Logout", - - -"admin_input_activated" =>"Activated", -"admin_input_desactivated" =>"Disabled", -"admin_input_standby" =>"Inaccessible", - -"admin_updateAvailable" =>"New version available!", - - -//=== Pages -"admin_page_home" =>"Home page", - -"admin_page_pageManagement" =>"Page management", -"admin_page_display" =>"Updated display", -"admin_page_order" =>"Updated order", -"admin_page_cantDeleteHome" =>"You cannot delete the home page.", -"admin_page_confirmDelete" =>"Do you really want to put this page in the recycle bin?", -"admin_page_confimedDelete" =>"The page ".@$tempTrash[1]." has been moved to the trash folder", - -//=== Addons -"admin_addons_addonsManagement" =>"Module management", -"admin_addons_fileMustBeZip" =>"The module must be a .zip file", -"admin_addons_alreadyInstalled" =>"Module already installed.", -"admin_addons_installed" =>"Module successfully installed.", -"admin_addons_deleted" =>"Module successfully removed.", -"admin_addons_confirmDelete" =>"Do you really want to remove this module?", - -//=== Plugins -"admin_plugins_addonsManagement" =>"Component management", -"admin_plugins_fileMustBeZip" =>"The component must be a .zip file", -"admin_plugins_alreadyInstalled" =>"Component already installed.", -"admin_plugins_installed" =>"Component successfully installed.", -"admin_plugins_deleted" =>"Component successfully removed.", -"admin_plugins_confirmDelete" =>"Do you really want to remove this component?", -"admin_plugins_empty" =>"No component currently installed", -"admin_plugins_display" =>"Successfully modified component", - - -//=== Themes -"admin_themes_themesManagement" =>"Theme management", -"admin_themes_fileMustBeZip" =>"The theme must be a .zip file", -"admin_themes_deleted" =>"Theme successfully deleted.", -"admin_themes_confirmDelete" =>"Do you really want to delete this theme?", -"admin_themes_changed" =>"Theme successfully modified.", -"admin_themes_alreadyInstalled" =>"Theme already installed.", -"admin_themes_installed" =>"Theme successfully installed.", - -//=== Settings -"admin_settings_commonSettings" =>"General Settings", -"admin_settings_siteTitle" =>"Title of the site", -"admin_settings_siteDescription" =>"Description of the site", -"admin_settings_siteFooter" =>"Bottom of the page", -"admin_settings_maintenance" =>"Maintenance", -"admin_settings_maintenanceExplain" =>"Do you want to put the site on maintenance?", - -"admin_settings_welcome_title" =>"The settings page...", -"admin_settings_welcomte_text" =>"This is the heart of your site. From the GENERAL, CONNECTION, MAINTENANCE and SYSTEM pages, you can administer the key and technical elements.", - -//=== Connexion -"admin_settings_connexionProfil" =>"Profile", -"admin_settings_connexionProfilPicture" =>"Profile picture", -"admin_settings_connexionChangePicture" =>"Change photo", -"admin_settings_connexionOptions" =>"Connection option", - -//=== System -"admin_settings_systemSystem" =>"System requirements", -"admin_settings_systemLanguage" =>"Language of the site :", -"admin_settings_systemURLRewriting" =>"Enable URL rewriting", -"admin_settings_systemURLRewritingKey" =>"URL rewrite prefix", -"admin_settings_systemURLRewritingInfo" =>"This option makes URLs easier to read. Example: domain.com/Page-1-Page Name", -"admin_settings_systemDebugMode" =>"Activating Developer Mode", -"admin_settings_systemDebugModeInfo" =>"This option displays PHP errors and adds new . functions for the developer.", - -//=== Trash -"admin_settings_trashEmpty" =>"Empty the recycle bin", -"admin_settings_trashHad" =>"Recycle bin management", -"admin_settings_trashRestore" =>"Restore the page", -"admin_settings_trashDelete" =>"Permanently delete the page", -"admin_settings_trashDeleteConfirm" =>"Do you really want to permanently delete this page?", -"admin_settings_trashDeleteOK" =>"File successfully deleted", -"admin_settings_trashInfo" =>"Erased on", -"admin_settings_trashNoFile" =>"The basket is currently empty", -"admin_settings_trashEmptyConfirm" =>"The trash has been emptied properly", -"admin_settings_trashEmptyDeleteConfirm" =>"Do you really want to permanently empty the trash?", - -//=== Samples -"text_add" =>"Add", -"text_yes" =>"Yes", -"text_no" =>"No", -"text_version" =>"Version", -"text_author" =>"Author(s)", -"text_choose_file" =>"Choose a file", -"text_install" =>"Install", -"text_errorOccurred" =>"A mistake has been made.", -"admin_fileNotZip" =>"This file is not a zip file.", -"update" =>"Update", -"updateSuccessfull" =>"Successful update.", -"mailAddress" =>"Email address", -"cancel" =>"Cancel", -"mailSentToYou" =>"An email containing a new password has been sent to you.", -"wrongLoginEmail" =>"Incorrect login or email.", -"wrongLoginPassword" =>"Incorrect login or password.", -"firstName" =>"First name", -"lastName" =>"Name", -"language" =>"Language", - -//=== Mails -"mail_passwordBack" =>"Password recovery", -"mail_newPassword" =>"This e-mail is from ".@AEOS_NAME." You've requested a new password. \Here's your new password:", - - - -//=== Debug -"debug_Title" =>"Lorem ipsum dolores.", -"debug_Text" =>"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.", -); - -?> diff --git a/lang/fr_FR.php b/lang/fr_FR.php deleted file mode 100644 index 63c169a..0000000 --- a/lang/fr_FR.php +++ /dev/null @@ -1,162 +0,0 @@ -"Français", - -//=== Basic -"footer_version_loved" =>" with by NNS Production", - -//=== Login -"login_Administration" =>"Administration", -"login_SecurePanel" =>"Panneau de sécurité", -"login_Username" =>"Nom d'utilisateur", -"login_Password" =>"Mot de passe", -"login_Connexion" =>"Connexion", -"login_ForgotPassword" =>"Mot de passe oublié ?", -"login_Version" =>"version", -"login_msg_Layus" =>"Vous entrez dans une zone d'accès sécurisée qui ne doit être utilisée uniquement par les personnes autorisées.", -"login_sendNewPassword" =>"Envoyer un nouveau mot de passe", - -//=== Administration -"admin_Dashboard" =>"Dashboard", -"admin_msg_installFolderDeleted" =>"Le dossier d'installation ainsi que son contenu ont été effacés avec succés!", -"admin_msg_installFolderStill" =>"Le dossier d'installation d'AEOS est encore en ligne. Ce dossier est dorénavant inutile et peut causer un risque pour la sécurité de votre site.", -"admin_input_DeleteFolder" =>"Effacer le dossier", - -"admin_title_welcome" =>"Bienvenue dans votre espace d'administration !", -"admin_text_welcome_1" =>"C'est à partir des menus sur votre gauche que vous pourrez gérer votre site. À partir d'ici, vous serez dans la possibilité de gérer vos pages, vos modules, vos composants, vos thèmes, mais aussi modifier les réglages. N'oubliez pas de mettre votre site en maintenance avant de modifier des choses essentielles.", -"admin_text_welcome_2" =>"Bonne chance à vous ! :)", - -"admin_Pages" =>"Pages", -"admin_addPage" =>"Ajouter une page", -"admin_Addons" =>"Modules", -"admin_addAddon" =>"Ajouter un module", -"admin_Plugins" =>"Composants", -"admin_addPlugin" =>"Ajouter un composant", -"admin_Themes" =>"Thèmes", -"admin_addTheme" =>"Ajouter un thème", -"admin_Settings" =>"Réglages", -"admin_General" =>"Général", -"admin_Connexion" =>"Connexion", -"admin_Maintenance" =>"Maintenance", -"admin_System" =>"Système", -"admin_Trashbin" =>"Corbeille", -"admin_EmptyTrashbin" =>"Vider la corbeille", -"admin_Logout" =>"Déconnexion", - - -"admin_input_activated" =>"Activé(e)", -"admin_input_desactivated" =>"Désactivé(e)", -"admin_input_standby" =>"Inaccessible", - -"admin_updateAvailable" =>"Nouvelle version disponible !", - - -//=== Pages -"admin_page_home" =>"Page d'accueil", - -"admin_page_pageManagement" =>"Gestion des pages", -"admin_page_display" =>"Affichage mis à jour", -"admin_page_order" =>"Ordre mis à jour", -"admin_page_cantDeleteHome" =>"Vous ne pouvez pas supprimer la page d'accueil.", -"admin_page_confirmDelete" =>"Voulez-vous vraiment mettre cette page dans la corbeille ?", -"admin_page_confimedDelete" =>"La page ".@$tempCorbeille[1]." a été déplacé dans le dossier corbeille", - -//=== Addons -"admin_addons_addonsManagement" =>"Gestion des modules", -"admin_addons_fileMustBeZip" =>"Le module doit être un fichier .zip", -"admin_addons_alreadyInstalled" =>"Module déjà installé.", -"admin_addons_installed" =>"Module installé avec succès.", -"admin_addons_deleted" =>"Module supprimé avec succés.", -"admin_addons_confirmDelete" =>"Voulez-vous vraiment supprimer ce module ?", - -//=== Plugins -"admin_plugins_addonsManagement" =>"Gestion des composants", -"admin_plugins_fileMustBeZip" =>"Le composant doit être un fichier .zip", -"admin_plugins_alreadyInstalled" =>"Composant déjà installé.", -"admin_plugins_installed" =>"Composant installé avec succès.", -"admin_plugins_deleted" =>"Composant supprimé avec succés.", -"admin_plugins_confirmDelete" =>"Voulez-vous vraiment supprimer ce composant ?", -"admin_plugins_empty" =>"Aucun composant installé actuellement", -"admin_plugins_display" =>"Composant modifié avec succès", - - -//=== Themes -"admin_themes_themesManagement" =>"Gestions des thèmes", -"admin_themes_fileMustBeZip" =>"Le thème doit être un fichier .zip", -"admin_themes_deleted" =>"Thème supprimé avec succés.", -"admin_themes_confirmDelete" =>"Voulez-vous vraiment supprimer ce thème ?", -"admin_themes_changed" =>"Thème modifié avec succés.", -"admin_themes_alreadyInstalled" =>"Thème déjà installé.", -"admin_themes_installed" =>"Thème installé avec succès.", - -//=== Settings -"admin_settings_commonSettings" =>"Réglages Généraux", -"admin_settings_siteTitle" =>"Titre du site", -"admin_settings_siteDescription" =>"Description du site", -"admin_settings_siteFooter" =>"Bas de page", -"admin_settings_maintenance" =>"Maintenance", -"admin_settings_maintenanceExplain" =>"Voulez-vous mettre le site en maintenance ?", - -"admin_settings_welcome_title" =>"La page de réglages...", -"admin_settings_welcomte_text" =>"C'est ici le coeur même de votre site. A partir des pages GÉNÉRAL, CONNEXION, MAINTENANCE et SYSTEME, vous pouvez administrer les éléments clés et techniques.", - -//=== Connexion -"admin_settings_connexionProfil" =>"Profil", -"admin_settings_connexionProfilPicture" =>"Photo de profil", -"admin_settings_connexionChangePicture" =>"Changer la photo", -"admin_settings_connexionOptions" =>"Option de connexion", - -//=== System -"admin_settings_systemSystem" =>"Configuration système", -"admin_settings_systemLanguage" =>"Langue du site :", -"admin_settings_systemURLRewriting" =>"Activer la réécriture d'URL", -"admin_settings_systemURLRewritingKey" =>"Préfixe de la réécriture d'URL", -"admin_settings_systemURLRewritingInfo" =>"Cette option permet de rendre les URL plus facile à lire. Exemple : domaine.com/Page-1-Nom-de-la-Page", -"admin_settings_systemDebugMode" =>"Activation du mode Développeur", -"admin_settings_systemDebugModeInfo" =>"Cette option permet de d'afficher les erreurs PHP et ajoute de nouvelles fonctions. Destiné au développeur.", - -//=== Trash -"admin_settings_trashEmpty" =>"Vider la corbeille", -"admin_settings_trashHad" =>"Gestion de la corbeille", -"admin_settings_trashRestore" =>"Restaurer la page", -"admin_settings_trashDelete" =>"Supprimer définitivement la page", -"admin_settings_trashDeleteConfirm" =>"Voulez-vous vraiment supprimer définitivement cette page ?", -"admin_settings_trashDeleteOK" =>"Fichier effacé avec succès", -"admin_settings_trashInfo" =>"Effacé(e) le", -"admin_settings_trashNoFile" =>"La corbeille est vide actuellement", -"admin_settings_trashEmptyConfirm" =>"La corbeille a été vidée correctement", -"admin_settings_trashEmptyDeleteConfirm" =>"Voulez-vous vraiment vider définitivement la corbeille ?", - -//=== Samples -"text_add" =>"Ajouter", -"text_yes" =>"Oui", -"text_no" =>"Non", -"text_version" =>"Version", -"text_author" =>"Auteur(s)", -"text_choose_file" =>"Choisir un fichier", -"text_install" =>"Installer", -"text_errorOccurred" =>"Une erreur est survenue.", -"admin_fileNotZip" =>"Ce fichier n'est pas un fichier zip.", -"update" =>"Mettre à jour", -"updateSuccessfull" =>"Mise à jour réussie.", -"mailAddress" =>"Adresse email", -"cancel" =>"Annuler", -"mailSentToYou" =>"Un email contenant un nouveau mot de passe vous a été envoyé.", -"wrongLoginEmail" =>"Login ou email incorrect.", -"wrongLoginPassword" =>"Login ou mot de passe incorrect.", -"firstName" =>"Prénom", -"lastName" =>"Nom", -"language" =>"Langue", - -//=== Mails -"mail_passwordBack" =>"Récupération de mot de passe", -"mail_newPassword" =>"Ce mail provient de ".@AEOS_NAME." .\n Vous avez fait une demande de nouveau mot de passe. \n\nVoici votre nouveau mot de passe:", - - - -//=== Debug -"debug_Title" =>"Lorem ipsum dolores", -"debug_Text" =>"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.", -); - -?> diff --git a/lib/.htaccess b/lib/.htaccess new file mode 100755 index 0000000..f7ae885 --- /dev/null +++ b/lib/.htaccess @@ -0,0 +1,6 @@ +Options -Indexes +deny from all + + +Allow from all + \ No newline at end of file diff --git a/lib/aeos.lib.php b/lib/aeos.lib.php old mode 100644 new mode 100755 index d9f62c2..aac6a44 --- a/lib/aeos.lib.php +++ b/lib/aeos.lib.php @@ -2,148 +2,23 @@ // Listings des fonctions (librairie) utilisées sur AEOS // ***************************************************** -//=== Parse Array and translate into XML file [LIB] -class Array2XML { - - private static $xml = null; - private static $encoding = 'UTF-8'; - - public static function init($version = '1.0', $encoding = 'UTF-8', $format_output = true) - { - self::$xml = new DomDocument($version, $encoding); - self::$xml->formatOutput = $format_output; - self::$encoding = $encoding; - } - - public static function &createXML($arr=array(), $node_name='NodeNameDefault') - { - $xml = self::getXMLRoot(); - if (count($arr) > 1) - { - $xml->appendChild(self::convert($node_name, $arr)); - } - else - { - @$root_element = array_pop(array_keys($arr)); - $xml->insertBefore(self::convert($root_element, $arr[$root_element])); - } - self::$xml = null; - return $xml; - } - - private static function &convert($node_name, $arr=array()) - { - $xml = self::getXMLRoot(); - $node = $xml->createElement($node_name); - - if(is_array($arr)) - { - if(isset($arr['@src'])) - { - foreach($arr['@src'] as $key => $value) - { - if(!self::isValidTagName($key)) - { - throw new Exception('[Array2XML] Illegal character in attribute name. attribute: '.$key.' in node: '.$node_name); - } - $node->setAttribute($key, self::bool2str($value)); - } - unset($arr['@src']); - } - - if(isset($arr['#text'])) - { - foreach($arr as $key => $value) - { - if(@$key[0]=="@") $node->setAttribute(substr($key, 1), $value); - } - - if(isset($arr['@cdata'])) - { - $node->setAttribute('cdata', $arr['@cdata']); - $node->appendChild($xml->createCDATASection(self::bool2str($arr['#text']))); - } - else - { - $node->appendChild($xml->createTextNode(self::bool2str($arr['#text']))); - } - unset($arr['#text']); - return $node; - } - } - - - if(is_array($arr)) - { - foreach($arr as $key=>$value) - { - if(!self::isValidTagName($key)) - { - throw new Exception('[Array2XML] Illegal character in tag name. tag: '.$key.' in node: '.$node_name); - } - if(is_array($value) && is_numeric(key($value))) - { - foreach($value as $k=>$v) - { - $node->appendChild(self::convert($key, $v)); - } - } - else - { - $node->appendChild(self::convert($key, $value)); - } - unset($arr[$key]); - } - } - - if(!is_array($arr)) - { - $node->appendChild($xml->createTextNode(self::bool2str($arr))); - } - - return $node; - } - - private static function getXMLRoot() - { - if(empty(self::$xml)) - { - self::init(); - } - return self::$xml; - } - - private static function bool2str($v) - { - $v = $v === true ? 'true' : $v; - $v = $v === false ? 'false' : $v; - return $v; - } - - private static function isValidTagName($tag) - { - $pattern = '/^[a-z_]+[a-z0-9\:\-\.\_]*[^:]*$/i'; - return preg_match($pattern, $tag, $matches) && $matches[0] == $tag; - } -} - /* Class qui permet la lecture des fichiers XML */ class Xml2Array { private $xml_dom; private $xml_array; - private $xml; - + private $xml; + public function __construct($xml = '') {$this->xml = $xml;} - + public function setXml($xml) { if(!empty($xml)) { - $this->xml = $xml; + $this->xml = $xml; } } - + public function get_array() { if($this->get_dom() === false){return false;} @@ -152,21 +27,21 @@ class Xml2Array $this->xml_array[$root_element->tagName] = $this->node_2_array($root_element); return $this->xml_array; } - + private function node_2_array($dom_element) { if($dom_element->nodeType != XML_ELEMENT_NODE){return false;} $children = $dom_element->childNodes; - + foreach($children as $child) { if($child->nodeType != XML_ELEMENT_NODE){continue;} $prefix = ($child->prefix) ? $child->prefix.':' : ''; - + if(!is_array(@$result[$prefix.$child->nodeName])) { $subnode = false; - + foreach($children as $test_node) { if($child->nodeName == $test_node->nodeName && !$child->isSameNode($test_node)) @@ -180,23 +55,23 @@ class Xml2Array { $subnode = true; } - + if ($subnode) { - $result[$prefix.$child->nodeName][] = $this->node_2_array($child); + $result[$prefix.$child->nodeName][] = $this->node_2_array($child); } else { $result[$prefix.$child->nodeName] = $this->node_2_array($child); } } - + if (!is_array(@$result)) { - if (function_exists('html_entity_decode')) $result['#text'] = html_entity_decode(htmlentities($dom_element->nodeValue)); - else $result['#text'] = htmlentities($dom_element->nodeValue); + if (function_exists('html_entity_decode')) $result['#text'] = html_entity_decode(htmlentities($dom_element->nodeValue)); + else $result['#text'] = htmlentities($dom_element->nodeValue); } - + if ($dom_element->hasAttributes()) { foreach ($dom_element->attributes as $attrib) @@ -206,10 +81,10 @@ class Xml2Array else $result["@".$prefix.$attrib->nodeName] = htmlentities($attrib->nodeValue); } } - + return $result; } - + private function get_dom() { if(empty($this->xml)) @@ -217,25 +92,25 @@ class Xml2Array echo 'Aucun fichier XML trouvé.'; return false; } - + $this->xml_dom = @DOMDocument::load($this->xml); - + if($this->xml_dom) { return $this->xml_dom; } - + echo 'Données XML invalide'; + //header('Location: '.$AEOS_REW.HOME_PAGE.'-E404.html'); } } - + // Renvoi le XML en ARRAY -function lecture_xml($config, $isAdmin = FALSE) +function lecture_xml($config) { $converter = new Xml2Array(); $converter->setXml($config); $xml_array = $converter->get_array(); - if($isAdmin) unset($xml_array['configuration']['users']); //if not admin return $xml_array; } @@ -244,7 +119,7 @@ function listing_dossier($folder) { $dossier = opendir($folder); $i=0; - while ($Fichier = readdir($dossier)) + while ($Fichier = readdir($dossier)) { if ($Fichier != "." && $Fichier != ".." && $Fichier != ".htaccess" && substr($Fichier, 0, 1) != '.') { @@ -252,14 +127,9 @@ function listing_dossier($folder) $i++; } } + @natsort($array); + return $array; closedir($dossier); - - if(isset($array)) - { - @natsort($array); - return $array; - } - else return FALSE; } // Renvoi le listing du dossier PAGE en triant par ordre @@ -267,11 +137,11 @@ function listing_ordre($o = NULL) { $a = array(); $l = listing_dossier(DATA_PAGES); - foreach ($l as &$p) + foreach ($l as &$p) { $m = lecture_xml(DATA_PAGES.$p); $a[$m['page']['ordre']['#text']] = $p; - } + } switch($o) { case 1: krsort($a); break; @@ -282,48 +152,53 @@ function listing_ordre($o = NULL) } // Enregistre une donnée dans un XML - Chemin, OldElement, NewElement -function ecriture_xml($a, $e) +/* +function ecriture_xml($a, $b, $c) { - $arrayXML = lecture_xml($a); - $arrayKEY = $e; - $d = false; - - foreach($arrayKEY as $arrayOptions => $arrayValues) { - $tmp = &$arrayXML; + $dom = new DomDocument; + $dom->load($a); + $xml = $dom->getElementsByTagName($b); + //echo $xml->item(0)->nodeValue; + $titre = $xml->item(0); + $titre->nodeValue = stripslashes(utf8_encode($c)); + //echo $dom->saveXML(); + $dom->save($a); +} +*/ - foreach(explode('/', $arrayOptions) as $key) +function ecriture_xml($a, $b, $c, $d=FALSE) +{ + $dom = new DomDocument('1.0','UTF-8'); + $dom->load($a); + $b = explode("/", $b); + $i = 0; + foreach($b as $element) + { + $crt = "dom".$i; + $prec = ($i == 0)? "dom" : "dom".($i-1); + if(substr($element, -1) == "]") { - if(strpos($key, "#CDATA")) - { - $d = true; - $key = explode("#CDATA", $key); - $key = $key[0]; - } - $tmp =& $tmp[$key]; - + $d = explode("[", $element); + $e = $d[0]; + $f = intval(substr($d[1], 0, -1)); + $$crt = $$prec->getElementsByTagName($e)->item($f); } - - - - - if($d) + else { - $tmp["@cdata"] = $arrayValues; - //$tmp["#text"] = ""; + $$crt = $$prec->getElementsByTagName($element)->item(0); } - else $tmp["#text"] = $arrayValues; - - - //$tmp["#text"] = $arrayValues; - - - - } - - $savedXML = Array2XML::createXML($arrayXML); - $savedXML->save($a); - - + $i++; + } + $rep = $$crt->nodeValue = stripslashes($c); + if($d) + { + $ocrt = $$crt; + $ncrt=$$crt->parentNode->appendChild($dom->createElement($element)); + $cdata=$dom->createCDATASection(stripslashes($c)); + $ncrt->appendChild($cdata); + $$crt->parentNode->replaceChild($ncrt, $ocrt); + } + $dom->save($a); } // Renvoi une donnée en STRING @@ -335,69 +210,9 @@ function donnee_xml($a, $b) return $xml->item(0)->nodeValue; } -// Renvoi STRING -// Nettoie le nom d'un fichier -// Thanks to Magento script function cleanName($a) { - $array = array( - '&' => 'and', '@' => 'at', '©' => 'c', '®' => 'r', 'À' => 'a', - 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'Å' => 'a', 'Æ' => 'ae','Ç' => 'c', - 'È' => 'e', 'É' => 'e', 'Ë' => 'e', 'Ì' => 'i', 'Í' => 'i', 'Î' => 'i', - 'Ï' => 'i', 'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Õ' => 'o', 'Ö' => 'o', - 'Ø' => 'o', 'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'Ý' => 'y', - 'ß' => 'ss','à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', 'å' => 'a', - 'æ' => 'ae','ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', - 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ò' => 'o', 'ó' => 'o', - 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', - 'û' => 'u', 'ü' => 'u', 'ý' => 'y', 'þ' => 'p', 'ÿ' => 'y', 'Ā' => 'a', - 'ā' => 'a', 'Ă' => 'a', 'ă' => 'a', 'Ą' => 'a', 'ą' => 'a', 'Ć' => 'c', - 'ć' => 'c', 'Ĉ' => 'c', 'ĉ' => 'c', 'Ċ' => 'c', 'ċ' => 'c', 'Č' => 'c', - 'č' => 'c', 'Ď' => 'd', 'ď' => 'd', 'Đ' => 'd', 'đ' => 'd', 'Ē' => 'e', - 'ē' => 'e', 'Ĕ' => 'e', 'ĕ' => 'e', 'Ė' => 'e', 'ė' => 'e', 'Ę' => 'e', - 'ę' => 'e', 'Ě' => 'e', 'ě' => 'e', 'Ĝ' => 'g', 'ĝ' => 'g', 'Ğ' => 'g', - 'ğ' => 'g', 'Ġ' => 'g', 'ġ' => 'g', 'Ģ' => 'g', 'ģ' => 'g', 'Ĥ' => 'h', - 'ĥ' => 'h', 'Ħ' => 'h', 'ħ' => 'h', 'Ĩ' => 'i', 'ĩ' => 'i', 'Ī' => 'i', - 'ī' => 'i', 'Ĭ' => 'i', 'ĭ' => 'i', 'Į' => 'i', 'į' => 'i', 'İ' => 'i', - 'ı' => 'i', 'IJ' => 'ij','ij' => 'ij','Ĵ' => 'j', 'ĵ' => 'j', 'Ķ' => 'k', - 'ķ' => 'k', 'ĸ' => 'k', 'Ĺ' => 'l', 'ĺ' => 'l', 'Ļ' => 'l', 'ļ' => 'l', - 'Ľ' => 'l', 'ľ' => 'l', 'Ŀ' => 'l', 'ŀ' => 'l', 'Ł' => 'l', 'ł' => 'l', - 'Ń' => 'n', 'ń' => 'n', 'Ņ' => 'n', 'ņ' => 'n', 'Ň' => 'n', 'ň' => 'n', - 'ʼn' => 'n', 'Ŋ' => 'n', 'ŋ' => 'n', 'Ō' => 'o', 'ō' => 'o', 'Ŏ' => 'o', - 'ŏ' => 'o', 'Ő' => 'o', 'ő' => 'o', 'Œ' => 'oe','œ' => 'oe','Ŕ' => 'r', - 'ŕ' => 'r', 'Ŗ' => 'r', 'ŗ' => 'r', 'Ř' => 'r', 'ř' => 'r', 'Ś' => 's', - 'ś' => 's', 'Ŝ' => 's', 'ŝ' => 's', 'Ş' => 's', 'ş' => 's', 'Š' => 's', - 'š' => 's', 'Ţ' => 't', 'ţ' => 't', 'Ť' => 't', 'ť' => 't', 'Ŧ' => 't', - 'ŧ' => 't', 'Ũ' => 'u', 'ũ' => 'u', 'Ū' => 'u', 'ū' => 'u', 'Ŭ' => 'u', - 'ŭ' => 'u', 'Ů' => 'u', 'ů' => 'u', 'Ű' => 'u', 'ű' => 'u', 'Ų' => 'u', - 'ų' => 'u', 'Ŵ' => 'w', 'ŵ' => 'w', 'Ŷ' => 'y', 'ŷ' => 'y', 'Ÿ' => 'y', - 'Ź' => 'z', 'ź' => 'z', 'Ż' => 'z', 'ż' => 'z', 'Ž' => 'z', 'ž' => 'z', - 'ſ' => 'z', 'Ə' => 'e', 'ƒ' => 'f', 'Ơ' => 'o', 'ơ' => 'o', 'Ư' => 'u', - 'ư' => 'u', 'Ǎ' => 'a', 'ǎ' => 'a', 'Ǐ' => 'i', 'ǐ' => 'i', 'Ǒ' => 'o', - 'ǒ' => 'o', 'Ǔ' => 'u', 'ǔ' => 'u', 'Ǖ' => 'u', 'ǖ' => 'u', 'Ǘ' => 'u', - 'ǘ' => 'u', 'Ǚ' => 'u', 'ǚ' => 'u', 'Ǜ' => 'u', 'ǜ' => 'u', 'Ǻ' => 'a', - 'ǻ' => 'a', 'Ǽ' => 'ae','ǽ' => 'ae','Ǿ' => 'o', 'ǿ' => 'o', 'ə' => 'e', - 'Ё' => 'jo','Є' => 'e', 'І' => 'i', 'Ї' => 'i', 'А' => 'a', 'Б' => 'b', - 'В' => 'v', 'Г' => 'g', 'Д' => 'd', 'Е' => 'e', 'Ж' => 'zh','З' => 'z', - 'И' => 'i', 'Й' => 'j', 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n', - 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u', - 'Ф' => 'f', 'Х' => 'h', 'Ц' => 'c', 'Ч' => 'ch','Ш' => 'sh','Щ' => 'sch', - 'Ъ' => '-', 'Ы' => 'y', 'Ь' => '-', 'Э' => 'je','Ю' => 'ju','Я' => 'ja', - 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', - 'ж' => 'zh','з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', - 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', - 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch', - 'ш' => 'sh','щ' => 'sch','ъ' => '-','ы' => 'y', 'ь' => '-', 'э' => 'je', - 'ю' => 'ju','я' => 'ja','ё' => 'jo','є' => 'e', 'і' => 'i', 'ї' => 'i', - 'Ґ' => 'g', 'ґ' => 'g', 'א' => 'a', 'ב' => 'b', 'ג' => 'g', 'ד' => 'd', - 'ה' => 'h', 'ו' => 'v', 'ז' => 'z', 'ח' => 'h', 'ט' => 't', 'י' => 'i', - 'ך' => 'k', 'כ' => 'k', 'ל' => 'l', 'ם' => 'm', 'מ' => 'm', 'ן' => 'n', - 'נ' => 'n', 'ס' => 's', 'ע' => 'e', 'ף' => 'p', 'פ' => 'p', 'ץ' => 'C', - 'צ' => 'c', 'ק' => 'q', 'ר' => 'r', 'ש' => 'w', 'ת' => 't', '™' => 'tm', - ); - $a = strtr($a, $array); - $a = preg_replace('/[^a-z0-9\._-]+/i', '-', strtolower($a)); - $b = array('\'', '"', '/', ',', '\\', '*', '?', '<', '>', '|', ':'); + $b = array('"', '/', ',', '\\', '*', '?', '<', '>', '|', ':'); $c = str_replace($b, "", $a); return utf8_decode($c); } @@ -412,7 +227,6 @@ function upload_unzip($fichier, $dossier, $page) if ($type=="application/zip" || $type=="application/x-zip-compressed" || $type=="multipart/x-zip" || $type=="application/x-compressed" || $type=="application/octet-stream") { $target_path = $dossier.$filename; - //echo $target_path; if(move_uploaded_file($source, $target_path)) { $nom = basename($filename, ".zip"); @@ -425,7 +239,7 @@ function upload_unzip($fichier, $dossier, $page) { $zip = new ZipArchive(); $x = $zip->open($target_path); - if ($x === true) + if ($x === true) { $zip->extractTo($dossier.$nom); $zip->close(); @@ -437,7 +251,7 @@ function upload_unzip($fichier, $dossier, $page) // $e = 0; //echo "Votre ".$page." a bien été installé."; } - } + } else {$e=1; //echo "Une erreur est survenue. Veuillez recommencer."; } @@ -456,12 +270,12 @@ function br2nl($replace) { //Merci à holger1 de php.net // Supprime un dossier function removeFolder($dir) { - if (is_dir($dir)) + if (is_dir($dir)) { $objects = scandir($dir); - foreach ($objects as $object) + foreach ($objects as $object) { - if ($object != "." && $object != "..") + if ($object != "." && $object != "..") { if (filetype($dir."/".$object) == "dir") removeFolder($dir."/".$object); else unlink($dir."/".$object); } @@ -469,9 +283,9 @@ function removeFolder($dir) { reset($objects); rmdir($dir); } -} +} -// Vide un dossier +// Vide un dossier function clearFolder($folder) { $dossier=opendir($folder); @@ -485,18 +299,19 @@ function clearFolder($folder) } closedir($dossier); } - -//=== Generate a simple password -//=== IN: Number of character [INT FORMAT] -//=== OUT: Generated password [STRING FORMAT] -//=== VAR: $N number of characters wanted -function generateEasyPassword($N) + +// Génère un mot de passe de $nbr caractères +function generer_mdp($nbr) { - $S = ""; - $C = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + $str = ""; + $chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; srand((double)microtime()*1000); - for($i=0; $i<$N; $i++) {$S .= $C[rand()%strlen($C)];} - return $S; + + for($i=0; $i<$nbr; $i++) { + $str .= $chaine[rand()%strlen($chaine)]; + } + + return $str; } // Envoi un mail @@ -511,13 +326,13 @@ function sendMail($expediteur, $destinataire, $titre, $messageHTML, $name = null mail($destinataire, $titre, $messageHTML, $entete); } -// Retourne un boolean +// Retourne un boolean // Vérifie si une adresse est belle et bien au format mail. function checkMail($adresse) -{ - $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; - if(preg_match($Syntaxe,$adresse)) return true; - else return false; +{ + $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; + if(preg_match($Syntaxe,$adresse)) return true; + else return false; } // Retourne STRING @@ -526,13 +341,13 @@ function getBaseScript() { $fullPath = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; $file = basename ($fullPath); - $dir = dirname($fullPath); + $dir = dirname($fullPath); return $dir; } // Retourne STRING // Transforme une chaine en URL valide -function valideURL($s) +function valideURL($s) { $p = array("?","!","@","#","%","&","*","(",")","[","]","=","+"," ",";",":","'",".","_", "&"); $s = str_replace($p, "-", $s); @@ -553,33 +368,40 @@ function getValueArray($a, $b, $c) return $v[$k[$b]+$c]; } -// Retourne BOOLEAN -// Retourne si il y a une nouvelle version - ou pas. -// Fonction non...fonctionnelle ! -function checkVersion() +function showTooltip($a, $b) { - $v = file_get_contents(AEOS_REAL_URL.'/demo/data/config.xml'); - if($v['configuration']['update']['#text']==AEOS_VERSION) return FALSE; - else return TRUE; + $r=''; + $r.=$a; + $r.=''; + $r.=''; + $r.=$b; + $r.=''; + $r.=''; + + return $r; } - +// Retourne BOOLEAN +// Retourne si il y a une nouvelle version - ou pas. +function checkVersion() +{ + $v = lecture_xml(AEOS_REAL_URL.'/demo/data/config.xml'); + if($v['configuration']['version']['#text']==AEOS_VERSION) return FALSE; + else return TRUE; +} // Retourne STRING // Retourne STRING sécurisé function CA20($a) { //XSS - $a = strip_tags($a); + strip_tags($a); $a = htmlspecialchars($a, ENT_QUOTES); - + //SQL Injection $a = htmlentities($a, ENT_QUOTES); - $a = stripslashes($a); + if(get_magic_quotes_gpc()===1){$a = stripslashes($a);} - //Remove tabs - //$a = trim(preg_replace('/\t+/', '', $a)); - return $a; } @@ -588,222 +410,12 @@ function checkInstall() global $subdir; $config = $subdir."data/config.xml"; $install = $subdir."install/index.php"; - - if (!file_exists($config)) + + if (!file_exists($config)) { if (!file_exists($install)) die("Fichier config.xml et script d'installation introuvable"); else header('Location: '.$install); } return TRUE; } - -// Retourne STRING -// Renvoi la valeur LANGUAGE du navigateur web sous forme "fr" -function detectLang() -{ - if(isset($_['lang'])) $l = $_['lang']; - else - { - $l = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); - $l = strtolower(substr(chop($l[0]),0,2)); - switch ($l) - { - case 'fr': $l = "fr_FR"; break; - case 'en': $l = "en_US"; break; - default: $l = "fr_FR"; break; - } - } - return $l; -} - -// Retourne BOOLEAN -// Vérifie si un champs est vide -function checkEmptyField($a) -{ - if (empty($a) || $a=="") return TRUE; - else return FALSE; -} - -// Retourne BOOLEAN -// Vérifie si un fichier lang.php est disponible pour le module $a -function checkMultilangModuleAvailable($a) -{ - if(isset($a)) if($a==1) return TRUE; - else return FALSE; -} - -//Retourne STRING -// Change un paramètre dans l'URL via STRING_QUERY -function changeParameterRequestURL($a, $b) -{ - parse_str($a, $d); - foreach($b as $k => $v) - { - $d[$k] = $v; - } - $d = http_build_query($d); - return $d; -} - -// Retourne HTML -// Affiche une notification -function showNotification($a, $b, $c = false) -{ - $r = "

    "; - if($c) $r.=" "; - $r.= $a."

    "; - return $r; -} - -//=== Ajoute les fichiers necessaires (modules/plugins) dans les endroits appropriés (JS en bas de page et le reste dans le head) -function checkFiles($b, $f, $s = FALSE, $g = FALSE) -{ - $b = explode('/', $b); - $d = listing_dossier($s.'plugins'); - - if(!$d) $d=Array(); - - $toInclude = array( - "Modules" => - Array( - "modules", - Array( - $b[0] - ), - ), - "Themes" => - Array( - "themes", - Array( - $b[1] - ), - ), - - "Plugins" => - Array( - "plugins", - $d, - ), - - ); - - // if admin, do not load MODULES/THEMES - if($s) unset($toInclude['Modules']); - if($s) unset($toInclude['Themes']); - - $return = ''; - $returnedPosition = Array(); - $returnedOB = Array(); - - foreach($toInclude as $k => $v) - { - foreach($v[1] as $v1k => $v1v) - { - $a = lecture_xml($s.$v[0].'/'.$v1v.'/config.xml'); - - // if only one file - if(!isset($a['configuration']['fichiers']['fichier'][0]) && isset($a['configuration']['fichiers']['fichier'])) - { - $tmp = $a['configuration']['fichiers']['fichier']; - unset($a['configuration']['fichiers']['fichier']); - $a['configuration']['fichiers']['fichier'][0] = $tmp; - } - $nbr = @count($a['configuration']['fichiers']['fichier']); - - - $activation = @$a['configuration']['activation']['#text']; - - // if admin and plugin not activate - if(($s && @$a['configuration']['edition']['admin']['#text']=="TRUE") || !$s) - { - if((!isset($activation) || $activation==1) && $nbr>0) - { - $c = ''."\r\n\t"; - if(isset($a['configuration']['fichiers'])) - { - for($i=0; $i<$nbr; $i++) - { - $src = $a['configuration']['fichiers']['fichier'][$i]['#text']; - $type = $a['configuration']['fichiers']['fichier'][$i]['@type']; - $script = $a['configuration']['fichiers']['fichier'][$i]['@script']; - - if($f==0) - { - switch($type) - { - case 'css': - if($script=="interne") $c .= ''."\r\n\t"; - else if($script=="externe") $c .= ''."\r\n\t"; - else if($script=="code") $c .= ''."\r\n\t"; - break; - } - } - elseif($f==1) - { - switch($type) - { - case 'php': - if($script=="interne") - { - ob_start(); - include($s.$v[0].'/'.$v1v.'/inc/'.$src); - $returnedPosition[] = $a['configuration']['edition']['position']['#text']; - $returnedOB[] = ob_get_clean(); - } - break; - } - } - elseif($f==2) - { - switch($type) - { - case 'js': - if($script=="interne") $c .= ''."\r\n\t"; - else if($script=="externe") $c .= ''."\r\n\t"; - else if($script=="code") $c .= ''."\r\n\t"; - break; - } - } - } - } - $return .= $c; - } - } - } - } - - return Array("Data" => $return, "OB" => @$returnedOB, "Position" => @$returnedPosition); -} - -// Generate all HTML and modify in order to add PHP file via plugins -function insertPlugins($e, $r) -{ - // DOM - $dom = new DOMDocument(); - $domRedefined = new DOMDocument; - @$dom->loadHtml(utf8_decode($e)); - - // Remove the DOCTYPE and HTML tag previously generated - $body = $dom->getElementsByTagName('html')->item(0); - foreach ($body->childNodes as $child){ - $domRedefined->appendChild($domRedefined->importNode($child, true)); - } - - for($i=0; $igetElementById($r["Position"][$i]); - - // Prepare the HTML to insert - $f = $domRedefined->createDocumentFragment(); - $f->appendXML($r["OB"][$i]); - $$a = $domRedefined->getElementById($r["Position"][$i]); - $$a->parentNode->insertBefore($f, $$a); - - } - - return $domRedefined->saveHTML(); -} - ?> diff --git a/lib/config.lib.php b/lib/config.lib.php old mode 100644 new mode 100755 index 0fffc4f..d8ff8fb --- a/lib/config.lib.php +++ b/lib/config.lib.php @@ -1,22 +1,21 @@ $b){$_[$a] = $b;} foreach ($_POST as $a => $b){$_[$a] = $b;} } else { - $isAdmin = false; $subdir = ""; + //Scurisation foreach ($_GET as $a => $b){$_[$a] = CA20($b);} foreach ($_POST as $a => $b){$_[$a] = CA20($b);} } @@ -41,25 +40,14 @@ for($i=0; $i<$nbPages; ++$i) $ordre_pages[$lecture_tmp['page']['ordre']['#text']] = $listing_pages[$i]; } -// Lecture des utilisateurs si Admin -if($isAdmin) $config = lecture_xml($subdir.'data/config.xml'); -else $config = lecture_xml($subdir.'data/config.xml', TRUE); // Lecture des fichiers de bases +$config = lecture_xml($subdir.'data/config.xml'); +$data_pages = $subdir.'data/pages/'; if (isset($redirect)) $id=$redirect; else if(empty($_GET['id'])) $id=$config['configuration']['accueil']['#text']; else $id = $_GET['id']; $page = lecture_xml($subdir.'data/pages/'.$lecture_pages[$id].'.xml'); -// Lecture des fichiers optionnels des modules -$configModule = lecture_xml($subdir.'modules/'.$page['page']['type']['#text'].'/config.xml'); - - -// Langue -require_once($subdir.'lang/'.detectLang().".php"); -//require_once($subdir.'lang/'.AEOS_LANG.".php"); - // Admin -$admin_url = ''; -if (isset($_['tab'])) $tab=$_['tab']; else $tab = "dashboard"; -$admin_url .= 'tab='.$tab; -if (isset($_['opt'])) {$opt=$_['opt']; $admin_url .= '&opt='.$opt;} else $opt = NULL; -?> +if (isset($_['pid'])) $pid=$_['pid']; else $pid = 1; +if (isset($_['sid'])) $sid=$_['sid']; else $sid = 1; +?> \ No newline at end of file diff --git a/lib/debug.lib.php b/lib/debug.lib.php old mode 100644 new mode 100755 index 1e7583b..0e87fe6 --- a/lib/debug.lib.php +++ b/lib/debug.lib.php @@ -3,25 +3,15 @@ // ***************************************************** ini_set('display_errors', 1); ini_set('log_errors', 1); - -//=== Show an array with pre tag -//=== IN: A for what to show [ARRAY FORMAT] -//=== OUT: None [ECHO] -function view($a) -{ - print_r("
    ");
    -	print_r($a);
    -	print_r("
    "); -} - -function debug() { - $trace = debug_backtrace(); - $rootPath = dirname(dirname(__FILE__)); - $file = str_replace($rootPath, '', $trace[0]['file']); - $line = $trace[0]['line']; - $var = $trace[0]['args'][0]; - $lineInfo = sprintf('
    %s (line %s)
    ', $file, $line); - $debugInfo = sprintf('
    %s
    ', print_r($var, true)); - print_r($lineInfo.$debugInfo); +// Retourne STRING +// Retourne sous forme d'arbre l'Array +if (!function_exists("view")) +{ + function view($a) + { + print_r('
    ');
    +		print_r($a);
    +		print_r('
    '); + } } ?> diff --git a/lib/index.html b/lib/index.html old mode 100644 new mode 100755 diff --git a/lib/var.lib.php b/lib/var.lib.php old mode 100644 new mode 100755 index 3a0e82d..5c6958b --- a/lib/var.lib.php +++ b/lib/var.lib.php @@ -1,63 +1,46 @@ +?> \ No newline at end of file diff --git a/lib/wysiwyg.lib.php b/lib/wysiwyg.lib.php old mode 100644 new mode 100755 index 8b69ecd..5185c2f --- a/lib/wysiwyg.lib.php +++ b/lib/wysiwyg.lib.php @@ -1,24 +1,6 @@ \ No newline at end of file diff --git a/modules/.htaccess b/modules/.htaccess new file mode 100755 index 0000000..bff45ba --- /dev/null +++ b/modules/.htaccess @@ -0,0 +1,2 @@ +Options -Indexes +deny from all \ No newline at end of file diff --git a/modules/owSimple/base.php b/modules/owSimple/base.php old mode 100644 new mode 100755 index ddc91b7..2f5ba4c --- a/modules/owSimple/base.php +++ b/modules/owSimple/base.php @@ -4,4 +4,4 @@ Fichier BASE du module Simple. ************************************* */ echo $contenu['page']['contenu']['#text']; -?> +?> \ No newline at end of file diff --git a/modules/owSimple/base.xml b/modules/owSimple/base.xml old mode 100644 new mode 100755 index b13c46b..7c9a611 --- a/modules/owSimple/base.xml +++ b/modules/owSimple/base.xml @@ -1,9 +1,9 @@ - - - + 0 + nom + contenu owSimple - - - + 0 + 0 + \ No newline at end of file diff --git a/modules/owSimple/config.xml b/modules/owSimple/config.xml old mode 100644 new mode 100755 index 3e5247d..2be9cc9 --- a/modules/owSimple/config.xml +++ b/modules/owSimple/config.xml @@ -1,10 +1,9 @@ owSimple - owSimple - Module d'écriture de page simple. - 1.3 - 1 + owsimple + Ajouter une page de texte simple. + 1.2 NNS Production contact@nekonosekai.com diff --git a/modules/owSimple/edition.php b/modules/owSimple/edition.php old mode 100644 new mode 100755 index 0c11e5d..2f2631e --- a/modules/owSimple/edition.php +++ b/modules/owSimple/edition.php @@ -2,77 +2,67 @@ /* ************************************* Titre: Module Simple Auteur: NNS Production -Version: 1.60 +Version: 1.2 ----------- Changelog ------------------ 14/08/2011 - Modification d'une variable défectueuse. 05/06/2013 - Changement de la structure pour plus de lisibilité -03/10/2018 - Réécriture complète du module -13/07/1010 - Réécriture complète du module et changement du WYSIWYG ************************************* */ -if(checkMultilangModuleAvailable(donnee_xml($subdir."modules/".basename(__DIR__)."/config.xml", 'multilang'))) require_once($subdir.'modules/'.basename(__DIR__).'/lang/'.detectLang().".php"); if (@$_['Send']==1) { - if(checkEmptyField($_['titre'])) - { - echo showNotification($lang_owSimple['_incorrectTitle'], 'error', 'icon-emo-unhappy'); - } + if (empty($_['titre']) || $_['titre']=="") echo "
    Merci d'indiquer un nom de page.
    "; else { - switch($_['act']) + switch($_['action']) { - case 'new': - $xml_file = LAST_KEY.'#'.cleanName($_['titre'].'.xml'); + + case 'ajouter': + $xml_file = cleanName(LAST_KEY.'#'.str_replace("\'", " ", $_['titre']).'.xml'); copy('../modules/'.$_['type'].'/base.xml', '../data/pages/'.$xml_file); - $input = str_replace(" ", "", preg_replace("<
    >", "
    ", $_['input'])); - (@$_['affichage']=="on")?$display=1:$display=0; - ecriture_xml('../data/pages/'.$xml_file, array('page/ordre'=>LAST_ORDER, 'page/id'=>LAST_KEY, 'page/nom'=>$_['titre'], 'page/affichage'=>$display, 'page/contenu#CDATA'=>$input)); - //$header = changeParameterRequestURL($_SERVER['QUERY_STRING'], array('act'=>'edit', 'id'=>LAST_KEY)); - //header('Location: index.php?'.$header); + ecriture_xml('../data/pages/'.$xml_file, 'nom', $_['titre']); + $input = preg_replace("<
    >", "
    ", $_['input']); + $input = str_replace(" ", "", $_['input']); + ecriture_xml('../data/pages/'.$xml_file, 'contenu', $input, TRUE); + ecriture_xml('../data/pages/'.$xml_file, 'id', LAST_KEY); + ecriture_xml('../data/pages/'.$xml_file, 'ordre', LAST_ORDER); + (@$_['affichage']=="on")?ecriture_xml('../data/pages/'.$xml_file, 'etat', 1):ecriture_xml('../data/pages/'.$xml_file, 'etat', 0); break; + - case 'edit': - $xml_file = $_['id'].'#'.cleanName($_['titre'].'.xml'); + case 'modifier': + $xml_file = cleanName($_['id'].'#'.str_replace("\'", " ", $_['titre']).'.xml'); rename('../data/pages/'.$lecture_pages[$_['id']].'.xml', '../data/pages/'.$xml_file); - //$input = str_replace(" ", "", preg_replace("<
    >", "
    ", $_['input'])); - $input = $_['input']; - ecriture_xml('../data/pages/'.$xml_file, array('page/nom'=>$_['titre'], 'page/contenu#CDATA'=>$input)); + ecriture_xml('../data/pages/'.$xml_file, 'nom', $_['titre']); + $input = preg_replace("<
    >", "
    ", $_['input']); + $input = str_replace(" ", "", $_['input']); + ecriture_xml('../data/pages/'.$xml_file, 'contenu', $input, TRUE); break; } - - echo showNotification($lang_owSimple['_pageSaved'], 'valide', 'icon-emo-happy'); - } + + echo "
    Page sauvegardée
    "; } -if(!isset($_['Send']) || $_['act']=='edit') -{ - if($_['act']=='edit'){ ?>

    -
    -
    - - -
    -
    - -

    - - - - - - - - - - - - +if($_['action']=='modifier') { ?>

    Edition de la page

    +
    +

    Nom de la page

    + + +

    Contenu de la page

    +
    +
    -
    -

    - -

    -
    + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/owSimple/lang/en_US.php b/modules/owSimple/lang/en_US.php deleted file mode 100644 index 03fa652..0000000 --- a/modules/owSimple/lang/en_US.php +++ /dev/null @@ -1,14 +0,0 @@ - "Français", - - "_incorrectTitle" => "Merci d'indiquer un nom de page.", - "_pageSaved" => "Page sauvegardée", - "_editPage" => "Modification de la page", - "_addPage" => "Ajouter une nouvelle page", - "_fillTitle" => "Saisissez un titre pour cette page", - "_cancel" => "Annuler", - "_save" => "Sauvegarder", - "_noMoreOption" => "Aucune option supplémentaire disponible sur ce module.", -); -?> diff --git a/modules/owSimple/lang/fr_FR.php b/modules/owSimple/lang/fr_FR.php deleted file mode 100644 index 03fa652..0000000 --- a/modules/owSimple/lang/fr_FR.php +++ /dev/null @@ -1,14 +0,0 @@ - "Français", - - "_incorrectTitle" => "Merci d'indiquer un nom de page.", - "_pageSaved" => "Page sauvegardée", - "_editPage" => "Modification de la page", - "_addPage" => "Ajouter une nouvelle page", - "_fillTitle" => "Saisissez un titre pour cette page", - "_cancel" => "Annuler", - "_save" => "Sauvegarder", - "_noMoreOption" => "Aucune option supplémentaire disponible sur ce module.", -); -?> diff --git a/readme.md b/readme.md deleted file mode 100644 index 03c8c45..0000000 --- a/readme.md +++ /dev/null @@ -1,186 +0,0 @@ -
    - -# AEOS - -### Un CMS léger, portable et sans base de données - -![Version](https://img.shields.io/badge/version-0.6-2f81f7?style=for-the-badge) -![Statut](https://img.shields.io/badge/statut-développement_actif-2ea44f?style=for-the-badge) -![PHP](https://img.shields.io/badge/PHP-777BB4?style=for-the-badge&logo=php&logoColor=white) -![XML](https://img.shields.io/badge/XML-ff6600?style=for-the-badge&logo=xml&logoColor=white) -![Git](https://img.shields.io/badge/versioning-Git-F05032?style=for-the-badge&logo=git&logoColor=white) -![Base de données](https://img.shields.io/badge/base_de_données-aucune-8b5cf6?style=for-the-badge) -![Licence](https://img.shields.io/badge/licence-GNU_GPL-f0b429?style=for-the-badge) - -**AEOS est un CMS libre, léger, multilingue et portable, conçu pour fonctionner simplement sur un hébergement PHP sans base de données.** - -
    - ---- - -## 📖 À propos - -**AEOS** est un système de gestion de contenu écrit en PHP dont les données et la configuration sont enregistrées dans des fichiers XML. - -Le projet privilégie une installation simple, une architecture lisible et une grande portabilité : un site AEOS peut être copié d'un hébergement à un autre sans migration de base de données ni procédure de déploiement complexe. - -AEOS reste volontairement compact. Son objectif n'est pas de rivaliser avec les vastes écosystèmes des CMS généralistes, mais de proposer un moteur **autonome, compréhensible et extensible**, permettant de créer et administrer un site sans dépendances superflues. - ---- - -## ✨ Fonctionnalités - -- gestion des pages et des contenus depuis une interface d'administration ; -- stockage des contenus et de la configuration au format XML ; -- fonctionnement sans serveur de base de données ; -- prise en charge de plusieurs langues avec langue par défaut et mécanisme de repli ; -- détection automatique de la langue du navigateur ; -- système de thèmes, modules et plugins ; -- réécriture et routage des URL configurables ; -- mode maintenance et mode débogage ; -- corbeille pour les contenus supprimés ; -- filtrage centralisé des données entrantes ; -- en-têtes de sécurité et encodage UTF-8 ; -- moteur de recherche intégré aux contenus de type FAQ. - -> Certaines fonctionnalités peuvent différer ou être absentes dans les anciennes versions conservées dans le dépôt. - ---- - -## 🧭 Philosophie - -AEOS repose sur quelques principes simples : - -- **Portable** — les fichiers d'un site peuvent être déplacés sans exporter ni importer une base de données. -- **Léger** — le moteur limite les dépendances et conserve une architecture compacte. -- **Lisible** — le code, les fichiers de configuration et les contenus restent accessibles et compréhensibles. -- **Modulaire** — les fonctionnalités et la présentation sont séparées entre modules, plugins et thèmes. -- **Autonome** — AEOS est pensé pour rester exploitable sur des hébergements PHP classiques, y compris les offres les plus modestes. - ---- - -## 🧰 Prérequis - -AEOS nécessite : - -- un serveur web compatible avec PHP ; -- PHP avec la prise en charge de XML ; -- les droits d'écriture nécessaires dans les répertoires de données utilisés par AEOS ; -- la réécriture d'URL du serveur web si cette fonctionnalité est activée. - -Les versions exactes de PHP prises en charge peuvent varier selon la version d'AEOS utilisée. - ---- - -## 🚀 Installation - -1. Téléchargez la version souhaitée d'AEOS. -2. Copiez son contenu dans le répertoire public de votre hébergement. -3. Ouvrez le site dans un navigateur. -4. Suivez l'assistant présent dans le répertoire `install`. -5. Vérifiez les droits d'écriture demandés pendant l'installation. - -Comme AEOS n'utilise pas de base de données, aucune création de base, importation SQL ou configuration d'un serveur MySQL/MariaDB n'est nécessaire. - ---- - -## 🗂️ Structure du projet - -```text -admin/ Interface d'administration -core/ Cœur et fonctionnement interne d'AEOS -data/ Configuration et contenus XML -install/ Assistant d'installation -lang/ Traductions générales -lib/ Bibliothèques du moteur -modules/ Types de contenus et fonctionnalités -plugins/ Extensions complémentaires -themes/ Présentation du site -``` - -Les modules et les thèmes disposent de leur propre configuration et peuvent inclure leurs fichiers d'édition, leurs ressources internes et leurs traductions. - ---- - -## 🌍 Multilingue - -AEOS peut sélectionner une langue à partir : - -1. de la langue explicitement demandée ; -2. de la langue détectée dans le navigateur ; -3. de la langue par défaut configurée pour le site ; -4. d'une langue disponible utilisée comme solution de repli. - -La configuration, les pages, les modules et les thèmes peuvent ainsi proposer leurs contenus dans plusieurs langues sans dupliquer l'ensemble du site. - ---- - -## 🛡️ Sécurité - -AEOS centralise le traitement des entrées publiques afin que les paramètres reçus ne soient pas employés directement par la logique applicative. - -Le moteur applique également des en-têtes de sécurité et peut restreindre l'accès direct à certains fichiers selon la configuration du serveur web. - -La protection des fichiers XML dépend néanmoins du serveur utilisé. Une configuration adaptée doit être mise en place sur Apache, Nginx ou tout autre serveur afin d'empêcher leur consultation directe depuis le Web. - ---- - -## 🕰️ Historique des versions - -AEOS est un projet ancien dont plusieurs étapes du développement ont été conservées et restaurées dans ce dépôt. - -| Version | État | -| :--- | :--- | -| `v0.1a` | Première version alpha archivée | -| `v0.1.1a` | Version historique | -| `v0.2` | Version historique | -| `v0.3` | Version historique | -| `v0.4` | Version historique | -| `v0.5` | Version historique | -| `v0.6` | Version actuelle | - -Les différentes versions sont conservées sous forme de **tags Git**, permettant de consulter précisément l'état du projet à chaque étape de son développement. - -La branche **`main`** représente la base de développement actuelle. - -Les anciennes versions sont publiées à des fins de **conservation, de documentation et de suivi de l'évolution du projet**. Elles ne sont pas nécessairement adaptées à une utilisation en production. - ---- - -## 🧪 État du développement - -Le développement actuel se poursuit sur la branche **`main`**, avec la version **0.6** comme base de travail. - -Les travaux portent notamment sur : - -- l'amélioration du système multilingue ; -- la recherche et la gestion des contenus ; -- la portabilité ; -- la sécurité des fichiers de données ; -- la modernisation et l'optimisation progressive du moteur. - -L'objectif reste de faire évoluer AEOS sans sacrifier ce qui constitue son identité : **un moteur simple, léger, lisible et indépendant d'une base de données**. - ---- - -## 🤝 Contribution - -Les rapports de bugs, propositions d'amélioration et contributions sont les bienvenus via les tickets et demandes de fusion du dépôt. - -Lors d'une contribution, merci de respecter l'architecture existante, l'ordre de chargement du cœur et les mécanismes internes de sécurisation des entrées. - ---- - -## ⚖️ Licence - -AEOS est un logiciel libre distribué sous licence **GNU General Public License**. - -Consultez le fichier `LICENSE` du dépôt pour connaître les conditions complètes de redistribution et de modification. - ---- - -
    - -**AEOS** — *Simple. Portable. Sans base de données.* - -
    \ No newline at end of file diff --git a/themes/defaut/base.php b/themes/defaut/base.php old mode 100644 new mode 100755 index 401159a..597f708 --- a/themes/defaut/base.php +++ b/themes/defaut/base.php @@ -3,17 +3,19 @@
    +

    +

    - +