Subversion Repositories Applications.bazar

Compare Revisions

Ignore whitespace Rev 416 → Rev 417

/branches/v3.0_(aha)/configuration/baz_config.inc.php
19,7 → 19,7
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: baz_config.inc.php,v 1.36.2.3 2008-01-29 09:42:28 alexandre_tb Exp $
// CVS : $Id: baz_config.inc.php,v 1.41 2008-10-29 15:45:08 alexandre_tb Exp $
/**
* Fichier de configuration du bazar
*
31,7 → 31,7
*@author Florian SCHMITT <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.36.2.3 $ $Date: 2008-01-29 09:42:28 $
*@version $Revision: 1.41 $ $Date: 2008-10-29 15:45:08 $
// +------------------------------------------------------------------------------------------------------+
*/
 
57,10 → 57,17
define ('BAZ_ACTION_PAS_PUBLIER', 16) ;
define ('BAZ_S_INSCRIRE', 17);
define ('BAZ_VOIR_FLUX_RSS', 18);
define ('BAZ_ACTION_POST_VALIDATION', 19); // Cette action correspond a la page apres le depot
// d une fiche et propose de dupliquer la fiche ou
// de sortir
 
// Constante des noms des variables
define ('BAZ_VARIABLE_VOIR', 'vue');
define ('BAZ_VARIABLE_ACTION', 'action');
define ('BAZ_VARIABLE_ID_FICHE', 'id_fiche');
define ('BAZ_VARIABLE_DUPLICATION', 'duplication');
define ('BAZ_VARIABLE_CATEGORIE_NATURE', 'categorie_nature');
 
/** Indique les onglets de vues à afficher.*/
define ('BAZ_VOIR_AFFICHER', '1,2,3,4,5,6');// Indiquer les numéros des vues à afficher séparées par des virgules.
/** Permet d'indiquer la vue par défaut si la variable vue n'est pas défini dans l'url ou dans les paramêtre du menu Papyrus.*/
77,9 → 84,9
// Constantes liées aux flux RSS
//==================================================================================
 
define('BAZ_CREER_FICHIERS_XML',0); //0=ne cree pas le fichier XML dans rss/; 1=cree le fichier XML dans rss/
define('BAZ_CREER_FICHIERS_XML',0); //0n ne cree pas le fichier XML dans rss/; 1=cree le fichier XML dans rss/
define('BAZ_RSS_NOMSITE','Educ-Envir.org'); //Nom du site indiqué dans les flux rss
define('BAZ_RSS_ADRESSESITE','http://educ-envir.org'); //Adresse Internet du site indiqué dans les flux rss
define('BAZ_RSS_ADRESSESITE','http://educ-envir.org'); //Adresse Internet du site indiqué dans les flux rss
define('BAZ_RSS_DESCRIPTIONSITE','Educ-Envir.org, pour mutualiser l\'information en éducation à l\'environnement.'); //Description du site indiquée dans les flux rss
define('BAZ_RSS_LOGOSITE','http://ecole-et-nature.org/images/Logo_REN-Site.png'); //Logo du site indiqué dans les flux rss
define('BAZ_RSS_MANAGINGEDITOR', 'nom@domaine.tld') ; //Managing editor du site
100,17 → 107,62
//Valeur maximale en octets pour la taille d'un fichier joint à télécharger
 
