Initial commit
This commit is contained in:
commit
998d011cd3
233 changed files with 36893 additions and 0 deletions
28
onyx/modules/chconfig/__config.class.php
Normal file
28
onyx/modules/chconfig/__config.class.php
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
class __config
|
||||
{
|
||||
//Tableau des variables de la configuration
|
||||
var $vars = array();
|
||||
|
||||
//Tableau des variables d'environnement
|
||||
var $envs = array();
|
||||
|
||||
//Tableau des modules
|
||||
var $modules = array();
|
||||
|
||||
function __construct($xml = null)
|
||||
{
|
||||
if (isset($xml))
|
||||
{
|
||||
$this->vars = parse_config($xml, "var", "name");
|
||||
$this->envs = parse_config($xml, "env", "option");
|
||||
|
||||
foreach($xml->getElementsByTagName('module') as $module)
|
||||
$this->modules[$module->getAttribute('name')] = parse_config($module, "option", "name");
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
110
onyx/modules/chconfig/chconfig.class.php
Normal file
110
onyx/modules/chconfig/chconfig.class.php
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?php
|
||||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
class chConfig
|
||||
{
|
||||
//Adresse vers le fichier de configuration en cours de modification
|
||||
private $_filename;
|
||||
|
||||
//Le site est-il actif ?
|
||||
var $active = 1;
|
||||
|
||||
//Adresse absolue vers le dossier principal
|
||||
var $root;
|
||||
|
||||
//Activer le cache ?
|
||||
var $cache = 1;
|
||||
|
||||
//Liste des configurations en fonction des fichiers
|
||||
var $configs;
|
||||
|
||||
|
||||
// Constructeur qui charge le fichier de configuration
|
||||
function __construct($filename = null)
|
||||
{
|
||||
if (!empty($filename))
|
||||
$this->_filename = $filename;
|
||||
else
|
||||
$this->_filename = ONYX."config/root.xml";
|
||||
|
||||
//On charge le fichier
|
||||
$xml = new DOMDocument();
|
||||
$xml->load($this->_filename);
|
||||
|
||||
$this->active = $xml->documentElement->getAttribute('active');
|
||||
$this->root = $xml->documentElement->getAttribute('root');
|
||||
$this->cache = $xml->documentElement->getAttribute('cache');
|
||||
|
||||
$this->configs = array();
|
||||
|
||||
foreach($xml->getElementsByTagName('config') as $value)
|
||||
{
|
||||
$this->configs[$value->getAttribute('match')] = new __config($value);
|
||||
}
|
||||
}
|
||||
|
||||
function addConfig($config)
|
||||
{
|
||||
$this->configs[$config] = new __config();
|
||||
}
|
||||
|
||||
function addVar($name, $value, $config = "*")
|
||||
{
|
||||
$this->configs[$config]->vars[$name] = $value;
|
||||
}
|
||||
|
||||
function addEnv($option, $value, $config = "*")
|
||||
{
|
||||
$this->configs[$config]->envs[$option] = $value;
|
||||
}
|
||||
|
||||
function addModule($name, $config = "*")
|
||||
{
|
||||
$this->configs[$config]->modules[$name] = array();
|
||||
}
|
||||
|
||||
function addModuleOption($moduleName, $name, $value, $config = "*")
|
||||
{
|
||||
$this->configs[$config]->modules[$moduleName][$name] = $value;
|
||||
}
|
||||
|
||||
//Fonction qui écrit le fichier
|
||||
function write()
|
||||
{
|
||||
$xml = new DOMDocument('1.0', 'UTF-8');
|
||||
$xml->formatOutput = true;
|
||||
|
||||
$xml_configs = $xml->createElement("configs");
|
||||
$xml_configs->setAttribute("active", $this->active);
|
||||
$xml_configs->setAttribute("root", $this->root);
|
||||
$xml_configs->setAttribute("cache", $this->cache);
|
||||
|
||||
foreach($this->configs as $match => $config)
|
||||
{
|
||||
$xml_config = $xml->createElement("config");
|
||||
$xml_config->setAttribute("match", $match);
|
||||
|
||||
//On écrit les variables
|
||||
chConfig::unparse_config($xml, $xml_config, $config->vars, "var", "name");
|
||||
chConfig::unparse_config($xml, $xml_config, $config->envs, "env", "option");
|
||||
|
||||
//On écrit les modules
|
||||
if (is_array($config->modules))
|
||||
foreach($config->modules as $mod_name => $module)
|
||||
{
|
||||
$xml_module = $xml->createElement("module");
|
||||
$xml_module->setAttribute("name", $mod_name);
|
||||
chConfig::unparse_config($xml, $xml_module, $module, "option", "name");
|
||||
$xml_config->appendChild($xml_module);
|
||||
}
|
||||
|
||||
$xml_configs->appendChild($xml_config);
|
||||
}
|
||||
|
||||
$xml->appendChild($xml_configs);
|
||||
|
||||
$xml->save($this->_filename);
|
||||
}
|
||||
}
|
||||
?>
|
||||
57
onyx/modules/chconfig/chmodules.class.php
Normal file
57
onyx/modules/chconfig/chmodules.class.php
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
class chModules
|
||||
{
|
||||
//Adresse vers le fichier de configuration en cours de modification
|
||||
private $_filename;
|
||||
|
||||
//Liste des modules
|
||||
var $modules = array();
|
||||
|
||||
|
||||
// Constructeur qui charge le fichier de modules
|
||||
function __construct($filename = null)
|
||||
{
|
||||
if (!empty($filename))
|
||||
$this->_filename = $filename;
|
||||
else
|
||||
$this->_filename = ONYX."modules/modules.xml";
|
||||
|
||||
//On charge le fichier
|
||||
$xml = new DOMDocument();
|
||||
$xml->load($this->_filename);
|
||||
|
||||
foreach($xml->getElementsByTagName('module') as $value)
|
||||
{
|
||||
$this->modules[$value->getAttribute('name')] = parse_config($value->getElementsByTagName("default")->item(0), "option", "name");
|
||||
}
|
||||
}
|
||||
|
||||
function write()
|
||||
{
|
||||
$xml = new DOMDocument('1.0', 'UTF-8');
|
||||
$xml->formatOutput = true;
|
||||
|
||||
$xml_modules = $xml->createElement("modules");
|
||||
|
||||
foreach($this->modules as $name => $module)
|
||||
{
|
||||
$xml_module = $xml->createElement("module");
|
||||
$xml_module->setAttribute("name", $name);
|
||||
|
||||
$xml_def = $xml->createElement("default");
|
||||
unparse_config($xml, $xml_def, $module, "option", "name");
|
||||
|
||||
$xml_module->appendChild($xml_def);
|
||||
$xml_modules->appendChild($xml_module);
|
||||
}
|
||||
|
||||
$xml->appendChild($xml_modules);
|
||||
|
||||
return $xml;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
65
onyx/modules/chconfig/main.php
Normal file
65
onyx/modules/chconfig/main.php
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<?php
|
||||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
function unparse_config($create, $xml, $array, $node = 'var', $attribut = 'name')
|
||||
{
|
||||
if (is_array($array))
|
||||
foreach($array as $name => $var)
|
||||
{
|
||||
if (is_array($var))
|
||||
{
|
||||
$xml_var = $create->createElement($node);
|
||||
$xml_var->setAttribute($attribut, $name);
|
||||
|
||||
unparse_config($create, $xml_var, $var, $node, $attribut);
|
||||
|
||||
$xml->appendChild($xml_var);
|
||||
}
|
||||
else
|
||||
{
|
||||
$xml_var = $create->createElement($node, $var);
|
||||
$xml_var->setAttribute($attribut, $name);
|
||||
$xml->appendChild($xml_var);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require_once("__config.class.php");
|
||||
require_once("chconfig.class.php");
|
||||
require_once("chmodules.class.php");
|
||||
|
||||
function chconfig($type, $file = null)
|
||||
{
|
||||
$sortie = "";
|
||||
|
||||
if ($type == "modules")
|
||||
{
|
||||
$sortie .= '<h1>Modification des paramètres de modules</h1><form action="?t=modules" method="post">';
|
||||
|
||||
//On charge ce qu'on veut afficher
|
||||
$mods = new chModules($file);
|
||||
|
||||
$sortie .= '</form>';
|
||||
}
|
||||
elseif ($type == "bdd")
|
||||
{
|
||||
$sortie .= "<h1>Modification des paramètres de base de données</h1>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sortie .= "<h1>Modification des paramètres de configuration</h1>";
|
||||
}
|
||||
|
||||
return $sortie;
|
||||
}
|
||||
|
||||
//Affichage automatique
|
||||
if (!empty($OPT["show"]))
|
||||
{
|
||||
echo "<html><head><title>Modification des paramètres d'Onyx2</title></head><body>";
|
||||
echo chconfig(gpc("t"));
|
||||
echo "</body></html>";
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
Reference in a new issue