diff --git a/gestion/comment_exporter_tableur_vers_cvs.html~ b/gestion/comment_exporter_tableur_vers_cvs.html~ new file mode 100644 index 0000000..63a3fbc --- /dev/null +++ b/gestion/comment_exporter_tableur_vers_cvs.html~ @@ -0,0 +1,19 @@ + +Documentation pour l'importation des langues. + +Depuis https://lite.framacalc.org/9mfo-traduction +
    +
  1. cliquer sur enregistrer
  2. +
  3. choisir "ODS" comme format d'export
  4. +
  5. ouvrir avec "LibreOffice Calc"
  6. +
  7. dans "LibreOffice Calc" , menu "Fichier" => "enregistrer sous ..."
  8. +
  9. sélectionner le dossier dans lequel vous voulez enregistrer le fichier
  10. +
  11. choisir le format "Texte CSV(.csv)"à la place de "Classeur ODF(.ods)" (en bas à droite de la fenêtre)
  12. +
  13. cliquer sur enregistrer
  14. +
  15. cliquer sur "Utiliser le format Texte CSV"
  16. +
  17. sélectionner le Jeu de caractère "Unicode (UTF-8)"
  18. +
  19. dans "Séparateur de champ" sélectionner "|" (barre verticale - AltGr + -)
  20. +
  21. cliquer sur valider
  22. +
  23. uploader le fichier sur le serveur dans le dossier lang/
  24. +
  25. en admin lancer le script genere_lang.php
  26. +
