Subversion Repositories Sites.outils-naturalistes.fr

Compare Revisions

Ignore whitespace Rev 36 → Rev 37

/trunk/spip/client/bazar/bibliotheque/elements/labelhtml.php
43,6 → 43,7
}
function toHTML($valeur) {
$html = '';
$val = $this->options['nom_bdd'];
// On ecrit le label uniquement si le champs obligatoire est a 1
/trunk/spip/client/bazar/bibliotheque/bazar.fonct.php
23,8 → 23,8
/**
*
* Fonctions du module bazar
*
*
*
*@package bazar
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
71,7 → 71,7
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_DATE_CREATION, BAZ_ETAT, '' /*BAZ_PUBLIER_VAL*/ , '' /*BAZ_SUPPRIMER*/) ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
 
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
//Requete pour trouver le nom et prenom de l'annonceur
88,17 → 88,17
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
 
// Nettoyage de l'url
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
106,28 → 106,28
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
 
 
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
$date_fiche = $ligne['bf_date_creation_fiche'] ;
$tab_date_fiche = split(" ",$date_fiche);
$split = split("-",$tab_date_fiche[0]);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
$date_fiche = $jour."/".$mois."/".$annee;
 
$split = split("-",$tab_date_fiche[0]);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
$date_fiche = $jour."/".$mois."/".$annee;
 
if ($ligne['bf_statut_fiche']==1) {
$publiee=BAZ_PUBLIEE;
$action = "<a href=\"".$lien_publie_non."\">".BAZ_REJETER."</a>" ;
141,9 → 141,9
$publiee=BAZ_REJETEE;
$action = " <a href=\"".$lien_publie_oui."\">".BAZ_PUBLIER_VAL."</a>" ;
}
 
$table->addRow (array(
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$annonceur."\n", // col 2 : annonceur
$date_fiche."\n", // col 3 : type annonce
$publiee."\n",// col 4 etat de la fiche
150,7 → 150,7
$action, // col 5 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 6 : supprimer
 
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
164,7 → 164,7
$res .= '<p class="zone_info">'.BAZ_PAS_DE_FICHE_A_VALIDER.'</p>'."\n" ;
}
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_TOUTES_ANNONCES);
 
//$res .= '<br /><ul style="clear:both;"><li><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_CONSULTER_FICHES_VALIDEES.'">'.BAZ_CONSULTER_FICHES_VALIDEES.'</a></li></ul>';
 
// Nettoyage de l'url
171,7 → 171,7
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
// Les autres fiches, deja validees
$res .= '<h2>'.BAZ_FICHES_PUBLIEES.'</h2>'."\n";
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=1 AND ' .
190,7 → 190,7
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_DATE_CREATION, '', '') ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
 
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
//Requete pour trouver le nom et prenom de l'annonceur
207,17 → 207,17
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
 
// Nettoyage de l'url
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
// NOTE (jpm - 23 mai 2007): pour �tre compatible avec PHP5 il faut utiliser tjrs $GLOBALS['_BAZAR_']['url'] car en php4 on
// copie bien une variable mais pas en php5, cela reste une r�f�rence...
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $ligne['bn_id_nature']);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
225,35 → 225,35
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PUBLIER);
$lien_publie_oui = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_PAS_PUBLIER);
$lien_publie_non = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer = $GLOBALS['_BAZAR_']['url']->getURL();
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
$date_fiche = $ligne['bf_date_creation_fiche'] ;
$tab_date_fiche = split(" ",$date_fiche);
$split = split("-",$tab_date_fiche[0]);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
$date_fiche = $jour."/".$mois."/".$annee;
 
$split = split("-",$tab_date_fiche[0]);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
$date_fiche = $jour."/".$mois."/".$annee;
 
$table->addRow (array(
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
'<a href="'.$lien_voir.'">'.$ligne['bf_titre'].'</a>'."\n", // col 1 : le nom
$annonceur."\n", // col 2 : annonceur
$date_fiche."\n", // col 3 : type annonce
"<a href=\"".$lien_publie_non."\">".BAZ_DEPUBLIER."</a>", // col 4 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
 
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
260,7 → 260,7
$table->updateColAttributes(2, array("align" => "center"));
$table->updateColAttributes(3, array("align" => "center"));
$table->updateColAttributes(4, array("align" => "center"));
$res .= $table->toHTML().'<br /><br />' ;
$res .= $table->toHTML().'<br /><br />' ;
}
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
return $res;
279,7 → 279,7
' AND bn_id_nature=bf_ce_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';
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
290,31 → 290,31
$entete = array (BAZ_TITREANNONCE , BAZ_DATE_CREATION, BAZ_ETATPUBLICATION, BAZ_MODIFIER, BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType (0, "th") ;
 
// On affiche une ligne par proposition
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
if ($ligne['bf_statut_fiche']==1) $publiee=BAZ_PUBLIEE;
elseif ($ligne['bf_statut_fiche']==0) $publiee=BAZ_ENCOURSDEVALIDATION;
else $publiee=BAZ_REJETEE;
 
$lien_voir = $GLOBALS['_BAZAR_']['url'];
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_voir->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_voir_url=$lien_voir->getURL();
 
$lien_modifier = $GLOBALS['_BAZAR_']['url'];
$lien_modifier->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$lien_modifier->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$lien_modifier->addQueryString('typeannonce', $ligne['bn_id_nature']);
$lien_modifier_url=$lien_modifier->getURL();
 
$lien_supprimer = $GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$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']);
321,8 → 321,8
$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
330,7 → 330,7
'<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
)) ;
)) ;
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "left"));
344,12 → 344,12
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_SAISIR);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$res .= '<br /><ul id="liste_liens"><li id="lien_saisir"><a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" title="'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'">'.BAZ_SAISIR_UNE_NOUVELLE_FICHE.'</a></li></ul>';
 
}
else {
else {
 
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php';
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
382,12 → 382,12
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//Initialisation de la variable personne
 
 
if ( isset($_POST['personnes']) ) {
$personne=$_POST['personnes'];
}
else $personne=0;
 
//Cas ou les droits ont etes changes
if (isset($_GET['pers'])) {
$personne=$_GET['pers'];
430,7 → 430,7
}
}
}
 
//requete pour obtenir l'id, le nom et prenom des personnes inscrites a l'annuaire sauf soi meme
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.BAZ_ANNUAIRE.
' WHERE '.BAZ_CHAMPS_ID." != ".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
449,9 → 449,9
$defauts=array ('personnes'=>$personne);
$formtemplate->setDefaults($defauts);
$res.= $formtemplate->toHTML().'<br />'."\n" ;
 
 
 
if ($personne!=0) {
 
//cas du super utilisateur
470,7 → 470,7
$lien_passer_superadmin->addQueryString('pers', $personne);
$lien_passer_superadmin->addQueryString('droits', 'superadmin');
$res.= '<a href='.$lien_passer_superadmin->getURL().'>'.BAZ_PASSER_SUPERADMINISTRATEUR.'</a><br />'."\n";
 
//on cherche les differentes rubriques d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre FROM bazar_nature';
if (isset($GLOBALS['_BAZAR_']['langue'])) $requete .= ' where bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%"';
479,7 → 479,7
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$res.='<br /><b>'.BAZ_DROITS_PAR_TYPE.'</b><br /><br />';
 
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar')) ;
$table->addRow(array ('<strong>'.BAZ_TYPE_ANNONCES.'</strong>',
'<strong>'.BAZ_DROITS_ACTUELS.'</strong>',
486,7 → 486,7
'<strong>'.BAZ_PASSER_EN.'</strong>',
'<strong>'.BAZ_OU_PASSER_EN.'</strong>')) ;
$table->setRowType (0, 'th') ;
 
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$lien_aucun_droit=clone($GLOBALS['_BAZAR_']['url']);
$lien_aucun_droit->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
493,13 → 493,13
$lien_aucun_droit->addQueryString('pers', $personne);
$lien_aucun_droit->addQueryString('droits', 'aucun');
$lien_aucun_droit->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
 
$lien_passer_redacteur=clone($GLOBALS['_BAZAR_']['url']);
$lien_passer_redacteur->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_passer_redacteur->addQueryString('pers', $personne);
$lien_passer_redacteur->addQueryString('droits', 'redacteur');
$lien_passer_redacteur->addQueryString('idtypeannonce', $ligne["bn_id_nature"]);
 
$lien_passer_admin=clone($GLOBALS['_BAZAR_']['url']);
$lien_passer_admin->addQueryString(BAZ_VARIABLE_ACTION, BAZ_GERER_DROITS);
$lien_passer_admin->addQueryString('pers', $personne);
527,10 → 527,10
BAZ_AUCUN_DROIT,
'<a href='.$lien_passer_redacteur->getURL().'>'.BAZ_LABEL_REDACTEUR.'</a>',
'<a href='.$lien_passer_admin->getURL().'>'.BAZ_DROIT_ADMIN.'</a>'));
 
}
}
 
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
$table->updateColAttributes(0, array('align' => 'left'));
$table->updateColAttributes(1, array('align' => 'left'));
551,7 → 551,7
 
