Esempio n. 1
0
 public function __construct($fichier)
 {
     $xml_struct = new xml_struct();
     $ret = $xml_struct->ouvrir($fichier);
     if ($ret) {
         $this->fichier = $fichier;
         $nb_dates = $xml_struct->compter_elements(_MODULE_RESA_DATE);
         for ($cpt = 0; $cpt < $nb_dates; $cpt++) {
             $xml_struct->pointer_sur_balise(_MODULE_RESA_DATE);
             $date = $xml_struct->lire_n($cpt);
             if (strlen($date) > 0) {
                 list($jour, $mois, $an) = explode("/", $date);
                 $date_tag = (int) mktime(0, 0, 0, (int) $mois, (int) $jour, (int) $an);
                 $statut = $xml_struct->lire_n_attribut(_MODULE_RESA_ATTR_STATUT, $cpt);
                 if (strlen($statut) > 0) {
                     $partie = $xml_struct->lire_n_attribut(_MODULE_RESA_ATTR_PARTIE, $cpt);
                     if (!strcmp($partie, _MODULE_RESA_ATTR_PARTIE_AM)) {
                         $this->statuts_am[$date_tag] = $statut;
                     } elseif (!strcmp($partie, _MODULE_RESA_ATTR_PARTIE_PM)) {
                         $this->statuts_pm[$date_tag] = $statut;
                     } else {
                         $this->statuts_am[$date_tag] = $statut;
                         $this->statuts_pm[$date_tag] = $statut;
                     }
                 }
             }
             $xml_struct->pointer_sur_origine();
         }
     }
 }
Esempio n. 2
0
 public function ouvrir($nom)
 {
     $xml_doc = new xml_struct();
     $ret = $xml_doc->ouvrir($nom);
     if ($ret) {
         // Traitement des documents
         $nb_docs = $xml_doc->compter_elements(_DOCUMENT_DOC);
         $xml_doc->pointer_sur_balise(_DOCUMENT_DOC);
         for ($cpt = 0; $cpt < $nb_docs; $cpt++) {
             $nom = $xml_doc->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $fichier = $xml_doc->lire_n_valeur(_DOCUMENT_DOC_FICHIER, $cpt);
                 $info = $xml_doc->lire_n_valeur(_DOCUMENT_DOC_INFO, $cpt);
                 $legende = $xml_doc->lire_n_valeur(_DOCUMENT_DOC_LEGENDE, $cpt);
                 // Création de l'objet document si le nom de fichier n'est pas vide
                 if (strlen($fichier) > 0) {
                     $doc = new document();
                     $doc->set_fichier(_XML_PATH_FICHIERS . $fichier);
                     $doc->ins_info($info);
                     $doc->ins_legende($legende);
                     $this->docs[$nom] = $doc;
                 }
             }
         }
     }
     return $ret;
 }