diff --git a/gestion/comment_exporter_tableur_vers_cvs.txt~ b/gestion/comment_exporter_tableur_vers_cvs.txt~ new file mode 100644 index 0000000..09729c9 --- /dev/null +++ b/gestion/comment_exporter_tableur_vers_cvs.txt~ @@ -0,0 +1,17 @@ + +Documentation pour l'importation des langues. + +Depuis https://lite.framacalc.org/9mfo-traduction +1 - cliquer sur enregistrer +2 - choisir "ODS" comme format d'export +3 - ouvrir avec "LibreOffice Calc" +4 - dans "LibreOffice Calc" , menu "Fichier" => "enregistrer sous ..." +5 - sélectionner le dossier dans lequel vous voulez enregistrer le fichier +6 - choisir le format "Texte CSV(.csv)"à la place de "Classeur ODF(.ods)" (en bas à droite de la fenêtre) +7 - cliquer sur enregistrer +8 - cliquer sur "Utiliser le format Texte CSV" +9 - sélectionner le Jeu de caractère "Unicode (UTF-8)" +10 - dans "Séparateur de champ" sélectionner "|" (barre verticale - AltGr + -) +11 - cliquer sur valider +12 - uploader le fichier sur le serveur dans le dossier lang/ +13 - en admin lancer le script genere_lang.php diff --git a/include/config.inc.php b/include/config.inc.php index 126560c..a26e75c 100644 --- a/include/config.inc.php +++ b/include/config.inc.php @@ -20,7 +20,7 @@ $site = "Avion Poème"; $dossier = "/www"; $basedir = dirname( $_SERVER['DOCUMENT_ROOT'] ) . $dossier; -$base_url = "http://avion-poe.me"; +$base_url = "https://avion-poe.me"; $base_path = "/flex/storage/avion-poe.me/site/www/"; $url_admin = $base_url . "/gestion"; $accueil = $base_url . "/index.html"; diff --git a/include/config.inc.php~ b/include/config.inc.php~ new file mode 100644 index 0000000..b428324 --- /dev/null +++ b/include/config.inc.php~ @@ -0,0 +1,35 @@ + diff --git a/include/db.class.php~ b/include/db.class.php~ new file mode 100644 index 0000000..cc88e82 --- /dev/null +++ b/include/db.class.php~ @@ -0,0 +1,65 @@ +open(); + } + + function open() + { + if ( !$this->connect ) + { + $this->connect = new mysqli( $this->server, $this->user, $this->passwd, $this->database ); + if ( $this->connect->connect_errno ) + { + log_error( "Échec de la connexion : => " . $this->connect->connect_error . "
" . __file__ . ' ligne ' . __line__); + return false; + } + } + $this->connect->set_charset("utf8"); + return true; + } + + function close() + { + $this->connect->close(); + $this->connect = 0; + } + + function protect( $string ) + { + return $this->connect->real_escape_string( $string ); + } + + function query( $string ) + { + + //log_write( $string ); + if ( empty( $this->connect ) ) $this->open(); + + $this->result = $this->connect->query( $string ) ; + + if ( $this->connect->error ) log_error( "Échec de la commande query => " . $this->connect->error . "
" . __file__ . ' ligne ' . __line__ . "\n" . $string, true, true); + //print_r( $this ); + } + + function print_error() + { + print_r( $this ); + //$this->error = $this->error; + return $this->connect->error; + } +} + +?> diff --git a/include/entete_mail.php~ b/include/entete_mail.php~ new file mode 100644 index 0000000..58e0dc6 --- /dev/null +++ b/include/entete_mail.php~ @@ -0,0 +1,18 @@ + diff --git a/include/envoi_courriel.inc.php~ b/include/envoi_courriel.inc.php~ new file mode 100644 index 0000000..f2abb04 --- /dev/null +++ b/include/envoi_courriel.inc.php~ @@ -0,0 +1,26 @@ +"; + foreach($dir as $file) + { + if($file != '.' && $file != '..' && !is_dir( $dirname . $file ) ) + { + echo '
  • ' . $file . '
  • '; + } + + } + echo "

    "; +} + + +// vérifie que la césure de la chaine de caractère ne se fait pas au mileiu d'une balise html +// $n l nombre de caractères à garder + +function verif_partiel( $string, $n) +{ + $string = trim( stripslashes( $string ) ); + $string = mb_substr( $string, 0, $n ); + $pos = strrpos( $string, " " ); + $string = substr( $string, 0, $pos ); + $x = $z = 0; + $pos1 = $pos_d = 0; + $balises = array(); + + do + { + $z = $z + 1; + if ( $z >=50 ) + { + log_error( "verif_partiel : erreur de boucle sans fin dans la ligne : $string
    " . print_r( $balises ) . __file__ . " ligne " . __line__ ); + } + + $pos1 = strpos( $string, "<", $pos_d ); + if ( $pos1 !== FALSE ) + { + $pos2 = strpos( $string, ">", $pos1 ); + $pos3 = strpos( $string, "<", $pos1+1 ); + + if ( $pos1 AND $pos2 === FALSE ) + { + $string = substr( $string, 0, $pos1); + }else + { + if ( $pos3 !== FALSE AND $pos3 < $pos2 ) + { + $pos1 = $pos3; + } + $pos_d = $pos2 + 1; + + $balise_e = $titre = "panier"; + $css = "main.css";substr( $string, $pos1, $pos2 - $pos1 + 1 ); + $pos = strpos( $balise_e, " " ); + + if ( $pos !== FALSE ) + { + $pos2 = $pos + $pos1; + } + $pos_slash = strpos( $balise_e, "/" ); + if ( $pos_slash !== FALSE AND $pos_slash == 1 ) + { + //echo "BALISE FERMANTE
    "; + $balise = trim( substr ( $balise_e, 2, ($pos2 - $pos1 - 2) ) ); + if ( $balises[ $x-1 ] != $balise ) + { + log_error( "verif_partiel : erreur de balise '$balise_e' dans la ligne : $string
    " . print_r( $balises ) . __file__ . " ligne " . __line__ ); + }else + { + $x = $x -1; + } + }elseif ( $pos_slash === FALSE ) + { + //echo "BALISE OUVRANTE
    "; + $balises[ $x++ ] = trim( substr ( $balise_e, 1, ($pos2 - $pos1 -1) ) ); + } + } + } + }while ( $pos1 !== FALSE ); + $string .= " ..."; + if ( $x >0 ) + { + for ( $i = $x-1; $i >= 0; $i--) + { + $string .= ""; + } + } + //echo "string finale => $string
    "; + return $string; +} + +// $var clef à rechercher dans $_POST, $_GET, et $_SESSION (si $session=true) +// $default valeur retournée si aucune valeur n'est trouvée +// $session: si true, rechercher aussi dans $_SESSION + +// + +function getpost( $var, $default="", $session=false ) +{ + //echo '$var =>' . $var . "
    "; + if ( isset($_GET[$var]) ) + { + //echo '$_get -> $var =>' . $var . "
    "; + return $_GET[$var]; + } + elseif ( isset($_POST[$var]) ) + { + //echo '$_POST -> $var =>' . $var . "
    "; + return $_POST[$var]; + }else + { + if ( isset($_SESSION[$var]) AND $session==true ) + { + return $_SESSION[$var]; + }else + { + //echo 'default -> $var =>' . $var . "
    "; + return $default; + } + } + +} + +// affiche les composants du menus +// pas de retour + +function menu($page, $text) +{ + echo '' . $text . ' '; +} + +function bouton_rouge( $text, $lien ) +{ + print '
    +
    + +
    +
    + +
    ' . $text .'
    +
    +
    '; +} + +// MET LA PREMIÈRE LETTRE D'UN MOT EN MAJUSCULE ( utf8 compliant ) + +function mb_ucfirst($str) { + $char = mb_substr($str,0,1,"UTF8"); + $str = mb_substr( $str, 1, NULL, "UTF8"); + $char = mb_strtoupper( $char, "UTF8"); + return $char . $str; + } + +// affiche le panier en cours +// si $modif =,= true affiche une case de saisie avec la quantité + +function affiche_panier( $modif=false ) +{ + global $base_url, $path, $page; + $total = 0; + $hc = 0; + //echo "============";print_r($_SESSION);echo "#################"; + $nombre_ref = $_SESSION['panier_n_ref']; + $nombre_art = 0; + echo ''; + $art = $_SESSION["panier"]; + for ($i = 0 ; $i < $nombre_ref ; $i++ ) + { + $nombre_art += $art["qte"][$i]; + $total += $total_col = $art["qte"][$i] * ( $art["prix"][$i] + ($art["huile_chaude"][$i]?5:0) ); + echo ''; + echo ''; + $prix_article = $art["prix"][$i] + $hc; + echo ''; + } + echo '"; + echo '
    quantitéProduitDuréeTypeHuile chaude
    Supplément 5€
    prixtotalvalable jusqu\'au
    ' . ($i + 1) . ''; + if ( $modif ) + { + echo ''; + }else + { + echo $art["qte"][$i]; + } + echo '' . $art["libelle"][$i] . '' . $art["duree"][$i] . '' . $art["type"][$i] . ''; + if ($modif) + { + if ( $art["hc"][$i] ) + { + echo ''; + }else + { + echo 'non disponible'; + } + }else + { + if ( $art["huile_chaude"][$i] ) + { + echo 'oui'; + $hc = 5; + }else + { + echo 'non'; + $hc = 0; + } + } + echo '' . $prix_article . ' €' . $total_col . ' €' . $art["date_validite"][$i]->format("j/m/Y") . '
    total du panier' . "$total €
    '; + + echo "nombre de références : $nombre_ref
    "; + echo "nombre d'articles : $nombre_art"; + +} + +function ajout_panier( $id ) +{ + //echo '
    '; + return 'Ajouter au panier'; +} + +function affiche_commande( $id ) +{ + $total = 0; + $db = new db(); + $db->open(); + $query = "SELECT * FROM commandes_articles AS ca LEFT JOIN articles AS art ON ca.id_art=art.id LEFT join libelle_art AS la ON la.id=art.id_libelle WHERE ca.id_commande='" . $db->protect($id) . "'"; + $db->query( $query ); + echo 'Article'; + echo 'Quantité'; + echo "huile_chaude"; + echo 'Prix'; + echo 'Type'; + echo 'Date de validité'; + echo 'Total article'; + echo ''; + while ( $donnees = mysqli_fetch_array($db->result) ) + { + + echo '' . $donnees["libelle"] . ''; + echo '' . $donnees["quantite"] . ''; + if ( $donnees["huile_chaude"] ) + { + echo "huile_chaude"; + } + echo '' . $donnees["prix"] . ''; + echo '' . $donnees["type"] . ''; + echo '' . $donnees["date_validite"] . ''; + $total_article = $donnees["prix"] * $donnees["quantite"]; + $total += $total_article; + echo '' . $total_article . ''; + + + } + echo 'Total de la commande' . $total . ''; + return $total; + $db->close(); +} + +function delete_cart() +{ + $_SESSION['panier'] = array(); + $_SESSION['panier_n_ref'] = 0; + if ( ! session_regenerate_id( true) ) + { + log_error("impossible de régénérer l'ID de session"); + } + print ''; +} +?> diff --git a/include/log.php~ b/include/log.php~ new file mode 100644 index 0000000..17651f9 --- /dev/null +++ b/include/log.php~ @@ -0,0 +1,155 @@ + INFO, ALERT, ERROR +function log_write($log, $level=INFO) +{ + global $table_prefix, $webmaster, $headers; + $user = ( !empty( $_SERVER["PHP_AUTH_USER"])?$_SERVER["PHP_AUTH_USER"]:'' ); + $log_mail = str_replace ( "
    ", "\n", $log ) . "\n"; + $log_mail .= ( !empty( $_SERVER["REQUEST_METHOD"])?'$_SERVER["REQUEST_METHOD"]' . $_SERVER["REQUEST_METHOD"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["QUERY_STRING"])?'$_SERVER["QUERY_STRING"]' . $_SERVER["QUERY_STRING"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["HTTP_ACCEPT_LANGUAGE"])?'$_SERVER["HTTP_ACCEPT_LANGUAGE"]' . $_SERVER["HTTP_ACCEPT_LANGUAGE"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["HTTP_USER_AGENT"])?'$_SERVER["HTTP_USER_AGENT"]' . $_SERVER["HTTP_USER_AGENT"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["REMOTE_ADDR"])?'$_SERVER["REMOTE_ADDR"]' . $_SERVER["REMOTE_ADDR"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["REMOTE_HOST"])?'$_SERVER["REMOTE_HOST"]' . $_SERVER["REMOTE_HOST"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["REMOTE_USER"])?'$_SERVER["REMOTE_USER"]' . $_SERVER["REMOTE_USER"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["REQUEST_URI"])?'$_SERVER["REQUEST_URI"]' . $_SERVER["REQUEST_URI"] . "\n":'' ); + $log_mail .= "Utilisateur: $user \n"; + $log_mail .= ( !empty( $_SERVER["ORIG_PATH_INFO"])?'$_SERVER["ORIG_PATH_INFO"]' . $_SERVER["ORIG_PATH_INFO"] . "\n":'' ); + $log_mail .= ( !empty( $_SERVER["PATH_INFO"])?'$_SERVER["PATH_INFO"]' . $_SERVER["PATH_INFO"] . "\n":'' ); + $db1 = new db(); + $db1->open(); + if( !empty( $db1->connect ) ) + { + $query = 'INSERT INTO ' . $db1->protect($table_prefix) . 'logs SET date=NOW(), auteur="' . $db1->protect( $user ) . '", log="' . $db1->protect($log) . '", niveau="' . $db1->protect($level) . '"'; + $db1->query( $query ); + if ( !$db1->result ) + { + $text = $db1->error() . "\n\n" . $log_mail; + mail( $webmaster, "Erreur écriture logs => " . __file__ . " ligne " . __line__, $text, $headers ); + } + $db1->close(); + }else + { + echo $db1->error(); + mail( $webmaster, "Erreur écriture logs => " . __file__ . " ligne " . __line__ , $log_mail, $headers ); + } + if ( $level == ALERT ) + { + mail( $webmaster, "Alerte Site Web", $log_mail, $headers ); + }elseif ( $level == ERROR ) + { + mail( $webmaster, "Erreur Site Web", $log_mail, $headers ); + } +} + +// $db = true -> écrire les logs dans la base (défaut) +// $die = true -> execute die() +function log_error($log, $w_db=true, $die=false) +{ + global $webmaster, $headers, $accueil, $db; + if ( $w_db ) log_write($log, ERROR); + echo "$log
    \n"; + $log_err = 'erreur dans la requête
    un rapport détaillé a été envoyé au webmaster'; + if ( $die ) + { + echo "\n"; + die( $log_err ); + }else + { + $_SESSION['error'] = $log_err; + //header( 'Location: ' . $accueil ); + } +} + +function affich_log( $nl, $np = 1, $level=INFO ) +{ + global $table_prefix, $webmaster, $headers, $base_url , $path , $page; + if( !empty( $db->open() ) ) + { + $level_s = array( "aucune" , "info" , "alerte" , "erreur" ); + $query = 'SELECT * FROM ' . $table_prefix . 'logs'; + if ( $level != 0 ) + { + $query .= " WHERE niveau='" . $db->protect($level) . "'"; + } + $db->query($query) OR log_error($db->error() . "
    " . __file__ . " ligne " . __line__ ); + $total_lignes = $db->result->num_rows(); + if ($total_lignes != 0 ) + { + + $n_pages = round( $total_lignes / $nl ) +1; + + if ( $np == 0 ) + { + $np = 1; + }elseif ( $np > $n_pages ) + { + $np = $n_pages; + } + echo ''; + if ( $np > 1 ) + { + echo '"; + if ( $np < $n_pages ) + { + echo ''; + } + echo "\n"; + $query = 'SELECT * FROM ' . $table_prefix . 'logs'; + if ( $level != 0 ) + { + $query .= " WHERE niveau='" . $level . "'"; + } + + $query .= ' ORDER BY date DESC LIMIT ' . ( ( ( $np - 1 ) * $nl ) ) . ',' . $nl; + $db->query( $query ) OR log_error( $db->error( ) . "
    " . __file__ . " ligne " . __line__ ); + echo "
    Page précédente'; + } + echo "\n" . ''; + echo 'Page n° '; + echo "\nPage suivante" . '
    '; + echo "niveau de log" . ' '; + echo "
    \n
    \n"; + while ( $db->connect->mysqli_fetch_array( $db->result ) ) + { + $niveau = $donnees["niveau"]; + echo "\n"; + } + echo "
    dateauteurlogniveau
    " . $donnees["date"] . "" . $donnees["auteur"] . "" . $donnees["log"] . "" . $level_s[ $niveau ] . "
    \n"; + }else + { + "aucune réponse"; + } + } +} +?> diff --git a/include/plane.class.php~ b/include/plane.class.php~ new file mode 100644 index 0000000..e69de29 diff --git a/include/swiftmailer/autoload.php~ b/include/swiftmailer/autoload.php~ new file mode 100644 index 0000000..83d241b --- /dev/null +++ b/include/swiftmailer/autoload.php~ @@ -0,0 +1,13 @@ +register();