define ('BAZ_TYPE_AFFICHAGE_LISTE', 'jma');
$GLOBALS['_BAZAR_']['db'] =& $GLOBALS['_GEN_commun']['pear_db'];
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'];
 
 
define ('BAZ_ANNUAIRE','annuaire_tela'); //Table annuaire
define ('BAZ_CHAMPS_ID','U_ID'); //Champs index sur la table annuaire
define ('BAZ_CHAMPS_NOM','U_SURNAME'); //Champs nom sur la table annuaire
define ('BAZ_CHAMPS_PRENOM','U_NAME'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_EST_STRUCTURE','U_TITLE'); //Champs indiquant si c'est une structure qui est identifiée
define ('BAZ_CHAMPS_EMAIL','U_MAIL'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_MOT_DE_PASSE', 'U_PASSWD');
define ('BAZ_CHAMPS_NOM_WIKI','at_nom_wikini'); //Champs nom wikini sur la table annuaire
 
 
if (!defined ('PAP_VERSION')) {
//================================ BASE DE DONNEES =================================
define ('BAZ_PROTOCOLE', 'mysql') ;
define ('BAZ_UTILISATEUR', '') ;
define ('BAZ_MOT_DE_PASSE_DB', '') ;
define ('BAZ_HOTE', 'localhost') ;
define ('BAZ_BASE', '') ;
define ('BAZ_TYPE_ENCODAGE','MD5');
define ('BAZ_ANNUAIRE','annuaire'); //Table annuaire
define ('BAZ_CHAMPS_ID','a_id'); //Champs index sur la table annuaire
define ('BAZ_CHAMPS_NOM','a_nom'); //Champs nom sur la table annuaire
define ('BAZ_CHAMPS_PRENOM','a_prenom'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_EST_STRUCTURE','a_est_structure'); //Champs indiquant si c'est une structure qui est identifiée
define ('BAZ_CHAMPS_EMAIL','a_mail'); //Champs prenom sur la table annuaire
define ('BAZ_CHAMPS_NOM_WIKI','a_nom_wikini'); //Champs nom wikini sur la table annuaire
// Formation du dsn
$dsn = BAZ_PROTOCOLE.'://'.BAZ_UTILISATEUR.':'.BAZ_MOT_DE_PASSE_DB.'@'.BAZ_HOTE.'/'.BAZ_BASE;
 
/** Pour les inclusions de bibliotheques PEAR, mieux vaux
* utiliser celle sur le serveur, sinon utiliser la fonction set_init_path
*/
 
 
include_once 'DB.php'; //appel de la librairie DB de PEAR
/** Variable globale contenant l'objet d'accès à la base de donnée */
$GLOBALS['ins_db'] =& DB::connect($dsn);
//=============================== AUTHENTIFICATION =================================
include_once 'Auth.php'; //appel de la librairie Auth de PEAR
/** Nom de la session PHP */
define ('BAZ_NOM_SESSION','');
/** Durée de la session PHP */
define ('BAZ_DUREE_SESSION',3600*12);
/** Tableau des parametres de l'authentification */
$params = array(
'dsn' => $dsn,
'table' => BAZ_ANNUAIRE,
'usernamecol' => BAZ__CHAMPS_MAIL,
'passwordcol' => BAZ_CHAMPS_MOT_DE_PASSE
);
/** Variable globale contenant l'objet d'authentification de l'application, un objet AUTH*/
$GLOBALS['AUTH']= &new Auth($GLOBALS['ins_db'], $params );
$GLOBALS['AUTH']->setSessionname(INS_NOM_SESSION);
$GLOBALS['AUTH']->setExpire(INS_DUREE_SESSION);
$GLOBALS['AUTH']->setShowLogin(false);
} else {
$GLOBALS['_BAZAR_']['db'] =& $GLOBALS['_GEN_commun']['pear_db'];
$GLOBALS['AUTH'] =& $GLOBALS['_GEN_commun']['pear_auth'];
}
/** Réglage des droits pour déposer des annonces */
// Mettre à true pour limiter le dépot aux rédacteurs
define ('BAZ_RESTREINDRE_DEPOT', 0) ;
189,20 → 241,27
// Gestion des droits
 
// droit minimun pour pouvoir deposer une fiche, pour que le formulaire soit presente
$GLOBALS['droit_depot'] = '' ;
$GLOBALS['droit_depot'] = '3' ;
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.36.2.2 2008-01-11 14:08:14 alexandre_tb
* ajout de la contante BAZ_VARIABLE_ACTION
* $Log: baz_config.inc.php,v $
* Revision 1.41 2008-10-29 15:45:08 alexandre_tb
* mise en place de la duplication de fiche
* simplification du code
*
* Revision 1.36.2.1 2007-12-14 09:52:20 alexandre_tb
* ajout des constantes
* BAZ_GOOGLE_IMAGE_LARGEUR
* 'BAZ_GOOGLE_IMAGE_HAUTEUR
* BAZ_GOOGLE_MAXIMISE_TAILLE
* Revision 1.40 2008-10-27 16:52:38 aperonnet
* correction de fautes d'orthographe
*
* Revision 1.39 2008-09-17 14:08:45 alexandre_tb
* merge depuis aha
*
* Revision 1.38 2008-02-08 08:44:05 alexandre_tb
* ajout du bloc de configuration si installation hors de papyrus
*
* Revision 1.37 2007-12-14 09:53:23 alexandre_tb
* Fusion avec la livraison AHA : 14 decembre 2007
*
* Revision 1.36 2007-10-01 12:03:19 alexandre_tb
* constantes liees a la cartographie google des fiches
*
232,7 → 291,7
* correction bugs suite au merge
*
* Revision 1.27 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
* remise en état du CVS...
*
* Revision 1.21.2.1 2007/02/15 13:43:54 jp_milcent
* Ajout de commentaire pour la constante utilisée par le Calendrier.
268,10 → 327,10
* ajout de la constante pour masquer la liste des émetteurs
*
* Revision 1.11 2006/01/18 10:03:36 florian
* recodage de l'insertion et de la maj des données relatives aux listes et checkbox dans des formulaires
* recodage de l'insertion et de la maj des données relatives aux listes et checkbox dans des formulaires
*
* Revision 1.10 2006/01/03 10:19:31 florian
* Mise à jour pour accepter des parametres dans papyrus: faire apparaitre ou non le menu, afficher qu'un type de fiches, définir l'action par défaut...
* Mise à jour pour accepter des parametres dans papyrus: faire apparaitre ou non le menu, afficher qu'un type de fiches, définir l'action par défaut...
*
* Revision 1.9 2005/12/16 15:47:54 alexandre_tb
* ajout de l'option restreindre dépôt
286,7 → 345,7
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.4 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* Revision 1.2 2005/02/22 15:34:17 florian
* integration dans Papyrus
321,4 → 380,4
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
?>
/branches/v3.0_(aha)/bibliotheque/bazar.fonct.php
241,7 → 241,7
if ($GLOBALS['AUTH']->getAuth()) {
// requete pour voir si l'utilisateur a des fiches a son nom, classees par date de MAJ et nature d'annonce
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_ce_utilisateur='. $GLOBALS['id_user'].
' AND bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
' AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
$requete .= ' ORDER BY bf_date_maj_fiche DESC,bf_ce_nature ASC';
252,7 → 252,7
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
$entete = array (BAZ_TITREANNONCE , BAZ_TYPEANNONCE, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER, 'Dupliquer') ;
$table->addRow($entete) ;
$table->setRowType (0, "th") ;
280,6 → 280,14
$lien_supprimer->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_supprimer_url=$lien_supprimer->getURL();
$lien_dupliquer = $GLOBALS['_BAZAR_']['url'];
$lien_dupliquer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
$lien_dupliquer->addQueryString(BAZ_VARIABLE_ID_FICHE, $ligne['bf_id_fiche']);
$lien_dupliquer->addQueryString(BAZ_VARIABLE_DUPLICATION, 1);
$lien_dupliquer=$lien_dupliquer->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_DUPLICATION);
$table->addRow (array(
'<a href="'.$lien_voir_url.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$ligne['bn_label_nature']."\n", // col 2: type annonce
286,7 → 294,8
$publiee."\n", // col 3 : publiee ou non
'<a href="'.$lien_modifier_url.'">'.BAZ_MODIFIER.'</a>'."\n", // col 4 : modifier
'<a href="'.$lien_supprimer_url.'" onclick="javascript:return '.
'confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 5 : supprimer
'confirm(\''.BAZ_CONFIRMATION_SUPPRESSION.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n", // col 5 : supprimer
'<a href="'.$lien_dupliquer.'">Dupliquer</a>'."\n")) ;
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "left"));
314,6 → 323,7
return $res;
}
 
 
/** baz_gestion_droits() interface de gestion des droits
*
* return string le code HTML
510,10 → 520,9
*/
function baz_formulaire($mode) {
$res = '';
 
if ($GLOBALS['AUTH']->getAuth()) {
$lien_formulaire=$GLOBALS['_BAZAR_']['url'];
 
//Definir le lien du formulaire en fonction du mode de formulaire choisi
if ($mode == BAZ_DEPOSER_ANNONCE) {
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
569,6 → 578,7
$res = '';
//requete pour obtenir le nom et la description des types d'annonce
$requete = 'SELECT * FROM bazar_nature WHERE bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ';
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
}
614,7 → 624,15
}
}
$squelette->setElementTemplate( '<div class="listechoix">'."\n".'{element}'."\n".'</div>'."\n");
//Mettre les annonces en choix par defaut
$formtemplate->setdefaults(array('typeannonce'=>'1'));
// Bouton d annulation
$lien_formulaire->removeQueryString('action');
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', BAZ_ANNULER,
preg_replace ("/&amp;/", "&", $lien_formulaire->getURL()), BAZ_ANNULER); // Le preg_replace contourne un pb de QuickForm et Net_URL
// qui remplacent deux fois les & par des &amp;
//Bouton de validation du formulaire // ce qui fait échouer le lien
$buttons[] = &HTML_QuickForm::createElement('submit', 'valider', BAZ_VALIDER);
$formtemplate->addGroup($buttons, null, null, '&nbsp;');
623,7 → 641,7
$res.= $formtemplate->toHTML()."\n";
}
}
 