Esempio n. 3
0
 function ouvrir($source, $nom, $suffixe = null)
 {
     $xml_media = new xml_struct();
     $ret = $xml_media->ouvrir($nom);
     if ($ret) {
         // Traitement des styles de légende
         $nb_styles = $xml_media->compter_elements(_MEDIA_STYLE_LEGENDE);
         $xml_media->pointer_sur_balise(_MEDIA_STYLE_LEGENDE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_media->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $marge_haut = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_MARGE_HAUT, $cpt);
                 $marge_bas = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_MARGE_BAS, $cpt);
                 $marge_gauche = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_MARGE_GAUCHE, $cpt);
                 $marge_droite = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_MARGE_DROITE, $cpt);
                 $lien_souligne = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_LIEN_SOULIGNE, $cpt);
                 $niveau_titre = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_NIVEAU_TITRE, $cpt);
                 $survol = $xml_media->lire_n_valeur(_MEDIA_STYLE_LEGENDE_SURVOL, $cpt);
                 // Création de l'objet images
                 $style = new style_media($nom);
                 $style->load($xml_media, $cpt);
                 $style->set_marge_haut($marge_haut);
                 $style->set_marge_bas($marge_bas);
                 $style->set_marge_gauche($marge_gauche);
                 $style->set_marge_droite($marge_droite);
                 $style->set_lien_souligne($lien_souligne);
                 $style->set_niveau_titre($niveau_titre);
                 $style->set_survol($survol);
                 $this->styles[$nom] = $style;
             }
         }
         // Traitement des images
         $xml_media->pointer_sur_origine();
         $nb_images = $xml_media->compter_elements(_MEDIA_IMAGE);
         $xml_media->pointer_sur_balise(_MEDIA_IMAGE);
         for ($cpt = 0; $cpt < $nb_images; $cpt++) {
             $nom = $xml_media->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $fichier = $xml_media->lire_n_valeur(_MEDIA_IMAGE_SRC, $cpt);
                 if (strlen($fichier) > 0) {
                     list($base, $extension) = $this->parser_extension($fichier);
                     $version = $this->parser_version(_XML_PATH_IMAGES_SITE, _XML_PATH_IMAGES_REDUITES_SITE, $base, $extension);
                     $src_reduite = sprintf("%s%s-v%03d%s", _XML_PATH_IMAGES_REDUITES_SITE, $base, $version, $extension);
                     $src = sprintf("%s%s-v%03d%s", _XML_PATH_IMAGES_SITE, $base, $version, $extension);
                     $dest_reduite = sprintf("%s%s-v%03d%s", _XML_PATH_IMAGES_REDUITES_SITE, $base, (int) $version + 1, $extension);
                     $dest = sprintf("%s%s-v%03d%s", _XML_PATH_IMAGES_SITE, $base, (int) $version + 1, $extension);
                     // Vérifications
                     $image = new img_media($source, $nom);
                     $image->load($xml_media, $cpt);
                     $legende = $xml_media->lire_n_valeur(_MEDIA_IMAGE_LEGENDE, $cpt);
                     // En cas de légende on va lire l'attribut de style
                     if (strlen($legende) > 0) {
                         $xml_media->creer_repere($nom);
                         $xml_media->pointer_sur_index($cpt);
                         $xml_media->pointer_sur_balise(_MEDIA_IMAGE_LEGENDE);
                         $nom_style = $xml_media->lire_attribut(_XML_STYLE);
                         $xml_media->pointer_sur_repere($nom);
                     } else {
                         $nom_style = null;
                     }
                     $copyright = $xml_media->lire_n_valeur(_MEDIA_IMAGE_COPYRIGHT, $cpt);
                     $image->set_src($src);
                     $image->set_src_reduite($src_reduite);
                     $image->set_dest($dest);
                     $image->set_dest_reduite($dest_reduite);
                     $image->set_legende($legende);
                     $key_copy = strlen($suffixe) > 0 ? $copyright . "_" . $suffixe : $copyright;
                     $image->set_copyright($key_copy);
                     $image->set_base($base);
                     $image->set_version($version);
                     if (!@file_exists($src)) {
                         $image->set_vide();
                     }
                     list($width, $height) = @getimagesize($src);
                     $image->set_width($width);
                     $image->set_height($height);
                     $image->set_style_legende($nom_style);
                     $key = strlen($suffixe) > 0 ? $nom . "_" . $suffixe : $nom;
                     $this->images[$key] = $image;
                 }
             }
         }
         // Traitement des galeries
         $xml_media->pointer_sur_origine();
         $nb_gals = $xml_media->compter_elements(_MEDIA_GALERIE);
         $xml_media->pointer_sur_balise(_MEDIA_GALERIE);
         $xml_media->creer_repere(_MEDIA_GALERIE);
         for ($cpt = 0; $cpt < $nb_gals; $cpt++) {
             $xml_media->pointer_sur_repere(_MEDIA_GALERIE);
             $xml_media->pointer_sur_index($cpt);
             $nom = (string) $xml_media->lire_attribut(_XML_NOM);
             if (strlen($nom) > 0) {
                 $nb_elems = $xml_media->compter_elements(_MEDIA_GALERIE_ELEMENT);
                 if ($nb_elems > 0) {
                     $gal = new galerie_media();
                     for ($cpt_elem = 0; $cpt_elem < $nb_elems; $cpt_elem++) {
                         $valeur = $xml_media->lire_valeur_n(_MEDIA_GALERIE_ELEMENT, $cpt_elem);
                         $gal->ajouter_elem((string) $valeur);
                     }
                     $this->galeries[$nom] = $gal;
                 }
             }
         }
     }
     return $ret;
 }
