Code de la version actuelle
parent
70133e8356
commit
ae08f8ddcf
@ -0,0 +1,140 @@
|
||||
<?php
|
||||
/**
|
||||
* Configurations générales de l'application
|
||||
* à ne modifier qu'en connaissance de cause...
|
||||
**/
|
||||
|
||||
// +++ Dimensions max/min et valeurs autorisées pour les champs
|
||||
// Les données des utilisateurs.
|
||||
const UTILISATEUR_MIN_PSEUDO=2;
|
||||
const UTILISATEUR_MAX_PSEUDO=50;
|
||||
const UTILISATEUR_MIN_PASSE=6;
|
||||
const UTILISATEUR_MAX_PASSE=100;
|
||||
const UTILISATEUR_MAX_EMAIL=70;
|
||||
const UTILISATEUR_MAX_PRESENTATION=2000;
|
||||
const UTILISATEUR_STATUTS="utilisateur|administrateur";
|
||||
const UTILISATEUR_ILLUS_EXTENSIONS=".jpg|.jpeg|.png|.gif";
|
||||
const UTILISATEUR_ILLUS_MAX_TAILLE="3000000";// ~ 3 Mo
|
||||
const UTILISATEUR_ILLUS_MAX_LARGEUR=250;
|
||||
const UTILISATEUR_MAX_ORIGINE=50;
|
||||
// Données agenda périodes d'absence des utilisateurs.
|
||||
const AGENDA_MIN_DESIGNATION=1;
|
||||
const AGENDA_MAX_DESIGNATION=50;
|
||||
// Données concernant les hubs
|
||||
const HUB_MIN_NOM=5;
|
||||
const HUB_MAX_NOM=150;
|
||||
const HUB_MAX_DESCRIPTION=255;
|
||||
const HUB_ILLUS_EXTENSIONS=".jpg|.jpeg|.png|.gif";
|
||||
const HUB_ILLUS_MAX_TAILLE="3000000";// ~ 3 Mo
|
||||
const HUB_ILLUS_MAX_LARGEUR=250;
|
||||
const HUB_MAX_MEMO=255;
|
||||
const HUB_LANGUES="fr|en|es|de|pt";
|
||||
const HUB_RECHERCHE_MIN=3;
|
||||
const HUB_RECHERCHE_MAX=150;
|
||||
const HUB_RECHERCHE_MAX_RESULTATS=500;
|
||||
// Données des sites sources des flux.
|
||||
const SOURCE_MIN_NOM=2;
|
||||
const SOURCE_MAX_NOM=50;
|
||||
const SOURCE_MAX_URL=100;
|
||||
const SOURCE_MAX_DESCRIPTION=255;
|
||||
// Données des rubriques classant les flux.
|
||||
const RUBRIQUE_MIN_NOM=5;
|
||||
const RUBRIQUE_MAX_NOM=50;
|
||||
const RUBRIQUE_MAX_DESCRIPTION=255;
|
||||
// Données concernant les liens & posts
|
||||
const POST_MIN_ANCRE=5;
|
||||
const POST_MAX_ANCRE=255;
|
||||
const POST_MAX_URL=500;//url à rallonge de gg news...
|
||||
const POST_MIN_ANNONCE=300;
|
||||
const POST_MAX_ANNONCE=10000;
|
||||
const POST_ILLUS_EXTENSIONS=".jpg|.jpeg|.png|.gif";
|
||||
const POST_ILLUS_MAX_TAILLE="3000000";// ~ 3 Mo
|
||||
const POST_ILLUS_MAX_LARGEUR=250;
|
||||
// Données concernant les flux
|
||||
const FLUX_MIN_NOM=5;
|
||||
const FLUX_MAX_NOM=150;
|
||||
const FLUX_MAX_URL=150;
|
||||
const FLUX_MAX_DESCRIPTION=255;
|
||||
const FLUX_MAX_MEMO=255;
|
||||
const FLUX_FREQUENCES="H|J";
|
||||
const FLUX_LANGUES="fr|en|es|de|pt";
|
||||
const FLUX_RECHERCHE_MIN=3;
|
||||
const FLUX_RECHERCHE_MAX=150;
|
||||
const FLUX_RECHERCHE_MAX_RESULTATS=500;
|
||||
// Données concernant les annonces promotionnelles
|
||||
const ANNONCE_EMPLACEMENTS="header|footer";
|
||||
const ANNONCE_MAX_TITRE=50;
|
||||
const ANNONCE_MAX_TEXTE=255;
|
||||
const ANNONCE_MAX_URL=255;
|
||||
const ANNONCE_MAX_ANCRE=255;
|
||||
const ANNONCE_MAX_COMMENTAIRES=255;
|
||||
// Données concernant les marque-pages des utilisateurs
|
||||
const MP_MIN_ANCRE=3;
|
||||
const MP_MAX_ANCRE=255;
|
||||
const MP_MAX_URL=255;
|
||||
const MP_MAX_DESCRIPTION=255;
|
||||
const MP_MAX_MOTSCLES=255;
|
||||
const MP_MIN_RECHERCHE=3;
|
||||
const MP_MAX_RECHERCHE=50;
|
||||
// Données concernant les abonnements
|
||||
const ABO_MIN_DESIGNATION=2;
|
||||
const ABO_MAX_DESIGNATION=50;
|
||||
const ABO_JOURS="0|1|2|3|4|5|6";
|
||||
const ABO_HORAIRES="matin|midi|soir";
|
||||
const ABO_AFFICHAGES_CONTEXTE="email|site";
|
||||
|
||||
// +++ Les répertoires de stockage des fichiers et leurs droits.
|
||||
define("BASE_REP",__DIR__."/");
|
||||
// Le journal d'erreurs / administrateurs
|
||||
define("JOURNAL_REP",BASE_REP."../journal");
|
||||
const JOURNAL_REP_CHMOD=0705;
|
||||
// Illustrations profils utilisateurs
|
||||
const UTILISATEUR_ILLUS_REP="images/utilisateurs";
|
||||
const UTILISATEUR_ILLUS_REP_CHMOD=0755;
|
||||
// Illustrations hubs
|
||||
const HUB_ILLUS_REP="images/hubs";
|
||||
const HUB_ILLUS_REP_CHMOD=0755;
|
||||
// Illustrations annonces
|
||||
const POST_ILLUS_REP="images/posts";
|
||||
const POST_ILLUS_REP_CHMOD=0755;
|
||||
// Tickets divers
|
||||
define("TICKET_VALID_REP",BASE_REP."../ticket/v");
|
||||
define("TICKET_CONNECT_REP",BASE_REP."../ticket/c");
|
||||
define("TICKET_SUPPR_REP",BASE_REP."../ticket/s");
|
||||
const TICKET_REP_CHMOD=0705;
|
||||
|
||||
// Les caches fichiers
|
||||
define("CACHE_REP",BASE_REP."../cache");
|
||||
const CACHE_REP_CHMOD=0705;
|
||||
const CACHE_REP_UTILISATEURS="u";
|
||||
const CACHE_REP_SOURCES="s";
|
||||
const CACHE_REP_RUBRIQUES="r";
|
||||
const CACHE_REP_POSTS="p";
|
||||
const CACHE_REP_LIENS="l";
|
||||
const CACHE_REP_FLUX="f";
|
||||
const CACHE_REP_HUB="h";
|
||||
const CACHE_REP_ABO="ab";
|
||||
const CACHE_REP_ANNONCES="a";
|
||||
//Les sessions & cookies
|
||||
define("SESSIONS_REP",BASE_REP."../ses");
|
||||
define("SESSIONS_TEMP_REP",BASE_REP."../ses/tmp");
|
||||
define("COOKIES_REP",BASE_REP."../ses/cookies");
|
||||
|
||||
// +++ Déclations et réglages divers...
|
||||
// Format des dates transmises aux méthodes + masque pour expressions régulières.
|
||||
const DATE_FORMAT="JJ/MM/AAAA";
|
||||
const DATE_FORMAT_EREG="#^((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((0[1-9])|(1[0-2]))\/(\d{4})$#";
|
||||
|
||||
// Durée des sauvegardes des données utilisateurs après suppression de leur compte (à adapter suivant contraintes légales).
|
||||
const DUREE_SVG_DONNEES=365;
|
||||
|
||||
// Fuseaux horaires des dom&tom
|
||||
$DT_fuseau["971"]="America/Guadeloupe";
|
||||
$DT_fuseau["972"]="America/Martinique";
|
||||
$DT_fuseau["973"]="America/Cayenne";
|
||||
$DT_fuseau["974"]="Indian/Reunion";
|
||||
$DT_fuseau["975"]="America/Miquelon";
|
||||
$DT_fuseau["976"]="Indian/Mayotte";
|
||||
$DT_fuseau["986"]="Pacific/Wallis";
|
||||
$DT_fuseau["987"]="Pacific/Tahiti";
|
||||
$DT_fuseau["988"]="Pacific/Noumea";
|
@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* Configurations personnalisables de l'application
|
||||
* à adapter donc !
|
||||
**/
|
||||
// Infos du site
|
||||
const SITE_NOM="Hello facteur";
|
||||
const SITE_URL="https://www.hellofacteur.com";
|
||||
const SITE_SLOGAN="Votre actualité, comme une lettre à la poste.";
|
||||
const SITE_LANG="fr-fr";
|
||||
const SITE_COOKIES_DOMAINE="hellofacteur.com";
|
||||
const UTF8_OK=true;
|
||||
|
||||
// Si on souhaite rendre automatique l'abonnement au hub des nouvelles du site
|
||||
$hub_site["id"]=20451;
|
||||
$hub_site["nom"]="Les nouvelles du facteur.";
|
||||
$hub_site["duree_max"]=180; //nbre de jours après lequel l'abonnement par défaut est supprimé si aucun clic n'a été enregistré sur cette période.
|
||||
|
||||
// Fuseau horaire par défaut
|
||||
date_default_timezone_set("Europe/Paris");
|
||||
|
||||
// Email & SMTP
|
||||
const EMAIL_ADMIN="toto@example.com";//pour recevoir des notifications en cas de catastrophes :-)
|
||||
const EMAIL_CONTACT="toto@example.com";//formulaire de contact
|
||||
const EMAIL_TRANSACTIONNEL_DE="toto@example.com";//email utilisé lors des messages durant l'inscription, etc
|
||||
const EMAIL_MAILINGS="toto@example.com";//email utilisé pour envoyer les mailings
|
||||
// mailjet
|
||||
const SMTP_SERVEUR="";//laisser à vide si utilisation fonction mail
|
||||
const SMTP_NAME="";//laisser à vide si serveur ne demandant pas de s'identifier
|
||||
const SMTP_PASSE="";//idem
|
||||
const SMTP_PORT=587;//si différent de 25 sinon laisser vide
|
||||
const SMTP_SECURE="";//si connexion sécurisée ("ssl" / "tls"), sinon laisser vide */
|
||||
const PHPMAIL_LANG="fr";//langue des messages d'erreur de PHPMailer, vide pour anglais
|
||||
|
||||
// Base de données (mysql/mariaDB)
|
||||
const BD_SERVEUR="";
|
||||
const BD_NOM="";
|
||||
const BD_LOGIN="";
|
||||
const BD_PASSE="";
|
||||
const BD_PORT="";
|
||||
|
||||
// Origines possibles des utilisateurs
|
||||
const UTILISATEUR_ORIGINES="example1|example2|example3";
|
||||
// Nbre de liens max par abonnements envoyés suivant choix
|
||||
$Abo_max_liens["min"]=5;
|
||||
$Abo_max_liens["medium"]=20;
|
||||
$Abo_max_liens["max"]=150;
|
||||
|
||||
// Durées maximales en jours autorisées pour certaines procédures
|
||||
const COMPTE_VALIDATION_MAX_DUREE="5";
|
||||
const NOUVEL_EMAIL_MAX_DUREE_VALIDATION="3";
|
||||
const COMPTE_LIEN_CONNEXION_MAX_DUREE="60";//minutes
|
||||
const COMPTE_LIEN_SUPPRESSION_MAX_DUREE="8";//heures
|
||||
|
||||
// divers
|
||||
const AUTORISE_CRON="*************";
|
||||
const CREA_CACHE=false;//les fichiers cache appelés mais non trouvés doivent-ils être créés ?
|
||||
const LIEN_IMPORT_MAX_JOURS=10;//nombre de jours en dessous desquels un nouveau lien n'est pas importé d'un flux (sert aussi à supprimer anciens liens dans bd)
|
||||
const POSTS_MAX_JOURS=30;//nombre de jours maximum ou les messages des hubs sont gardés dans la base de données
|
||||
const ABO_MAX_ENVOIS_PASSIFS=30;//nombre maximum d'envoi d'un abonnement sans clic, pour désactiver un abonnement.
|
||||
const NB_JOURS_LOGS_AFFICHAGES=5;//nombre de jours durant lesquels les stats d'affichage des utilisateurs connectés sur le site sont gardés. Les stats d'affichages des affichages /email sont traités tous les débuts de mois.
|
||||
|
||||
// blocage du site...
|
||||
const MSG_MAINTENANCE="";
|
||||
|
||||
// Google Actualités
|
||||
const SOURCE_GG_NEWS_ID=34;
|
||||
|
||||
// Protections formulaires
|
||||
const FORM_MIN_DUREE=3;//nombre de secondes minimum avant validation du formulaire
|
||||
const FORM_CONNEXION_MAX_TENTATIVES=10;//nombre de tentatives de connexion avant d'être bloqué
|
||||
|
||||
// Template
|
||||
const TEMPLATE_REP="themes/zz";
|
||||
const FORMULAIRE_FILTRES_SPAM="example1|example2|example3";//liste de mots proposés aléatoirement pour limiter le spam
|
||||
|
||||
$header_flux[0]["url"]=SITE_URL."/blog/feed/rss";
|
||||
$header_flux[0]["titre"]="Le blog du facteur (derniers articles).";
|
||||
$header_flux[0]["type"]="rss";
|
||||
|
||||
// Gestion des erreurs (mettre 0 quand le site est en production -1 pour tout voir en cours de test/ développement)
|
||||
error_reporting(0);
|
@ -0,0 +1,212 @@
|
||||
<?php
|
||||
/**
|
||||
* Toutes les textes pouvant s'afficher sur le site
|
||||
* attention à ne pas modifier les __TEXTES_DEVANT_ÊTRE_REMPLACÉS__
|
||||
* ou encore les urls des pages
|
||||
*
|
||||
* @author Fabrice PENHOËT
|
||||
**/
|
||||
|
||||
// +++ Les messages envoyés à l'utilisateur.
|
||||
// Validation création compte
|
||||
define("COMPTE_VALIDATION_OBJET", "[".SITE_NOM."] Merci de valider votre inscription.");
|
||||
define("COMPTE_VALIDATION_CORPS","Hello __NOM_UTILISATEUR__,\n\nMerci de valider votre inscription au site ".SITE_NOM.".\n\nPour ce faire, vous devez vous rendre sur la page suivante :\n".PAGE_VALIDATION_COMPTE."__ID__\n\nAttention vous n'avez que ".COMPTE_VALIDATION_MAX_DUREE." jours pour valider.\n\n".SITE_NOM);
|
||||
define("COMPTE_VALIDATION_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Merci de valider votre inscription au site ".SITE_NOM." en utilisant le lien ci-dessous.<br/><br/>Ne tardez pas car vous n'avez <strong>que ".COMPTE_VALIDATION_MAX_DUREE." jours</strong> pour valider.</p>");
|
||||
// Envoi mot de passe et autres infos suite validation du compte
|
||||
define("ENVOI_MOT_PASSE_OBJET","[".SITE_NOM."] Bienvenue !");
|
||||
define("ENVOI_MOT_PASSE_CORPS","Hello __NOM_UTILISATEUR__,\n\nVous venez de finaliser votre inscription au site ".SITE_NOM." et nous vous en remerçions :-)\n\nUn mot de passe vient de vous être attribué : __PASSE__\n\nIl vous sera nécessaire dès votre prochaine connexion.\n\nUne fois connecté vous pourrez le modifier en vous rendant sur la page suivante :\n".PAGE_MAJ_IDENTIFIANT."\n\nPour modifier/compléter vos autres informations :\n".PAGE_MAJ_INFOS_PERSO."\n\n".SITE_NOM."\n".SITE_URL);
|
||||
define("ENVOI_MOT_PASSE_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Bienvenue ! vous venez de finaliser votre inscription à <strong>".SITE_NOM."</strong> :-)<br/><br/>Un mot de passe vient de vous être attribué : <strong>__PASSE__</strong><br/><br/>Notez-le bien car il vous sera nécessaire dès votre prochaine connexion.<br/><br/>Par ailleurs, voici quelques liens qui pourront vous être utiles sur ".SITE_NOM." :</p>");
|
||||
// Envoi d'un nouveau mot de passe
|
||||
define("ENVOI_NOUVEAU_MOT_PASSE_OBJET","[".SITE_NOM."] Votre nouveau mot de passe.");
|
||||
define("ENVOI_NOUVEAU_MOT_PASSE_CORPS","Hello __NOM_UTILISATEUR__,\n\nSuite à votre demande, voici votre nouveau mot de passe pour le site ".SITE_NOM." : __PASSE__\n\nVous pouvez sans plus attendre vous en servir pour vous connecter au site :\n".PAGE_CONNEXION."\n\nUne fois connecté vous pourrez le modifier en vous rendant sur la page suivante :\n".PAGE_MAJ_IDENTIFIANT."\n\n".SITE_NOM."\n".SITE_URL);
|
||||
define("ENVOI_NOUVEAU_MOT_PASSE_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Suite à votre demande, voici le nouveau mot de passe qui vient de vous être attribué : <strong>__PASSE__</strong><br/><br/>Vous pouvez sans plus attendre vous en servir pour vous connecter à ".SITE_NOM."<br/><br/><u>Une fois connecté</u>, vous pourrez modifier ce mot de passe selon votre préférence.</p>");
|
||||
// Validation changement d'email
|
||||
define("NOUVEL_EMAIL_VALIDATION_OBJET","[".SITE_NOM."] Valider votre nouvelle adresse.");
|
||||
define("NOUVEL_EMAIL_VALIDATION_CORPS","Hello __NOM_UTILISATEUR__,\n\nVous venez de demander la modification de votre adresse email sur le site : ".SITE_NOM.".\n\nPour valider, merci de vous rendre sur la page suivante :\n".PAGE_VALIDATION_EMAIL."__ID__\n\nNe tardez pas car vous n'avez que ".NOUVEL_EMAIL_MAX_DUREE_VALIDATION." jours pour valider.\n\n".SITE_NOM);
|
||||
define("NOUVEL_EMAIL_VALIDATION_CORPS_HTML","Hello __NOM_UTILISATEUR__,<br/><br/>Vous venez de demander la modification de votre adresse email sur <strong>".SITE_NOM."</strong>.<br/><br/>Pour valider, merci de cliquer sur le lien ci-dessous.<br/><br/>Ne tardez pas car vous n'avez que ".NOUVEL_EMAIL_MAX_DUREE_VALIDATION." jours pour le faire.");
|
||||
// Connexion compte via un ticket
|
||||
define("COMPTE_LIEN_CONNEXION_OBJET", "[".SITE_NOM."] Votre lien de connexion.");
|
||||
define("COMPTE_LIEN_CONNEXION_CORPS","Hello __NOM_UTILISATEUR__,\n\nVous venez de demandez un lien de connexion au site ".SITE_NOM.".\n\nPour vous connectez, cliquez simplement sur le lien suivant :\n".PAGE_LIEN_CONNEXION_COMPTE."__ID__\n\n**Attention, pour des raisons de sécurité ce lien n'est valable que pendant ".COMPTE_LIEN_CONNEXION_MAX_DUREE." minutes après l'envoi de ce message**.\n\n".SITE_NOM);
|
||||
define("COMPTE_LIEN_CONNEXION_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Suite à votre demande vous trouverez ci-dessous un lien vous permettant de vous connecter au site ".SITE_NOM.".<br/><br/><b>Ne tardez pas à l'utiliser</b>, car ce lien n'est valable que pendant ".COMPTE_LIEN_CONNEXION_MAX_DUREE." minutes après l'envoi de ce message.</p>");
|
||||
// Procédure supppression compte
|
||||
define("COMPTE_LIEN_SUPPRESSION_OBJET", "[".SITE_NOM."] Confirmer la suppression de votre compte.");
|
||||
define("COMPTE_LIEN_SUPPRESSION_CORPS","Hello __NOM_UTILISATEUR__,\n\nVous venez de demander la suppression de votre compte sur ".SITE_NOM.".\n\nPour finaliser la procédure, merci de cliquer sur le lien suivant :\n".PAGE_LIEN_SUPPRESSION_COMPTE."__ID__\n\n**Attention, pour des raisons de sécurité ce lien n'est valable que pendant ".COMPTE_LIEN_SUPPRESSION_MAX_DUREE." heures après l'envoi de ce message**.\n\n".SITE_NOM);
|
||||
define("COMPTE_LIEN_SUPPRESSION_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Suite à votre demande vous trouverez ci-dessous un lien vous permettant de confirmer la suppression de votre compte sur ".SITE_NOM.".<br/><br/><b>Ne tardez pas à l'utiliser</b>, car ce lien n'est valable que pendant ".COMPTE_LIEN_SUPPRESSION_MAX_DUREE." heures après l'envoi de ce message.</p>");
|
||||
// Désactivation abonnement
|
||||
define("DESACTIVATION_OBJET","[".SITE_NOM."] Désactivation d'un de vos abonnements.");
|
||||
define("DESACTIVATION_CORPS","Hello __NOM_UTILISATEUR__,\n\nIl semble que votre abonnement \"__NOM_ABO__\" ne vous intéresse plus.\n\nAussi cet abonnement vient d'être désactivé, c'est-à-dire que vous ne recevrez plus d'email le concernant.\n\nÀ tout moment vous pouvez le réactiver en vous connectant à votre compte et en allant sur la page vous permettant de gérer vos abonnements :\n".PAGE_ABO_LISTE);
|
||||
define("DESACTIVATION_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Il semble que votre abonnement <strong>__NOM_ABO__</strong> ne vous intéresse plus.<br/><br/>Aussi cet abonnement vient d'être désactivé, c'est-à-dire que vous ne recevrez plus d'email le concernant.<br/><br/>À tout moment vous pouvez le réactiver en vous connectant à votre compte et en allant sur la page vous permettant de gérer votre abonnement (lien ci-dessous).</p>");
|
||||
// Nouvelle annonce à valider.
|
||||
define("NOUVEAU_POST_OBJET","[".SITE_NOM."] Nouvelle annonce.");
|
||||
define("NOUVEAU_POST_CORPS","Hello __NOM_UTILISATEUR__,\n\nUne nouvelle annonce vient d'être postée dans le bureau de poste : \"__NOM_HUB__\".\n\nVous devez maintenant la valider pour permettre sa diffusion :\n".PAGE_MAJ_POSTS."?id_post=__ID__");
|
||||
define("NOUVEAU_POST_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Une nouvelle annonce vient d'être postée dans le bureau de poste : <strong>__NOM_HUB__</strong>.</p>");
|
||||
// Validation publication de son annonce
|
||||
define("NOUVEAU_POST_VALIDATION_OBJET","[".SITE_NOM."] Merci de valider votre annonce.");
|
||||
define("NOUVEAU_POST_VALIDATION_CORPS","Hello __NOM_UTILISATEUR__,\n\nMerci de valider l'annonce que vous venez de publier sur le site ".SITE_NOM.".\n\nPour ce faire, vous devez vous rendre sur la page suivante :\n".PAGE_VALIDATION_POST."__ID__\n\nAttention vous n'avez que ".COMPTE_VALIDATION_MAX_DUREE." jours pour valider.\n\n".SITE_NOM);
|
||||
define("NOUVEAU_POST_VALIDATION_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Merci de valider l'annonce que vous venez de publier sur le site ".SITE_NOM.".<br/><br/>Ne tardez pas car vous n'avez <strong>que ".COMPTE_VALIDATION_MAX_DUREE." jours</strong> pour la valider.</p>");
|
||||
// Prévenir qu'une a été validée.
|
||||
define("POST_VALIDE_OK_OBJET","[".SITE_NOM."] Votre annonce a été validée.");
|
||||
define("POST_VALIDE_OK_CORPS_SANS_LIEN","Hello __NOM_UTILISATEUR__,\n\nCe message vous informe que votre annonce a été validée et va donc commencer à être diffusée aux abonnés du site ".SITE_NOM.".");
|
||||
define("POST_VALIDE_OK_CORPS","Hello __NOM_UTILISATEUR__,\n\nCe message vous informe que votre annonce a été validée et sera don diffusée aux abonnés du site ".SITE_NOM.".\n\nVous pouvez la voir sur la page suivante :\n".PAGE_REPERTOIRE_POST_INFO."__ID__/");
|
||||
define("POST_VALIDE_OK_CORPS_HTML","<p>Hello __NOM_UTILISATEUR__,<br/><br/>Ce message vous informe que votre annonce vient d'être validée et sera donc diffusée aux abonnés du site ".SITE_NOM.".</p>");
|
||||
|
||||
// +++ Les messages d'erreur
|
||||
// Général
|
||||
define("ERREUR_PARAM_MANQUANT","Paramètres manquants.");
|
||||
define("ERREUR_PARAM_FORMAT","Paramètres n'ayant pas le bon format.");
|
||||
define("ERREUR_PARAM_AUTORISES","Paramètres ayant un contenu non autorisé.");
|
||||
define("ERREUR_IP","Une adresse IP non valide a été détectée.");
|
||||
define("ERREUR_CHIFFREMENT","Erreur chiffrement d'un mot de passe.");
|
||||
define("ERREUR_ACTION_NON_AUTORISEE","Une action a été lancée par un utilisateur non autorisé.");
|
||||
|
||||
// Fichiers, répertoires, images
|
||||
define("ERREUR_FICHIER_EXISTE","Aucun fichier trouvé à l'adresse fournie.");
|
||||
define("ERREUR_FICHIER_ECRITURE","Impossible d'écrire dans le fichier.");
|
||||
define("ERREUR_FICHIER_CREA","Impossible de créer le fichier.");
|
||||
define("ERREUR_FICHIER_SUPPR","Impossible de supprimer le fichier.");
|
||||
define("ERREUR_FICHIER_POIDS","Le fichier téléchargé est trop lourd.");
|
||||
define("ERREUR_REP_EXISTE","Aucun répertoire trouvé à l'adresse fournie.");
|
||||
define("ERREUR_REP_CREA","Impossible de créer le répertoire.");
|
||||
define("ERREUR_REP_DROIT","Vous n'avez pas les droits nécessaires sur ce répertoire.");
|
||||
define("ERREUR_REP_VALIDE","Il ne s'agit pas d'un répertoire.");
|
||||
define("ERREUR_IMAGE_VALIDE","Le fichier image ne semble pas valide.");
|
||||
define("ERREUR_IMAGE_CREATION","Le fichier image n'a pu être créé.");
|
||||
define("ERREUR_IMAGE_FORMAT","Le fichier image à un format non accepté.");
|
||||
|
||||
// Dates
|
||||
define("ERREUR_DATE_FORMAT","La date n'a pas le format souhaité : ".DATE_FORMAT);
|
||||
define("ERREUR_DATE_VALIDE","La date n'est pas valide.");
|
||||
define("ERREUR_DATE_INTERVAL","L'intervalle entre les dates n'est pas correct.");
|
||||
|
||||
// Connexion base de données
|
||||
define("ERREUR_CONNEXION_ABSENTE","Absence de connexion à la base de données.");
|
||||
define("ERREUR_SQL_CHAMP_RECHERCHE","Le champs de la recherche n'est pas correct.");
|
||||
define("ERREUR_SQL_ENREG_ABSENT","Enregistrement non trouvé.");
|
||||
define("ERREUR_SQL_AJOUT","L'enregistrement a échoué.");
|
||||
define("ERREUR_SQL_MAJ","La mise à jour a échoué.");
|
||||
define("ERREUR_SQL_SUPPR","La suppression a échoué.");
|
||||
define("ERREUR_SQL_DOUBLON","Un enregistrement similaire existe déjà.");
|
||||
define("ERREUR_SQL_RECHERCHE","Aucun résultat pour votre recherche.");
|
||||
|
||||
// Cache
|
||||
define("ERREUR_CACHE_REP","La constante fournissant le chemin du répertoire du cache n'a pas été définie.");
|
||||
define("ERREUR_CACHE_ECRITURE","Erreur d'écriture du cache.");
|
||||
define("ERREUR_CACHE_CONTENU_ABSENT","Aucun contenu trouvé à écrire dans le fichier.");
|
||||
|
||||
// email
|
||||
define("ERREUR_EMAIL_ENVOI","Erreur envoi email.");
|
||||
define("ERREUR_EMAIL_ADRESSE_FORMAT","Le format de l'adresse email fournie n'est pas correct.");
|
||||
|
||||
// Journal
|
||||
define("ERREUR_JOURNAL_REP","La constante fournissant le chemin du répertoire du journal n'a pas été définie.");
|
||||
define("ERREUR_JOURNAL_ECRITURE","Erreur d'écriture dans le journal.");
|
||||
define("ERREUR_JOURNAL_LECTURE","Erreur de lecture du journal.");
|
||||
define("ERREUR_JOURNAL_SUPPR","Erreur durant la suppression du journal.");
|
||||
define("ERREUR_JOURNAL_LIGNE","Le numéro de ligne n'est pas valide.");
|
||||
|
||||
// Infos utilisateurs
|
||||
//-- contrôle données saisies
|
||||
define("ERREUR_UTILISA_CHAMPS_ABSENTS","Merci de compléter tous les champs obligatoires.");
|
||||
define("ERREUR_IMPREVUE","Une erreur imprévue est survenue. Si ce problème persiste, n'hésitez pas à nous contacter en nous expliquant ce que vouliez faire.");
|
||||
|
||||
define("ERREUR_UTILISA_PSEUDO_LONG","Merci de fournir un pseudo comptant entre ".UTILISATEUR_MIN_PSEUDO." et ".UTILISATEUR_MAX_PSEUDO." caractères.");
|
||||
define("ERREUR_UTILISA_PSEUDO_LIBRE","Le pseudo saisi est déjà utilisé par un autre utilisateur.");
|
||||
define("ERREUR_UTILISA_PASSE_LONG","Le mot de passe doit compter entre ".UTILISATEUR_MIN_PASSE." et ".UTILISATEUR_MAX_PASSE." caractères.");
|
||||
define("ERREUR_UTILISA_PASSE_CORRECT","Le mot de passe saisi ne semble pas correct.");
|
||||
define("ERREUR_UTILISA_EMAIL_LONG","Merci de fournir un email comptant au maximum ".UTILISATEUR_MAX_EMAIL." caractères.");
|
||||
define("ERREUR_UTILISA_EMAIL_LIBRE","L'adresse email saisie est déjà utilisée pour un autre compte utilisateur.<br/>La même adresse ne peut être utilisée par plusieurs comptes.");
|
||||
define("ERREUR_UTILISA_CONNEXION","Les identifiants saisis ne sont pas corrects. Si vous avez oublié votre mot de passe, vous pouvez <a href='".PAGE_GET_PASSE."'>demander à en recevoir un nouveau par email</a>.");
|
||||
define("ERREUR_UTILISA_EMAIL_CONNEXION","Aucun compte n'a été trouvé pour l'adresse email fournie. Si ce n'est déjà fait, vous pouvez <a href='".PAGE_INSCRIPTION."'>créer votre compte ici</a>.");
|
||||
define("ERREUR_UTILISA_PRESENTATION_LONG","Votre texte de présentation dépasse les ".UTILISATEUR_MAX_PRESENTATION." caractères possibles.");
|
||||
define("ERREUR_UTILISA_CP_LONG","Vous devez saisir au moins 3 caractères du nom de la ville ou encore son code postal.");
|
||||
define("ERREUR_UTILISA_CP_VILLE_ABSENTE","Aucune ville n'a été trouvée pour votre saisie.");
|
||||
define("ERREUR_UTILISA_CP_PLUSIEURS_VILLES","Merci de sélectionnez votre ville parmi les __NB__ trouvées pour votre saisie : ");
|
||||
define("ERREUR_UTILISA_ANTISPAM","Vous n'avez pas saisi la bonne lettre dans le champ antispam. La lettre demandée est : ");
|
||||
define("ERREUR_UTILISA_CGU","Merci de valider les CGU du site.");
|
||||
define("ERREUR_UTILISA_ENVOI_MESSAGE","Une erreur est survenue durant l'envoi de votre message. Vous pouvez nous écrire directement sur l'adresse suivante :".EMAIL_CONTACT);
|
||||
define("ERREUR_UTILISA_ENVOI_MESSAGE_PERSO","Une erreur imprévue est survenue durant l'envoi de votre message.");
|
||||
|
||||
define("MSG_UTILISA_CREATION_COMPTE_VALID","Votre demande d'inscription vient d'être enregistrée.<br>Vous devez cliquer sur le lien qui vient de vous être envoyé par email pour finaliser votre inscription.<br>En attendant vous pouvez déjà créer votre 1er abonnement en sélectionnant une thématique ci-dessous.");
|
||||
define("MSG_UTILISA_GET_PASSE_OK","Votre mot de passe vient de vous être envoyé sur votre adresse email.<br>Si vous ne l'avez pas reçu, attendez quelques minutes et vérifier le dossier spam de votre messagerie internet.<br>Si le problème persiste, <a href=\"".PAGE_CONTACT."\">contactez-nous</a> pour obtenir de l'aide.");
|
||||
define("MSG_UTILISA_GET_LIEN_CONNEXION_OK","Suite à votre demande, <b>un lien de connexion au site vient de vous être envoyé sur votre adresse email</b>.<br>Si vous ne l'avez pas reçu, attendez quelques minutes et vérifier le dossier spam de votre messagerie internet.<br>Si le problème persiste, <a href=\"".PAGE_CONTACT."\">contactez-nous</a> pour obtenir de l'aide.");
|
||||
define("MSG_UTILISA_GET_LIEN_SUPPRESSION_OK","Suite à votre demande, <b>un lien vous permettant de finaliser la suppression de votre compte vient de vous être envoyé sur votre adresse email</b>.<br>Si vous ne l'avez pas reçu, attendez quelques minutes et vérifier le dossier spam de votre messagerie internet.<br>Si le problème persiste, <a href=\"".PAGE_CONTACT."\">contactez-nous</a> pour obtenir de l'aide.");
|
||||
define("MSG_UTILISA_MAJ_IDENTIFIANTS_VALID","La mise à jour a bien été enregistrée.<br>Si vous avez modifié votre adresse email, vous devez cliquer sur le lien qui vous a été envoyé sur la nouvelle adresse pour qu'elle soit prise en compte.");
|
||||
define("MSG_UTILISA_MAJ_INFOS_VALID","Votre mise à jour a bien été enregistrée.");
|
||||
define("MSG_UTILISA_TELECHARGE_VALID","Votre fichier a bien été téléchargé.");
|
||||
define("MSG_UTILISA_MAJ_SUPPR_VALID","Votre demande de suppression a bien été prise en compte.");
|
||||
define("MSG_UTILISA_ENVOI_MESSAGE_VALID","Votre message a bien été envoyé.");
|
||||
define("MSG_UTILISA_ENVOI_POST_VALID_CREA_COMPTE","Votre actualité a bien été enregistrée.<br><u>Vous devez maintenant cliquer sur le lien qui vient d'être envoyé sur votre adresse email</u> pour que votre demande soit traitée.");
|
||||
define("MSG_UTILISA_ENVOI_POST_VALID","Votre actualité a bien été enregistrée. Merci de votre suggestion.<br>Si votre proposition est acceptée, un email vous informera du début de sa diffusion.<br>En attendant et si ce n'est déjà fait, vous pouvez <u><a href='".PAGE_MAJ_INFOS_PERSO."' title='votre présentation'>modifier les informations de votre profil (présentation, photo...)</a></u> qui sont visibles par les autres abonnés ".SITE_NOM." consultant votre annonce.");
|
||||
define("MSG_ADMIN_VALID","Ok !");
|
||||
define("ERREUR_UTILISA_STATUTS_EXISTE","La constante fournissant les statuts possibles pour un utilisateur n'a pas été définie.");
|
||||
define("ERREUR_UTILISA_STATUT_VALIDE","Un statut non prévu a été détecté.");
|
||||
define("ERREUR_UTILISA_PSEUDO_ABSENT","Le pseudo n'a pas été attribué au préalable.");
|
||||
define("ERREUR_UTILISA_ILLUS_ABSENT","Le nom du fichier illustration n'a pas été attribué au préalable.");
|
||||
define("ERREUR_UTILISA_ORIGINES_EXISTE","La constante fournissant les différentes origines possibles pour un utilisateur n'a pas été définie.");
|
||||
define("ERREUR_UTILISA_ORIGINE_VALIDE","Une origine de compte non prévue a été détectée.");
|
||||
|
||||
//-- procédures
|
||||
define("ERREUR_UTILISA_PASSE_ENVOI","Aucun compte utilisateur n'a été trouvé pour l'adresse saisie. Pour créer un compte, <a href='".PAGE_INSCRIPTION."'>cliquez-ici</a>.");
|
||||
define("ERREUR_UTILISA_PASSE_CREA","Une erreur est survenue durant la génération du mot de passe de l'utilisateur.");
|
||||
define("ERREUR_UTILISA_VALIDATION_MESSAGE","Une erreur est survenue durant l'envoi du message vous permettant de valider votre compte.");
|
||||
define("ERREUR_UTILISA_VALIDATION_LIEN","Votre lien de validation ne semble plus valide.<br>Peut-être avez-vous déjà validé votre compte ou encore avez-vous dépassé la durée limite de validation ?<br>Dans le premier cas, un message vous a été envoyé sur votre adresse email avec votre mot de passe.<br>Dans ce deuxième cas, vous pouvez <a href='".PAGE_INSCRIPTION."' title='Formulaire inscription'>renouveler votre inscription</a>.");
|
||||
define("ERREUR_UTILISA_VALIDATION_EXPIRE","Il semble que votre compte utilisateur n'existe plus.<br>Peut-être avez-vous dépassé la durée d'expiration ?<br>Si c'est le cas vous pouvez <a href='".PAGE_INSCRIPTION."' title='Formulaire inscription'>renouveler votre inscription</a>.");
|
||||
define("ERREUR_UTILISA_VALIDATION_DOUBLE","Vous avez déjà validé votre compte. Vous pouvez maintenant <a href='".PAGE_CONNEXION."' title='Formulaire connexion'>vous connecter</a> avec le mot de passe qui vous a été envoyé.");
|
||||
define("ERREUR_UTILISA_VALIDATION_EMAIL_LIEN","Le lien de validation ne semble pas correct.<br>Soit vous avez déjà validé votre nouvelle adresse, soit vous avez dépassé la durée d'expiration.<br>Dans ce 2ième cas vous pouvez <a href='".PAGE_MAJ_IDENTIFIANT."'>renouveler votre demande</a>.");
|
||||
define("MSG_UTILISA_VALIDATION_EMAIL_LIEN","Votre nouvelle adresse email a bien été enregistrée.");
|
||||
define("ERREUR_UTILISA_CREA_LIEN_CONNEXION","Une erreur imprévue est survenue durant l'envoi du lien vous permettant de vous connecter à votre compte.");
|
||||
define("ERREUR_UTILISA_LIEN_CONNEXION","Votre lien de connexion ne semble plus valide. Vous pouvez en demander un nouveau <a href='".PAGE_CONNEXION."'>en cliquant ici</a>.");
|
||||
define("ERREUR_UTILISA_CREA_LIEN_SUPPRESSION","Une erreur imprévue est survenue durant l'envoi du lien vous permettant de vous supprimer votre compte.");
|
||||
define("ERREUR_UTILISA_LIEN_SUPPRESSION","Votre lien de suppression ne semble plus valide. Vous pouvez relancer la suppression de votre compte en <a href='".PAGE_MAJ_INFOS_PERSO."'>en cliquant ici</a>.");
|
||||
define("ERREUR_UTILISA_VALIDATION_POST_LIEN","Le lien de validation ne semble pas correct.<br>Soit vous avez déjà validé votre annonce, soit vous avez dépassé la durée d'expiration.<br>Dans ce 2ième cas vous pouvez <a href='".PAGE_AJOUT_POST."'>renouveler votre demande</a>.");
|
||||
//-- agenda
|
||||
define("ERREUR_AGENDA_DESIGNATION_LONG","Merci de fournir un intitulé comptant entre ".AGENDA_MIN_DESIGNATION." et ".AGENDA_MAX_DESIGNATION." caractères.");
|
||||
define("ERREUR_AGENDA_DATE_DEBUT_FORMAT","Veillez saisir une date de début au format : ".DATE_FORMAT);
|
||||
define("ERREUR_AGENDA_DATE_FIN_FORMAT","Veillez saisir une date de fin au format : ".DATE_FORMAT);
|
||||
define("ERREUR_AGENDA_DATE_FIN_DEBUT_ABSENT","Vous devez saisir la date de début avant la date de fin.");
|
||||
define("ERREUR_AGENDA_DATE_FIN_PASSE","La date de fin ne doit pas être antérieure à celle d'aujourd'hui.");
|
||||
define("ERREUR_AGENDA_DATE_FIN_AVANT_DEBUT","Vous ne pouvez enregistrer une date de fin précédent celle de début.");
|
||||
//-- liens, posts, urls, flux...
|
||||
define("ERREUR_POST_ANCRE_LONG","Merci de fournir un intitulé comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_POST_DATE_DIFFUSION_FORMAT","Veillez saisir une date de début de diffusion au format : ".DATE_FORMAT);
|
||||
define("ERREUR_POST_DATE_EXPIRATION_FORMAT","Veillez saisir une date d'expiration au format : ".DATE_FORMAT);
|
||||
define("ERREUR_POST_DATE_DIFFUSION","La date de début de diffusion doit être postérieure à celle d'aujourd'hui.");
|
||||
define("ERREUR_POST_DATE_EXPIRATION","La date d'expiration doit être postérieure d'au moins 7 jours à celle de début de diffusion.");
|
||||
define("ERREUR_POST_ANCRE_ABSENT","Le titre de l'annonce doit être attribué au préalable.");
|
||||
define("ERREUR_LIEN_URL_LONG","Merci de fournir une adresse internet (url) comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_LIEN_URL_FORMAT","Le format de l'adresse internet (url) fournie ne semble pas correct.");
|
||||
define("ERREUR_POST_ANNONCE_LONG","Merci de saisir une annonce comptant entre __MIN__ et __MAX__ caractères (actuellement __NB__ caractères).");
|
||||
define("ERREUR_FLUX_MEMO_LONG","Merci de fournir un mémo ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_LIEN_CONTENU_EXISTE","Aucun contenu trouvé à l'adresse fournie.");
|
||||
define("ERREUR_FLUX_INFOS","Pas de flux à l'adresse fournie ou son format n'est pas correct.");
|
||||
define("ERREUR_SOURCE_SUPPR_FLUX","Impossible de supprimer cette source, au moins un flux lui étant associé.");
|
||||
define("ERREUR_RUBRIQUE_NOM_LONG","Merci de fournir un intitulé comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_RUBRIQUE_DESCRIPTION_LONG","Merci de fournir une description comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_RUBRIQUE_SUPPR_HUB","Impossible de supprimer cette rubrique qui sert à classer au moins un bureau de poste.");
|
||||
define("ERREUR_RUBRIQUE_MERE","Impossible de classer une rubrique dans une de ses sous-rubriques (ou elle-même).");
|
||||
define("ERREUR_RUBRIQUE_SUPPR_SUB","Impossible de supprimer cette rubrique qui sert à classer au moins une autre rubrique.");
|
||||
define("ERREUR_FLUX_LECTURE","Erreur de lecture d'un flux.");
|
||||
define("ERREUR_FLUX_VIDE","Flux vide.");
|
||||
define("ERREUR_FLUX_DOUBLON","Le flux d'actualité existe déjà dans le répertoire.");
|
||||
define("ERREUR_RECHERCHE_LONG","Votre recherche doit compter entre ".FLUX_RECHERCHE_MIN." et ".FLUX_RECHERCHE_MAX." caractères.");
|
||||
define("ERREUR_RECHERCHE_MAX_RESULTATS","+ de ".FLUX_RECHERCHE_MAX_RESULTATS." résultats pour votre recherche. Merci de lancer une recherche plus précise.");
|
||||
define("ERREUR_FLUX_SUPPR_ABO","Impossible de supprimer ce flux qui a au moins un abonné.");
|
||||
define("ERREUR_ABO_DESIGNATION_LONG","Merci de fournir un intitulé comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_ABO_NB_MAX_LIENS_ENTIER","Vous devez saisir un nombre entier pour le nombre maximum de liens par envoi.");
|
||||
define("ERREUR_ABO_NB_MAX_LIENS_VALEUR","Merci de fournir un nombre maximum d'actualités par envoi compris entre __MIN__ et __MAX__.");
|
||||
|
||||
//-- hubs
|
||||
define("ERREUR_HUB_NOM_LONG","Merci de fournir un nom pour le hub comptant entre __MIN__ et __MAX__ caractères.");
|
||||
define("ERREUR_HUB_MEMO_LONG","Merci de fournir un mémo ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_HUB_DOUBLON","Un hub différent portant le même nom existe déjà.");
|
||||
define("ERREUR_HUB_SUPPR_ABO","Impossible de supprimer ce hub qui a au moins un abonné.");
|
||||
define("MSG_HUB_AJOUT","Un nouveau hub vient d'être créé par un utilisateur : ");
|
||||
|
||||
//-- annonces promotionnelles
|
||||
define("ERREUR_ANNONCE_TITRE_LONG","Merci de saisir un titre ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_ANNONCE_TEXTE_LONG","Merci de saisir une annonce ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_ANNONCE_LIEN_URL_LONG","Merci de saisir une url ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_ANNONCE_LIEN_ANCRE_LONG","Merci de saisir une ancre pour le lien de l'annonce ne comptant pas plus de __MAX__ caractères.");
|
||||
define("ERREUR_ANNONCE_COMMENTAIRE_LONG","Merci de saisir un commentaire ne comptant pas plus de __MAX__ caractères.");
|
||||
|
||||
$Jours_semaine=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
|
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/* Les diverses pages de l'application
|
||||
* toute modification doit être répercutée dans le index.php
|
||||
* */
|
||||
define("PAGE_INSCRIPTION",SITE_URL."/compte/inscription.html");
|
||||
define("PAGE_VALIDATION_COMPTE",SITE_URL."/compte/v/");
|
||||
define("PAGE_CONNEXION",SITE_URL."/compte/connexion.html");
|
||||
define("PAGE_LIEN_CONNEXION_COMPTE",SITE_URL."/compte/l/");
|
||||
define("PAGE_LIEN_SUPPRESSION_COMPTE",SITE_URL."/compte/s/");
|
||||
define("PAGE_GET_PASSE",SITE_URL."/compte/nouveau_passe.html");
|
||||
define("PAGE_DECONNEXION",SITE_URL."/compte/deconnexion.html");
|
||||
define("PAGE_ACCUEIL",SITE_URL."/accueil.html");
|
||||
define("PAGE_CONTACT",SITE_URL."/contact.html");
|
||||
define("PAGE_PLAN",SITE_URL."/plan.html");
|
||||
define("PAGE_404",SITE_URL."/404.html");
|
||||
define("PAGE_MAJ_IDENTIFIANT",SITE_URL."/compte/identifiant_maj.html");
|
||||
define("PAGE_VALIDATION_EMAIL",SITE_URL."/compte/ve/");
|
||||
define("PAGE_MAJ_INFOS_PERSO",SITE_URL."/compte/infos_maj.html");
|
||||
define("PAGE_MAJ_ILLUSTRATION",SITE_URL."/compte/illustration_maj.html");
|
||||
define("PAGE_MAJ_ABONNEMENTS",SITE_URL."/compte/abonnements_maj.html");
|
||||
define("PAGE_REPERTOIRE_ACCUEIL",SITE_URL."/rubriques/index.html");
|
||||
define("PAGE_REPERTOIRE_RUBRIQUE_INFO",SITE_URL."/rubrique/");
|
||||
define("PAGE_REPERTOIRE_FLUX_INFO",SITE_URL."/flux/");
|
||||
define("PAGE_REPERTOIRE_HUB_INFO",SITE_URL."/BP/");
|
||||
define("PAGE_AJOUT_POST",SITE_URL."/annonce/a/");
|
||||
define("PAGE_AJOUT_POST_ILLUSTRATION",SITE_URL."/annonce/a/illustration/");
|
||||
define("PAGE_AJOUT_POST_CONSIGNES",SITE_URL."/annonce/consignes/");
|
||||
define("PAGE_VALIDATION_POST",SITE_URL."/annonce/v/");
|
||||
define("PAGE_REPERTOIRE_POST_INFO",SITE_URL."/annonce/");
|
||||
define("PAGE_UTILISATEUR_INFO",SITE_URL."/auteur/");
|
||||
define("PAGE_UTILISATEUR_CONTACT",SITE_URL."/ecrire/");
|
||||
define("PAGE_ABO_CREA_RUBRIQUE",SITE_URL."/rubriques/abo/");
|
||||
define("PAGE_ABO_CREA_VILLE",SITE_URL."/rubriques/local/abo/");
|
||||
define("PAGE_ABO_CREA_HUB",SITE_URL."/BP/abo/");
|
||||
define("PAGE_ABO_NOUVEAU_FLUX",SITE_URL."/flux/abo/n/");
|
||||
define("PAGE_ABO_MAJ",SITE_URL."/abo/maj/");
|
||||
define("PAGE_ABO_AFFICHE",SITE_URL."/abo/voir/");
|
||||
define("PAGE_ABO_LISTE",SITE_URL."/abo/");
|
||||
define("PAGE_ABSENCE_MAJ",SITE_URL."/absences/maj/");
|
||||
define("PAGE_ABSENCES_LISTE",SITE_URL."/absences/");
|
||||
define("PAGE_MAJ_SOURCE",SITE_URL."/sources/maj.html");
|
||||
define("PAGE_MAJ_RUBRIQUES",SITE_URL."/rubriques/maj.html");
|
||||
define("PAGE_MAJ_FLUX",SITE_URL."/flux/maj.html");
|
||||
define("PAGE_MAJ_HUB",SITE_URL."/hub/maj.html");
|
||||
define("PAGE_MAJ_HUB_ILLUSTRATION_ADMIN",SITE_URL."/hub/admin_illustration_maj.html");
|
||||
define("PAGE_MAJ_POSTS",SITE_URL."/posts/maj.html");
|
||||
define("PAGE_MAJ_ILLUSTRATION_POST",SITE_URL."/posts/illustration_maj.html");
|
||||
define("PAGE_MAJ_ANNONCES",SITE_URL."/annonces/maj.html");
|
||||
define("PAGE_MAJ_COMPTES",SITE_URL."/comptes/maj.html");
|
||||
define("PAGE_STATS",SITE_URL."/stats/");
|
||||
define("PAGE_STATS_EMAIL",SITE_URL."/stats/email/");
|
||||
define("PAGE_CLIC_LIEN",SITE_URL."/go/");
|
||||
define("PAGE_AFFICHE_LOGO",SITE_URL."/img/");
|
||||
define("PAGE_CGU",SITE_URL."/cgu.html");
|
||||
define("PAGE_INFOS_LEGALES",SITE_URL."/infos-legales.html");
|
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* Script activé toutes les minutes lançant différentes tâches planifiées.
|
||||
*
|
||||
**/
|
||||
if(!isset($DT_fuseau))
|
||||
{
|
||||
set_time_limit(6000);
|
||||
require_once(__DIR__."/../config/config.php");
|
||||
require_once(__DIR__."/../config/config.perso.php");
|
||||
require_once(__DIR__."/../config/url.page.php");
|
||||
require_once(__DIR__."/../config/".SITE_LANG.".php");
|
||||
require_once(__DIR__."/../divers/utilitaires.php");
|
||||
}
|
||||
if(!empty(MSG_MAINTENANCE))
|
||||
exit();
|
||||
|
||||
ini_set("display_errors",-1);
|
||||
|
||||
$heure=date("H");
|
||||
$minute=date("i");
|
||||
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_utilisateur.php");
|
||||
|
||||
$import=FclFlux_utilisateur::sauve_journal_affichages();
|
||||
//envoi des mailings
|
||||
require_once(__DIR__."/../modele/FclFlux_abonnement.php");
|
||||
$time_debut=microtime(true);
|
||||
$envoi=FclFlux_abonnement::envoi_mailing(20);
|
||||
$time_fin=microtime(true);
|
||||
$duree=round($time_fin-$time_debut,2);
|
||||
if(!empty($envoi))
|
||||
echo "$envoi emails viennent d'être envoyés en $duree secondes.";
|
||||
else
|
||||
echo "Aucun envoi.";
|
||||
|
||||
$Bd=null;
|
||||
exit();
|
@ -0,0 +1,133 @@
|
||||
<?php
|
||||
/**
|
||||
* Script activé toutes les minutes lançant différentes tâches planifiées.
|
||||
*
|
||||
**/
|
||||
if(!isset($DT_fuseau))
|
||||
{
|
||||
set_time_limit(6000);
|
||||
require_once(__DIR__."/../config/config.php");
|
||||
require_once(__DIR__."/../config/config.perso.php");
|
||||
require_once(__DIR__."/../config/url.page.php");
|
||||
require_once(__DIR__."/../config/".SITE_LANG.".php");
|
||||
require_once(__DIR__."/../divers/utilitaires.php");
|
||||
}
|
||||
if(!empty(MSG_MAINTENANCE))
|
||||
exit();
|
||||
|
||||
ini_set("display_errors",1);
|
||||
|
||||
$heure=date("H");
|
||||
$minute=date("i");
|
||||
// lancé toutes les 24H (ici à 3h24')
|
||||
if(($heure==3)&&($minute==24))
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_post.php");
|
||||
$nettoye2=FclFlux_post::supprime_anciens_posts();
|
||||
require_once(__DIR__."/../modele/FclFlux_utilisateur.php");
|
||||
$nettoye_u=FclFlux_utilisateur::supprime_anciens_utilisateurs();
|
||||
$nettoye_stats=FclFlux_utilisateur::nettoye_logs_affichages();
|
||||
require_once(__DIR__."/../modele/FclFlux_annonces.php");
|
||||
$import_stats=FclFlux_annonce::sauve_stats_annonces();
|
||||
require_once(__DIR__."/../modele/FclFlux_hub.php");
|
||||
$nb_hubs_actualises=FclFlux_hub::actualise_liste_posts_date_diffusion();
|
||||
$time_limite=time()-3600*24*30;
|
||||
$date_limite=date("d/m/Y",$time_limite);
|
||||
$nettoye_journal=journal_erreurs::vide_journal($date_limite);
|
||||
}
|
||||
// le journal de l'admin tous les matins avec les croissants :-)
|
||||
if(($heure==6)&&($minute==49))
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
require_once(__DIR__."/../modele/FclFlux_utilisateur.php");//inclut également la classe journal_erreurs
|
||||
journal_erreurs::get_stats_journal_admin();
|
||||
}
|
||||
// lancé toutes les heures
|
||||
if($minute==31)
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_utilisateur.php");
|
||||
$nettoye_fichiers=FclFlux_utilisateur::supprime_fichiers_temp();
|
||||
$nettoye_sessions=FclFlux_utilisateur::sauve_sessions();
|
||||
}
|
||||
// lancé 4 fois / jour
|
||||
if((strpos("[09][13][15][19]","[$heure]")!==false)&&($minute=="35"))
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_abonnement.php");
|
||||
// Les décalages horaires.
|
||||
$maj_decalages=FclFlux_abonnement::actualise_decalages_horaires();
|
||||
// Les périodes d'absence.
|
||||
$maj_absences=FclFlux_abonnement::actualise_absences();
|
||||
// Les abonnements n'ayant plus de flux...
|
||||
$suppr_abos=FclFlux_abonnement::nettoye_abonnements_sans_hub();
|
||||
// Désactivation des abonnements fantômes + suppression des anciens envois
|
||||
$desactive_abos=FclFlux_abonnement::desactivation();
|
||||
if(!empty($desactive_abos))
|
||||
$ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,"$desactive_abos abonnements viennent d'être désactivés.","cron"));
|
||||
}
|
||||
// 6 fois / heure
|
||||
if(strpos("[07][17][27][37][47][57]","[$minute]")!==false)
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_post.php");
|
||||
$import=FclFlux_post::sauve_journal_clics();
|
||||
require_once(__DIR__."/../modele/FclFlux_annonces.php");
|
||||
$import_a=FclFlux_annonce::sauve_journal_clics();
|
||||
//import flux maj quotidienne
|
||||
require_once(__DIR__."/../modele/FclFlux_flux.php");
|
||||
$time_debut=microtime(true);
|
||||
$import=FclFlux_flux::importation(10,"J");
|
||||
$time_fin=microtime(true);
|
||||
$duree=round($time_fin-$time_debut,2);
|
||||
//if(!empty($import))
|
||||
// $ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,"$import flux (J) viennent d'être actualisés en $duree secondes."));
|
||||
}
|
||||
// 6 fois / heure
|
||||
if(strpos("[03][13][23][33][43][53]","[$minute]")!==false)
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
//import flux maj toutes les heures
|
||||
require_once(__DIR__."/../modele/FclFlux_flux.php");
|
||||
$time_debut=microtime(true);
|
||||
$import=FclFlux_flux::importation(10,"H");//mise à jour des derniers posts des hubs ?
|
||||
$time_fin=microtime(true);
|
||||
$duree=round($time_fin-$time_debut,2);
|
||||
//if(!empty($import))
|
||||
//$ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,"$import flux (H) viennent d'être actualisés en $duree secondes."));
|
||||
}
|
||||
|
||||
// 12 fois / heure
|
||||
if(strpos("[00][05][10][15][20][25][30][35][40][45][50][55]","[$minute]")!==false)
|
||||
{
|
||||
if(empty($Bd))
|
||||
require(__DIR__."/../modele/connexion-bd.php");
|
||||
if((isset_connexion(__FILE__,__LINE__)===false)) exit();
|
||||
require_once(__DIR__."/../modele/FclFlux_utilisateur.php");
|
||||
$import=FclFlux_utilisateur::sauve_journal_affichages();
|
||||
//envoi des mailings
|
||||
require_once(__DIR__."/../modele/FclFlux_abonnement.php");
|
||||
//$time_debut=microtime(true);
|
||||
$envoi=FclFlux_abonnement::envoi_mailing(10);
|
||||
//$time_fin=microtime(true);
|
||||
///echo $time_fin;
|
||||
//$duree=round($time_fin-$time_debut,2);
|
||||
//if(!empty($envoi))
|
||||
// $ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,"$envoi emails viennent d'être envoyés en $duree secondes.","cron"));
|
||||
//else
|
||||
// echo "Aucun envoi.";
|
||||
}
|
||||
$Bd=null;
|
||||
exit();
|
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
/**
|
||||
* Script lancé toutes les minutes lançant différentes tâches planifiées.
|
||||
*
|
||||
**/
|
||||
ini_set("display_errors",-1);
|
||||
set_time_limit(6000);
|
||||
|
||||
require_once(__DIR__."/../config/config.php");
|
||||
require_once(BASE_REP."../config/config.perso.php");
|
||||
require_once(BASE_REP."../config/url.page.php");
|
||||
require_once(BASE_REP."../config/".SITE_LANG.".php");
|
||||
require_once(BASE_REP."../divers/utilitaires.php");
|
||||
require_once("cron-index-bis.php");
|
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Script lancé toutes les minutes lançant différentes tâches planifiées.
|
||||
*
|
||||
**/
|
||||
ini_set("display_errors",1);
|
||||
|
||||
set_time_limit(6000);
|
||||
require_once(__DIR__."/../config/config.php");
|
||||
require_once(BASE_REP."../config/config.perso.php");
|
||||
require_once(BASE_REP."../config/url.page.php");
|
||||
require_once(BASE_REP."../config/".SITE_LANG.".php");
|
||||
require_once(BASE_REP."../divers/utilitaires.php");
|
||||
|
||||
if($page[2]!=AUTORISE_CRON)
|
||||
{
|
||||
$ip=getIp();
|
||||
if((envoi_message(EMAIL_ADMIN,EMAIL_ADMIN,"[".SITE_NOM."] Alerte","Appel non autorisé aux tâches planifiées : ".$ip." ".AUTORISE_CRON))===false)
|
||||
$ajout_journal=new journal_erreurs(array(__FILE__,__LINE__,ERREUR_EMAIL_ENVOI));
|
||||
exit();
|
||||
}
|
||||
require_once("cron-index.php");
|
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* Script enregistrant dans un fichier les affichages d'un email via l'appel du logo
|
||||
* qu'il faut donc afficher...
|
||||
*
|
||||
**/
|
||||
if(empty($page[1]))
|
||||
exit();
|
||||
$param=explode("_",$page[1]);
|
||||
if((empty($param[0]))||(empty($param[1])))
|
||||
exit();
|
||||
$id_abonnement=intval($param[0]);
|
||||
$time_affiche=intval(str_replace(".jpg","",$param[1]));
|
||||
$now=time();
|
||||
if(($time_affiche<($now-365*3600*24))||($time_affiche>$now))
|
||||
exit();
|
||||
//je cherche les infos de l'abonnement.
|
||||
require_once("../modele/FclFlux_abonnement.php");
|
||||
$abo=new FclFlux_abonnement();
|
||||
$abo->id_abonnement=$id_abonnement;
|
||||
$infos_abo=$abo->get_infos_cache(false);//je ne force pas la création du cache pour éviter sql
|
||||
if(empty($infos_abo))
|
||||
exit();
|
||||
if(empty($infos_abo["auteur_id"]))
|
||||
exit();
|
||||
$user=new FclFlux_utilisateur();
|
||||
$user->id_utilisateur=intval($infos_abo["auteur_id"]);
|
||||
$page="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
|
||||
$user->ajout_journal_affichage($page,"email");
|
||||
unset($user);
|
||||
unset($abo);
|
||||
//après tous ces tests, le logo bien mérité !
|
||||
header('Content-Type: image/jpg');
|
||||
$Mail_html_url_logo=SITE_URL."/".TEMPLATE_REP."/mail/logo-header.jpg";
|
||||
$mois=date('m');
|
||||
$jour=intval(date('d'));
|
||||
if(($mois=="12")&&($jour>10)||($mois=="01")&&($jour<7))
|
||||
$code=file_get_contents(SITE_URL."/".TEMPLATE_REP."/mail/logo-header-noel.jpg");
|
||||
else
|
||||
$code=file_get_contents(SITE_URL."/".TEMPLATE_REP."/mail/logo-header.jpg");
|
||||
echo $code;
|
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
//home sweet home...
|
||||
require("../modele/FclFlux_utilisateur.php");
|
||||
$user=new FclFlux_utilisateur();
|
||||
if($user->test_session())
|
||||
{//si connecté l'utilisateur est envoyé vers sa page d'accueil personnalisée
|
||||
header("Location:".PAGE_ACCUEIL);
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($user);
|
||||
include("../vues/accueil.php");
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/* Page d'accueil de l'utilisateur connecté
|
||||
* Différente suivant si administrateur ou simple utilisateur...
|
||||
* Dans ce deuxième cas, on liste quelques liens pour chacun des abonnements du gus
|
||||
*/
|
||||
require_once("../modele/FclFlux_utilisateur.php");
|
||||
// utilisateur connecté ?
|
||||
$user=new FclFlux_utilisateur();
|
||||
if(!$user->test_session(false))
|
||||
{
|
||||
unset($user);
|
||||
$redirige=PAGE_ACCUEIL;
|
||||
FclFlux_utilisateur::crea_cookie_redirection($redirige,1);
|
||||
header("Location:".PAGE_CONNEXION);
|
||||
exit();
|
||||
}
|
||||
if($_SESSION["statut"]=="utilisateur")
|
||||
{
|
||||
// liste des abonnements + derniers liens importés
|
||||
require_once("../modele/FclFlux_abonnement.php");
|
||||
$abos=FclFlux_abonnement::get_liste_abo_cache($user,CREA_CACHE);
|
||||
if(empty($abos))
|
||||
{
|
||||
$_SESSION["message"]="Vous n'avez aucun abonnement pour l'instant. Vous pouvez créer le 1er en quelques instants ci-dessous.";
|
||||
header("location:".PAGE_REPERTOIRE_ACCUEIL);
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
$mes_abos=array();$i=0;
|
||||
$abo=new FclFlux_abonnement();
|
||||
foreach($abos as $abo_infos)
|
||||
{
|
||||
$mes_abos[$i]["designation"]=$abo_infos["designation"];
|
||||
$mes_abos[$i]["id_abonnement"]=$abo_infos["id_abonnement"];
|
||||
$abo->id_abonnement=$abo_infos["id_abonnement"];
|
||||
$liens_abo=$abo->get_liste_posts_cache(true);//liens des dernières 24H. La création du cache est forcée.
|
||||
if(!empty($liens_abo))
|
||||
$mes_abos[$i]["liens"]=$liens_abo;
|
||||
$i++;
|
||||
}
|
||||
unset($abo);
|
||||
}
|
||||
include("../vues/accueil_compte_utilisateur.php");
|
||||
}
|
||||
else
|
||||
{//page d'accueil de l'administrateur
|
||||
// +++++++++++++++++++++++++++++++++++++++++ STATS DES DERNIÈRES 24 H +++++++++++++++++++++++++++++++++++++++ //
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$present=time();
|
||||
$blabla="";
|
||||
$debut=time()-24*3600;
|
||||
$stats_jour=FclFlux_utilisateur::get_stats_utilisateurs($debut);
|
||||
if(!empty($stats_jour))
|
||||
{
|
||||
$blabla_stats_jour="<p>Sur cette période, <b>".$stats_jour["nb_comptes"]." compte(s)</b> et <b>".$stats_jour["nb_abo"]." abonnements</b> ont été créé(s) pour <b>".$stats_jour["nb_comptes_suppr"]." comptes supprimé(s)</b>.<br>
|
||||
<b>".$stats_jour["nb_mail_envoyes"]." mails envoyés à ".$stats_jour["nb_mail_uniques_envoyes"]." utilisateurs</b> différents, ce qui a généré <b>".$stats_jour["nb_clics_email"]." clics de ".$stats_jour["nb_clics_uniques_email"]." utilisateurs</b> différents.<br>
|
||||
Sur le partie web, <b>".$stats_jour["nb_clics_site"]." clics de ".$stats_jour["nb_clics_uniques_site"]." utilisateurs</b> différents, soit en tout : <b>".$stats_jour["nb_clics"]." clics de ".$stats_jour["nb_clics_uniques"]." utilisateurs</b> différents.</p>";
|
||||
}
|
||||
//total
|
||||
$stats_totales=FclFlux_utilisateur::get_stats_utilisateurs(0);
|
||||
$blabla_stats_tot="<p>En tout, <b>".$stats_totales["nb_comptes"]." comptes</b> utilisateur enregistrés dont ".$stats_totales["nb_comptes_valide"]." validés dont <b>".$stats_totales["nb_abonnes_email"]." abonnés (".round($stats_totales["nb_abonnes_email"]/($stats_totales["nb_comptes"]*0.01))." %) toujours actifs</b>.<br>
|
||||
<b>".$stats_totales["nb_abo"]." abonnements</b> dont <b>".$stats_totales["nb_abo_email"]." par email</b> pour <b>".$stats_totales["nb_abonnes"]." abonnés</b> différents.<br>
|
||||
Il y a actuellement <b>".$stats_totales["nb_fantomes"]." utilisateurs sans abonnement</b> parmi ceux validés, soit <b>".round($stats_totales["nb_fantomes"]/($stats_totales["nb_comptes"]*0.01))." %</b>.<br>
|
||||
Et <b>".$stats_totales["nb_abonnes_desactives"]." abonnés qui ont été désactivés</b> soit <b>".round($stats_totales["nb_abonnes_desactives"]/($stats_totales["nb_comptes"]*0.01))." %</b> de tous les utilisateurs.</p>";
|
||||
|
||||
// +++++++++++++++++++++++++++++++++++++++++ LES BUGS DE LA DERNIÈRE HEURE! +++++++++++++++++++++++++++++++++++++++ //
|
||||
$bug=new journal_erreurs;
|
||||
$t_limite=time()-3600*24;
|
||||
$date_debut=date("d/m/Y",$t_limite);
|
||||
$date_fin=date("d/m/Y");
|
||||
$erreurs_admin=$bug->get_journal_sansdoublon($date_debut,$date_fin);
|
||||
$journal_erreurs="";
|
||||
if(is_array($erreurs_admin))
|
||||
{
|
||||
$journal_erreurs="<ul>";
|
||||
foreach($erreurs_admin as $infos)
|
||||
{
|
||||
if($infos["times_dernier"]>$t_limite)
|
||||
{
|
||||
$journal_erreurs.="<li><strong>".$infos["msg"]."</strong><br> >> ".$infos["script"].", ligne(s) : ".implode("|",$infos["lignes"])."<br>";
|
||||
$journal_erreurs.=" >> Page(s) d'appel : ".implode("|",$infos["pages"])."<br><i> >> <b><u>".$infos["cpt"]." fois</u></b>";
|
||||
if($infos["times_premier"]!=$infos["times_dernier"])
|
||||
$journal_erreurs.=", du ".date("d/m/Y H:i:s",$infos["times_premier"])." au ".date("d/m/Y H:i:s",$infos["times_dernier"])."</i>.</li>";
|
||||
else
|
||||
$journal_erreurs.=" le ".date("d/m/Y H:i:s",$infos["times_premier"])."</i>.</li>";
|
||||
}
|
||||
}
|
||||
$journal_erreurs.="</ul>";
|
||||
}
|
||||
//les bugs dans les bugs !
|
||||
if(!empty($bug->erreurs))
|
||||
$journal_erreurs.=affiche_tableau($bug->erreurs);
|
||||
include("../vues/accueil_compte_admin.php");
|
||||
}
|
@ -0,0 +1,172 @@
|
||||
<?php
|
||||
/**
|
||||
* Script affichant un formulaire permettant de modifier / supprimer une annonce promotionnelle
|
||||
* dont l'id a été passé en paramètre
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
$ajax_on=false;
|
||||
if(!empty($_GET["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
}
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
$id_annonce=intval(trim($_GET["id_annonce"]));
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$annonce=FclFlux_annonce::recherche($id_annonce,"*");
|
||||
if(!empty($annonce))
|
||||
{
|
||||
$form_html[0]["nom"]="Informations de l'annonce n°$id_annonce.";
|
||||
$form_html[0]["champs"]="<form method='post' id='maj_annonce' name='maj_annonce' action='".PAGE_MAJ_ANNONCES."?id_annonce=$id_annonce' role='form'>";
|
||||
//stats affichages / clics de l'annonce
|
||||
$annonce_stats=new FclFlux_annonce();
|
||||
$annonce_stats->id_annonce=$annonce["id_annonce"];
|
||||
$stats=$annonce_stats->get_stats();
|
||||
if(!empty($stats))
|
||||
{
|
||||
$form_html[0]["champs"].="<div class='col-sm-12'><p class='help-block'><strong>Cette annonce a été diffusée ".$stats["nb_envois"]." fois à ".$stats["nb_envois_uniques"]." abonnés différents et a été cliquée ".$stats["nb_clics"]." fois par ".$stats["nb_clics_uniques"]." abonnés différents.";
|
||||
if(($stats["nb_envois_uniques"]!=0)&&($stats["nb_clics_uniques"]!=0))
|
||||
$form_html[0]["champs"].="<br>".round(($stats["nb_clics_uniques"]/($stats["nb_envois_uniques"]*0.01)))." % des abonnés ciblés ont cliqué au moins une fois sur l'annonce.";
|
||||
$form_html[0]["champs"].="</strong></p></div>";
|
||||
}
|
||||
unset($annonce_stats);
|
||||
//si date fin diffusion dépassée, on ne peut plus rien changer !
|
||||
$aujourdhui=time();
|
||||
$etat="";
|
||||
if($annonce["time_fin"]<=$aujourdhui)
|
||||
$etat="readonly";
|
||||
$emplacements=explode("|",ANNONCE_EMPLACEMENTS);
|
||||
$form_html[0]["champs"].="<div class='form-group'><label for='emplacement' class='col-sm-3 control-label'>Emplacement de l'annonce :</label>";
|
||||
foreach ($emplacements as $emplacement)
|
||||
{
|
||||
if($emplacement==$annonce["emplacement"])
|
||||
$form_html[0]["champs"].="<label class='checkbox-inline'><input type='radio' name='emplacement' value='$emplacement' checked='checked' $etat> ".$emplacement."</label>";
|
||||
else
|
||||
$form_html[0]["champs"].="<label class='checkbox-inline'><input type='radio' name='emplacement' value='$emplacement' $etat> ".$emplacement."</label>";
|
||||
}
|
||||
$form_html[0]["champs"].="<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Où l'annonce doit-elle apparaître dans les mailings ?</p></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='titre' class='col-sm-3 control-label'>Titre.</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".ANNONCE_MAX_TITRE."' name='titre' id='titre' value=\"".htmlspecialchars($annonce["titre"])."\" required $etat></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Désignation interne de l'annonce (non publiée).</p></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='annonce' class='col-sm-3 control-label'>Annonce.</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".ANNONCE_MAX_TEXTE."' name='annonce' id='annonce' value=\"".htmlspecialchars($annonce["annonce"])."\" required $etat></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Le texte de l'annonce.</p></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='url' class='col-sm-3 control-label'>Adresse du lien.</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='url' maxlength='".ANNONCE_MAX_URL."' name='url' id='url' value=\"".$annonce["lien_url"]."\" required $etat></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. L'adresse de la page dont le lien accompagne l'annonce.</p></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='designation' class='col-sm-3 control-label'>Ancre du lien.</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".ANNONCE_MAX_ANCRE."' name='designation' id='designation' value=\"".htmlspecialchars($annonce["lien_ancre"])."\" required $etat></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Le texte servant d'ancre au lien.</p></div>
|
||||
</div>";
|
||||
if($annonce["time_debut"]<=$aujourdhui)
|
||||
{
|
||||
$form_html[0]["champs"].="<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Date de début de la diffusion :</b> ".date("d/m/Y",$annonce["time_debut"]).".</p></div><input type='hidden' id='time_debut' name='time_debut' value=\"".date("d/m/Y",$annonce["time_debut"])."\"></div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$form_html[0]["champs"].="<div class='form-group'>
|
||||
<label for='time_debut' class='col-sm-3 control-label'>Date de début :</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' name='time_debut' id='time_debut' value=\"".date("d/m/Y",$annonce["time_debut"])."\" required></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Le jour de début de diffusion de l'annonce. Format ".DATE_FORMAT."</p></div>
|
||||
</div>";
|
||||
}
|
||||
if($annonce["time_fin"]<=$aujourdhui)
|
||||
$form_html[0]["champs"].="<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Date de fin de la diffusion :</b> ".date("d/m/Y",$annonce["time_fin"]).".</p></div><input type='hidden' id='time_fin' name='time_fin' value=\"".date("d/m/Y",$annonce["time_fin"])."\"></div>";
|
||||
else
|
||||
$form_html[0]["champs"].="<div class='form-group'>
|
||||
<label for='time_fin' class='col-sm-3 control-label'>Date de fin :</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' name='time_fin' id='time_fin' value=\"".date("d/m/Y",$annonce["time_fin"])."\" required></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>.</p></div>
|
||||
</div>";
|
||||
$form_html[0]["champs"].="<div class='form-group'>
|
||||
<label for='commentaires' class='col-sm-3 control-label'>Mémo.</label>
|
||||
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".ANNONCE_MAX_COMMENTAIRES."' name='commentaires' id='commentaires' value=\"".htmlspecialchars($annonce["commentaires"])."\" $etat></div>
|
||||
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Mémo interne non publié.</p></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<div class='col-sm-offset-3 col-sm-9'>
|
||||
<div class='checkbox'>
|
||||
<label class='text-danger' for='suppr_ok'><input type='checkbox' name='suppr_ok' id='suppr_ok' value='1' $etat> Je souhaite supprimer cette annonce.</label>
|
||||
</div></div></div>
|
||||
<div id='msg_annonces'></div>
|
||||
<input type='hidden' name='id_annonce' id='id_annonce' value='$id_annonce'>";
|
||||
if($annonce["time_fin"]>$aujourdhui)//je ne peux plus modifier une annonce dont la diffusion est achevée.
|
||||
{
|
||||
$form_html[0]["champs"].="<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button></div></div>";
|
||||
}
|
||||
$form_html[0]["champs"].="<p><br><br><a href='".PAGE_MAJ_ANNONCES."' title='Nouvelle saisie' class='btn btn-info btn-sm'>+ Nouvelle annonce.</a></p>
|
||||
</form>";
|
||||
//--rubriques de hubs dont les abonnés sont ciblés par cette annonce.
|
||||
$Annonce=new FclFlux_annonce();
|
||||
$Annonce->id_annonce=$id_annonce;
|
||||
$rubriques=$Annonce->get_rubriques_infos();
|
||||
unset($Annonce);
|
||||
$txt_stats="";
|
||||
$suppr_rubrique="";
|
||||
if(!empty($rubriques))
|
||||
{
|
||||
foreach ($rubriques as $rubrique_info)
|
||||
{
|
||||
$rubrique_stats=new FclFlux_rubrique();
|
||||
$rubrique_stats->id_rubrique=$rubrique_info["id_rubrique"];
|
||||
$stats=$rubrique_stats->get_stats();
|
||||
if(!empty($stats))
|
||||
$txt_stats=" (".$stats["nb_abo_actifs_indirects"]." abonnés)";
|
||||
unset($rubrique_stats);
|
||||
$suppr_rubrique.="<div class='form-group'><p><b><a href='".PAGE_MAJ_RUBRIQUES."?id_rubrique=".$rubrique_info["id_rubrique"]."' title=\"+ d'infos sur la rubrique\" target='_blank'>".$rubrique_info["nom"]."</a></b>$txt_stats <label class='checkbox-inline' for='suppr_rubrique[]'><input name='suppr_rubrique[]' type='checkbox' id='suppr_rubrique_".$rubrique_info["id_rubrique"]."' value='".$rubrique_info["id_rubrique"]."' $etat>Supprimer cette rubrique cible.</label></p></div>\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
require_once("../modele/FclFlux_abonnement.php");
|
||||
$stats_abonnes=FclFlux_abonnement::get_stats_globales();
|
||||
if(!empty($stats_abonnes))
|
||||
$txt_stats="<div class='col-sm-12'><p class='help-block'><strong>Sans ciblage, l'annonce sera diffusée à ".$stats_abonnes["nb_abonnes_email"]." abonnés différents.</strong></p></div>";
|
||||
}
|
||||
$form_html[1]["nom"]="Rubriques cibles de l'annonce.";
|
||||
$form_html[1]["champs"]="<div id='msg_annonces_classement'></div>
|
||||
<form method='post' id='rubriques_annonce' name='rubriques_annonce' action='".PAGE_MAJ_RUBRIQUES."' role='form'>";
|
||||
if($annonce["time_debut"]>$aujourdhui)//je ne peux plus modifier le ciblage d'une annonce dont la diffusion a débuté.
|
||||
{
|
||||
$form_html[1]["champs"].="<div class='form-group'>
|
||||
<label for='recherche_rubrique'>Nouvelle rubrique cible.</label>
|
||||
<input class='form-control' type='text' maxlength='20' name='recherche_rubrique' id='recherche_rubrique' $etat>
|
||||
</div>
|
||||
<div id='select_rubriques'></div>";
|
||||
}
|
||||
//rubriques déjà ciblées par cette annonce
|
||||
if(!empty($suppr_rubrique))
|
||||
$form_html[1]["champs"].="<p><strong>Rubriques enregistrées :</strong></p>$suppr_rubrique";
|
||||
else
|
||||
$form_html[1]["champs"].=$txt_stats;
|
||||
if($annonce["time_fin"]>$aujourdhui)//je ne peux plus modifier une annonce dont la diffusion est achevée.
|
||||
$form_html[1]["champs"].="<input type='hidden' name='id_annonce' id='id_annonce' value='$id_annonce'>
|
||||
<button type='submit' class='btn btn-success btn-lg' $etat>Enregistrer.</button>";
|
||||
else
|
||||
$form_html[1]["champs"].="<br>";
|
||||
$form_html[1]["champs"].="</form>";
|
||||
if($ajax_on)
|
||||
echo get_html_form($form_html,false);
|
||||
}
|
||||
else
|
||||
$msg_form[]=ERREUR_SQL_ENREG_ABSENT;
|
||||
}
|
||||
if((!empty($msg_form))&&($ajax_on))
|
||||
echo get_html_alerte_msg($msg_form);
|
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* Script testant les données envoyées lors des demandes de ciblage d'une rubrique de hub pour une annonce promotionnelle.
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
if(!empty($_POST["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
}
|
||||
if(!empty($_POST["id_annonce"]))
|
||||
$id_annonce=intval(trim($_POST["id_annonce"]));
|
||||
if(!empty($_POST["liste_rubriques"]))
|
||||
$nouvelle_rubrique=intval(trim($_POST["liste_rubriques"]));
|
||||
$suppr_rubriques=array();
|
||||
if(!empty($_POST["suppr_rubrique"]))
|
||||
{
|
||||
foreach($_POST['suppr_rubrique'] as $id)
|
||||
$suppr_rubriques[]=intval($id);
|
||||
}
|
||||
$msg_form_classement=array();
|
||||
if(((empty($nouvelle_rubrique))&&(empty($suppr_rubriques)))||(empty($id_annonce)))
|
||||
$msg_form_classement[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
||||
else
|
||||
{
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form_classement[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$annonce=new FclFlux_annonce();
|
||||
$annonce->id_annonce=$id_annonce;
|
||||
if(!empty($nouvelle_rubrique))
|
||||
{
|
||||
$rubrique=new FclFlux_rubrique();
|
||||
$rubrique->id_rubrique=$nouvelle_rubrique;
|
||||
$action=$annonce->ajout_rubrique_cible($rubrique);
|
||||
unset($rubrique);
|
||||
if(!empty($annonce->erreurs))
|
||||
$msg_form_classement=$annonce->erreurs;
|
||||
elseif($action===false)
|
||||
$msg_form_classement[]=ERREUR_IMPREVUE;
|
||||
}
|
||||
if(!empty($suppr_rubriques))
|
||||
{
|
||||
foreach($suppr_rubriques as $rub_id)
|
||||
{
|
||||
$rubrique=new FclFlux_rubrique();
|
||||
$rubrique->id_rubrique=$rub_id;
|
||||
$action=$annonce->suppr_rubrique_cible($rubrique);
|
||||
unset($rubrique);
|
||||
if($action===false)
|
||||
{
|
||||
$msg_form_classement[]=ERREUR_IMPREVUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(empty($msg_form_classement))
|
||||
$msg_form_classement[]=MSG_ADMIN_VALID;
|
||||
$Bd=null;
|
||||
}
|
||||
}
|
||||
if((!empty($msg_form_classement))&&($ajax_on))
|
||||
{
|
||||
if(($msg_form_classement[0]==MSG_ADMIN_VALID)&&(!empty($annonce->id_annonce)))
|
||||
echo $annonce->id_annonce;
|
||||
else
|
||||
{
|
||||
foreach($msg_form_classement as $message)
|
||||
echo "<h4>$message</h4>";
|
||||
}
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* Script testant les données envoyées lors de l'enregistrement des données saisies pour une annonce promotionnelle
|
||||
* lors de sa création ou de sa mise à jour
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
$form["emplacement"]=trim($_POST["emplacement"]);
|
||||
$form["titre"]=trim($_POST["titre"]);
|
||||
$form["annonce"]=trim($_POST["annonce"]);
|
||||
$form["url"]=trim($_POST["url"]);
|
||||
$form["designation"]=trim($_POST["designation"]);
|
||||
$form["commentaires"]=trim($_POST["commentaires"]);
|
||||
$form["time_debut"]=trim($_POST["time_debut"]);
|
||||
$form["time_fin"]=trim($_POST["time_fin"]);
|
||||
$ajax_on=false;
|
||||
if(!empty($_POST["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
}
|
||||
$msg_form=array();
|
||||
if((empty($form["emplacement"]))||(empty($form["titre"]))||(empty($form["annonce"]))||(empty($form["url"]))||(empty($form["designation"]))||(empty($form["time_debut"]))||(empty($form["time_fin"])))
|
||||
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
||||
else
|
||||
{
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
$auteur=new FclFlux_utilisateur();
|
||||
$auteur->id_utilisateur=$_SESSION["id_utilisateur"];
|
||||
$form["auteur"]=$auteur;
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$form["limites"]["annonce_max_titre"]=ANNONCE_MAX_TITRE;
|
||||
$form["limites"]["annonce_max_texte"]=ANNONCE_MAX_TEXTE;
|
||||
$form["limites"]["url_long_max"]=ANNONCE_MAX_URL;
|
||||
$form["limites"]["designation_long_max"]=ANNONCE_MAX_ANCRE;
|
||||
$form["limites"]["annonce_max_commentaires"]=ANNONCE_MAX_COMMENTAIRES;
|
||||
$annonce=new FclFlux_annonce($form);
|
||||
if(!empty($annonce->erreurs))
|
||||
$msg_form=array_merge($annonce->erreurs,$msg_form);
|
||||
if(empty($msg_form))
|
||||
{
|
||||
if(!empty($_POST["id_annonce"]))
|
||||
{
|
||||
$form["id_annonce"]=$_POST["id_annonce"];//utile pour réaffichage si pas en ajax
|
||||
$annonce->id_annonce=intval(trim($_POST["id_annonce"]));
|
||||
$action=$annonce->actualise();
|
||||
}
|
||||
else
|
||||
$action=$annonce->ajout();
|
||||
if(!empty($annonce->erreurs))
|
||||
$msg_form=array_merge($annonce->erreurs,$msg_form);
|
||||
elseif($action===false)
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
if(empty($msg_form))
|
||||
$msg_form[]=MSG_ADMIN_VALID;
|
||||
}
|
||||
$Bd=null;
|
||||
}
|
||||
}
|
||||
if((!empty($msg_form))&&($ajax_on))
|
||||
{
|
||||
if(($msg_form[0]==MSG_ADMIN_VALID)&&(!empty($annonce->id_annonce)))
|
||||
echo $annonce->id_annonce;
|
||||
else
|
||||
{
|
||||
foreach($msg_form as $message)
|
||||
echo "<h4>$message</h4>";
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Script permettant à un administrateur
|
||||
* de saisir ou modifier les annonces promotionnelles à inclure dans les mailings
|
||||
*
|
||||
**/
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
$user=new FclFlux_utilisateur();
|
||||
if(!$user->test_session(true,true))
|
||||
{
|
||||
header("Location:".SITE_URL);
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_POST["titre"]))
|
||||
{
|
||||
if(empty($_POST["suppr_ok"]))
|
||||
include("../ctrl/admin_annonces_infos_tests.php");
|
||||
else
|
||||
include("../ctrl/admin_annonces_suppr_tests.php");
|
||||
}
|
||||
elseif(isset($_POST["recherche"]))
|
||||
include("../ctrl/admin_annonces_recherche.php");
|
||||
elseif(!empty($_GET["id_annonce"]))
|
||||
{
|
||||
include("../ctrl/admin_annonces_affiche.php");
|
||||
}
|
||||
else
|
||||
{// saisie d'une nouvelle annonce
|
||||
$form["emplacement"]="header";
|
||||
$form["titre"]="";
|
||||
$form["annonce"]="";
|
||||
$form["url"]="http://";
|
||||
$form["designation"]="";
|
||||
$form["commentaires"]="";
|
||||
$form["time_debut"]="";
|
||||
$form["time_fin"]="";
|
||||
//les éventuelles annonces en cours de diffusion
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$encours=FclFlux_annonce::get_liste_annonces_encours(false);
|
||||
if(!empty($encours))
|
||||
{
|
||||
$i=0;
|
||||
foreach($encours as $annonce_infos)
|
||||
{
|
||||
$annonce_stats=new FclFlux_annonce();
|
||||
$annonce_stats->id_annonce=$annonce_infos["id_annonce"];
|
||||
$stats=$annonce_stats->get_stats();
|
||||
if(!empty($stats))
|
||||
$encours[$i]["stats"]=$stats;
|
||||
unset($annonce_stats);unset($stats);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
include("../vues/admin_annonces_maj.php");
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* Script cherchant les annonces promotionnelles pour une recherche lancée par un administrateur
|
||||
* Les éventuels résultats sont listés pour sélection
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
$form["recherche"]=trim($_POST["recherche"]);
|
||||
$ajax_on=false;
|
||||
if(!empty($_POST["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
}
|
||||
if(empty($form["recherche"]))
|
||||
$select=get_html_alerte_msg((array) ERREUR_UTILISA_CHAMPS_ABSENTS);
|
||||
else
|
||||
{
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$select=get_html_alerte_msg((array) ERREUR_IMPREVUE);
|
||||
else
|
||||
{
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$annonces=FclFlux_annonce::recherche_globale($form["recherche"],"id_annonce,titre");
|
||||
$Bd=null;
|
||||
if(!empty($annonces))
|
||||
{
|
||||
$select="<div class='form-group'>
|
||||
<label for='liste_annonces'>".count($annonces)." résultat(s) correspondant</label>
|
||||
<select name='liste_annonces' id='liste_annonces' autofocus class='form-control'>
|
||||
<option value='0'></option>";
|
||||
foreach ($annonces as $annonce_info)
|
||||
$select.="<option value='".$annonce_info["id_annonce"]."'>".htmlentities(affiche_utf8($annonce_info["titre"],UTF8_OK))."</option>\n";
|
||||
$select.="</select></div>";
|
||||
}
|
||||
else
|
||||
$select=get_html_alerte_msg((array) ERREUR_SQL_RECHERCHE);
|
||||
}
|
||||
}
|
||||
if((!empty($select))&&($ajax_on))
|
||||
echo $select;
|
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
* Script testant les données envoyées lors d'une demande de suppression d'une annonce promotionnelle
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
$ajax_on=false;
|
||||
if(!empty($_POST["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_annonces.php");
|
||||
}
|
||||
$msg_form=array();
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
if((empty($_POST["id_annonce"]))||(empty($_POST["suppr_ok"])))
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
if(empty($Bd))
|
||||
require("../modele/connexion-bd.php");
|
||||
$annonce=new FclFlux_annonce();
|
||||
$form["id_annonce"]=$_POST["id_annonce"];//utile pour réaffichage si pas en ajax
|
||||
$annonce->id_annonce=intval(trim($_POST["id_annonce"]));
|
||||
$action=$annonce->supprime();
|
||||
if(!empty($annonce->erreurs))
|
||||
$msg_form=array_merge($annonce->erreurs,$msg_form);
|
||||
elseif($action===false)
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
if(empty($msg_form))
|
||||
$msg_form[]=MSG_ADMIN_VALID;
|
||||
$Bd=null;
|
||||
}
|
||||
}
|
||||
if((!empty($msg_form))&&($ajax_on))
|
||||
{
|
||||
if($msg_form[0]==MSG_ADMIN_VALID)
|
||||
echo str_replace("'","\"",get_html_alerte_msg($msg_form,"alert-success"));//pour comparaison en JS
|
||||
else
|
||||
echo get_html_alerte_msg($msg_form);
|
||||
}
|
@ -0,0 +1,192 @@
|
||||
<?php
|
||||
/**
|
||||
* Script affichant un formulaire permettant de modifier / supprimer les données d'un utilisateur
|
||||
* dont l'id a été passé en paramètre
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
**/
|
||||
$ajax_on=false;
|
||||
if(!empty($_GET["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_source.php");
|
||||
}
|
||||
if($_SESSION["statut"]!="administrateur")
|
||||
$msg_form[]=ERREUR_IMPREVUE;
|
||||
else
|
||||
{
|
||||
$id_utilisateur=intval(trim($_GET["id_utilisateur"]));
|
||||
require_once("../modele/connexion-bd.php");
|
||||
$compte=FclFlux_utilisateur::recherche($id_utilisateur,"id_utilisateur","pseudo,email,statut,presentation,illustration,ip_crea,time_crea,time_validation,origine,fuseau_horaire,nb_clics");
|
||||
if(!empty($compte))
|
||||
{
|
||||
//un peu de blabla suivant ce que j'ai sous la dent.
|
||||
$infos_utilisateur="Ce compte utilisateur ($id_utilisateur) a été créé le ".date("d/m/Y",$compte["time_crea"])." et validé le ".date("d/m/Y",$compte["time_validation"]).".";
|
||||
if(!empty($compte["nb_clics"]))
|
||||
$infos_utilisateur.=" Ses annonces ont reçu ".$compte["nb_clics"]." clics.";
|
||||
if(!empty($compte["origine"]))
|
||||
$infos_utilisateur.=" Origine du compte : ".$compte["origine"].".";
|
||||
$form_html["nom"]="Informations de l'utilisateur.";
|
||||
$form_html["champs"]="<form method='post' id='maj_comptes' name='maj_comptes' action='".PAGE_MAJ_COMPTES."?id_utilisateur=$id_utilisateur' role='form'>
|
||||
<p class='help-block'><b>$infos_utilisateur</b></p>
|
||||
<div class='form-group'>
|
||||
<label for='pseudo'>Pseudo.</label>
|
||||
<input class='form-control' type='text' maxlength='".UTILISATEUR_MAX_PSEUDO."' name='pseudo' id='pseudo' value=\"".htmlspecialchars($compte["pseudo"])."\" required>
|
||||
<p class='help-block'><b>Obligatoire</b>.</p>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='email'>Email.</label>
|
||||
<input class='form-control' type='email' maxlength='".UTILISATEUR_MAX_EMAIL."' name='email' id='email' value=\"".$compte["email"]."\" required>
|
||||
<p class='help-block'><b>Obligatoire</b>. <a href=\"mailto:".$compte["email"]."\" title='Contact' class='btn btn-info btn-sm'>Contactez cet utilisateur.</a></p>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='nouveau_passe'>Nouveau mot de passe.</label>
|
||||
<input class='form-control' type='password' maxlength='".UTILISATEUR_MAX_PASSE."' name='passe' id='passe'>
|
||||
<p class='help-block'>Facultatif</b>. Si vous souhaitez changer de mot de passe, le nouveau doit compter entre <b>".UTILISATEUR_MIN_PASSE." et ".UTILISATEUR_MAX_PASSE." caractères</b>. <b>Laisser ce champ vide dans le cas contraire</b>.</p>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='presentation'>Texte de présentation.</label>
|
||||
<textarea class='form-control' rows='4' name='presentation' id='presentation' maxlength='".UTILISATEUR_MAX_PRESENTATION."'>".htmlspecialchars($compte["presentation"])."</textarea>
|
||||
<p class='help-block'><b>Facultatif</b>. ".UTILISATEUR_MAX_PRESENTATION." caractères maximum.</p>
|
||||
</div>";
|
||||
$fuseau_defaut=date_default_timezone_get();
|
||||
$tz=new DateTimeZone($fuseau_defaut);
|
||||
$zones=$tz->listIdentifiers();
|
||||
$form_html["champs"].="<div id='fuseau_horaire'>
|
||||
<div class='form-group'>
|
||||
<label for='fuseau_horaire'>Fuseau horaire.</label>
|
||||
<select name='fuseau_horaire' class='form-control'>";
|
||||
foreach ($zones as $fuseau)
|
||||
{
|
||||
if($fuseau==$compte["fuseau_horaire"])
|
||||
$form_html["champs"].="<option value='".$fuseau."' selected=selected>".htmlentities(affiche_utf8($fuseau,UTF8_OK))."</option>";
|
||||
else
|
||||
$form_html["champs"].="<option value='".$fuseau."'>".htmlentities(affiche_utf8($fuseau,UTF8_OK))."</option>";
|
||||
}
|
||||
$form_html["champs"].="</select><p class='help-block'>Fuseau horaise utilisé par déterminer l'heure d'envoi des alertes email.</p>
|
||||
</div></div>";
|
||||
//image ?
|
||||
if(!empty($compte["illustration"]))
|
||||
{
|
||||
$fichier=$compte["illustration"];
|
||||
$adresse_illustration=UTILISATEUR_ILLUS_REP."/".$fichier[0]."/".$fichier;
|
||||
$form_html["champs"].="<p><strong>Photo actuelle.</strong><br><img src='".SITE_URL."/".$adresse_illustration."' alt='Illustration actuelle' class='img-responsive'></p>
|
||||
<div class='form-group'>
|
||||
<label class='checkbox-inline' for='suppr_illustration'></label><input name='suppr_illustration' type='checkbox' id='suppr_illustration' value='1'> Supprimer l'image.</label>
|
||||
</div>";
|
||||
}
|
||||
if($compte["statut"]!="administrateur")
|
||||
{
|
||||
$statuts=explode("|",UTILISATEUR_STATUTS);
|
||||
$form_html["champs"].="<div class='form-group'><label for='statut'>Statut.</label>
|
||||
<select name='statut' id='statut' autofocus class='form-control'>";
|
||||
foreach ($statuts as $statut)
|
||||
{
|
||||
if($statut==$compte["statut"])
|
||||
$form_html["champs"].="<option value='".$compte["statut"]."' selected='selected'>".$compte["statut"]."</option>\n";
|
||||
else
|
||||
$form_html["champs"].="<option value='".$compte["statut"]."'>".$compte["statut"]."</option>\n";
|
||||
}
|
||||
$form_html["champs"].="</select></div>
|
||||
<div class='form-group'><label class='checkbox-inline text-danger' for='suppr_ok'><input type='checkbox' id='suppr_ok' name='suppr_ok' value='1'> Je souhaite supprimer ce compte utilisateur.</label></div>";
|
||||
}
|
||||
else
|
||||
$form_html["champs"].="<input type='hidden' name='statut' id='statut' value='administrateur'>";
|
||||
|
||||
$form_html["champs"].="<input type='hidden' name='id_utilisateur' id='id_utilisateur' value='$id_utilisateur'>
|
||||
<div id='msg_utilisateurs'></div>
|
||||
<button type='submit' class='btn btn-success btn-lg'>Enregistrer.</button>
|
||||
<p><br><a href='".PAGE_MAJ_COMPTES."' title='Saisir un nouvel utilisateur' class='btn btn-info btn-sm'>+ Nouvel utilisateur.</a></p>
|
||||
</fieldset></form>";
|
||||
//quelques infos sur mon gus
|
||||
$user=new FclFlux_utilisateur();
|
||||
$user->id_utilisateur=$id_utilisateur;
|
||||
$infos=$user->get_infos_admin();
|
||||
//ses abonnements
|
||||
if(!empty($infos["abos"]))
|
||||
{
|
||||
$nb_abo=count($infos["abos"]);
|
||||
$form_html["champs"].="<p>Cet utilisateur a $nb_abo abonnement(s).<ul>";
|
||||
foreach ($infos["abos"] as $abo)
|
||||
{
|
||||
//dernier envoi réussi ?
|
||||
if(!empty($abo["time_dernier_envoi"]))
|
||||
$time_envoi=date("d/m/Y à H:i:s",$abo["time_dernier_envoi"]);
|
||||
else
|
||||
$time_envoi="jamais";
|
||||
if(!empty($abo["ville_insee"]))
|
||||
{
|
||||
$ville_infos=get_villes($abo["ville_insee"],"insee");
|
||||
$infos_ville=" Abonnement local pour la ville de : ".$ville_infos[0]["nom"]." (".$ville_infos[0]["cp"].").";
|
||||
unset($ville_infos);
|
||||
}
|
||||
else
|
||||
$infos_ville="";
|
||||
$form_html["champs"].="<li><b>".$abo["designation"]." (n°".$abo["id_abonnement"].")</b> - jours d'envoi : ".$abo["jours_alerte"].", heure d'envoi : ".$abo["heure_alerte"].", dernier envoi : $time_envoi, dernier traitement : ".date("d/m/Y à H:i:s",$abo["time_envoi"]).".".$infos_ville;
|
||||
//liste des hubs concernés par cet abonnement
|
||||
if(!empty($abo["hubs"]))
|
||||
{
|
||||
$nb_hub=count($abo["hubs"]);
|
||||
$form_html["champs"].="<br>Cet abonnement concerne le(s) bureaux de poste :";
|
||||
foreach ($abo["hubs"] as $hub_infos)
|
||||
$form_html["champs"].=" <b>".$hub_infos["nom"]."</b> (<a href='".PAGE_MAJ_HUB."?id_hub=".$hub_infos["id_hub"]."' target='_blank'>Infos</a>) |";
|
||||
}
|
||||
$form_html["champs"].="</li>";
|
||||
}
|
||||
$form_html["champs"].="</ul></p>";
|
||||
}
|
||||
//les dernières sessions enregistrées
|
||||
if(!empty($infos["sessions"]))
|
||||
{
|
||||
$nb_sessions=count($infos["sessions"]);
|
||||
$form_html["champs"].="<p>$nb_sessions connexions comptabilisées les 7 derniers jours, dont voici les dernières :<ul>";
|
||||
foreach ($infos["sessions"] as $session)
|
||||
$form_html["champs"].="<li><b>Le ".date("d/m/Y à H:i:s",$session["time_session"])."</b> (ip : ".$session["ip_session"].", configuration : ".$session["config"].", provenance : ".$session["referer"].")</li>";
|
||||
$form_html["champs"].="</ul></p>";
|
||||
}
|
||||
else
|
||||
$form_html["champs"].="<p>Aucune connexion enregistrée ces 7 derniers jours.</p>";
|
||||
//les pages où il est passé
|
||||
if(!empty($infos["pages"]))
|
||||
{
|
||||
$nb_pages=count($infos["pages"]);
|
||||
$form_html["champs"].="<p>$nb_pages affichages comptabilisés les 7 derniers jours, dont les suivants les dernières 24H :<ul>";
|
||||
$hier=time()-3600*24;
|
||||
foreach ($infos["pages"] as $page)
|
||||
{
|
||||
if($page["time_affichage"]>$hier)
|
||||
$form_html["champs"].="<li><b>".$page["page"]."</b> (contexte : ".$page["contexte"].", le ".date("d/m/Y à H:i:s",$page["time_affichage"]).")</li>";
|
||||
else
|
||||
break;
|
||||
}
|
||||
$form_html["champs"].="</ul></p>";
|
||||
}
|
||||
else
|
||||
$form_html["champs"].="<p>Aucun affichage enregistré ces 7 derniers jours.</p>";
|
||||
//ses annonces
|
||||
$auteur=new FclFlux_utilisateur();
|
||||
$auteur->id_utilisateur=$id_utilisateur;
|
||||
$annonces=FclFlux_post::get_liste_posts_auteur_cache($auteur,true);
|
||||
unset($auteur);
|
||||
if(!empty($annonces))
|
||||
{
|
||||
$nb_annonces=count($annonces);
|
||||
$form_html["champs"].="<p id='posts'>$nb_annonces annonces ont été postées par cet utilisateur :<ul>";
|
||||
$hier=time()-3600*24;
|
||||
foreach ($annonces as $annonce_infos)
|
||||
$form_html["champs"].="<li><b>".stripslashes($annonce_infos["ancre"])."</b> (<a href='".PAGE_MAJ_POSTS."?id_post=".intval($annonce_infos["id_post"])."' target='_blank'>Infos de l'annonce)</a></li>";
|
||||
$form_html["champs"].="</ul></p>";
|
||||
}
|
||||
else
|
||||
$form_html["champs"].="<p id='posts'>Aucune annonce postée par cet utilisateur.</p>";
|
||||
if($ajax_on)
|
||||
echo get_html_form($form_html,false);
|
||||
}
|
||||
else
|
||||
$msg_form[]=ERREUR_SQL_ENREG_ABSENT;
|
||||
}
|
||||
if((!empty($msg_form))&&($ajax_on))
|
||||
echo get_html_alerte_msg($msg_form);
|
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/**
|
||||
* Script testant les données envoyées lors de l'enregistrement d'une nouveau compte utilisateur
|
||||
* ou encore de sa mise à jour
|
||||
* Peut être appelé en ajax ou directement en php si JS désactivé
|
||||
*
|
||||
**/
|
||||
$ajax_on=false;
|
||||
if(!empty($_POST["ajax"]))
|
||||
{
|
||||
$ajax_on=true;
|
||||
session_save_path(SESSIONS_REP);
|
||||
ini_set("session.use_only_cookies",1);
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
require_once("../modele/FclFlux_utilisateur.php");
|
||||
}
|
||||
$msg_form=array();
|
||||
$form["pseudo"]=trim($_POST["pseudo"]);
|
||||
$form["email"]=trim($_POST["email"]);
|
||||
if(isset($_POST["abo_max_liens"]))
|
||||
$form["abo_max_liens"]=trim($_POST["abo_max_liens"]);
|
||||
if(isset($_POST["presentation"]))
|
||||
$form["presentation"]=trim($_POST["presentation"]);
|
||||
if(isset($_POST["origine"]))
|
||||
$form["origine"]=$_POST["origine"];
|
||||
if(isset($_POST["statut"]))
|
||||
$form["statut"]=$_POST["statut"];
|
||||
if(isset($_POST["fuseau_horaire"]))
|
||||
$form["fuseau_horaire"]=$_POST["fuseau_horaire"];
|
||||
if(isset($_POST["insee"]))
|
||||
$form["insee"]=$_POST["insee"];
|
||||
elseif(empty($_POST["insee"]))
|
||||
$form["insee"]=null;
|
||||
if((isset($_POST["passe"]))&&(!empty($_POST["passe"])))
|
||||
$form["passe"]=$_POST["passe"];
|
||||
if((empty($_POST["pseudo"]))||(empty($_POST["email"])))
|
||||
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
||||