/** baz_formulaire() - Renvoie le menu pour les saisies et modification des annonces
*
* @param string choix du formulaire a afficher (soit formulaire personnalise de
* @param string choix du formulaire a afficher (soit formulaire personnalise de
* l'annonce, soit choix du type d'annonce)
*
* @return string HTML
560,12 → 560,12
$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);
if (isset($GLOBALS['_BAZAR_']['id_typeannonce']) && $GLOBALS['_BAZAR_']['id_typeannonce'] != 'toutes') {
$mode = BAZ_ACTION_NOUVEAU ;
$mode = BAZ_ACTION_NOUVEAU ;
}
}
if ($mode == BAZ_ACTION_NOUVEAU) {
583,7 → 583,7
if (isset ($_SESSION['_BAZAR_']['fichier'])) unset($_SESSION['_BAZAR_']['fichier']) ;
if (isset ($_SESSION['_BAZAR_']['image'])) unset($_SESSION['_BAZAR_']['image']);
if (isset ($_SESSION['_BAZAR_']['lien'])) unset($_SESSION['_BAZAR_']['lien']);
}
}
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
}
if ($mode == BAZ_ACTION_MODIFIER_V) {
590,7 → 590,7
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER_V);
$lien_formulaire->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
}
 
//contruction du squelette du formulaire
$formtemplate = new HTML_QuickForm('formulaire', 'post', preg_replace ('/&amp;/', '&', $lien_formulaire->getURL()) );
$squelette =& $formtemplate->defaultRenderer();
603,20 → 603,20
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2" class="bouton">{label}{element}</td></tr>'."\n", 'valider');
 
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
 
//------------------------------------------------------------------------------------------------
//AFFICHAGE DU FORMULAIRE GENERAL DE CHOIX DU TYPE D'ANNONCE
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_DEPOSER_ANNONCE) {
$res = '';
$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'].'%" ';
}
638,48 → 638,48
$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'];
$GLOBALS['_BAZAR_']['image_logo']=$ligne['bn_image_logo'];
$mode = BAZ_ACTION_NOUVEAU;
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU_V);
 
} else {
//$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n";
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) {
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (($utilisateur->isRedacteur($ligne['bn_id_nature'])) || ($utilisateur->isAdmin($ligne['bn_id_nature']))
if (($utilisateur->isRedacteur($ligne['bn_id_nature'])) || ($utilisateur->isAdmin($ligne['bn_id_nature']))
|| ($utilisateur->isSuperAdmin() || !BAZ_RESTREINDRE_DEPOT)) {
if ($ligne['bn_image_titre']!='') {
$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.
$titre='&nbsp;<img class="BAZ_image" src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.
$ligne['bn_label_nature'].'" />'.'<br />'."\n";
} else {
$titre='<h3>'.$ligne['bn_label_nature'].' : </h3>'."\n";
}
$formtemplate->addElement('radio', 'typeannonce', '',
$titre.$ligne['bn_description'].'<br /><br />'."\n",
$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'],
$formtemplate->addElement('radio', 'typeannonce', '',
$titre.$ligne['bn_description'].'<br /><br />'."\n",
$ligne['bn_id_nature'], array("id" => 'select'.$ligne['bn_id_nature'],
"style" => 'float:left;'));
$formtemplate->addRule('typeannonce', 'Il faut choisir un type de fiche', 'required', '', 'client') ;
}
}
}
$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,
$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;');
 
//Affichage a l'ecran
$res.= $formtemplate->toHTML()."\n";
$res.= $formtemplate->toHTML()."\n";
}
}
 
//------------------------------------------------------------------------------------------------
//AFFICHAGE DU FORMULAIRE CORRESPONDANT AU TYPE DE L'ANNONCE CHOISI PAR L'UTILISATEUR
//------------------------------------------------------------------------------------------------
706,13 → 706,13
} else {
$res = baz_afficher_formulaire_annonce('insertion',$formtemplate);
}
}
}
} else {
// Pas de droit pour deposer un annonce
return '<div>Pas de droits suffisants</div>';
}
}
 
//------------------------------------------------------------------------------------------------
//CAS DE LA MODIFICATION D'UNE ANNONCE (FORMULAIRE DE MODIFICATION)
//------------------------------------------------------------------------------------------------
719,11 → 719,11
if ($mode == BAZ_ACTION_MODIFIER) {
$res=baz_afficher_formulaire_annonce('modification',$formtemplate);
}
 
// 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');
 
//------------------------------------------------------------------------------------------------
//CAS DE L'INSCRIPTION D'UNE ANNONCE
//------------------------------------------------------------------------------------------------
731,7 → 731,7
if ($formtemplate->validate() && !isset($_SESSION['formulaire_annonce_valide'])) {
//$formtemplate->process('baz_insertion', false) ;
if(isset($_GET[BAZ_VARIABLE_VALIDATION]) && ($_GET[BAZ_VARIABLE_VALIDATION] == 0)) {
$id_fiche = '' ;
$id_fiche = '' ;
$id_fiche = baz_insertion($formtemplate->getSubmitValues(),false);
if($id_fiche != '') {
return $id_fiche;
750,14 → 750,14
exit();
}
}
 
//------------------------------------------------------------------------------------------------
//CAS DE LA MODIFICATION D'UNE ANNONCE (VALIDATION ET MAJ)
//CAS DE LA MODIFICATION D'UNE ANNONCE (VALIDATION ET MAJ)
//------------------------------------------------------------------------------------------------
if ($mode == BAZ_ACTION_MODIFIER_V) {
 
if(isset($_GET[BAZ_VARIABLE_VALIDATION]) && ($_GET[BAZ_VARIABLE_VALIDATION] == 0)) {
$id_fiche = '' ;
$id_fiche = '' ;
$id_fiche = baz_mise_a_jour($formtemplate->getSubmitValues(),false);
if($id_fiche != '') {
return $id_fiche;
767,7 → 767,7
}
} elseif ($formtemplate->validate()) {
//$formtemplate->process('baz_mise_a_jour', false) ;
 
$id_fiche = baz_mise_a_jour($formtemplate->getSubmitValues(),false);
if($id_fiche != '') {
return $id_fiche;
790,8 → 790,8
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
$res .= $modele->getTemplate(BAZ_TEMPLATE_MESSAGE_LOGIN, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
}
 
 
return $res;
}
 
806,7 → 806,7
if ($mode=='modification' || $mode == 'duplication') {
//initialisation de la variable globale 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'])) {
baz_suppression_url($_GET['id_url']);
816,7 → 816,7
}
if (isset($_GET['image'])) {
baz_suppression_image($GLOBALS['_BAZAR_']['id_fiche']);
}
}
}
$res = '';
//titre de la rubrique
831,16 → 831,16
$formtemplate->addElement('submit', 'valider', BAZ_VALIDER);
}
//affichage du formulaire si conditions acceptees
else {
//Parcours du fichier de templates, pour mettre les valeurs des champs
else {
//Parcours du fichier de templates, pour mettre les valeurs des champs
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
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']];
857,10 → 857,10
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
$def=$tableau[$i]['type'].$tableau[$i]['nom_bdd'];
}
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb'
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='listedatedeb'
|| $tableau[$i]['type']=='listedatefin' || $tableau[$i]['type']=='champs_cache'
|| $tableau[$i]['type']=='labelhtml' ) {
$def=$tableau[$i]['nom_bdd'];
$def=$tableau[$i]['nom_bdd'];
} elseif ($tableau[$i]['type']=='carte_google') {
$def = 'carte_google';
$valeurs_par_defaut[$def] = array ('latitude' => $valeurs_par_defaut['bf_latitude'], 'longitude' => $valeurs_par_defaut['bf_longitude']);
868,8 → 868,8
// certain type n ont pas de valeur par defaut (labelhtml par exemple)
// on teste l existence de $valeur_par_defaut[$def] avant de le passer en parametre
$tableau[$i]['type']($formtemplate, $tableau[$i]['nom_bdd'], $tableau[$i]['label'], $tableau[$i]['limite1'],
$tableau[$i]['limite2'],
isset ($valeurs_par_defaut[$def]) ? $valeurs_par_defaut[$def] : '',
$tableau[$i]['limite2'],
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';
876,7 → 876,7
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
}
}
}
}
else {
892,7 → 892,7
}
}
$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
899,17 → 899,17
$attr = $formtemplate->getAttributes();
$lien_formulaire = new Net_URL($attr[BAZ_VARIABLE_ACTION]);
$lien_formulaire->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_VOIR_VOS_ANNONCES);
$buttons[] = &HTML_QuickForm::createElement('link', 'annuler', BAZ_ANNULER,
$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;');
 
}
 
//Affichage a l'ecran
$res .= $formtemplate->toHTML()."\n";
$res .= $formtemplate->toHTML()."\n";
return $res;
}
 
923,14 → 923,14
$requete=NULL;
//l'annonce est directement publi�e pour les admins
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
 
/*if ($utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) ||
$utilisateur->isSuperAdmin()) {
$requete.='bf_statut_fiche=0, ';
}
}
else {*/
$requete.='bf_statut_fiche="'.BAZ_ETAT_VALIDATION.'", ';
//}
//}
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<count($tableau); $i++) {
//cas des checkbox et des listes
940,7 → 940,7
$resultat = $GLOBALS['_BAZAR_']['db']->query($requetesuppression) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
if (isset($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']]) && ($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']]!=0)) {
//on insere les nouvelles valeurs
$requeteinsertion='INSERT INTO bazar_fiche_valeur_liste (bfvl_ce_fiche, bfvl_ce_liste, bfvl_valeur) VALUES ';
948,22 → 948,22
if (is_array($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
$nb=0;
while (list($cle, $val) = each($valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']])) {
 
if ($nb>0) $requeteinsertion .= ', ';
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$cle.') ';
$nb++;
 
}
}
else {
//pour les listes, une insertion de la valeur suffit
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
}
}
//cas des fichiers
elseif ($tableau[$i]['type']=='fichier') {
970,14 → 970,14
if ((isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='')
|| isset($_POST['fiche_dupliquee'])){
baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
}
}
}
}
//cas des urls
// On affine les criteres pour l insertion d une url
// il faut que le lien soit saisie, different de http:// ET que le texte du lien soit saisie aussi
// et ce afin d eviter d avoir des liens vides
elseif ($tableau[$i]['type']=='url') {
if ((isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) &&
if ((isset($valeur['url_lien'.$tableau[$i]['nom_bdd']]) &&
$valeur['url_lien'.$tableau[$i]['nom_bdd']]!='http://'
&& isset($valeur['url_texte'.$tableau[$i]['nom_bdd']]) &&
strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) || isset($_POST['fiche_dupliquee'])) {
992,13 → 992,13
}
//cas des dates
elseif ( $tableau[$i]['type']=='listedatedeb' || $tableau[$i]['type']=='listedatefin' ) {
 
// On construit la date selon le format YYYY-mm-dd
$date = $valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
 
// si la date de fin evenement est anterieure a la date de debut, on met la date de debut
// pour eviter les incoherence
 
if ($tableau[$i]['nom_bdd'] == 'bf_date_fin_evenement' &&
mktime(0,0,0, $valeur['bf_date_debut_evenement']['m'], $valeur['bf_date_debut_evenement']['d'], $valeur['bf_date_debut_evenement']['Y']) >
mktime(0,0,0, $valeur['bf_date_fin_evenement']['m'], $valeur['bf_date_fin_evenement']['d'], $valeur['bf_date_fin_evenement']['Y'])) {
1006,7 → 1006,7
} else {
$val = $valeur[$tableau[$i]['nom_bdd']]['Y'].'-'.$valeur[$tableau[$i]['nom_bdd']]['m'].'-'.$valeur[$tableau[$i]['nom_bdd']]['d'] ;
}
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
}
//cas des champs texte
elseif ( $tableau[$i]['type']=='texte' || $tableau[$i]['type']=='textelong' || $tableau[$i]['type']=='champs_cache' || $tableau[$i]['type']=='champs_mail' ) {
1020,23 → 1020,23
//on appelle les pages des apis et de l'integrateur wikini
include_once PAP_CHEMIN_RACINE.'api/sql/SQL_manipulation.fonct.php';
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/configuration/adwi_configuration.inc.php' ;
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php' ;
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php' ;
//g�n�ration du titre du wiki, sous la forme id-titre du projet
$titre=baz_titre_wiki($valeur["bf_titre"]);
$titre=baz_titre_wiki($valeur["bf_titre"]);
//cr�ation du wiki
$valeur=array ("action"=> "nouveau_v", "code_alpha_wikini"=>$titre, "page"=>"AccueiL", "bdd_hote"=> "",
"bdd_nom"=> "", "bdd_utilisateur"=> "", "bdd_mdp" => "", "table_prefix"=> "", "chemin" => "wikini/".$titre, "valider"=> "Valider");
"bdd_nom"=> "", "bdd_utilisateur"=> "", "bdd_mdp" => "", "table_prefix"=> "", "chemin" => "wikini/".$titre, "valider"=> "Valider");
$val = insertion($valeur, $GLOBALS['_BAZAR_']['db']);
}
}
*/
// Cas de la carte google
elseif ($tableau[$i]['type'] == 'carte_google') {
$requete .= 'bf_latitude="'.$valeur['latitude'].'", bf_longitude="'.$valeur['longitude'].'",';
}
}
$requete.=' bf_date_maj_fiche=NOW()';
}
}
$requete.=' bf_date_maj_fiche=NOW()';
 
 
return $requete;
}
 