Esempio n. 4
0
 public function ouvrir($nom)
 {
     $xml_style = new xml_struct();
     $ret = $xml_style->ouvrir($nom);
     if ($ret) {
         // Traitement des styles de contenu
         $nb_styles = $xml_style->compter_elements(_STYLE_CONTENU);
         $xml_style->pointer_sur_balise(_STYLE_CONTENU);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_contenu($nom);
                 $style->load($xml_style, $cpt);
                 $this->styles_contenus[$nom] = $style;
             }
         }
         // Traitement des styles de bloc
         $xml_style->pointer_sur_origine();
         $nb_styles = $xml_style->compter_elements(_STYLE_BLOC);
         $xml_style->pointer_sur_balise(_STYLE_BLOC);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_bloc($nom);
                 $style->load($xml_style, $cpt);
                 $bordure = $xml_style->lire_n_valeur(_STYLE_BLOC_BORDURE, $cpt);
                 // En cas de bordure on va lire le type de bordure
                 if (strlen($bordure) > 0) {
                     $xml_style->creer_repere($nom);
                     $xml_style->pointer_sur_index($cpt);
                     $xml_style->pointer_sur_balise(_STYLE_BLOC_BORDURE);
                     $type_bordure = $xml_style->lire_attribut(_STYLE_BLOC_ATTR_TYPE_BORDURE);
                     $xml_style->pointer_sur_repere($nom);
                 } else {
                     $type_bordure = null;
                 }
                 $style->set_bordure($bordure);
                 $style->set_type_bordure($type_bordure);
                 $this->styles_blocs[$nom] = $style;
             }
         }
         // Traitement des styles de puce
         $xml_style->pointer_sur_origine();
         $nb_styles = $xml_style->compter_elements(_STYLE_PUCE);
         $xml_style->pointer_sur_balise(_STYLE_PUCE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_puce();
                 $style->load($xml_style, $cpt);
                 $this->styles_puces[$nom] = $style;
             }
         }
         // Traitement des styles de texte
         $xml_style->pointer_sur_origine();
         $nb_styles = $xml_style->compter_elements(_STYLE_TEXTE);
         $xml_style->pointer_sur_balise(_STYLE_TEXTE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_texte();
                 $style->load($xml_style, $cpt);
                 $alignement = $xml_style->lire_n_valeur(_XML_ALIGNEMENT, $cpt);
                 $decoration = $xml_style->lire_n_valeur(_STYLE_TEXTE_DECORATION, $cpt);
                 $police = $xml_style->lire_n_valeur(_STYLE_TEXTE_POLICE, $cpt);
                 // En cas de police on va lire la source et la famille de la police
                 if (strlen($police) > 0) {
                     $xml_style->creer_repere($nom);
                     $xml_style->pointer_sur_index($cpt);
                     $xml_style->pointer_sur_balise(_STYLE_TEXTE_POLICE);
                     $src_police = $xml_style->lire_attribut(_STYLE_TEXTE_ATTR_POLICE_SOURCE);
                     $famille_police = $xml_style->lire_attribut(_STYLE_TEXTE_ATTR_POLICE_FAMILLE);
                     $xml_style->pointer_sur_repere($nom);
                 } else {
                     $src_police = null;
                     $famille_police = null;
                 }
                 $style->set_police($police, $famille_police, $src_police);
                 $style->set_alignement($alignement);
                 $style->set_decoration($decoration);
                 $this->styles_textes[$nom] = $style;
             }
         }
         // Traitement des styles de formulaire
         $xml_style->pointer_sur_origine();
         $nb_styles = $xml_style->compter_elements(_STYLE_FORMULAIRE);
         $xml_style->pointer_sur_balise(_STYLE_FORMULAIRE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_formulaire();
                 $style->load($xml_style, $cpt);
                 $this->styles_formulaires[$nom] = $style;
             }
         }
         // Traitement des styles d'actualité
         $xml_style->pointer_sur_origine();
         $nb_styles = $xml_style->compter_elements(_STYLE_ACTUALITE);
         $xml_style->pointer_sur_balise(_STYLE_ACTUALITE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_style->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 // Création du style d'actualité
                 $style = new style_actu();
                 $style->load($xml_style, $cpt);
                 $this->styles_actus[$nom] = $style;
             }
         }
     }
     return $ret;
 }
