J'ai developpé sous Pluxml, CMS blog et basé uniquement sur des fichiers XML, des modules qui permettent :
- la gestion des liens externes = topic ici
- la gestion des utilisateurs (avec plusieurs niveaux) = topic ici
Ces deux modules sont inspirés des fonctions de Pluxml et respectent donc "la politique" de ce script léger et rapide
Une petite modification cependant dans la stratégie des variables de sessions de l'administration pour le module "utilisateurs"
// Fonction d'édition des liens externes function editLiens($content){ $content = unslash($content); $xml = "\n\n"; foreach($content as $lien_num => $lien_name){ if(is_numeric($lien_num) & trim($lien_name) != ''){ $lien_ord = trim($content[$lien_num.'_ord']); $lien_url = trim($content[$lien_num.'_url']); $xml .= "\t "; if(write($xml, PLX_DOC.$this->config['liens'])){ return 'Liens modifiées'; }else{ return 'Erreur dans la modification du fichier '.PLX_DOC.$this->config['liens']; } }".amp($lien_name)." \n"; } } $xml .= "
// Fonction qui parse le fichier des utilisateurs et qui retourne un tableau function getUsers($url_file){ $data = implode("",file($url_file)); $parser = xml_parser_create('ISO-8859-1'); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0); xml_parse_into_struct($parser,$data,$valeurs,$index_tags); xml_parser_free($parser); if(isset($index_tags['user'])){ for($i=0;$i < count($index_tags['user']);$i++) { $array[$valeurs[$index_tags['user'][$i]]['attributes']['number']]['login'] = $valeurs[$index_tags['user'][$i]]['attributes']['login']; $array[$valeurs[$index_tags['user'][$i]]['attributes']['number']]['type'] = $valeurs[$index_tags['user'][$i]]['attributes']['type']; $array[$valeurs[$index_tags['user'][$i]]['attributes']['number']]['actif'] = $valeurs[$index_tags['user'][$i]]['attributes']['actif']; $array[$valeurs[$index_tags['user'][$i]]['attributes']['number']]['pwd'] = $valeurs[$index_tags['user'][$i]]['value']; } return $array; } }