1046,8 → 1046,8
* @integer Valeur de l'identifiant de la fiche
* @return void
*/
function baz_insertion($valeur, $notifier = true) {
// =========== Insertion d'une nouvelle fiche ===================
function baz_insertion($valeur, $notifier = true) {
// =========== Insertion d'une nouvelle fiche ===================
//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'].','.
1056,7 → 1056,7
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 .=requete_bazar_fiche(&$valeur) ;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
1066,7 → 1066,7
if ($notifier && !$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
bazar::notifier();
}
 
// On redirige
return $GLOBALS['_BAZAR_']['id_fiche'];
}
1080,7 → 1080,7
* @return void
*/
function baz_insertion_url($url_lien, $url_texte, $idfiche) {
 
if (isset ($_POST['fiche_dupliquee'])) {
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'insert into bazar_url select '.$id_url.','.$idfiche.',bu_url, bu_descriptif_url '.
1096,13 → 1096,13
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'INSERT INTO bazar_url SET bu_id_url='.$id_url.', bu_ce_fiche='.$idfiche.', '.
'bu_url="'.$url_lien.'", bu_descriptif_url="'.addslashes($url_texte).'"';
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return $resultat->getMessage().$resultat->getDebugInfo() ;
}
$_SESSION['_BAZAR_']['lien'] = 1;
return;
return;
}
}
 
1115,11 → 1115,11
* @return void
*/
function baz_insertion_fichier($fichier_description, $idfiche, $nom_fichier='fichier_joint') {
//verification de la presence de ce fichier
//verification de la presence de ce fichier
 
// En cas de duplication on ajoute simplement une ligne dans la base de donnee
// pour chaque fichier associe a la fiche d origine
 
if (isset ($_POST['fiche_dupliquee'])) {
$id_fichier_joint = baz_nextId('bazar_fichier_joint', 'bfj_id_fichier', $GLOBALS['_BAZAR_']['db']) ;
$requete = 'insert into bazar_fichier_joint select '.$id_fichier_joint.','.$idfiche.',bfj_description,bfj_fichier '.
1160,9 → 1160,9
* @return string requete SQL
*/
function baz_insertion_image($idfiche) {
 
//verification de la presence de ce fichier
 
//verification de la presence de ce fichier
$requete = 'SELECT bf_id_fiche FROM bazar_fiche WHERE bf_url_image="'.$_FILES['image']['name'].'" AND bf_id_fiche!='.$idfiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
1200,44 → 1200,44
}
 
/** baz_post_validation ()
*
*
* Cette fonction renvoie une page qui invite l utilisateur a :
* - saisir une nouvelle fiche a partir de celle qu il vient de saisir (pour changer de date)
* - retour a la liste de ces fiches
* - saisir une nouvelle fiche
*
*
*/
 
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_visualiser_fiche = clone $GLOBALS['_BAZAR_']['url'];
$lien_modification = $GLOBALS['_BAZAR_']['url'];
 
$lien_duplication->addQueryString(BAZ_VARIABLE_ID_FICHE, $_GET[BAZ_VARIABLE_ID_FICHE]);
$lien_duplication->addQueryString(BAZ_VARIABLE_DUPLICATION, 1);
$lien_duplication->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_NOUVEAU);
$lien_duplication = $lien_duplication->getURL();
 
$lien_modification->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$lien_modification->addQueryString(BAZ_VARIABLE_ID_FICHE, $_GET[BAZ_VARIABLE_ID_FICHE]);
$lien_modification->addQueryString(BAZ_VARIABLE_CATEGORIE_NATURE, $GLOBALS['_BAZAR_']['categorie_nature']);
$lien_modification=$lien_modification->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();
 
$lien_visualiser_fiche->addQueryString(BAZ_VARIABLE_VOIR, BAZ_GERER_DROITS);
$lien_visualiser_fiche->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_visualiser_fiche->addQueryString(BAZ_VARIABLE_ID_FICHE, $_GET[BAZ_VARIABLE_ID_FICHE]);
$lien_visualiser_fiche = $lien_visualiser_fiche->getUrl() ;
 
ob_start();
if (file_exists(BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html')) {
include_once BAZ_CHEMIN_SQUELETTE.'baz_post_validation.tpl.html';
1252,18 → 1252,18
* @return void
*/
function baz_suppression() {
 
 
 
if ($GLOBALS['AUTH']->getAuth()) {
$valeurs = baz_valeurs_fiche($_GET['id_fiche']);
//suppression des wikinis associes
$valeurs = baz_valeurs_fiche($_GET['id_fiche']);
 
//suppression des wikinis associes
//g�n�ration du titre du wiki, sous la forme id-titre du projet
 
/*
$titre=baz_titre_wiki($valeurs["bf_titre"]);
 
$titre=baz_titre_wiki($valeurs["bf_titre"]);
$requete = 'SELECT gewi_id_wikini FROM gen_wikini WHERE gewi_code_alpha_wikini = "'.$titre.'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if ($resultat->numRows()>0) {
1274,8 → 1274,8
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/configuration/adwi_configuration.inc.php' ;
include_once PAP_CHEMIN_RACINE.'client/integrateur_wikini/bibliotheque/adwi_wikini.fonct.php' ;
adwi_supprimer_wikini($id_wikini, $GLOBALS['_BAZAR_']['db']);
}
}
 
*/
// suppression des valeurs des listes et des cases � cocher
$requete = 'DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$_GET['id_fiche'];
1283,7 → 1283,7
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
//suppression des urls associes
$requete = 'SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1293,7 → 1293,7
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
baz_suppression_url($ligne['bu_id_url']);
}
 
//suppression des fichiers associes
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1303,7 → 1303,7
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
baz_suppression_fichier($ligne['bfj_id_fichier']);
}
 
//suppression dans bazar_fiche
$requete = 'DELETE FROM bazar_fiche WHERE bf_id_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1326,7 → 1326,7
* @return void
*/
function baz_suppression_url($id_url) {
 
if ($GLOBALS['AUTH']->getAuth()) {
//suppression dans bazar_url
$requete = 'DELETE FROM bazar_url WHERE bu_id_url = '.$id_url;
1345,7 → 1345,7
* @return void
*/
function baz_suppression_fichier($id_fichier) {
 
if ($GLOBALS['AUTH']->getAuth()) {
//verification de l'utilisation du fichier joint pour une autre annonce
$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_id_fichier='.$id_fichier;
1353,12 → 1353,12
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$requete = 'SELECT bfj_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$ligne['bfj_fichier'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
if ($resultat->numRows()==1) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bfj_fichier']);
}
 
//suppression dans la table bazar_fichier
$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1376,8 → 1376,8
* @return void
*/
function baz_suppression_image($id_fiche) {
 
 
if ($GLOBALS['AUTH']->getAuth()) {
//verification de l'utilisation de l'image pour une autre annonce
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$id_fiche;
1385,12 → 1385,12
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_url_image="'.$ligne['bf_url_image'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
//si le fichier n'est que utilise dans cette fiche, on le supprime, on le laisse sinon
if ($resultat->numRows()==1) {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
unlink(BAZ_CHEMIN_APPLI.'upload/'.$ligne['bf_url_image']);
}
 
//suppression dans la table bazar_fiche
$requete = 'UPDATE bazar_fiche SET bf_url_image=NULL WHERE bf_id_fiche = '.$id_fiche;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1416,7 → 1416,7
else {
$requete = 'UPDATE bazar_fiche SET bf_date_debut_validite_fiche=now() , bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
}
 
// ====================Mise a jour de la table bazar_fiche====================
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
1448,7 → 1448,7
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
}
 
if ($GLOBALS['AUTH']->getAuth()) {
$res .= '<p id="laius_abonnement">'.BAZ_LAIUS_S_ABONNER.'</p>'."\n";
//requete pour obtenir l'id et le label des types d'annonces
1458,15 → 1458,15
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
// Nettoyage de l url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_VOIR);
 
$table = new HTML_Table(array ('width' => '100%', 'class' => 'table_bazar'));
$table->addRow(array(BAZ_TYPE_ANNONCES,/* BAZ_STATUT, BAZ_PASSER_EN, */ BAZ_RSS));
$table->setRowType(0, 'th');
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
 
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
/*
$tab_parametres_GET = explode ("&", $_SERVER["argv"][0]) ;
foreach ($tab_parametres_GET as $cle_param => $valeur_param) {
1473,20 → 1473,20
$tab_valeur = explode ('=', $valeur_param) ;
$GLOBALS['_BAZAR_']['url']->addQueryString($tab_valeur[0], $tab_valeur[1]);
}
*/
*/
$lien_s_abonner=$GLOBALS['_BAZAR_']['url'];
$lien_s_abonner->addQueryString('bazar_action', BAZ_S_INSCRIRE);
$lien_s_abonner->addQueryString('annonce', $ligne['bn_id_nature']);
$lien_s_abonner->addQueryString('inscrip', 1);
 
$lien_se_desabonner=$GLOBALS['_BAZAR_']['url'];
$lien_se_desabonner->addQueryString('bazar_action', BAZ_S_INSCRIRE);
$lien_se_desabonner->addQueryString('annonce', $ligne['bn_id_nature']);
$lien_se_desabonner->addQueryString('inscrip', 0);
 
$lien_RSS=$GLOBALS['_BAZAR_']['url'];
$lien_RSS->addQueryString('bazar_action', BAZ_VOIR_FLUX_RSS);
$lien_RSS->addQueryString('bazar_action', BAZ_VOIR_FLUX_RSS);
 
//requete pour savoir si la personne est inscrite a ce type d'annonce
$requete = 'SELECT ba_id_utilisateur '.
'FROM bazar_abonnement '.
1518,7 → 1518,7
$table->updateColAttributes(1, array('class' => 'col2'));
$res.=$table->toHTML() ;
}
else {
else {
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ;
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" bazar_action="' ;
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_S_INSCRIRE);
1525,21 → 1525,21
$res .= $GLOBALS['_BAZAR_']['url']->getURL();
$res .= '" method="post">
<fieldset>
<legend>Identifiez vous</legend>
<legend>Identifiez vous</legend>
<label for="username">Courriel : </label>
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" />
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" />
<label for="password">Mot de passe : </label>
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" />
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" />
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" />
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" />
</fieldset>
</form>';
}
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('inscrip');
 
return $res;
}
 
1581,7 → 1581,7
} elseif ($tableau[$i]['type']=='carte_google') {
$valeurs_fiche['bf_latitude'] = $ligne['bf_latitude'];
$valeurs_fiche['bf_longitude'] = $ligne['bf_longitude'];
}
}
}
return $valeurs_fiche;
}
1601,7 → 1601,7
die (__FILE__ . __LINE__ . $resultat->getMessage() . $requete);
return $bdd->raiseError($resultat) ;
}
 
if ($resultat->numRows() > 1) {
return $bdd->raiseError('<br />La table '.$table.' a un identifiant non unique<br />') ;
}
1609,6 → 1609,44
return $ligne->maxi + 1 ;
}
 