Esempio n. 5
0
 public function ouvrir($nom_config, $en_ligne)
 {
     $xml_analitix = new xml_struct();
     $ret = $xml_analitix->ouvrir(_XML_PATH . _XML_ANALITIX . _XML_EXT);
     if ($ret) {
         // Traitement de la configuration
         $nb_config = $xml_analitix->compter_elements(_ANALITIX_CONFIG);
         $xml_analitix->pointer_sur_balise(_ANALITIX_CONFIG);
         $xml_analitix->creer_repere(_ANALITIX_CONFIG);
         for ($cpt = 0; $cpt < $nb_config; $cpt++) {
             $xml_analitix->pointer_sur_repere(_ANALITIX_CONFIG);
             $xml_analitix->pointer_sur_index($cpt);
             $nom_attr = (string) $xml_analitix->lire_attribut(_XML_NOM);
             if (!strcmp($nom_config, $nom_attr)) {
                 $this->nom_config = $nom_config;
                 $this->nom_fitre_ip = $xml_analitix->lire_n_valeur(_ANALITIX_CONFIG_FILTRE_IP, $cpt);
                 $this->nom_fitre_pays = $xml_analitix->lire_n_valeur(_ANALITIX_CONFIG_FILTRE_PAYS, $cpt);
                 $this->nom_fitre_ref = $xml_analitix->lire_n_valeur(_ANALITIX_CONFIG_FILTRE_REFERENTS, $cpt);
                 $param_anonymisation = strtolower(trim($xml_analitix->lire_n_valeur(_ANALITIX_CONFIG_ANONYMISATION_IP, $cpt)));
                 $this->anonymisation_ip = strcmp($param_anonymisation, _XML_FALSE) ? true : false;
                 $param_dnt = strtolower(trim($xml_analitix->lire_n_valeur(_ANALITIX_CONFIG_RESPECT_DNT, $cpt)));
                 $this->respect_dnt = strcmp($param_dnt, _XML_FALSE) ? true : false;
                 break;
             }
         }
         // Traitement des listes d'IP
         if (strlen($this->nom_fitre_ip) > 0) {
             $xml_analitix->pointer_sur_origine();
             $nb_liste_ip = $xml_analitix->compter_elements(_ANALITIX_LISTE_IP);
             $xml_analitix->pointer_sur_balise(_ANALITIX_LISTE_IP);
             $xml_analitix->creer_repere(_ANALITIX_LISTE_IP);
             for ($cpt = 0; $cpt < $nb_liste_ip; $cpt++) {
                 $xml_analitix->pointer_sur_repere(_ANALITIX_LISTE_IP);
                 $xml_analitix->pointer_sur_index($cpt);
                 $nom_attr = (string) $xml_analitix->lire_attribut(_XML_NOM);
                 if (!strcmp($this->nom_fitre_ip, $nom_attr)) {
                     $nb_ip = $xml_analitix->compter_elements(_ANALITIX_IP);
                     for ($cpt_ip = 0; $cpt_ip < $nb_ip; $cpt_ip++) {
                         $valeur = $xml_analitix->lire_valeur_n(_ANALITIX_IP, $cpt_ip);
                         $this->liste_ip[] = $valeur;
                     }
                     break;
                 }
             }
         }
         // Traitement des listes de pays
         if (strlen($this->nom_fitre_pays) > 0) {
             $xml_analitix->pointer_sur_origine();
             $nb_liste_pays = $xml_analitix->compter_elements(_ANALITIX_LISTE_PAYS);
             $xml_analitix->pointer_sur_balise(_ANALITIX_LISTE_PAYS);
             $xml_analitix->creer_repere(_ANALITIX_LISTE_PAYS);
             for ($cpt = 0; $cpt < $nb_liste_pays; $cpt++) {
                 $xml_analitix->pointer_sur_repere(_ANALITIX_LISTE_PAYS);
                 $xml_analitix->pointer_sur_index($cpt);
                 $nom_attr = (string) $xml_analitix->lire_attribut(_XML_NOM);
                 if (!strcmp($this->nom_fitre_pays, $nom_attr)) {
                     $nb_pays = $xml_analitix->compter_elements(_ANALITIX_PAYS);
                     for ($cpt_pays = 0; $cpt_pays < $nb_pays; $cpt_pays++) {
                         $valeur = $xml_analitix->lire_valeur_n(_ANALITIX_PAYS, $cpt_pays);
                         $this->liste_pays[] = $valeur;
                     }
                     break;
                 }
             }
         }
         // Traitement des listes de référents
         if (strlen($this->nom_fitre_ref) > 0) {
             $xml_analitix->pointer_sur_origine();
             $nb_liste_ref = $xml_analitix->compter_elements(_ANALITIX_LISTE_REFERENTS);
             $xml_analitix->pointer_sur_balise(_ANALITIX_LISTE_REFERENTS);
             $xml_analitix->creer_repere(_ANALITIX_LISTE_REFERENTS);
             for ($cpt = 0; $cpt < $nb_liste_ref; $cpt++) {
                 $xml_analitix->pointer_sur_repere(_ANALITIX_LISTE_REFERENTS);
                 $xml_analitix->pointer_sur_index($cpt);
                 $nom_attr = (string) $xml_analitix->lire_attribut(_XML_NOM);
                 if (!strcmp($this->nom_fitre_ref, $nom_attr)) {
                     $nb_ref = $xml_analitix->compter_elements(_ANALITIX_REFERENT);
                     for ($cpt_ref = 0; $cpt_ref < $nb_ref; $cpt_ref++) {
                         $valeur = $xml_analitix->lire_valeur_n(_ANALITIX_REFERENT, $cpt_ref);
                         $this->liste_ref[] = filter_var($valeur, FILTER_SANITIZE_URL);
                     }
                     break;
                 }
             }
         }
     }
     return $ret;
 }