//------------------------------------------------------------------------------------------------
//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR
//------------------------------------------------------------------------------------------------
639,9 → 657,17
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$html = $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE, $GLOBALS['_BAZAR_']['langue'],$GLOBALS['_BAZAR_']['categorie_nature']);
if (!PEAR::isError($html)) {
$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('insertion',$formtemplate), $html);
if (isset($_GET[BAZ_VARIABLE_DUPLICATION])) {
$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('duplication',$formtemplate), $html);
} else {
$res = str_replace ('{FORMULAIRE}', baz_afficher_formulaire_annonce('insertion',$formtemplate), $html);
}
} else {
$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
if (isset($_GET[BAZ_VARIABLE_DUPLICATION])) {
$res = baz_afficher_formulaire_annonce('duplication',$formtemplate);
} else {
$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
}
}
} else {
// Pas de droit pour deposer un annonce
657,17 → 683,19
}
// Nettoyage de l'url avant les return : apparement inutile sinon pose pb (url applette deconnexion et moteur de recherche) [jpm le 17 mars 2008]
//$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
//$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
//------------------------------------------------------------------------------------------------
//CAS DE L'INSCRIPTION D'UNE ANNONCE
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_NOUVEAU_V) {
if ($formtemplate->validate()) {
$formtemplate->process('baz_insertion', false) ;
if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
//$formtemplate->process('baz_insertion', false) ;
$id_fiche = baz_insertion ($formtemplate->getSubmitValues());
// Redirection vers mes_fiches pour eviter la revalidation du formulaire
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ACTION, BAZ_ACTION_POST_VALIDATION);
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ID_FICHE, $id_fiche);
header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
exit();
}
703,9 → 731,9
* @return string code HTML avec formulaire
*/
function baz_afficher_formulaire_annonce($mode='insertion',$formtemplate) {
if ($mode=='modification') {
if ($mode=='modification' || $mode == 'duplication') {
//initialisation de la variable globale id_fiche
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST[BAZ_VARIABLE_ID_FICHE];
//suppression eventuelle d'une url, d'un fichier ou d'une image
if (isset($_GET['id_url'])) {
734,11 → 762,25
else {
//Parcours du fichier de templates, pour mettre les valeurs des champs
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
if ($mode=='modification') {
if ($mode=='modification' || $mode == 'duplication') {
//Ajout des valeurs par defaut
$valeurs_par_defaut = baz_valeurs_fiche($GLOBALS['_BAZAR_']['id_fiche']) ;
for ($i=0; $i<count($tableau); $i++) {
if (isset($ligne[$tableau[$i]['nom_bdd']])) {
$type = $tableau[$i]['type'];
$valeur = $ligne[$tableau[$i]['nom_bdd']];
} else {
$type = $tableau[$i]['type'];
$valeur = '';
}
/*
$element = Bazar_element::factory($type, $tableau[$i]);
if (!PEAR::isError($element)) {
if (method_exists($element, 'toForm'))$res .= $element->toForm($valeur);
}
*/
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
}
757,11 → 799,10
isset ($valeurs_par_defaut[$def]) ? $valeurs_par_defaut[$def] : '',
$tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
if ($tableau[$i]['type']=='carte_google') {
//include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
include_once 'bazar.fonct.google.php' ;
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
//GEN_AttributsBody('onload', 'load()');
GEN_AttributsBody('onload', 'load()');
}
}
}
770,16 → 811,17
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
$tableau[$i]['limite2'], $tableau[$i]['defaut'], $tableau[$i]['table_source'], $tableau[$i]['obligatoire']) ;
if ($tableau[$i]['type'] == 'carte_google') {
//include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
include_once 'bazar.fonct.google.php' ;
include_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.google.php';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
//GEN_AttributsBody('onload', 'load()');
GEN_AttributsBody('onload', 'load()');
}
}
}
$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
// Un champs cache pour la duplication
if ($mode == 'duplication') $formtemplate->addElement('hidden', 'fiche_dupliquee', $GLOBALS['_BAZAR_']['id_fiche']);
// Bouton d annulation
$attr = $formtemplate->getAttributes();
$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]);
840,7 → 882,8
}
}
//pour les listes, une insertion de la valeur suffit
else {
else {
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
926,35 → 969,37
* @return void
*/
function baz_insertion($valeur) {
// =========== Insertion d'une nouvelle fiche ===================
// =========== Insertion d'une nouvelle fiche ===================
// dans le cas où on traite le type d'évenements, on le récupère dans la globale id_typeannonce
// TODO: Vérifier si ça marche !!!!
if (isset($valeur['liste31']) && $valeur['liste31'] != '') {
$GLOBALS['_BAZAR_']['id_typeannonce'] = $valeur['liste31'] ;
}
//requete d'insertion dans bazar_fiche
$GLOBALS['_BAZAR_']['id_fiche'] = baz_nextid('bazar_fiche', 'bf_id_fiche', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'INSERT INTO bazar_fiche SET bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].','.
'bf_ce_utilisateur='.$GLOBALS['id_user'].', bf_ce_nature='.$GLOBALS['_BAZAR_']['id_typeannonce'].','.
'bf_date_creation_fiche=NOW(),';
'bf_date_creation_fiche=NOW() , '.requete_bazar_fiche($valeur);
if (!isset($_REQUEST['bf_date_debut_validite_fiche'])) {
$requete .= 'bf_date_debut_validite_fiche=now(), bf_date_fin_validite_fiche="0000-00-00", ' ;
}
$requete .=requete_bazar_fiche(&$valeur) ;
$requete .= ', bf_date_debut_validite_fiche=now(), bf_date_fin_validite_fiche="0000-00-00" ' ;
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
die($resultat->getMessage().$resultat->getDebugInfo()) ;
}
mail('aurelien@tela-botanica.org','debug',$requete) ;
// Envoie d un mail aux administrateurs
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
 
$mails = bazar::getMailAdmin($GLOBALS['_BAZAR_']['id_typeannonce']);
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$template = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$sujet = $template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_SUJET, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']);
$corps = $template->getTemplate(BAZ_TEMPLATE_MAIL_NOUVELLE_FICHE_CORPS, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']);
if (is_array ($mails)) {
foreach ($mails as $mail) {
mail ($mail, $sujet, $corps);
}
if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
bazar::notifier();
}
 
return ;
// On redirige
return $GLOBALS['_BAZAR_']['id_fiche'];
}
 
 
1043,9 → 1088,18
* @return void
*/
function baz_mise_a_jour($valeur) {
if (isset($valeur['liste31']) && $valeur['liste31'] != '') {
$GLOBALS['_BAZAR_']['id_typeannonce'] = $valeur['liste31'] ;
}
 
//MAJ de bazar_fiche
$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur,$GLOBALS['_BAZAR_']['id_typeannonce']);
$requete = 'UPDATE bazar_fiche SET '.requete_bazar_fiche(&$valeur);
if (isset($valeur['liste31']) && $valeur['liste31'] != '') {
$requete .= ' ,bf_ce_nature = '.$GLOBALS['_BAZAR_']['id_typeannonce'] ;
}
$requete.= ' WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
1053,6 → 1107,31
return;
}
 
function baz_post_validation() {
$lien_duplication = clone $GLOBALS['_BAZAR_']['url'];
$lien_nouvelle_fiche = clone $GLOBALS['_BAZAR_']['url'];
$lien_mes_fiches = clone $GLOBALS['_BAZAR_']['url'];
$lien_duplication->addQueryString(BAZ_VARIABLE_ID_FICHE, $GLOBALS['_BAZAR_']['id_fiche']);
$lien_duplication->addQueryString(BAZ_VARIABLE_DUPLICATION, 1);
$lien_duplication->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
$lien_duplication = $lien_duplication->getURL();
$lien_nouvelle_fiche->addQueryString(BAZ_VARIABLE_ACTION, BAZ_DEPOSER_ANNONCE);
$lien_nouvelle_fiche->addQueryString(BAZ_VARIABLE_CATEGORIE_NATURE, $GLOBALS['_BAZAR_']['categorie_nature']);
$lien_nouvelle_fiche = $lien_nouvelle_fiche->getURL();
$lien_mes_fiches->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
$lien_mes_fiches = $lien_mes_fiches->getURL();
ob_start();
if (file_exists(BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html')) {
include_once BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html';
}
$res = ob_get_contents();
ob_end_clean();
return $res ;
}
 
/** baz_suppression() - Supprime une fiche
*
/branches/v3.0_(aha)/bibliotheque/bazar.fonct.rss.php
162,6 → 162,7
}
}
}
$requete = 'SELECT * FROM bazar_fiche,bazar_nature WHERE bf_ce_nature=bn_id_nature and bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
 
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'"';
197,7 → 198,7
}
//affiche le texte sinon
else {
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bn_label_nature'].'</h2>'."\n";
$res .= '<h1 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bn_label_nature'].'</h1>'."\n";
}
$GLOBALS['_BAZAR_']['annonceur'] = $ligne['bf_ce_utilisateur'] ;
//si le template existe, on genere le template
222,7 → 223,7
$res .= '</div>'."\n";
}
$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.nl2br($ligne['bf_description']).'</div>'."\n";
//$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.nl2br($ligne['bf_description']).'</div>'."\n";
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
/** Boucle d affichage des resultats
617,7 → 618,7
function gen_RSS($typeannonce='', $nbitem='', $emetteur='', $valide=1, $requeteSQL='', $requeteSQLFrom = '', $requeteWhereListe = '', $categorie_nature='', $order = '') {
// generation de la requete MySQL personnalisee
$req_where=0;
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description, bn_label_nature, bf_date_creation_fiche, bf_ce_utilisateur '.
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description,bf_date_debut_evenement, bn_label_nature, bf_date_creation_fiche, bf_ce_utilisateur '.
'FROM bazar_fiche, bazar_nature '.$requeteSQLFrom.' WHERE '.$requeteWhereListe;
if ($valide!=2) {
$requete .= 'bf_statut_fiche='.$valide;
768,10 → 769,11
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('description');
$xml .= "\r\n ";
if ($ligne['bf_date_debut_validite_fiche'] != '0000-00-00' &&
/*if ($ligne['bf_date_debut_validite_fiche'] != '0000-00-00' &&
$ligne['bf_date_debut_validite_fiche']>$ligne['bf_date_creation_fiche']) {
$date_pub = $ligne['bf_date_debut_validite_fiche'];
} else $date_pub = $ligne['bf_date_creation_fiche'] ;
} else $date_pub = $ligne['bf_date_creation_fiche'] ;*/
$date_pub = $ligne['bf_date_debut_evenement'] ;
$xml .= XML_Util::createTag ('pubDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT',strtotime($date_pub)));
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('item');
/branches/v3.0_(aha)/bibliotheque/bazar.class.php
322,7 → 322,7
if (isset($_POST['bazar_filtre_'.$numero_liste]) && '*' == $_POST['bazar_filtre_'.$numero_liste]) {
$html_filtre .= 'selected="selected" ';
}
$html_filtre .= '>'.'Tout afficher'.'</option>';
$html_filtre .= '>'.'Tous les événements'.'</option>';
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$html_filtre .= '<option class="filtre_'.$ligne->blv_valeur.'" value="'.$ligne->blv_valeur.'"';
347,19 → 347,43
} else {
$defaut_fin = '';
}
$formulaire_filtre .= 'de <input type="text" readonly size="10" name="date_debut" class="inputDate" id="date_debut" value="'.$defaut_debut.'" />';
$formulaire_filtre .= ' &agrave; <input type="text" readonly size="10" name="date_fin" class="inputDate" id="date_fin" value="'.$defaut_fin.'" />';
 
$formulaire_filtre .= 'du <input type="text" readonly size="10" name="date_debut" class="inputDate" id="date_debut" value="'.$defaut_debut.'" />';
$formulaire_filtre .= ' au <input type="text" readonly size="10" name="date_fin" class="inputDate" id="date_fin" value="'.$defaut_fin.'" />';
$formulaire_filtre .= "\n".'<script language="javascript" type="text/javascript">' ."\n".
'$(document).ready(function() { $(\'#date_debut, #date_fin\').datepicker($.extend({}, $.datepicker.regional["fr-FR"],{
dateFormat:\'dd-mm-yy\',
buttonImage: "client/bazar/images/cal.png",
showOn: "both",
beforeShow: customRange,
buttonImageOnly: true'."\n".
'}));})' ."\n".
'function customRange(input) { return {minDate: (input.id == "date_fin" ? $("#date_debut").datepicker("getDate") : null),
maxDate: (input.id == "date_debut" ? $("#date_fin").datepicker("getDate") : null)};}' ."\n".
'</script>';
'
if (typeof(addListener) != \'function\') {
// fonction portable pour ajout de listeners
function addListener(element, baseName, handler)
{
if (element.addEventListener) {
element.addEventListener(baseName, handler, false) ;
} else if (element.attachEvent) {
element.attachEvent(\'on\'+baseName, handler) ;
}
}
}
function verifDate()
{
if (document.getElementById("date_debut") != null && document.getElementById("date_fin") != null) {
this.form.submit() ;
}
}
var calDateFin = document.getElementById("date_fin") ;
addListener(calDateFin,\'change\',verifDate) ;
var calDateDeb = document.getElementById("date_debut") ;
addListener(calDateDeb,\'change\',verifDate) ;
$(document).ready(function() { $(\'#date_debut, #date_fin\').datepicker($.extend({}, $.datepicker.regional["fr-FR"],{
dateFormat:\'dd-mm-yy\',
buttonImage: "client/bazar/images/cal.png",
showOn: "both",
beforeShow: customRange,
buttonImageOnly: true'."\n".
'}));})' ."\n".
'function customRange(input) { return {minDate: (input.id == "date_fin" ? $("#date_debut").datepicker("getDate") : null),
maxDate: (input.id == "date_debut" ? $("#date_fin").datepicker("getDate") : null)};}' ."\n".
'</script>';
 
return $formulaire_filtre;
}
/branches/v3.0_(aha)/bibliotheque/elements/carte_google.php
66,7 → 66,7
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
function load() {
function loadMap() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"), G_HYBRID_MAP);
/branches/v3.0_(aha)/bazar.carte_google.php
237,6 → 237,12
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$html = $modele->getTemplate(BAZ_TEMPLATE_ACCUEIL_CARTE_GOOGLE, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
if (PEAR::isError($html)) return $html->getMessage();
// nettoyage url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ID_FICHE) ;
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION) ;
$html = bazar::getFormulaireFiltre($html) ;
$res = str_replace ('{CARTE}', '<div id="map" style="width: '.BAZ_GOOGLE_IMAGE_LARGEUR.
'px; height: '.BAZ_GOOGLE_IMAGE_HAUTEUR.'px"></div>', $html);
 
/branches/v3.0_(aha)/bazar.php
96,12 → 96,12
 
//Recuperer les eventuelles variables passees en GET ou en POST
if (isset($_REQUEST['id_fiche'])) {
$GLOBALS['_BAZAR_']['id_fiche']=$_REQUEST['id_fiche'];
$GLOBALS['_BAZAR_']['id_fiche'] = $_REQUEST['id_fiche'];
// récupération du type d'annonce à partir de la fiche
$requete = 'select bf_ce_nature from bazar_fiche where bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'] ;
$requete = 'select bf_ce_nature from bazar_fiche where bf_id_fiche='.$_REQUEST['id_fiche'] ;
$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ;
if (DB::isError($resultat)) {
echo $resultat->getMessage().'<br />'.$resultat->getInfoDebug();
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
$GLOBALS['_BAZAR_']['id_typeannonce'] = $ligne->bf_ce_nature ;
108,27 → 108,33
$resultat->free();
}
if (isset($_REQUEST['typeannonce'])) {
$GLOBALS['_BAZAR_']['id_typeannonce']=$_REQUEST['typeannonce'];
}
 
if ((isset($GLOBALS['_BAZAR_']['id_typeannonce']))and($GLOBALS['_BAZAR_']['id_typeannonce']!='toutes')) {
$requete = 'SELECT bn_label_nature, bn_condition, bn_template, bn_commentaire, bn_appropriation, bn_image_titre, bn_image_logo';
$requete .= ' FROM bazar_nature WHERE bn_id_nature = '.$GLOBALS['_BAZAR_']['id_typeannonce'];
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
if( $GLOBALS['_BAZAR_']['id_typeannonce'] == '1,2,3,4') {
$GLOBALS['_BAZAR_']['id_typeannonce'] = '1' ;
} else {
$requete = 'SELECT bn_label_nature, bn_condition, bn_template, bn_commentaire, bn_appropriation, bn_image_titre, bn_image_logo';
$requete .= ' FROM bazar_nature WHERE bn_id_nature = '.$GLOBALS['_BAZAR_']['id_typeannonce'];
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$GLOBALS['_BAZAR_']['typeannonce']=$ligne['bn_label_nature'];
$GLOBALS['_BAZAR_']['condition']=$ligne['bn_condition'];
$GLOBALS['_BAZAR_']['template']=$ligne['bn_template'];
$GLOBALS['_BAZAR_']['commentaire']=$ligne['bn_commentaire'];
$GLOBALS['_BAZAR_']['appropriation']=$ligne['bn_appropriation'];
$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre'];
$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$GLOBALS['_BAZAR_']['typeannonce']=$ligne['bn_label_nature'];
$GLOBALS['_BAZAR_']['condition']=$ligne['bn_condition'];
$GLOBALS['_BAZAR_']['template']=$ligne['bn_template'];
$GLOBALS['_BAZAR_']['commentaire']=$ligne['bn_commentaire'];
$GLOBALS['_BAZAR_']['appropriation']=$ligne['bn_appropriation'];
$GLOBALS['_BAZAR_']['image_titre']=$ligne['bn_image_titre'];
$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];
}
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce'])) $GLOBALS['_BAZAR_']['id_typeannonce'] = 'toutes' ;
// +------------------------------------------------------------------------------------------------------+
224,7 → 230,7
// d afficher des vues correctes
if (isset($_GET[BAZ_VARIABLE_ACTION])) {
if (($_GET[BAZ_VARIABLE_ACTION]!=BAZ_ACTION_NOUVEAU_V)and($_GET[BAZ_VARIABLE_ACTION]!=BAZ_ACTION_MODIFIER_V)) unset($_SESSION['formulaire_annonce_valide']);
switch ($_GET[BAZ_VARIABLE_ACTION]) {
case BAZ_ACTION_VOIR_VOS_ANNONCES : $res .= mes_fiches(); break;
case BAZ_ANNONCES_A_VALIDER : $res .= fiches_a_valider(); break;
231,12 → 237,13
case BAZ_ADMINISTRER_ANNONCES : $res .= baz_administrer_annonces(); break;
case BAZ_SUPPRIMER_FICHE : $res .= baz_suppression().baz_liste('',$GLOBALS['id_user'],''); break;
case BAZ_VOIR_FICHE : $res .= baz_voir_fiche(1); break;
case BAZ_ACTION_NOUVEAU_V : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU_V); break;
case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression(); unset ($_GET[BAZ_VARIABLE_ACTION]); break;
case BAZ_ACTION_NOUVEAU_V : $res .= baz_formulaire(BAZ_ACTION_NOUVEAU_V).mes_fiches(); break;
case BAZ_ACTION_SUPPRESSION : $res .= baz_suppression(); unset ($_GET['action']); break;
case BAZ_ACTION_PUBLIER : publier_fiche(1) ; break;
case BAZ_ACTION_PAS_PUBLIER : publier_fiche(0) ;$res .= fiches_a_valider(); break;
case BAZ_S_INSCRIRE : $res .= baz_s_inscrire(); break;
case BAZ_VOIR_FLUX_RSS : header('Content-type: text/xml; charset=UTF-8');include("bazarRSS.php");exit(0);break;
case BAZ_ACTION_POST_VALIDATION : $res .= baz_post_validation();break;
}
}