function baz_valeur_champs($nom_champs,$id_fiche) {
 
$requete = 'SELECT blv_label FROM bazar_fiche_valeur_liste, bazar_liste_valeurs WHERE bfvl_ce_fiche='.
$id_fiche.' AND bfvl_ce_liste='.$nom_champs.
' AND bfvl_valeur=blv_valeur AND blv_ce_liste='.$nom_champs.
' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
else {
$res = '';
while($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
if($ligne['blv_label'] != 'Autre') {
$res .= $ligne['blv_label'].', ';
}
}
$res = rtrim($res,', ');
 
return $res;
}
}
 
function baz_valeur_url($id_fiche) {
$requete = 'SELECT bu_url FROM bazar_url WHERE bu_ce_fiche='.
$id_fiche;
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
else {
$res = $resultat->fetchRow(DB_FETCHMODE_ASSOC);
return $res['bu_url'];
}
}
 
/** function baz_titre_wiki () Renvoie la chaine de caractere sous une forme compatible avec wikini
*
* @param string mot � transformer (enlever accents, espaces)
/trunk/spip/client/bazar/bibliotheque/bazar.fonct.rss.php
1,5 → 1,5
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
21,7 → 21,7
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: bazar.fonct.rss.php,v 1.109 2008-11-13 10:06:28 aperonnet Exp $
/**
*
*
*@package bazar
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
73,18 → 73,18
else {$tableau[$nblignes]['obligatoire'] ='';}
if (isset($souschaine[9])) $tableau[$nblignes]['recherche'] = trim($souschaine[9]);
else {$tableau[$nblignes]['recherche'] ='';}
 
 
// traitement des cases � cocher, dans ce cas la, on a une table de jointure entre la table
// de liste et la table bazar_fiche (elle porte un nom du genre bazar_ont_***)
// dans le template, � la place d'un nom de champs dans 'nom_bdd', on a un nom de table
// et 2 noms de champs s�par�s par un virgule ex : bazar_ont_theme,bot_id_theme,bot_id_fiche
 
if (isset($tableau[$nblignes]['nom_bdd']) && preg_match('/,/', $tableau[$nblignes]['nom_bdd'])) {
$tableau_info_jointe = explode (',', $tableau[$nblignes]['nom_bdd']) ;
$tableau[$nblignes]['table_jointe'] = $tableau_info_jointe[0] ;
$tableau[$nblignes]['champs_id_fiche'] = $tableau_info_jointe[1] ;
$tableau[$nblignes]['champs_id_table_jointe'] = $tableau_info_jointe[2] ;
$tableau[$nblignes]['champs_id_table_jointe'] = $tableau_info_jointe[2] ;
}
$nblignes++;
}
117,17 → 117,17
function baz_voir_fiche($danslappli, $idfiche='') {
$res='';
if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche'] = $_GET['id_fiche'];
if ($idfiche != '') $GLOBALS['_BAZAR_']['id_fiche'] = $idfiche;
if ($idfiche != '') $GLOBALS['_BAZAR_']['id_fiche'] = $idfiche;
$url = $GLOBALS['_BAZAR_']['url'];
$url->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$url->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$url = preg_replace ('/&amp;/', '&', $url->getURL()) ;
 
//cas ou la fiche a ete validee
if (isset($_GET['publiee'])) {
publier_fiche($_GET['publiee']);
publier_fiche($_GET['publiee']);
}
 
//cas on une structure s'approprie une ressource
if (isset($_GET['appropriation'])) {
if ($_GET['appropriation']==1) {
139,7 → 139,7
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
}
}
 
//cas ou un commentaire a ete entre
if (isset($_POST['Nom'])) {
$requete = 'INSERT INTO bazar_commentaires VALUES ('.
168,7 → 168,7
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete))
: '';
 
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$GLOBALS['_BAZAR_']['ligne_resultat'] = $ligne;
if (!isset($GLOBALS['_BAZAR_']['typeannonce'])) $GLOBALS['_BAZAR_']['typeannonce'] = $ligne['bf_ce_nature'];
175,20 → 175,20
if (!isset($GLOBALS['_BAZAR_']['fiche_valide'])) $GLOBALS['_BAZAR_']['fiche_valide'] = $ligne['bf_statut_fiche'];
//on verifie si l'utilisateur est administrateur
$est_admin=0;
 
// Si on vient de l applette calendrier, $GLOBALS['_BAZAR_']['id_typeannonce'] est vide ...
// mais on dispose de la constante BAZ_NUM_ANNONCE_CALENDRIER
if (!isset($GLOBALS['_BAZAR_']['id_typeannonce']) && defined('BAZ_NUM_ANNONCE_CALENDRIER')) $GLOBALS['_BAZAR_']['id_typeannonce'] = BAZ_NUM_ANNONCE_CALENDRIER;
 
if (!isset($GLOBALS['_BAZAR_']['template'])) $GLOBALS['_BAZAR_']['template'] = $ligne['bn_template'];
if (!isset($GLOBALS['_BAZAR_']['commentaire'])) $GLOBALS['_BAZAR_']['commentaire'] = $ligne['bn_commentaire'];
if (!isset($GLOBALS['_BAZAR_']['class'])) $GLOBALS['_BAZAR_']['class'] = $ligne['bn_label_class'];
 
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']);
if ($utilisateur->isAdmin($ligne['bn_id_nature']) || $utilisateur->isSuperAdmin()) {
$est_admin=1;
}
 
//debut de la fiche
$res .= '<h1 id="ancre_onglets"> </h1>';
$res .= '<div id="consultation_fiche" class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
208,7 → 208,7
}
//on affiche ligne par ligne sinon
else {
// Le titre
// Le titre
$res .= '<h1 class="BAZ_fiche_titre BAZ_fiche_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bf_titre'].'</h1>'."\n";
// cas d'une image personalisee
if (isset($ligne['bf_url_image']) && trim($ligne['bf_url_image']) != '') {
219,30 → 219,30
//cas d'une image par defaut
elseif (isset ($GLOBALS['_BAZAR_']['image_logo']) && $GLOBALS['_BAZAR_']['image_logo']!='') {
$res .= '<div class="BAZ_fiche_image BAZ_fiche_image_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<img class="BAZ_image" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_logo'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n";
$res .= '<img class="BAZ_image" src="client/bazar/images/'.$GLOBALS['_BAZAR_']['image_logo'].'" border=0 alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" />'."\n";
$res .= '</div>'."\n";
}
 
$res .= '<div class="BAZ_description BAZ_description_'.$GLOBALS['_BAZAR_']['class'].'">'.$ligne['bf_description'].'</div>'."\n";
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
 
/** Boucle d affichage des resultats
*
*
*/
 