Esempio n. 6
0
 public function ouvrir($nom)
 {
     $xml_site = new xml_struct();
     $ret = $xml_site->ouvrir($nom);
     if ($ret) {
         // Lecture des modules
         $nb_modules = $xml_site->compter_elements(_SITE_MODULE);
         for ($cpt_module = 0; $cpt_module < $nb_modules; $cpt_module++) {
             $module = $xml_site->lire_valeur_n(_SITE_MODULE, $cpt_module);
             $this->modules[] = $module;
         }
         // Lecture des langues
         $nb_langues = $xml_site->compter_elements(_SITE_LANGUE);
         for ($cpt_langue = 0; $cpt_langue < $nb_langues; $cpt_langue++) {
             $code_langue = $xml_site->lire_valeur_n(_SITE_LANGUE, $cpt_langue);
             $this->codes_langues[] = $code_langue;
         }
         // Lecture du plan du site
         $has_plan = $xml_site->compter_elements(_SITE_PLAN) > 0;
         if ($has_plan) {
             $xml_site->pointer_sur_balise(_SITE_PLAN);
             $nb_pages = $xml_site->compter_elements(_SITE_PLAN_PAGE);
             $xml_site->pointer_sur_balise(_SITE_PLAN_PAGE);
             $cpt_ref = 0;
             for ($cpt = 0; $cpt < $nb_pages; $cpt++) {
                 $ref = $xml_site->lire_n_attribut(_SITE_PLAN_PAGE_ATTR_REF, $cpt);
                 if (strlen($ref) > 0) {
                     $nom = $xml_site->lire_n_valeur(_SITE_PLAN_PAGE_NOM, $cpt);
                     $touche = $xml_site->lire_n_valeur(_SITE_PLAN_PAGE_TOUCHE, $cpt);
                     $parent = $xml_site->lire_n_valeur(_SITE_PLAN_PAGE_PARENT, $cpt);
                     $this->plan[$cpt_ref][_SITE_PLAN_PAGE_ATTR_REF] = $ref;
                     $this->plan[$cpt_ref][_SITE_PLAN_PAGE_NOM] = $nom;
                     $this->plan[$cpt_ref][_SITE_PLAN_PAGE_TOUCHE] = $touche;
                     $this->plan[$cpt_ref][_SITE_PLAN_PAGE_PARENT] = $parent;
                     $cpt_ref += 1;
                 }
             }
             $xml_site->pointer_sur_origine();
         }
         // Liens sociaux
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_FACEBOOK);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_FACEBOOK] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_TWITTER);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_TWITTER] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_GOOGLE_PLUS);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_GOOGLE_PLUS] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_PINTEREST);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_PINTEREST] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_TUMBLR);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_TUMBLR] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_INSTAGRAM);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_INSTAGRAM] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_LINKEDIN);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_LINKEDIN] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_YOUTUBE);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_YOUTUBE] = $lien;
         }
         $lien = $xml_site->lire_valeur(_SITE_SOCIAL_FLICKR);
         if (strlen($lien) > 0) {
             $this->social[_SITE_SOCIAL_FLICKR] = $lien;
         }
         // Autres éléments du fichier general.xml
         $this->ins_url_racine($xml_site->lire_valeur(_SITE_RACINE));
         $this->ins_proprietaire($xml_site->lire_valeur(_SITE_PROPRIETAIRE));
         $this->ins_adresse($xml_site->lire_valeur(_SITE_ADR_PROPRIETAIRE));
         $this->ins_telephone($xml_site->lire_valeur(_SITE_TEL_PROPRIETAIRE));
         $this->ins_rcs($xml_site->lire_valeur(_SITE_RCS_PROPRIETAIRE));
         $this->ins_siret($xml_site->lire_valeur(_SITE_SIRET_PROPRIETAIRE));
         $this->ins_redacteur($xml_site->lire_valeur(_SITE_REDACTEUR));
         $this->ins_hebergeur($xml_site->lire_valeur(_SITE_HEBERGEUR));
         $this->ins_cnil($xml_site->lire_valeur(_SITE_CNIL));
         $loi_cookie = $xml_site->lire_valeur(_SITE_LOI_COOKIE);
         if (strlen($loi_cookie) > 0) {
             if (strcmp($loi_cookie, _SITE_ATTR_LOI_COOKIE_MOYEN) && strcmp($loi_cookie, _SITE_ATTR_LOI_COOKIE_FORT)) {
                 $this->loi_cookie = _SITE_ATTR_LOI_COOKIE_FAIBLE;
             } else {
                 $this->loi_cookie = $loi_cookie;
             }
         }
         $this->ins_pied_de_page($xml_site->lire_valeur(_SITE_PIED_DE_PAGE));
         // Elements du fichier site.xml
         $this->set_style_titre_1($xml_site->lire_valeur(_SITE_STYLE_TITRE_1));
         $this->set_style_titre_2($xml_site->lire_valeur(_SITE_STYLE_TITRE_2));
         $this->set_style_titre_3($xml_site->lire_valeur(_SITE_STYLE_TITRE_3));
         $this->set_style_paragraphe($xml_site->lire_valeur(_SITE_STYLE_TEXTE));
         $this->set_couleur_exterieur($xml_site->lire_valeur(_SITE_COULEUR_EXTERIEUR));
         $this->set_motif_exterieur($xml_site->lire_valeur(_SITE_MOTIF_EXTERIEUR));
         $this->set_papierpeint_exterieur($xml_site->lire_valeur(_SITE_PAPIERPEINT_EXTERIEUR));
         $this->set_couleur_interieur($xml_site->lire_valeur(_SITE_COULEUR_INTERIEUR));
         $this->set_motif_interieur($xml_site->lire_valeur(_SITE_MOTIF_INTERIEUR));
         $this->set_largeur($xml_site->lire_valeur(_SITE_LARGEUR));
         $this->set_largeur_max($xml_site->lire_valeur(_SITE_LARGEUR_MAX));
         $this->set_largeur_responsive($xml_site->lire_valeur(_SITE_LARGEUR_RESPONSIVE));
         $this->set_largeur_min($xml_site->lire_valeur(_SITE_LARGEUR_MIN));
     }
     return $ret;
 }
Esempio n. 7
0
 private function ecrire_journal()
 {
     $nom_journal = _XML_PATH_MAIL . _XML_MAIL_JOURNAL . _XML_EXT;
     $nom_modele_journal = _XML_PATH_INTERNE . _XML_MAIL_MODELE_JOURNAL . _XML_EXT;
     $this->anti_flooding = @copy($nom_modele_journal, $nom_journal);
     if ($this->anti_flooding) {
         $xml_journal = new xml_struct();
         $this->anti_flooding = $xml_journal->ouvrir($nom_journal);
     }
     if ($this->anti_flooding) {
         @chmod($nom_journal, 0600);
         $horodatage_reference = time();
         foreach ($this->tab_journal as $adr_ip => $obj_ip) {
             $horodatage_echec = $obj_ip->get_horodatage_echec();
             $horodatage_succes = $obj_ip->get_horodatage_succes();
             $comptage_envois = $obj_ip->get_comptage_envois();
             $delai_echec = $horodatage_reference - $horodatage_echec;
             $delai_succes = $horodatage_reference - $horodatage_succes;
             // Les infos datant de plus de 24 heures sont purgées
             if ($delai_echec <= 86400 || $delai_succes <= 86400) {
                 $xml_journal->pointer_sur_origine();
                 $xml_journal->add_balise($adr_ip);
                 $xml_journal->pointer_sur_balise($adr_ip);
                 $xml_journal->add_balise_valeur(_MAIL_FLOOD_HORODATAGE_ECHEC, $horodatage_echec);
                 $xml_journal->add_balise_valeur(_MAIL_FLOOD_HORODATAGE_SUCCES, $horodatage_succes);
                 $xml_journal->add_balise_valeur(_MAIL_FLOOD_COMPTAGE_ENVOIS, $comptage_envois);
             }
         }
         $xml_journal->pointer_sur_origine();
         $xml_journal->enregistrer($nom_journal);
     }
 }