// Le parametre pas_de_carte permet a l element de type cartegoogle
// de ne pas renvoyer la carte lors de l affichage d une fiche (par exemple dans les fiches du calendrier)
$danslappli == 1 ? $GLOBALS['pas_de_carte'] = 0 : $GLOBALS['pas_de_carte'] = 1;
$danslappli == 1 ? $GLOBALS['pas_de_carte'] = 0 : $GLOBALS['pas_de_carte'] = 1;
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) /*&& strlen($valeur) != 0*/) {
$res .= $element->toHTML($valeur);
251,7 → 251,7
}
if ( $tableau[$i]['type']=='wikini' ) {
$res .= '<div class="BAZ_lien_wikini BAZ_lien_wikini_'.$GLOBALS['_BAZAR_']['class'].'"><a href="wikini/'.genere_nom_wiki2($ligne["bf_titre"], TRUE).'">'.BAZ_ENTRER_PROJET.'</a></div>'."\n";
}
}
}
//afficher les liens pour l'annonce
$requete = 'SELECT bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
268,7 → 268,7
}
$res .= '</ul></span>'."\n";
}
 
//afficher les fichiers pour l'annonce
$requete = 'SELECT bfj_description, bfj_fichier FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
287,7 → 287,7
$res .= '<div class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<div class="BAZ_infos_fiche BAZ_infos_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<span class="BAZ_nb_vues BAZ_nb_vues_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_NB_VUS.$ligne['bf_nb_consultations'].BAZ_FOIS.'</span><br />'."\n";
 
//affichage du redacteur de la fiche
$requete = 'SELECT '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.', '.BAZ_CHAMPS_EMAIL.
' FROM '.BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'];
304,7 → 304,7
}
$res .= '<br /></span>'."\n";
}
 
//informations complementaires (id fiche, etat publication,... )
if ($danslappli==1) {
if ($GLOBALS['_BAZAR_']['fiche_valide']==1 && $GLOBALS['_BAZAR_']['appropriation']!=1) {
318,16 → 318,16
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_PUBLIEE.':</span> '.BAZ_NON.'<br />'."\n";
}
//affichage des infos et du lien pour la mise a jour de la fiche
if ( $est_admin || $GLOBALS['_BAZAR_']['annonceur']==$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID) ) {
if ( $est_admin || $GLOBALS['_BAZAR_']['annonceur']==$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID) ) {
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'" id="date_creation">'.BAZ_DATE_CREATION.'</span> '.strftime('%d.%m.%Y %H:%M',strtotime($ligne['bf_date_creation_fiche']))."\n";
$res .= '<span class="BAZ_rubrique BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'" id="date_mise_a_jour">'.BAZ_DATE_MAJ.'</span> '.strftime('%d.%m.%Y %H:%M',strtotime($ligne['bf_date_maj_fiche']))."\n";
}
$res .= '</div>'."\n";
 
if ( $est_admin || $GLOBALS['_BAZAR_']['annonceur']==$GLOBALS['AUTH']->getAuthData(BAZ_CHAMPS_ID) ) {
$res .= '<div class="BAZ_actions_fiche BAZ_actions_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<ul>'."\n";
if ( $est_admin ) {
if ( $est_admin ) {
$lien_publie = &$GLOBALS['_BAZAR_']['url'];
$lien_publie->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_publie->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
341,7 → 341,7
$label_publie=BAZ_INVALIDER_LA_FICHE;
$class_publie='_invalider';
}
$res .= '<li class="BAZ_liste'.$class_publie.'"><a href="'.$lien_publie->getURL().'">'.$label_publie.'</a></li>'."\n";
$res .= '<li class="BAZ_liste'.$class_publie.'"><a href="'.$lien_publie->getURL().'">'.$label_publie.'</a></li>'."\n";
$lien_publie->removeQueryString('publiee');
}
$lien_modifier=$GLOBALS['_BAZAR_']['url'];
353,15 → 353,15
$lien_supprimer->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_supprimer->addQueryString('typeannonce', $ligne['bf_ce_nature']);
 
 
 
$res .= '<li class="BAZ_liste_supprimer"><a href="'.$lien_supprimer->getURL().'" id="supprimer_fiche">'.BAZ_SUPPRIMER_LA_FICHE.'</a></li>'."\n";
$res .= '</ul>'."\n";
$res .= '</div>'."\n";
 
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
}
}
$res .= '</div>'."\n";
376,7 → 376,7
// Ajout des appropriations, s'il le faut
if ($GLOBALS['_BAZAR_']['appropriation'] == 1) {
$res .= '<br />'."\n".'<div class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE.'</h2>'."\n";
$res .= '<h2 class="BAZ_titre BAZ_titre_'.$GLOBALS['_BAZAR_']['class'].'">'.BAZ_LES_STRUCTURES_POSSEDANT_UNE_RESSOURCE.'</h2>'."\n";
$requete = 'SELECT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.' FROM bazar_appropriation,'.BAZ_ANNUAIRE.' WHERE ba_ce_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'].' AND ba_ce_id_structure='.BAZ_CHAMPS_ID.' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
398,7 → 398,7
$res .='<p class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
$lien_appropriation = $GLOBALS['_BAZAR_']['url'];
$lien_appropriation->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_appropriation->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
$lien_appropriation->addQueryString('id_fiche', $GLOBALS['_BAZAR_']['id_fiche']);
if ($possede_ressource) {
$lien_appropriation->addQueryString('appropriation', 0);
$res .= BAZ_POSSEDE_DEJA_RESSOURCE.'<br />'."\n".'<a href="'.$lien_appropriation->getURL().'">'.BAZ_CLIQUER_POUR_VOUS_ENLEVER.'</a>'."\n";
418,7 → 418,7
$res .='</p>'."\n";
$res .= '</div>'."\n";
}
 
// Ajout des commentaires, s'il le faut
if ($GLOBALS['_BAZAR_']['commentaire'] == 1) {
$res .= '<br />'."\n".'<div id="zone_commentaires" class="BAZ_cadre_fiche BAZ_cadre_fiche_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
434,12 → 434,12
// Ajout du "s" ou pas
$res .= ($resultat->numRows() == 1) ? BAZ_COMMENTAIRE : BAZ_COMMENTAIRES;
$res .= '</p>'."\n";
 
// Info pour ajotuer ces commentaires si on n'est pas identifi�
/*if (!$GLOBALS['AUTH']->getAuth()) {
$res .= '<p class="information">'.BAZ_COMMENTAIRE_AUTH.'</p>';
}*/
 
// Affichages des commentaires
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$res .= '<p class="BAZ_bulle_corps BAZ_bulle_corps_'.$GLOBALS['_BAZAR_']['class'].'">'."\n";
455,12 → 455,12
$res .= '&nbsp;&nbsp;<a href="'.$url_comment->getURL().'">'.BAZ_SUPPRIMER.'</a>'."\n";
}
$res .= '</span>'."\n";
$res .= '</p>'."\n";
$res .= '</p>'."\n";
}
} else {
$res .= BAZ_PAS_DE_COMMENTAIRES.'<br /><br />'."\n";
}
 
//formulaire des commentaires
$form_commentaire = new HTML_QuickForm('bazar_commentaire', 'post', $url);
$squelette =& $form_commentaire->defaultRenderer();
483,26 → 483,26
$res .= $form_commentaire->toHTML();
 
$res .= '</div>'."\n";
 
}
}
 
// Nettoyage de l'url avant les return : apparement inutile sinon pose pb dans Papyrus (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('id_commentaire');
$GLOBALS['_BAZAR_']['url']->removeQueryString('typeannonce');
 
//return $res ;
 
return $res ;
 
 
}
 
// merci PHP 5 ...
function mb_str_split2($str, $length = 1) {
 
if ($length < 1) return FALSE;
 
$result = array();
510,7 → 510,7
for ($i = 0; $i < strlen($str); $i += $length) {
$result[] = substr($str, $i, $length);
}
 
return $result;
}
 
524,7 → 524,7
{
// traitement des accents
$nom = remove_accents2($nom);
 
$temp = mb_str_split2($nom);
 
$count = 0;
539,7 → 539,7
}
$count++;
}
 