Esempio n. 8
0
 public function ouvrir($nom)
 {
     $xml_menu = new xml_struct();
     $ret = $xml_menu->ouvrir($nom);
     if ($ret) {
         // Traitement des styles
         $nb_styles = $xml_menu->compter_elements(_MENU_STYLE);
         $xml_menu->pointer_sur_balise(_MENU_STYLE);
         for ($cpt = 0; $cpt < $nb_styles; $cpt++) {
             $nom = $xml_menu->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $style = new style_menu();
                 $style->load($xml_menu, $cpt);
                 $this->styles[$nom] = $style;
             }
         }
         // Traitement des items
         $xml_menu->pointer_sur_origine();
         $nb_items = $xml_menu->compter_elements(_MENU_ITEM);
         $xml_menu->pointer_sur_balise(_MENU_ITEM);
         for ($cpt = 0; $cpt < $nb_items; $cpt++) {
             $nom = $xml_menu->lire_n_attribut(_XML_NOM, $cpt);
             if (strlen($nom) > 0) {
                 $item = new item_menu();
                 $item->load($xml_menu, $cpt);
                 $lien = $xml_menu->lire_n_valeur(_XML_LIEN, $cpt);
                 $lien_editable = $xml_menu->lire_n_valeur(_XML_LIEN_EDITABLE, $cpt);
                 // En cas de lien éditable on va lire l'éventuelle liste de cibles
                 if (strlen($lien_editable) > 0) {
                     $xml_menu->creer_repere($nom);
                     $xml_menu->pointer_sur_index($cpt);
                     $xml_menu->pointer_sur_balise(_XML_LIEN_EDITABLE);
                     $nom_liste_cibles = $xml_menu->lire_attribut(_MENU_ATTR_ITEM_LIEN_EDITABLE_LISTE);
                     $xml_menu->pointer_sur_repere($nom);
                 } else {
                     $nom_liste_cibles = null;
                 }
                 if (strlen($lien) > 0) {
                     $item->set_lien($lien);
                 }
                 if (strlen($lien_editable) > 0) {
                     $item->set_lien_editable($lien_editable);
                     $item->set_liste_cibles($nom_liste_cibles);
                 }
                 $style = $xml_menu->lire_n_valeur(_XML_STYLE, $cpt);
                 if (strlen($style) > 0) {
                     if (array_key_exists($style, $this->styles)) {
                         $item->set_style($style);
                     }
                 }
                 $this->items[$nom] = $item;
             }
         }
         // Traitement des menus
         $xml_menu->pointer_sur_origine();
         $nb_menus = $xml_menu->compter_elements(_MENU_MENU);
         $xml_menu->pointer_sur_balise(_MENU_MENU);
         $xml_menu->creer_repere(_MENU_MENU);
         for ($cpt = 0; $cpt < $nb_menus; $cpt++) {
             $xml_menu->pointer_sur_repere(_MENU_MENU);
             $xml_menu->pointer_sur_index($cpt);
             $nom = (string) $xml_menu->lire_attribut(_XML_NOM);
             if (strlen($nom) > 0) {
                 $nb_items = $xml_menu->compter_elements(_MENU_MENU_CHOIX);
                 if ($nb_items > 0) {
                     $menu = new menu();
                     for ($cpt_item = 0; $cpt_item < $nb_items; $cpt_item++) {
                         $valeur = $xml_menu->lire_valeur_n(_MENU_MENU_CHOIX, $cpt_item);
                         $item = $this->get_item((string) $valeur);
                         if ($item) {
                             $menu->ajouter_item((string) $valeur, $item->is_lien_editable());
                         }
                     }
                     $this->menus[$nom] = $menu;
                 }
             }
         }
         // Traitement des listes de cibles pour liens éditables
         $xml_menu->pointer_sur_origine();
         $nb_liste_cibles = $xml_menu->compter_elements(_MENU_LISTE_CIBLES);
         $xml_menu->pointer_sur_balise(_MENU_LISTE_CIBLES);
         $xml_menu->creer_repere(_MENU_LISTE_CIBLES);
         for ($cpt = 0; $cpt < $nb_liste_cibles; $cpt++) {
             $xml_menu->pointer_sur_repere(_MENU_LISTE_CIBLES);
             $xml_menu->pointer_sur_index($cpt);
             $nom = (string) $xml_menu->lire_attribut(_XML_NOM);
             if (strlen($nom) > 0) {
                 $nb_cibles = $xml_menu->compter_elements(_MENU_LISTE_CIBLES_CIBLE);
                 if ($nb_cibles > 0) {
                     $liste_cibles = new liste_cibles();
                     $repere = _MENU_LISTE_CIBLES . "_" . $nom;
                     $xml_menu->creer_repere($repere);
                     for ($cpt_cible = 0; $cpt_cible < $nb_cibles; $cpt_cible++) {
                         $xml_menu->pointer_sur_repere($repere);
                         $valeur = (string) $xml_menu->lire_valeur_n(_MENU_LISTE_CIBLES_CIBLE, $cpt_cible);
                         $xml_menu->pointer_sur_balise_n(_MENU_LISTE_CIBLES_CIBLE, $cpt_cible);
                         $lien = (string) $xml_menu->lire_attribut(_XML_LIEN);
                         $liste_cibles->ajouter_cible($lien, $valeur);
                     }
                     $this->listes_cibles[$nom] = $liste_cibles;
                 }
             }
         }
     }
     return $ret;
 }