// v�rifions que le retour n'est pas uniquement un underscore
if(preg_match('/^[[:punct:]]+$/', $final)) return FALSE;
 
551,7 → 551,7
/** RSSversHTML () transforme un flux RSS (en XML) en page HTML
*
* On passe en param�tre le contenu du flux RSS, on affiche ou non la description,
* et on choisit de format de la date � l'affichage. On a en sortie du code HTML � afficher
* et on choisit de format de la date � l'affichage. On a en sortie du code HTML � afficher
*
* @param string le contenu du flux RSS
* @param boolean afficher ou non la description
581,7 → 581,7
// Ajout du bouton supprimer pour les superadministrateur
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (($GLOBALS['AUTH']->getAuth() && $utilisateur->isSuperAdmin())and($url[1]!='#')) {
$mon_url = preg_replace ('/&amp;/', '&', $url[1]) ;
$mon_url = preg_replace ('/&amp;/', '&', $url[1]) ;
$url_suppr = new Net_URL(preg_replace ('/&amp;/', '&', $mon_url)) ;
$url_suppr->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION) ;
$res .= ' ( <a href="'.$url_suppr->getURL().
604,18 → 604,18
//cas des fiches pas trouv�es
if (((count($items)-1)==1)and($title[1]==BAZ_PAS_D_ANNONCES)) {
$res = '<br /><h4>'.BAZ_PAS_D_ANNONCES.'</h4><br />'."\n";
}
}
}
}
else $res = BAZ_PAS_D_ANNONCES;
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
 
return $res;
}
 
/** gen_RSS() - generer un fichier de flux RSS par type d'annonce
/** gen_RSS() - generer un fichier de flux RSS par type d'annonce
*
* @param string Le type de l'annonce (laisser vide pour tout type d'annonce)
* @param integer Le nombre d'annonces a regrouper dans le fichier XML (laisser vide pour toutes)
631,7 → 631,7
$req_where=0;
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche,bf_date_debut_evenement, bf_description, 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;
$req_where=1;
651,12 → 651,12
$requete .= 'bf_ce_nature IN (' ;
$chaine = '';
foreach ($typeannonce as $valeur) $chaine .= '"'.$valeur.'",' ;
$requete .= substr ($chaine, 0, strlen ($chaine)-1) ;
$requete .= substr ($chaine, 0, strlen ($chaine)-1) ;
$requete .= ') and bf_ce_nature=bn_id_nature ';
}
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
if ($valide!=0) {
 
if ($utilisateur->isSuperAdmin()) {
$req_where=1;
} else {
663,9 → 663,9
if ($req_where==1) {
$requete .= ' AND ';
}
 
if (isset($_POST['date_debut']) && $_POST['date_debut'] != '') {
 
$requete = '((bf_date_debut_evenement <= "'.date('Y-m-d', strtotime($_POST['date_fin'])).'" and bf_date_debut_evenement >="'.date('Y-m-d', strtotime($_POST['date_debut'])).'" )' .
' or (bf_date_fin_evenement >="'.date('Y-m-d', strtotime($_POST['date_debut'])).'" and bf_date_fin_evenement <="'.date('Y-m-d', strtotime($_POST['date_fin'])).'")' .
' or bf_date_debut_evenement <= "'.date('Y-m-d', strtotime($_POST['date_debut'])).'" and bf_date_fin_evenement >= "'.date('Y-m-d', strtotime($_POST['date_fin'])).'") ';
700,7 → 700,7
$requete .= 'bn_ce_id_menu IN ('.$categorie_nature.') and bf_ce_nature=bn_id_nature ';
$req_where=1;
}
 
$requete .= ' ORDER BY bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
707,16 → 707,16
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
include_once PAP_CHEMIN_API_PEAR . 'XML/Util.php' ;
 
// passage en utf-8 --julien
// --
 
// setlocale() pour avoir les formats de date valides (w3c) --julien
setlocale(LC_TIME, "C");
$xml = XML_Util::getXMLDeclaration('1.0', 'UTF-8', 'yes') ;
 
$xml = XML_Util::getXMLDeclaration('1.0', 'UTF-8', 'yes') ;
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('rss', array('version' => '2.0')) ;
$xml .= "\r\n ";
756,7 → 756,7
if ($resultat->numRows() > 0) {
// Creation des items : titre + lien + description + date de publication
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
 
$requetenom = 'SELECT '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' FROM '.
BAZ_ANNUAIRE.' WHERE '.BAZ_CHAMPS_ID.'='.$ligne['bf_ce_utilisateur'];
$res = $GLOBALS['_BAZAR_']['db']->query($requetenom) ;
764,7 → 764,7
die ($res->getMessage().$res->getDebugInfo()) ;
}
$nomprenom = $res->fetchRow(DB_FETCHMODE_ASSOC);
 
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement ('item');
$xml .= "\r\n ";
789,7 → 789,7
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('description');
$xml .= "\r\n ";
if ($ligne['bf_date_debut_evenement'] != '0000-00-00' &&
if ($ligne['bf_date_debut_evenement'] != '0000-00-00' &&
$ligne['bf_date_debut_evenement'] != null) {
$date_pub = $ligne['bf_date_debut_evenement'];
} else $date_pub = $ligne['bf_date_debut_validite_fiche'] ;
847,21 → 847,21
$squelette->setElementTemplate( '<tr>'."\n".'<td colspan="2" class="liste_a_cocher"><strong>{label}&nbsp;{element}</strong>'."\n".
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".'</td>'."\n".'</tr>'."\n", 'accept_condition');
$squelette->setElementTemplate( '<tr><td colspan="2">{label}{element}</td></tr>'."\n", 'rechercher');
 
$squelette->setRequiredNoteTemplate("\n".'<tr>'."\n".'<td colspan="2" class="symbole_obligatoire">* {requiredNote}</td></tr>'."\n");
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
 
 
//cas du formulaire de recherche proposant de chercher parmis tous les types d'annonces
//requete pour obtenir l'id et le label des types d'annonces
$requete = 'SELECT bn_id_nature, bn_label_nature '.
'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'].'%" ';
'ORDER BY bn_label_nature ASC';
 
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
880,9 → 880,9
if (isset($_REQUEST['nature'])) {
$defauts=array('nature'=>$_REQUEST['nature']);
$formtemplate->setDefaults($defauts);
}
}
}
//cas du type d'annonces predefini
//cas du type d'annonces predefini
else {
if ($nb_type_de_fiches==1) {
$GLOBALS['_BAZAR_']['typeannonce']=end($type_annonce_select);
892,18 → 892,18
}
 
//requete pour obtenir l'id, le nom et prenom de toutes les personnes ayant depose une fiche
// dans le but de construire l'element de formulaire select avec les noms des emetteurs de fiche
// dans le but de construire l'element de formulaire select avec les noms des emetteurs de fiche
if (BAZ_RECHERCHE_PAR_EMETTEUR) {
$requete = 'SELECT DISTINCT '.BAZ_CHAMPS_ID.', '.BAZ_CHAMPS_NOM.', '.BAZ_CHAMPS_PRENOM.' '.
'FROM bazar_fiche,'.BAZ_ANNUAIRE.' WHERE ' ;
$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';
 
$requete .= ' bf_date_debut_validite_fiche<=NOW() AND bf_date_fin_validite_fiche>=NOW() and';
 
$requete .= ' bf_ce_utilisateur='.BAZ_CHAMPS_ID.' ';
if (!isset($_REQUEST['nature'])) {
if (isset($GLOBALS['_BAZAR_']['id_typeannonce'])) {
$requete .= 'AND bf_ce_nature="'.$GLOBALS['_BAZAR_']['id_typeannonce'].'" ';
}
}
}
else {
if ($_REQUEST['nature']!='toutes') {
910,7 → 910,7
$requete .= 'AND bf_ce_nature='.$_REQUEST['nature'].' ';
}
}
 
$requete .= 'ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
925,7 → 925,7
} else {
$formtemplate->addElement ('hidden', 'personnes', 'tous') ;
}
 
//pour les super-administrateurs, on peut voir les annonces non validees
//on verifie si l'utilisateur est administrateur
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']) ;
935,22 → 935,22
$valide_select[0] = BAZ_FICHES_PAS_VALIDEES;
$valide_select[1] = BAZ_FICHES_VALIDEES;
$valide_select[2] = BAZ_LES_DEUX;
$formtemplate->addElement ('select', 'valides', BAZ_VALIDE, $valide_select, $option) ;
$formtemplate->addElement ('select', 'valides', BAZ_VALIDE, $valide_select, $option) ;
$defauts=array('valides'=>1);
$formtemplate->setDefaults($defauts);
}
 
//champs texte pour entrer les mots cles
$option=array('maxlength'=>60,'style'=>'border:1px solid #000;width:200px;font:12px Myriad, Arial, sans-serif;');
// $formtemplate->addElement('text', 'recherche_mots_cles', BAZ_MOT_CLE, $option) ;
//option cachee pour savoir si le formulaire a ete appele deja
 
//option cachee pour savoir si le formulaire a ete appele deja
$formtemplate->addElement('hidden', 'recherche_effectuee', 1) ;
 
// Ajout des options si un type de fiche a ete choisie
// Ajout des options si un type de fiche a ete choisie
if ( (isset($_REQUEST['nature']) && $_REQUEST['nature'] != 'toutes') || (isset($GLOBALS['_BAZAR_']['categorie_nature']) && $nb_type_de_fiches==1)) {
if ( BAZ_MOTEUR_RECHERCHE_AVANCEE || ( isset($_REQUEST['recherche_avancee'])&&$_REQUEST['recherche_avancee']==1) ) {
if ( BAZ_MOTEUR_RECHERCHE_AVANCEE || ( isset($_REQUEST['recherche_avancee'])&&$_REQUEST['recherche_avancee']==1) ) {
if ($GLOBALS['_BAZAR_']['categorie_nature'] != '') {
$champs_requete = '' ;
if (!isset($_REQUEST['nature']) || $_REQUEST['nature'] == '') {
963,15 → 963,15
if (DB::isError($resultat)) {
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
 
if (isset($_REQUEST['recherche_avancee']) && $_REQUEST['recherche_avancee']==1) {
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '0');
$lien_recherche_de_base = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_DE_BASE.'</a><br />';
//lien recherche de base
labelhtml($formtemplate,'',$lien_recherche_de_base,'','','','','');
labelhtml($formtemplate,'',$lien_recherche_de_base,'','','','','');
}
 
$tableau = baz_valeurs_template($resultat) ;
for ($i=0; $i<count($tableau); $i++) {
if (($tableau[$i]['type'] == 'liste' || $tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'labelhtml') && $tableau[$i]['recherche'] == 1) {
986,31 → 986,31
$formtemplate->addElement('html', '<tr><td>Plage de dates: &nbsp;</td><td>'.bazar::getFiltrePlageDeDate().'</td></tr>');
}
}
 
}
else {
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
foreach(array_merge($_POST, $_GET) as $cle => $valeur) $GLOBALS['_BAZAR_']['url']->addQueryString($cle, $valeur);
$GLOBALS['_BAZAR_']['url']->addQueryString('recherche_avancee', '1');
$lien_recherche_avancee = '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.BAZ_RECHERCHE_AVANCEE.'</a><br />';
foreach(array_merge($_POST, $_GET) as $cle => $valeur) {
if ($cle != 'menu') $GLOBALS['_BAZAR_']['url']->removeQueryString($cle);
if ($cle != 'menu') $GLOBALS['_BAZAR_']['url']->removeQueryString($cle);
}
}
}
}
 
//lien recherche avancee
if (isset($lien_recherche_avancee)) {
labelhtml($formtemplate,'',$lien_recherche_avancee,'','','','','');
}
 
//Bouton de validation du formulaire
$option=array('style'=>'border:1px solid #000;width:100px;font:12px Myriad, Arial, sans-serif;');
$option=array('style'=>'border:1px solid #000;width:100px;font:12px Myriad, Arial, sans-serif;');
$formtemplate->addElement('submit', 'rechercher', BAZ_RECHERCHER, $option);
 
//affichage du formulaire
//$res.=$formtemplate->toHTML()."\n";
 
 
// Ajout de la table bazar_fiche_liste_valeur dans le from de la requete
$case_coche = false ;
$nb_jointures=0;
1022,12 → 1022,12
$requeteWhere .= ' bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" and ';
}
$requeteWhereListe = '' ;
 
if ( isset($tableau) ) {
for ($i = 0; $i < count ($tableau); $i++) {
if ($tableau[$i]['type'] == 'checkbox' || $tableau[$i]['type'] == 'liste') {
$nb_jointures++;
$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
$nom_liste = $tableau[$i]['type'].$tableau[$i]['nom_bdd'] ;
if (isset($_REQUEST[$nom_liste]) && is_array($_REQUEST[$nom_liste])) {
$case_coche = true;
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($nb_jointures) ;
1037,12 → 1037,12
$chaine = '';
//var_dump($_REQUEST[$nom_liste]);
foreach ($_REQUEST[$nom_liste] as $cle =>$valeur) {
if ($valeur == 1) {
if ($valeur == 1) {
$chaine .= '"'.$cle.'",' ;
}
}
}
$requeteWhereListe .= substr ($chaine, 0, strlen ($chaine)-1) ;
$requeteWhereListe .= ') AND ';
$requeteWhereListe .= ') AND ';
} else {
if (isset ($_REQUEST[$nom_liste]) && $_REQUEST[$nom_liste]!=0) {
$requeteFrom .= ', bazar_fiche_valeur_liste as bfvl'.($nb_jointures) ;
1061,11 → 1061,11
if (isset($_REQUEST['nature']) && $_REQUEST['nature']!='' && $_REQUEST['nature']!='toutes') {
$requeteWhere = 'bf_ce_nature="'.$_REQUEST['nature'].'" AND '.$requeteWhere;
}
 
if (BAZ_UTILISE_TEMPLATE) {
// Appel du template n 1
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php' ;
 
$template = new bazarTemplate ($GLOBALS['_BAZAR_']['db']) ;
$chaine = $template->getTemplate(1, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']);
if (bazarTemplate::isError ($chaine)) return $chaine->getMessage() ;
1075,78 → 1075,49
ob_end_clean() ;
} else {
$res .= $formtemplate->toHTML();
if (!isset($_REQUEST['recherche_effectuee'])) {
$res .= '<p class="zone_info">'.BAZ_ENTRER_VOS_CRITERES_DE_RECHERCHE.'</p>'."\n";
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION,BAZ_VOIR_FLUX_RSS);
$GLOBALS['_BAZAR_']['url']->addQueryString('annonce',$GLOBALS['_BAZAR_']['id_typeannonce']);
if ($GLOBALS['_BAZAR_']['categorie_nature']!=0) $GLOBALS['_BAZAR_']['url']->addQueryString('categorie_nature',$GLOBALS['_BAZAR_']['categorie_nature']);
// $res .= '{{Syndication titre="'.BAZ_DERNIERES_FICHES.'" url="'.$GLOBALS['_BAZAR_']['url']->getURL().'" nb=10 nouvellefenetre=0 formatdate="'.BAZ_TYPE_AFFICHAGE_LISTE.'"}}';
$requete = 'SELECT DISTINCT bf_id_fiche, bf_titre, bf_date_debut_validite_fiche, bf_description, bn_label_nature, bf_date_creation_fiche, bf_statut_fiche FROM bazar_fiche, bazar_nature WHERE bn_id_nature=bf_ce_nature AND bn_ce_id_menu="'.$GLOBALS['_BAZAR_']['categorie_nature'].'" AND (bf_date_debut_validite_fiche<=NOW() or bf_date_debut_validite_fiche="0000-00-00") AND (bf_date_fin_validite_fiche>=NOW() or bf_date_fin_validite_fiche="0000-00-00")
ORDER BY bf_date_debut_validite_fiche DESC, bf_date_creation_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete);
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if($resultat->numRows() != 0) {
$res .= '<h2>'.BAZ_DERNIERES_FICHES.'</h2>';
$res .= '<ul class="liste_rss">';
while($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
if ($ligne['bf_statut_fiche'] ==1 || $utilisateur->isSuperAdmin()) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']);
$res .= '<li class="titre_rss"><a class="lien_rss" href="'. $GLOBALS['_BAZAR_']['url']->getURL() .'" alt="lire la fiche">'. $ligne['bf_titre'].'</a></li>';
}
}
$res .= '</ul>';
}
}
}
 
//affichage des resultats de la recherche si le formulaire a ete envoye
$requeteSQL='';
if (isset($_REQUEST['recherche_effectuee'])) {
//preparation de la requete pour trouver les mots cles
if (($_REQUEST['recherche_mots_cles']!='')and($_REQUEST['recherche_mots_cles']!=BAZ_MOT_CLE)) {
//decoupage des mots cles
$recherche = split(' ', $_REQUEST['recherche_mots_cles']) ;
$nbmots=count($recherche);
$requeteSQL='';
if (isset($GLOBALS['_BAZAR_']['categorie_nature']))
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<$nbmots; $i++) {
for ($j=0; $j<count($tableau); $j++) {
if ( $tableau[$j]['type']=='texte' || $tableau[$j]['type']=='textelong') {
//if ($i>0) $requeteSQL.=' OR ';
$requeteSQL.= $tableau[$j]['nom_bdd'].' LIKE "%'.$recherche[$i].'%" or ';
}
//preparation de la requete pour trouver les mots cles
if (($_REQUEST['recherche_mots_cles']!='')and($_REQUEST['recherche_mots_cles']!=BAZ_MOT_CLE)) {
//decoupage des mots cles
$recherche = split(' ', $_REQUEST['recherche_mots_cles']) ;
$nbmots=count($recherche);
$requeteSQL='';
if (isset($GLOBALS['_BAZAR_']['categorie_nature']))
$tableau=baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
 
for ($i=0; $i<$nbmots; $i++) {
for ($j=0; $j<count($tableau); $j++) {
if ( $tableau[$j]['type']=='texte' || $tableau[$j]['type']=='textelong') {
//if ($i>0) $requeteSQL.=' OR ';
$requeteSQL.= $tableau[$j]['nom_bdd'].' LIKE "%'.$recherche[$i].'%" or ';
}
}
$requeteSQL = substr($requeteSQL, 0, count($requeteSQL) - 4);
}
if (!isset($_REQUEST['nature'])) {
if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ;
} else {
$typedefiches = $_REQUEST['nature'] ;
if ($typedefiches == 'toutes') $typedefiches = $tableau_typeannonces ;
}
if ($typeannonce!='toutes') $typedefiches=$typeannonce;
if (isset($_REQUEST['valides'])) {$valides=$_REQUEST['valides'];}
else {$valides=1;}
//generation de la liste de flux a afficher
if (!isset($_REQUEST['personnes'])) $_REQUEST['personnes']='tous';
$res .= baz_liste_pagine_HTML($typedefiches, '', $_REQUEST['personnes'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
$requeteSQL = substr($requeteSQL, 0, count($requeteSQL) - 4);
}
if (!isset($_REQUEST['nature'])) {
if (!isset ($GLOBALS['_BAZAR_']['id_nature'])) $typedefiches = $tableau_typeannonces;
else $typedefiches = $GLOBALS['_BAZAR_']['id_nature'] ;
} else {
$typedefiches = $_REQUEST['nature'] ;
if ($typedefiches == 'toutes') $typedefiches = $tableau_typeannonces ;
}
if ($typeannonce!='toutes') $typedefiches=$typeannonce;
if (isset($_REQUEST['valides'])) {$valides=$_REQUEST['valides'];}
else {$valides=1;}
//generation de la liste de flux a afficher
if (!isset($_REQUEST['personnes'])) $_REQUEST['personnes']='tous';
$res .= baz_liste_pagine_HTML($typedefiches, '', $_REQUEST['personnes'], $valides, $requeteSQL, $requeteFrom, $requeteWhere);
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('annonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('categorie_nature');
$GLOBALS['_BAZAR_']['url']->removeQueryString('recherche_avancee');
 
return $res;
}
 
1153,7 → 1124,7
/**
* Cette fonction renvoie du HTML
*/
function baz_liste_pagine_HTML($typeannonce, $nbitem, $emetteur, $valide, $requeteSQL = '', $requeteFrom = '', $requeteWhere = '') {
function baz_liste_pagine_HTML($typeannonce, $nbitem, $emetteur, $valide, $requeteSQL = '', $requeteFrom = '', $requeteWhere = '') {
// generation de la requete MySQL personnalisee
$req_where=0;
$requete = 'SELECT DISTINCT * '.
1161,11 → 1132,11
if ($valide!=2) {
if ($req_where==1) {$requete .= ' AND ';}
$req_where=1;
$requete .= 'bf_statut_fiche='.$valide;
$requete .= 'bf_statut_fiche='.$valide;
} else {
$requete .= '1 ' ;
}
 
$utilisateur = new Administrateur_bazar ($GLOBALS['AUTH']) ;
if ($valide!=0) {
if ($utilisateur->isSuperAdmin()) {
1187,22 → 1158,33
$requete .= '('.$requeteSQL.')';
$req_where=1;
}
$requete .= ' GROUP BY bf_id_fiche ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
 
if(isset($_REQUEST['recherche_effectuee'])) {
$requete .= ' GROUP BY bf_id_fiche ORDER BY bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC, bf_date_maj_fiche DESC';
} else {
$requete .= ' GROUP BY bf_id_fiche ORDER BY bf_date_maj_fiche DESC, bf_date_debut_validite_fiche DESC, bf_date_fin_validite_fiche DESC';
}
 
 
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return $resultat->getMessage().'<br /><br />'.$resultat->getDebugInfo() ;
}
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
//$res .= 'requete: '. $requete. '<br />';
 
if(isset($_REQUEST['recherche_effectuee'])) {
$res = '<br /><h4>'.BAZ_IL_Y_A.($resultat->numRows()).' '.BAZ_FICHES_CORRESPONDANTES.'</h4><br />'."\n";
}
else {
$res = '<br/><h4>'.BAZ_DERNIERES_FICHES.'</h4><br />'."\n";
}
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
 
$donnees = array();
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $ligne['bf_id_fiche']) ;
array_push ($donnees, $ligne);
array_push ($donnees, $ligne);
}
// Mise en place du Pager
include_once PAP_CHEMIN_API_PEAR.'Pager/Pager.php';
1221,7 → 1203,7
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$links = $pager->getLinks();
 
if (BAZ_UTILISE_TEMPLATE) {
//Appel du template n 2
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php' ;
1233,12 → 1215,34
$res .= ob_get_contents();
ob_end_clean() ;
} else {
$res .= '<ul>' ;
 
$GLOBALS['_BAZAR_']['template']="
textelong***bf_description***Titre long***32***1*** *** *** ***0***0
image***2***Logo***4000000***2000000*** *** *** ***0***0
checkbox***1***Langue***160***0***0***0*** ***1***0
url***1***Site officiel***35***200*** *** *** ***0***0
texte***bf_nom***Structure porteuse***35***200*** *** *** ***1***0
texte***bf_version_initiale***Date de la version initiale***10***10*** *** *** ***1***0
texte***bf_version_actuelle***Date de la version actuelle***10***10*** *** *** ***1***0
texte***bf_numero_version_actuelle***Num&eacute;ro de la version actuelle***10***10*** *** *** ***1***0
liste***5***Licence***160***1***0*** *** ***1***1
checkbox***6***Public cible***160***1***0*** *** ***1***1
checkbox***9***Th&egrave;mes trait&eacute;s***160***1***0*** *** ***1***0
textelong***bf_complement_theme***Si autre ***32***1*** *** *** ***0***0
liste***8***Type d'application***160***1***0*** *** ***1***0
checkbox***10***Syst&egrave;me d'exploitation***160***1***0*** *** ***1***0
textelong***bf_OS***Pr&eacute;ciser les versions***32***1*** *** *** ***0***0
labelhtml*** ****** *** *** *** *** ***0***0" ;
 
$res .= '<ul class="BAZ_liste_application_ergo">' ;
$res .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n";
foreach ($data as $valeur) {
$res .='<li class="BAZ_'.$valeur['bn_label_class'].'">'."\n";
 
$valeurs_fiche = baz_valeurs_fiche($valeur['bf_id_fiche']);
 
$res .='<li class="BAZ_'.$valeur['bn_label_class'].' BAZ_application_liste">'."\n";
$GLOBALS['_BAZAR_']['url']->addQueryString('id_fiche', $valeur['bf_id_fiche']) ;
if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur['bf_ce_utilisateur']) {
/* if ($utilisateur->isSuperAdmin() || $GLOBALS['id_user']==$valeur['bf_ce_utilisateur']) {
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_MODIFIER);
$GLOBALS['_BAZAR_']['url']->addQueryString('typeannonce', $valeur['bf_ce_nature']);
$GLOBALS['_BAZAR_']['url']->removeQueryString('personnes');
1248,15 → 1252,53
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_ACTION_SUPPRESSION);
$res .='<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'" onclick="javascript:return confirm(\''.BAZ_SUPPRIMER.'\');">('.BAZ_SUPPRIMER.')</a>&nbsp;'."\n";
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
}
}*/
include_once('elements/checkbox.php');
$lang = baz_valeur_champs('1',$valeur['bf_id_fiche']);
$site = baz_valeur_url($valeur['bf_id_fiche']);
$licence = baz_valeur_champs('5',$valeur['bf_id_fiche']);
$public = baz_valeur_champs('6',$valeur['bf_id_fiche']);
$themes = baz_valeur_champs('9',$valeur['bf_id_fiche']);
$type_appli = baz_valeur_champs('8',$valeur['bf_id_fiche']);
 
 
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE) ;
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur['bf_titre'].'</a>'."\n";
$res.='<div class="BAZ_description">';
$res .= '<a href="'.$GLOBALS['_BAZAR_']['url']->getURL().'">'.$valeur['bf_titre'].'</a> <br />';
 
$res .= '<span> Structure porteuse :</span> <span class="BAZ_texte">'.$valeur['bf_nom'].'</span><br />';
$res .= '<span> Langue : </span><span class="BAZ_texte">'.$lang.'</span><br />';
if($site != '') {
$res .= '<span>Site officiel : </span><span class="BAZ_texte"><a href="'.$site.'" >'.$site.'</a></span><br />';
}
$res .= '<span>Date de la version initiale : </span><span class="BAZ_texte">'.$valeur['bf_version_initiale'].'</span><br />';
$res .= '<span>Date de la version actuelle : </span><span class="BAZ_texte">'.$valeur['bf_version_actuelle'].'</span><br />';
$res .= '<span>Num&eacute;ro de la version actuelle : </span><span class="BAZ_texte">'.$valeur['bf_numero_version_actuelle'].'</span><br />';
$res .= '<span>Licence : </span><span class="BAZ_texte">'.$licence.'</span><br />';
$res .= '<span>Public cible : </span><span class="BAZ_texte">'.$public.'</span><br />';
if($valeur['bf_complement_theme'] != '') {
$themes .= ', '.$valeur['bf_complement_theme'];
}
$res .= '<span>Th&egrave;mes : </span><span class="BAZ_texte">'.$themes.'</span><br />';
if($valeur['bf_OS'] != ''){
$type_appli .= ', '.$valeur['bf_OS'];
}
$res .= '<span> Type d\'application : </span><span class="BAZ_texte">'.$type_appli.'</span><br />';
$res .= '</div>';
$res .= '<div class= "BAZ_img_conteneur">';
if(trim($valeur['bf_url_image']) != '') {
$res .= '<img class="BAZ_img_description" src="client/bazar/upload/'.$valeur['bf_url_image'].'" alt="image de l\'application" />';
} else {
$res .= '<img class="BAZ_img_description" src="client/bazar/images/defaut.png" alt="image de l\'application" />';
}
$res .= '</div>';
$res .= '<hr style="clear:both; visibility:hidden" />';
$res .='</li>'."\n";
}
$res .= '</ul>'."\n".'<div class="bazar_numero">'.$pager->links.'</div>'."\n";
}
 
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
1267,7 → 1309,7
}
 
function encoder_en_utf8($txt) {
// Nous rempla�ons l'apostrophe de type RIGHT SINGLE QUOTATION MARK et les & isol�es qui n'auraient pas �t�
// Nous rempla�ons l'apostrophe de type RIGHT SINGLE QUOTATION MARK et les & isol�es qui n'auraient pas �t�
// remplac�es par une entit�e HTML.
$cp1252_map = array("\xc2\x92" => "\xe2\x80\x99" /* RIGHT SINGLE QUOTATION MARK */);
return strtr(preg_replace('/ \x{0026} /u', ' &#38; ', mb_convert_encoding($txt, 'UTF-8','HTML-ENTITIES')), $cp1252_map);