Subversion Repositories Applications.bazar

Compare Revisions

Regard whitespace Rev 467 → Rev 468

/trunk/bibliotheque/bazarTemplate.class.php
75,25 → 75,10
function getTemplate ($id_template, $lang='fr-FR', $categorie_nature = 'toutes') {
$requete = 'select bt_template from bazar_template where bt_id_template='.$id_template.
' and bt_id_i18n like "'.$lang.'%" ' ;
if($categorie_nature != 'toutes') {
$requete .= ' and bt_categorie_nature='.$categorie_nature ;
}
else
{
//si toutes les catégories natures sont affichées, on affiche par défaut le template du numéro 1
$requete .= ' and bt_categorie_nature=1' ;
}
$resultat = $this->_db->query($requete) ;
if (DB::isError($resultat)) {
return $this->raiseError ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
if ($resultat->numRows() == 0) {
return $this->raiseError ('Aucun template avec l\'identifiant: '.$id_template.
if (DB::isError($resultat)) return $this->raiseError ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
if ($resultat->numRows() == 0) return $this->raiseError ('Aucun template avec l\'identifiant: '.$id_template.
' et la langue: '.$lang.'<br />'.$requete) ;
}
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
 
return $ligne->bt_template ;
/trunk/bibliotheque/bazar.fonct.google.php
37,96 → 37,126
// Variables globales
var map = null;
var geocoder = null;
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
var marker = null;
var flat = null;
var flon = null;
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.enableContinuousZoom();
// cette fonction peut d�j� �tre pr�sente
// 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) ;
}
}
addListener(window,\'load\',loadMap) ;
function loadMap() {
flat = document.getElementById("latitude");
flon = document.getElementById("longitude");
var optionsGoogleMapsv3 = {
// On centre la carte sur le languedoc roussillon
center = new GLatLng(43.84245116699036, 3.768310546875);
map.setCenter(center, 7);
//marker = new GMarker(center, {draggable: true}) ;
GEvent.addListener(map, "click", function(marker, point) {
if (marker) {
map.removeOverlay(marker);
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
lat.value = "";
lon.value = "";
} else {
center: new google.maps.LatLng(43.84245116699036, 3.768310546875),
zoom: 7,
mapTypeId: google.maps.MapTypeId.G_HYBRID_MAP,
mapTypeControl: true,
scaleControl: true
};
map = new google.maps.Map(document.getElementById("map"), optionsGoogleMapsv3);
 
google.maps.event.addListener(map, "click", function(event) {
if (marker != null) {
marker.setMap(null);
marker = null;
}
// On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
marker = new GMarker(point, {draggable: true}) ;
GEvent.addListener(marker, "dragend", function () {
coordMarker = marker.getPoint() ;
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
lat.value = coordMarker.lat();
lon.value = coordMarker.lng();
marker = event.overlay;
marker = new google.maps.Marker({
position: event.latLng,
draggable: true,
map: map
});
map.addOverlay(marker);
google.maps.event.addListener(marker, "dragend", function () {
coordMarker = marker.getPosition() ;
flat.value = coordMarker.lat();
flon.value = coordMarker.lng();
});
setLatLonForm(marker);
}
});' ;
if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
$script .= '
point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
marker = new GMarker(point, {draggable: true});
map.addOverlay(marker);' ;
point = new google.maps.LatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
marker = new google.maps.Marker({
position: point,
draggable: true,
map: map
});
google.maps.event.addListener(marker, "dragend", function () {
coordMarker = marker.getPosition() ;
flat.value = coordMarker.lat();
flon.value = coordMarker.lng();
});
map.setCenter(point);
' ;
}
$script .= 'geocoder = new GClientGeocoder();
}
$script .= 'geocoder = new google.maps.Geocoder();
};
function showAddress() {
var adresse = document.getElementById("bf_adresse").value ;
var ville = document.getElementById("bf_ville").value ;
var ville = "";
if (document.getElementById("bf_ville")) {
ville = document.getElementById("bf_ville").value ;
}
var cp = document.getElementById("bf_cp_lieu_evenement").value ;
var pays;
if (document.getElementById("liste30")) {
var selectIndex = document.getElementById("liste30").selectedIndex;
var pays = document.getElementById("liste30").options[selectIndex].text ;
pays = document.getElementById("liste30").options[selectIndex].text ;
} else {
pays = document.getElementById("bf_pays").value;
}
var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
geocoder.geocode({
address: address
}, function(result, status) {
if (status != google.maps.GeocoderStatus.OK) {
alert(address + " not found");
} else {
map.setCenter(point, 13);
var marker = new GMarker(point, {draggable: true});
GEvent.addListener(marker, "dragend", function () {
coordMarker = marker.getPoint() ;
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
lat.value = coordMarker.lat();
lon.value = coordMarker.lng();
marker.setMap(null);
marker = null;
//map.setCenter(point, 13);
map.fitBounds(result[0].geometry.viewport);
marker = new google.maps.Marker({
position: result[0].geometry.location,
draggable: true,
map: map
});
 
map.addOverlay(marker);
setLatLonForm(marker)
marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
google.maps.event.addListener(marker, "dragend", function () {
coordMarker = marker.getPosition() ;
flat.value = coordMarker.lat();
flon.value = coordMarker.lng();
});
setLatLonForm(marker);
//marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
}
});
}
);
}
}
function setLatLonForm(marker) {
coordMarker = marker.getPoint() ;
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
lat.value = coordMarker.lat();
lon.value = coordMarker.lng();
coordMarker = marker.getPosition() ;
flat.value = coordMarker.lat();
flon.value = coordMarker.lng();
}
';
 
 
 
/*
* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
*/
/trunk/bibliotheque/bazar.class.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: bazar.class.php,v 1.11 2008-10-29 10:38:14 alexandre_tb Exp $
// CVS : $Id: bazar.class.php,v 1.10 2008-09-17 14:08:45 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@author Florian Schmitt <florian@ecole-et-nature.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.11 $
*@version $Revision: 1.10 $
// +------------------------------------------------------------------------------------------------------+
*/
 
81,10 → 81,10
if(empty($this->_id_utilisateur))
return FALSE;
 
// On court-circuite si la question a déjà été posé pour ne pas refaire la requete
// On court-circuite si la question a d�j� �t� pos� pour ne pas refaire la requete
if (isset ($this->_isSuperAdmin)) return $this->_isSuperAdmin ;
 
// On court-circuite si l'utilisateur n'est pas logué
// On court-circuite si l'utilisateur n'est pas loggu�
if (!$this->_auth->getAuth()) return false ;
 
// Sinon on interroge la base
104,7 → 104,7
return $this->_isSuperAdmin;
}
 
/** isAdmin () - Renvoie true si l'utilisateur est administrateur du type de fiche spécifié
/** isAdmin () - Renvoie true si l'utilisateur est administrateur du type de fiche sp�cifi�
*
* @param interger type_annonce Le type de l'annonce
*
111,7 → 111,7
*/
 
function isAdmin($id_nature) {
// on court-circuite si l'utilisateur n'est pas logué
// on court-circuite si l'utilisateur n'est pas loggu�
if (!$this->_auth->getAuth()) return false ;
 
return $this->_requeteDroit ($id_nature, 2) ;
138,7 → 138,6
$requete = 'SELECT bd_niveau_droit FROM bazar_droits WHERE bd_id_utilisateur='
.$this->_id_utilisateur.
' AND bd_id_nature_offre="'.$id_nature.'" and bd_niveau_droit='.$niveau;
 
$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ;
if (DB::isError($resultat)) {
return ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
168,7 → 167,7
if(empty($this->_id_utilisateur))
return false;
 
// On court-circuite si la question a déjà été posé pour ne pas refaire la requete
// On court-circuite si la question a d�j� �t� pos� pour ne pas refaire la requete
if (isset ($this->_isSuperAdmin)) return $this->_isSuperAdmin ;
 
// Sinon on interroge la base
256,7 → 255,7
}
 
$template = new bazarTemplate($GLOBALS['_BAZAR_']['db']);
//print ('toto'.$id_sujet);
 
$sujet = html_entity_decode($template->getTemplate($id_sujet, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']));
$corps = html_entity_decode($template->getTemplate($id_corps, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['id_typeannonce']));
$corps.= $GLOBALS['_BAZAR_']['id_fiche'].'&typeannonce='.$GLOBALS['_BAZAR_']['id_typeannonce'] ;
323,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.'"';
348,11 → 347,33
} else {
$defaut_fin = '';
}
$formulaire_filtre = '';
$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"],{
'
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",
362,6 → 383,7
'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;
}
 
386,6 → 408,7
$formulaire_filtre .= '</form>'."\n";
$html = preg_replace ('/{filtre liste="([0-9]+)"}/', $formulaire_filtre, $template);
}
return $html;
}
}
417,7 → 440,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: bazar.class.php,v $
* Revision 1.10 2008-09-17 14:08:45 alexandre_tb
* merge depuis aha
*
/trunk/bibliotheque/bazar.fonct.cal.php
112,7 → 112,8
}
foreach ($tab_params as $param) {
$tab_parametre = explode('=', $param);
$url->removeQueryString($tab_parametre[0]);
// note d'Aurélien, si on nettoie l'URL on perd la vue en cours
//$url->removeQueryString($tab_parametre[0]);
}
 
if (!isset($_GET['y'])) {
328,8 → 329,6
}
}
}
 
 
// Add the decorator to the selection
foreach ($tablo_jours as $jour) {
$selection[] = $jour['Diary_Event'];
422,11 → 421,17
$evenements_nbre = count($evenements);
$evenemt_xhtml = '';
while ($ligne_evenement = array_pop($evenements)) {
 
$id_fiches = array();
$id_fiches[] = $ligne_evenement->bf_id_fiche;
$url->addQueryString ('id_fiches',$id_fiches);
$link = $url->getUrl();
 
$lien_voir = new Net_Url(BAZ_URL_BASE_APPLI);
$lien_voir->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_voir->addQueryString('id_fiche', $ligne_evenement->bf_id_fiche);
$lien_voir->addQueryString('typeannonce', $ligne_evenement->bn_id_nature);
$link=$lien_voir->getURL();
if (!isset($_GET['tt']) || (isset($_GET['tt']) && $_GET['tt'] == '1')) {
$titre_taille = strlen($ligne_evenement->bf_titre);
$titre = ($titre_taille > 20)?substr($ligne_evenement->bf_titre, 0, 20).'...':$ligne_evenement->bf_titre;
482,7 → 487,7
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_TETE'] = '';
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] = '<h1>'.$jours[date('w', $timestamp)].
' '.$_GET['d'].' '.$mois[$_GET['m']-1].' '.$_GET['y'].'</h1>' ;
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] .= baz_voir_fiches(0,$_GET['id_fiches'] );
$GLOBALS['_PAPYRUS_']['rendu']['CONTENU_CORPS'] .= baz_voir_fiches(1,$_GET['id_fiches'] );
 
$GLOBALS['_GEN_commun']['info_menu'] = '';
 
/trunk/bibliotheque/elements/labelhtml.php
46,10 → 46,8
$html = '';
$val = $this->options['nom_bdd'];
// On ecrit le label uniquement si le champs obligatoire est a 1
if ($this->options['obligatoire'] == 1) {
$html .= '<div class="BAZ_label BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.
if ($this->options['obligatoire'] == 1) $res .= '<div class="BAZ_label BAZ_rubrique_'.$GLOBALS['_BAZAR_']['class'].'">'.
$this->options['label'].'</div>'."\n";
}
 
return $html;
}
57,7 → 55,10
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: labelhtml.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
* Revision 1.1.2.1 2008-04-16 12:35:25 alexandre_tb
* version initiale
*
/trunk/bibliotheque/elements/checkbox.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: checkbox.php,v 1.3 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: checkbox.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.3 $
*@version $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/
 
72,7 → 72,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: checkbox.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
/trunk/bibliotheque/elements/listedatedeb.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: listedatedeb.php,v 1.3 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: listedatedeb.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.3 $
*@version $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/
 
89,7 → 89,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: listedatedeb.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
/trunk/bibliotheque/elements/texte.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: texte.php,v 1.4 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: texte.php,v 1.3 2008-10-29 10:36:44 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.4 $
*@version $Revision: 1.3 $
// +------------------------------------------------------------------------------------------------------+
*/
 
67,7 → 67,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: texte.php,v $
* Revision 1.3 2008-10-29 10:36:44 alexandre_tb
* l'element texte s affiche meme pour le titre et la description
*
/trunk/bibliotheque/elements/textelong.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: textelong.php,v 1.4 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: textelong.php,v 1.3 2008-10-29 10:35:40 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.4 $
*@version $Revision: 1.3 $
// +------------------------------------------------------------------------------------------------------+
*/
 
57,7 → 57,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: textelong.php,v $
* Revision 1.3 2008-10-29 10:35:40 alexandre_tb
* l'element textlong s affiche meme pour le titre et la description
*
/trunk/bibliotheque/elements/carte_google.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: carte_google.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
// CVS : $Id: carte_google.php,v 1.1.2.1 2008-04-16 12:35:25 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.2 $
*@version $Revision: 1.1.2.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
39,6 → 39,7
var $option = array();
function Bazar_carte_google($options) {
unset ($options['nom_bdd']); // fout la merde avec google maps v2
$this->options = $options;
}
48,33 → 49,47
$val = $this->options['nom_bdd'];
$script = '
// Variables globales
// cette fonction peut déjà être présente
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) ;
}
}
}
var map = null;
addListener(window,\'load\',loadMap) ;
var geocoder = null;
var lat = document.getElementById("latitude");
var lon = document.getElementById("longitude");
function load() {
if (GBrowserIsCompatible()) {
function loadMap() {
var point = new google.maps.LatLng('.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_latitude'].', '.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_longitude'].');
var optionsGoogleMapsv3 = {
// On centre la carte sur le languedoc roussillon
center: point,
zoom: 7,
mapTypeId: google.maps.MapTypeId.G_HYBRID_MAP,
mapTypeControl: true,
scaleControl: true
};
map = new google.maps.Map(document.getElementById("map"), optionsGoogleMapsv3);
map = new GMap2(document.getElementById("map"), G_HYBRID_MAP);
marker = new google.maps.Marker({
position: point,
map: map
});
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.enableContinuousZoom();
// On centre la carte sur le marqueur
center = new GLatLng('.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_latitude'].', '.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_longitude'].');
map.setCenter(center, 7);map.setMapType(G_HYBRID_MAP);
point = new GLatLng('.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_latitude'].', '.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_longitude'].');
marker = new GMarker(point, {draggable: true});
map.addOverlay(marker);
}
};' ;
GEN_stockerCodeScript($script);
GEN_stockerFichierScript('googleMapScript', $this->options['nom_bdd']);
//GEN_stockerFichierScript('googleMapScript', $this->options['nom_bdd']);
GEN_stockerFichierScript('googleMapScript', "http://maps.googleapis.com/maps/api/js?sensor=false&key=".BAZ_GOOGLE_KEY);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
//GEN_AttributsBody('onload', 'load()');
$html = '<div id="map" style="width: 400px; height: 300px"></div>';
return $html;
}
83,10 → 98,7
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.1.2.1 2008-04-16 12:35:25 alexandre_tb
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
?>
/trunk/bibliotheque/elements/listedatefin.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: listedatefin.php,v 1.3 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: listedatefin.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.3 $
*@version $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/
 
89,7 → 89,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: listedatefin.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
/trunk/bibliotheque/elements/champs_mail.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: champs_mail.php,v 1.3 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: champs_mail.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
/**
*
*@package bazar
27,7 → 27,7
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.3 $
*@version $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/
 
58,7 → 58,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: champs_mail.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
/trunk/bibliotheque/elements/liste.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: liste.php,v 1.3 2008-11-19 09:28:46 aperonnet Exp $
// CVS : $Id: liste.php,v 1.2 2008-09-17 14:18:12 alexandre_tb Exp $
/**
*
*@package bazar
27,13 → 27,10
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.3 $
*@version $Revision: 1.2 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// TODO : Semble inutilise cf ; formulaire.fonct.inc
 
 
include_once PAP_CHEMIN_API_PEAR.'PEAR.php';
 
 
46,7 → 43,6
}
function toHTML($valeur) {
$html = '';
$val = $this->options['nom_bdd'];
//pour les champs renseignes par une liste, on va chercher le label de la liste, plutot que l'id
53,7 → 49,7
$requete = 'SELECT blv_label FROM bazar_fiche_valeur_liste, bazar_liste_valeurs WHERE bfvl_ce_fiche='.
$GLOBALS['_BAZAR_']['id_fiche'].' AND bfvl_ce_liste='.$this->options['nom_bdd'].
' AND bfvl_valeur=blv_valeur AND blv_ce_liste='.$this->options['nom_bdd'].
' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER by blv_valeur';
' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError ($resultat)) {
return ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
76,7 → 72,7
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* $Log: liste.php,v $
* Revision 1.2 2008-09-17 14:18:12 alexandre_tb
* fusion avec aha
*
/trunk/bibliotheque/bazar.fonct.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: bazar.fonct.php,v 1.79 2008-10-29 10:41:48 alexandre_tb Exp $
// CVS : $Id: bazar.fonct.php,v 1.74.2.13 2008-08-27 13:21:40 alexandre_tb Exp $
/**
*
* Fonctions du module bazar
31,7 → 31,7
*@author Florian Schmitt <florian@ecole-et-nature.org>
//Autres auteurs :
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.79 $ $Date: 2008-10-29 10:41:48 $
*@version $Revision: 1.74.2.13 $ $Date: 2008-08-27 13:21:40 $
// +------------------------------------------------------------------------------------------------------+
*/
 
67,7 → 67,7
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_ADMIN);
$res= '<h2>'.BAZ_ANNONCES_A_ADMINISTRER.'</h2><br />'."\n";
$requete = 'SELECT * FROM bazar_fiche, bazar_nature WHERE bf_statut_fiche=0 AND ' .
'bn_id_nature=bf_ce_nature AND bn_ce_id_menu IN ('.$GLOBALS['_BAZAR_']['categorie_nature'].') ' ;
'bn_id_nature=bf_ce_nature ' ;
if (isset($GLOBALS['_BAZAR_']['langue'])) {
$requete .= ' and bn_ce_i18n like "'.$GLOBALS['_BAZAR_']['langue'].'%" ';
}
79,7 → 79,7
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER, BAZ_DATE_DEBUT_EVENEMENT) ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
 
101,9 → 101,9
$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...
$GLOBALS['_BAZAR_']['url']->removeQueryString('action');
// 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');
 
136,7 → 136,9
"<a href=\"".$lien_publie_oui."\">".BAZ_OUI."</a> / \n".
"<a href=\"".$lien_publie_non."\">".BAZ_NON."</a>", // col 4 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n", // col 5 : supprimer
date('d', strtotime($ligne['bf_date_debut_evenement'])).' '.$GLOBALS['mois'][date('n', strtotime ($ligne['bf_date_debut_evenement']))].' '.date('Y', strtotime ($ligne['bf_date_debut_evenement'])) // col 6 date début d'évenement
)) ;
 
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
144,6 → 146,7
$table->updateColAttributes(2, array("align" => "center"));
$table->updateColAttributes(3, array("align" => "center"));
$table->updateColAttributes(4, array("align" => "center"));
$table->updateColAttributes(5, array("align" => "center"));
$res .= $table->toHTML() ;
}
else {
151,8 → 154,6
}
$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
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
173,7 → 174,7
if ($resultat->numRows() != 0) {
$tableAttr = array('id' => 'table_bazar') ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER) ;
$entete = array (BAZ_TITREANNONCE ,BAZ_ANNONCEUR, BAZ_TYPEANNONCE, BAZ_PUBLIER, BAZ_SUPPRIMER, BAZ_DATE_DEBUT_EVENEMENT, BAZ_DATE_CREATION) ;
$table->addRow($entete) ;
$table->setRowType (0, 'th') ;
 
195,8 → 196,8
$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');
230,8 → 231,10
"<a href=\"".$lien_publie_oui."\">".BAZ_OUI."</a> / \n".
"<a href=\"".$lien_publie_non."\">".BAZ_NON."</a>", // col 4 : publier ou pas
"<a href=\"".$lien_supprimer."\"".
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n")) ; // col 5 : supprimer
 
" onclick=\"javascript:return confirm('".BAZ_CONFIRMATION_SUPPRESSION."');\">".BAZ_SUPPRIMER."</a>\n", // col 5 : supprimer
date('d', strtotime($ligne['bf_date_debut_evenement'])).' '.$GLOBALS['mois'][date('n', strtotime ($ligne['bf_date_debut_evenement']))].' '.date('Y', strtotime ($ligne['bf_date_debut_evenement'])), // col 6 date début d'évenement
date('d', strtotime($ligne['bf_date_creation_fiche'])).' '.$GLOBALS['mois'][date('n', strtotime ($ligne['bf_date_creation_fiche']))].' '.date('Y', strtotime ($ligne['bf_date_creation_fiche'])) // col 7 date de création
)) ;
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
254,7 → 257,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_id_nature=bf_ce_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';
 
336,6 → 339,7
return $res;
}
 
 
/** baz_gestion_droits() interface de gestion des droits
*
* return string le code HTML
413,7 → 417,7
' WHERE '.BAZ_CHAMPS_ID." != ".$GLOBALS['id_user'].' ORDER BY '.BAZ_CHAMPS_NOM.' ASC';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
echo ($resultat->getMessage().$resultat->getDebugInfo()) ;
die($resultat->getMessage().$resultat->getDebugInfo()) ;
}
$res='<h2>'.BAZ_GESTION_DES_DROITS.'</h2><br />'."\n";
$res.=BAZ_DESCRIPTION_GESTION_DES_DROITS.'<br /><br />'."\n";
644,8 → 648,8
$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
// ce qui fait �chouer le lien
//Bouton de validation du formulaire
// 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;');
 
695,8 → 699,8
}
 
// 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
708,9 → 712,8
// Redirection vers mes_fiches pour eviter la revalidation du formulaire
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ACTION, BAZ_ACTION_POST_VALIDATION);
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ID_FICHE, $id_fiche);
 
return baz_post_validation();
 
header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
exit();
}
}
 
720,9 → 723,11
if ($mode == BAZ_ACTION_MODIFIER_V) {
if ($formtemplate->validate()) {
$formtemplate->process('baz_mise_a_jour', false) ;
 
// Redirection vers mes_fiches pour eviter la revalidation du formulaire
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
$id_fiche = $GLOBALS['_BAZAR_']['id_fiche'] ;
// Redirection vers la fiche modifiée
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_VOIR, BAZ_GERER_DROITS);
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$GLOBALS['_BAZAR_']['url']->addQueryString (BAZ_VARIABLE_ID_FICHE,$id_fiche);
header ('Location: '.str_replace ('&amp;', '&', $GLOBALS['_BAZAR_']['url']->getURL())) ;
exit();
}
794,7 → 799,7
if (method_exists($element, 'toForm'))$res .= $element->toForm($valeur);
}
*/
if ( $tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' || $tableau[$i]['type']=='radio') {
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'
807,14 → 812,16
}
// 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
if($tableau[$i]['type'] != null) {
$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]['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';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
823,11 → 830,11
}
else {
for ($i=0; $i<count($tableau); $i++) {
if($tableau[$i]['type'] != '') {
$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'] != null) {
$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';
GEN_stockerCodeScript($script);
// On ajoute l attribut load a la balise body
GEN_AttributsBody('onload', 'load()');
834,7 → 841,6
}
}
}
}
$formtemplate->addElement('hidden', 'typeannonce', $GLOBALS['_BAZAR_']['id_typeannonce']);
 
// Un champs cache pour la duplication
846,7 → 852,7
$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
//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;');
 
863,9 → 869,9
* @global mixed L'objet contenant les valeurs issues de la saisie du formulaire
* @return void
*/
function requete_bazar_fiche(&$valeur) {
function requete_bazar_fiche($valeur) {
$requete=NULL;
//l'annonce est directement publi�e pour les admins
//l'annonce est directement publiée pour les admins
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
 
if ($utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) ||
888,7 → 894,7
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 ';
//pour les checkbox, les diff�rentes valeurs sont dans un tableau
//pour les checkbox, les différentes valeurs sont dans un tableau
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']])) {
900,6 → 906,7
}
//pour les listes, une insertion de la valeur suffit
else {
$requeteinsertion .= '('.$GLOBALS['_BAZAR_']['id_fiche'].', '.$tableau[$i]['nom_bdd'].', '.$valeur[$tableau[$i]['type'].$tableau[$i]['nom_bdd']].')';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requeteinsertion) ;
910,8 → 917,7
}
//cas des fichiers
elseif ($tableau[$i]['type']=='fichier') {
if ((isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='')
|| isset($_POST['fiche_dupliquee'])){
if (isset($valeur['texte_fichier'.$tableau[$i]['nom_bdd']]) && $valeur['texte_fichier'.$tableau[$i]['nom_bdd']]!='') {
baz_insertion_fichier($valeur['texte_fichier'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche'], 'fichier'.$tableau[$i]['nom_bdd']);
}
}
920,10 → 926,10
// 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'])) {
strlen ($valeur['url_texte'.$tableau[$i]['nom_bdd']])) {
baz_insertion_url($valeur['url_lien'.$tableau[$i]['nom_bdd']], $valeur['url_texte'.$tableau[$i]['nom_bdd']], $GLOBALS['_BAZAR_']['id_fiche']);
}
}
957,7 → 963,6
$val=addslashes($valeur[$tableau[$i]['nom_bdd']]) ;
$requete .= $tableau[$i]['nom_bdd'].'="'.$val.'", ' ;
}
/*
//cas des wikinis
elseif ( $tableau[$i]['type']=='wikini' && $_REQUEST[BAZ_VARIABLE_ACTION]==BAZ_ACTION_NOUVEAU_V ) {
//on appelle les pages des apis et de l'integrateur wikini
964,14 → 969,13
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' ;
//g�n�ration du titre du wiki, sous la forme id-titre du projet
//génération du titre du wiki, sous la forme id-titre du projet
$titre=baz_titre_wiki($valeur["bf_titre"]);
//cr�ation du wiki
//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");
$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'].'",';
978,6 → 982,9
}
}
$requete.=' bf_date_maj_fiche=NOW()';
/*if($utilisateur->isSuperAdmin()) {
$requete.=', bf_date_debut_validite_fiche=NOW()';
}*/
return $requete;
}
 
988,25 → 995,30
* @return void
*/
function baz_insertion($valeur) {
// =========== 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
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 .= ', bf_date_debut_validite_fiche=now(), bf_date_fin_validite_fiche="0000-00-00" ' ;
}
$requete .=requete_bazar_fiche($valeur) ;
 
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
die($resultat->getMessage().$resultat->getDebugInfo()) ;
}
// Envoie d un mail aux administrateurs
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
bazar::notifier();
if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) && !$utilisateur->isSuperAdmin()) {
bazar::notifier(BAZAR_NOTIFICATION_NOUVELLE_FICHE);
}
 
// On redirige
1022,17 → 1034,6
* @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 '.
' from bazar_url where bu_ce_fiche="'.$_POST['fiche_dupliquee'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
return;
}
//requete d'insertion dans bazar_url
if (!isset($_SESSION['_BAZAR_']['lien'])) {
$id_url = baz_nextId('bazar_url', 'bu_id_url', $GLOBALS['_BAZAR_']['db']) ;
1058,20 → 1059,6
*/
function baz_insertion_fichier($fichier_description, $idfiche, $nom_fichier='fichier_joint') {
//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 '.
' from bazar_fichier_joint where bfj_ce_fiche="'.$_POST['fiche_dupliquee'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
return;
}
$requete = 'SELECT bfj_id_fichier FROM bazar_fichier_joint WHERE bfj_fichier="'.$_FILES[$nom_fichier]['name'].'"';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
1102,8 → 1089,6
* @return string requete SQL
*/
function baz_insertion_image($idfiche) {
 
 
//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) ;
1126,30 → 1111,32
* @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)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
// Envoie d un mail aux administrateurs
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
if (!$utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || !$utilisateur->isSuperAdmin()) {
bazar::notifier(BAZAR_NOTIFICATION_MODIFICATION_FICHE);
}
return;
}
 
/** 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'];
1157,25 → 1144,23
$lien_mes_fiches = clone $GLOBALS['_BAZAR_']['url'];
$lien_visualiser_fiche = clone $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_visualiser_fiche->addQueryString(BAZ_VARIABLE_VOIR, BAZ_GERER_DROITS);
$lien_visualiser_fiche->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien_visualiser_fiche = $lien_visualiser_fiche->getUrl() ;
 
$lien_nouvelle_fiche->removeQueryString(BAZ_VARIABLE_ID_FICHE);
 
$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->removeQueryString(BAZ_VARIABLE_ID_FICHE);
 
$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';
1184,6 → 1169,7
ob_end_clean();
return $res ;
}
 
/** baz_suppression() - Supprime une fiche
*
* @global L'identifiant de la fiche a supprimer
1194,8 → 1180,7
$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
/*
//génération du titre du wiki, sous la forme id-titre du projet
$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) ;
1208,24 → 1193,20
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
// suppression des valeurs des listes et des cases à cocher
$requete = 'DELETE FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ($resultat->getMessage().$resultat->getDebugInfo()) ;
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
 
//suppression des urls associes
$requete = 'SELECT bu_id_url FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche'];
$requete = 'delete FROM bazar_url WHERE bu_ce_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
}
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'];
1241,13 → 1222,8
$requete = 'DELETE FROM bazar_fiche WHERE bf_id_fiche = '.$_GET['id_fiche'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'."\n") ;
}
// Redirection vers Mes fiches
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_MES_FICHES);
$GLOBALS['_BAZAR_']['url']->removeQueryString('id_fiche');
header ('Location:'.$GLOBALS['_BAZAR_']['url']->getURL());
exit;
return ;
}
}
1259,7 → 1235,6
* @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;
1296,7 → 1271,7
$requete = 'DELETE FROM bazar_fichier_joint WHERE bfj_id_fichier = '.$id_fichier;
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
return ('Echec de la requete<br />'.$resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
}
return;
}
1309,7 → 1284,6
* @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;
1342,15 → 1316,16
function publier_fiche($valid) {
 
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']);
// sortie anticipée en cas d'accès non autorisé
// ceci limite l'accès au supers admins
// sortie anticipée en cas d'accès non autorisé
// ceci limite l'accès au supers admins
// TODO: voir si l'on ne pourrait valider que les fiches
// des catégories dont la personne est admin, ce qui permettrait un accès plus fin
// des catégories dont la personne est admin, ce qui permettrait un accès plus fin
if(!$utilisateur->isSuperAdmin()) {
return;
}
 
if (isset($_GET['id_fiche'])) $GLOBALS['_BAZAR_']['id_fiche']=$_GET['id_fiche'];
if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
 
if(isset($_POST['date_validite']) && date('Y-m-d', strtotime($_POST['date_validite']))) {
$date_validite = '"'.date('Y-m-d', strtotime($_POST['date_validite'])).'"';
1358,15 → 1333,19
$date_validite = 'now()';
}
 
if (isset($_GET['typeannonce'])) $typeannonce=$_GET['typeannonce'];
if ($valid==0) {
$requete = 'UPDATE bazar_fiche SET bf_statut_fiche=2 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
$requete = 'UPDATE bazar_fiche SET bf_statut_fiche=2 ';
if(isset($_POST['date_validite']) && date('Y-m-d', strtotime($_POST['date_validite']))) {
$requete .= ', bf_date_debut_validite_fiche='.$date_validite.' ';
}
$requete .= 'WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
}
else {
$requete = 'UPDATE bazar_fiche SET bf_date_debut_validite_fiche='.$date_validite.' , bf_statut_fiche=1 WHERE bf_id_fiche="'.$GLOBALS['_BAZAR_']['id_fiche'].'"' ;
$requete .= 'UPDATE bazar_fiche SET bf_date_debut_validite_fiche='.$date_validite.' , 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)) {
1384,80 → 1363,41
*/
function baz_s_inscrire() {
$res= '<h2>'.BAZ_S_INSCRIRE_AUX_ANNONCES.'</h2>'."\n";
if (isset($_GET['inscrip'])) {
//cas d'une desinscription
if ($_GET['inscrip']==0) {
$requete='DELETE FROM bazar_abonnement WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$_GET['idtypeannonce'];
}
//cas d'une inscription
else {
$requete='INSERT INTO bazar_abonnement VALUES ('.$GLOBALS['id_user'].', '.$_GET['idtypeannonce'].')';
}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
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
$requete = 'SELECT bn_id_nature, bn_label_nature, bn_image_titre '.
'FROM bazar_nature WHERE 1'; /*bn_ce_id_menu='.$GLOBALS['_BAZAR_']['categorie_nature'];*/
'FROM bazar_nature WHERE 1';
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
return ($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');*/
$res .= '<div>'.BAZ_TYPE_ANNONCES.'</div>' ;
$res .= '<ul>' ;
$table = new HTML_Table(array ('class' => 'table_bazar'));
$table->addRow(array(BAZ_TYPE_ANNONCES, BAZ_RSS));
$table->setRowType(0, 'th');
 
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
 
$lien_RSS=$GLOBALS['_BAZAR_']['url'];
$lien_RSS->addQueryString('action', BAZ_VOIR_FLUX_RSS);
$lien_RSS->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FLUX_RSS);
$lien_RSS->addQueryString('annonce', $ligne[bn_id_nature]);
if (isset($ligne['bn_image_titre'])) {$titre='&nbsp;<img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'.$ligne['bn_label_nature'].'" />'."\n";}
else {$titre='<strong>&nbsp;'.$ligne['bn_label_nature'].'</strong>'."\n";}
 
//requete pour savoir si la personne est inscrite a ce type d'annonce
$requete = 'SELECT ba_id_utilisateur '.
'FROM bazar_abonnement '.
'WHERE ba_id_utilisateur='.$GLOBALS['id_user'].' AND ba_id_rubrique='.$ligne['bn_id_nature'];
$resultat2 = $GLOBALS['_BAZAR_']['db']->query($requete) ;
if (DB::isError($resultat2)) {
die ($resultat2->getMessage().$resultat2->getDebugInfo()) ;
}
$lien_RSS->addQueryString('annonce', $ligne['bn_id_nature']);
$res .= '<li>'. '<a href="'.$lien_RSS->getURL().'">'.$ligne['bn_label_nature'].'</a></li>' ;
$table->addRow(array($titre,
'<a href="'.$lien_RSS->getURL().'"><img src="client/bazar/images/BAZ_rss.png" alt="'.BAZ_RSS.'"></a>'));
$lien_RSS->removeQueryString('annonce');
}
$res .= '</ul>' ;
}
else {
$res .= '<p class="zone_info">'.BAZ_IDENTIFIEZ_VOUS_POUR_SAISIR.'</p>'."\n" ;
$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ;
$GLOBALS['_BAZAR_']['url']->addQueryString(BAZ_VARIABLE_ACTION, BAZ_S_INSCRIRE);
$res .= $GLOBALS['_BAZAR_']['url']->getURL();
$res .= '" method="post">
<fieldset>
<legend>Identifiez vous</legend>
<label for="username">Courriel : </label>
<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" />
</fieldset>
</form>';
}
$table->altRowAttributes(1, array('class' => 'ligne_impaire'), array('class' => 'ligne_paire'));
$table->updateColAttributes(0, array('class' => 'col1'));
$table->updateColAttributes(1, array('class' => 'col2'));
$res.=$table->toHTML() ;
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
$GLOBALS['_BAZAR_']['url']->removeQueryString('idtypeannonce');
$GLOBALS['_BAZAR_']['url']->removeQueryString('inscrip');
 
return $res;
}
1479,7 → 1419,7
$valeurs_fiche = array() ;
$tableau = baz_valeurs_template($GLOBALS['_BAZAR_']['template']);
for ($i=0; $i<count($tableau); $i++) {
if ($tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox' || $tableau[$i]['type']=='radio') {
if ($tableau[$i]['type']=='liste' || $tableau[$i]['type']=='checkbox') {
$requete = 'SELECT bfvl_valeur FROM bazar_fiche_valeur_liste WHERE bfvl_ce_fiche='.$idfiche.
' AND bfvl_ce_liste='.$tableau[$i]['nom_bdd'];
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete) ;
1504,13 → 1444,6
return $valeurs_fiche;
}
 
/** baz_valeurs_champ() - Renvoie les valeurs d'un champ pour une fiche donn�e
*
* @param string le nom du champ de la fiche
* @param integer Identifiant de la fiche
*
* @return string Valeurs enregistrees pour cette fiche
*/
function baz_valeur_champs($nom_champs,$id_fiche) {
 
$requete = 'SELECT blv_label FROM bazar_fiche_valeur_liste, bazar_liste_valeurs WHERE bfvl_ce_fiche='.
1560,9 → 1493,9
 
/** function baz_titre_wiki () Renvoie la chaine de caractere sous une forme compatible avec wikini
*
* @param string mot � transformer (enlever accents, espaces)
* @param string mot à transformer (enlever accents, espaces)
*
* return string mot transform�
* return string mot transformé
*/
function baz_titre_wiki($nom) {
$titre=trim($nom);
1577,19 → 1510,46
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.78 2008-09-17 14:08:45 alexandre_tb
* merge depuis aha
* Revision 1.74.2.12 2008-04-16 12:38:17 alexandre_tb
* verification des droits avant de permettre l ajout d une nouvelle fiche
*
* Revision 1.77 2008-03-17 11:02:59 jp_milcent
* Ajout de l'authentification n�cessaire pour d�poser des commentaires.
* Corrections sur la gestion des param�tres dans les urls (compatibilit� applette Identification et Moteur de Recherche).
* Revision 1.74.2.11 2008-03-17 11:03:02 jp_milcent
* Ajout de l'authentification nécessaire pour déposer des commentaires.
* Corrections sur la gestion des paramêtres dans les urls (compatibilité applette Identification et Moteur de Recherche).
*
* Revision 1.76 2007-12-14 09:56:02 alexandre_tb
* Fusion avec la livraison AHA : 14 decembre 2007
* Revision 1.74.2.10 2008-02-01 17:20:18 florian
* suppression du lien annuler pour la sélection des fiches, pas de valeur par défaut pour la sélection, et sélectionner un type de fiche devient obligatoire.
*
* Revision 1.75 2007-12-04 09:07:21 alexandre_tb
* Fusion avec la livraison AHA : 4 d�c 2007
* Revision 1.74.2.9 2008-02-01 16:23:29 florian
* ajout champs_mail, décommenter les traductions des javascripts
*
* Revision 1.74.2.8 2008-02-01 09:56:56 alexandre_tb
* reglage du pb de double saisie de fiche,
* ajout d un exit apres le header location
*
* Revision 1.74.2.7 2008-01-29 14:35:22 alexandre_tb
* suppression de l identification pour l abonnement au fluxRSS
*
* Revision 1.74.2.6 2008-01-29 09:55:07 alexandre_tb
* suppression de l identification pour l abonnement au fluxRSS
*
* Revision 1.74.2.5 2008-01-29 09:35:36 alexandre_tb
* remplacement des variables action par une constante
* Utilisation d un redirection pour eviter que les formulaires soient valides 2 fois
* simplification de la suppression d un lien associe a une liste
*
* Revision 1.74.2.4 2008-01-11 14:10:12 alexandre_tb
* Remplacement de la variable action ecrite en dur par la constante BAZ_VARIABLE_ACTION
*
* Revision 1.74.2.3 2007-12-14 09:55:05 alexandre_tb
* suppression de style dans le formulaire
*
* Revision 1.74.2.2 2007-12-06 15:36:07 alexandre_tb
* appel de la fonction GEN_AttributsBody dans le composant carte_google
*
* Revision 1.74.2.1 2007-12-04 09:00:08 alexandre_tb
* corrections importantes sur baz_s_inscrire, simplification de l'application qui ne fonctionnait pas.
*
* Revision 1.74 2007-10-25 09:41:31 alexandre_tb
* mise en place de variable de session pour eviter que les formulaires soit valider 2 fois, pour les url, fichiers et image
*
1629,7 → 1589,7
* ajout de la carto google
*
* Revision 1.63 2007/04/11 08:30:12 neiluj
* remise en �tat du CVS...
* remise en état du CVS...
*
* Revision 1.57.2.12 2007/03/16 14:49:24 alexandre_tb
* si la date de debut d evenement est superieure a la date de fin alors on met
1639,19 → 1599,19
* Ajout d'id sur les colonnes et gestion par les CSS des styles du tableau des abonnements.
*
* Revision 1.57.2.10 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage syst�matique des URLs.
* Ajout du nettoyage systématique des URLs.
*
* Revision 1.57.2.9 2007/03/06 16:23:24 jp_milcent
* Nettoyage de l'url pour la gestion des droits.
*
* Revision 1.57.2.8 2007/03/05 14:33:44 jp_milcent
* Suppression de l'appel � Mes_Fiches dans la fonction baz_formulaire
* Suppression de l'appel à Mes_Fiches dans la fonction baz_formulaire
*
* Revision 1.57.2.7 2007/03/05 10:28:03 alexandre_tb
* correction d un commentaire
*
* Revision 1.57.2.6 2007/02/15 13:42:16 jp_milcent
* Utilisation de IN � la place du = dans les requ�tes traitant les cat�gories de fiches.
* Utilisation de IN à la place du = dans les requêtes traitant les catégories de fiches.
* Permet d'utiliser la syntaxe 1,2,3 dans la configuration de categorie_nature.
*
* Revision 1.57.2.5 2007/02/12 16:16:31 alexandre_tb
1664,7 → 1624,7
* correction erreur de requete sur insertion bazar_fiche
*
* Revision 1.57.2.2 2007/01/22 16:05:39 alexandre_tb
* insertion de la date du jour dans bf_date_debut_validite_fiche quand il n'y a pas ce champs dans le formulaire (�vite le 0000-00-00)
* insertion de la date du jour dans bf_date_debut_validite_fiche quand il n'y a pas ce champs dans le formulaire (évite le 0000-00-00)
*
* Revision 1.57.2.1 2006/12/13 13:23:03 alexandre_tb
* Remplacement de l appel d une constante par un appel direct. -> warning
1676,10 → 1636,10
* amelioration moteur de recherche, correction de bugs
*
* Revision 1.56 2006/09/28 15:41:36 alexandre_tb
* Le formulaire pour se logguer dans l'action saisir reste sur l'action saisir apr�s
* Le formulaire pour se logguer dans l'action saisir reste sur l'action saisir après
*
* Revision 1.55 2006/09/21 14:19:39 florian
* am�lioration des fonctions li�s au wikini
* amélioration des fonctions liés au wikini
*
* Revision 1.54 2006/09/14 15:11:23 alexandre_tb
* suppression temporaire de la gestion des wikinis
1730,7 → 1690,7
* correction de bugs
*
* Revision 1.38 2006/01/30 10:27:04 florian
* - ajout des entr�es de formulaire fichier, url, et image
* - ajout des entrées de formulaire fichier, url, et image
* - correction bug d'affichage du mode de saisie
*
* Revision 1.37 2006/01/24 14:11:11 alexandre_tb
1737,7 → 1697,7
* correction de bug sur l'ajout d'une image et d'un fichier
*
* Revision 1.36 2006/01/19 17:42:11 florian
* ajout des cases � cocher pr�-coch�es pour les maj
* ajout des cases à cocher pré-cochées pour les maj
*
* Revision 1.35 2006/01/18 11:06:51 florian
* correction erreur saisie date
1746,10 → 1706,10
* corrections bugs affichage fiche
*
* Revision 1.33 2006/01/18 10:07:34 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.32 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.31 2006/01/17 10:07:08 alexandre_tb
* en cours
1761,19 → 1721,19
* utilisation des temlates dans la table bazar_nature
*
* Revision 1.28 2006/01/05 16:28:24 alexandre_tb
* prise en chage des checkbox, reste la mise � jour � g�rer
* prise en chage des checkbox, reste la mise à jour à gérer
*
* Revision 1.27 2006/01/04 15:30:56 alexandre_tb
* mise en forme du code
*
* Revision 1.26 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.25 2005/12/20 14:49:35 ddelon
* Fusion Head vers Livraison
*
* Revision 1.24 2005/12/16 15:44:40 alexandre_tb
* ajout de l'option restreindre d�p�t
* ajout de l'option restreindre dépôt
*
* Revision 1.23 2005/12/01 17:03:34 florian
* changement des chemins pour appli Pear
1788,19 → 1748,19
* ajouts graphisme (logos, boutons), changement structure SQL bazar_fiche
*
* Revision 1.19 2005/11/24 16:17:13 florian
* corrections bugs, ajout des cases � cocher
* corrections bugs, ajout des cases à cocher
*
* Revision 1.18 2005/11/18 16:03:23 florian
* correction bug html entites
*
* Revision 1.17 2005/11/17 18:48:02 florian
* corrections bugs + am�lioration de l'application d'inscription
* corrections bugs + amélioration de l'application d'inscription
*
* Revision 1.16 2005/11/07 17:30:36 florian
* ajout controle sur les listes pour la saisie
*
* Revision 1.15 2005/11/07 17:05:45 florian
* am�lioration validation conditions de saisie, ajout des r�gles sp�cifiques de saisie des formulaires
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
*
* Revision 1.14 2005/11/07 08:48:02 florian
* correction pb guillemets pour saisie et modif de fiche
1812,16 → 1772,16
* Reorganisation calendrier + applette
*
* Revision 1.10 2005/10/12 15:14:06 florian
* am�lioration de l'interface de bazar, de mani�re a simplifier les consultations, et � harmoniser par rapport aux Ressources
* amélioration de l'interface de bazar, de manière a simplifier les consultations, et à harmoniser par rapport aux Ressources
*
* Revision 1.9 2005/10/10 16:22:52 alexandre_tb
* Correction de bug. Lorsqu'on revient en arri�re apr�s avoir valid� un formulaire.
* Correction de bug. Lorsqu'on revient en arrière après avoir validé un formulaire.
*
* Revision 1.8 2005/09/30 13:50:07 alexandre_tb
* correction bug date parution ressource
*
* Revision 1.7 2005/09/30 13:15:58 ddelon
* compatibilit� php5
* compatibilité php5
*
* Revision 1.6 2005/09/30 13:00:05 ddelon
* Fiche bazar generique
1830,7 → 1790,7
* Ajouts commentaires pour fiche, modifications graphiques, maj SQL
*
* Revision 1.3 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.1.1.1 2005/02/17 18:05:11 florian
* Import initial de Bazar
1845,10 → 1805,10
* ajout commentaires + petits debuggages
*
* Revision 1.8 2004/07/07 14:30:19 florian
* d�bogage RSS
* débogage RSS
*
* Revision 1.7 2004/07/06 16:22:01 florian
* d�bogage modification + MAJ flux RSS
* débogage modification + MAJ flux RSS
*
* Revision 1.6 2004/07/06 09:28:26 florian
* changement interface de modification
/trunk/bibliotheque/bazar.fonct.formulaire.php
New file
0,0 → 1,566
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | 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: bazar.fonct.formulaire.php,v 1.26 2007-06-04 15:24:31 alexandre_tb Exp $
/**
* Formulaire
*
* Les fonctions de mise en page des formulaire
*
*@package bazar
//Auteur original :
*@author Florian SCHMITT <florian@ecole-et-nature.org>
//Autres auteurs :
*@author Aleandre GRANIER <alexandre@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.26 $ $Date: 2007-06-04 15:24:31 $
// +------------------------------------------------------------------------------------------------------+
*/
 
require_once 'bazar.fonct.formulaire.controles.php';
 
//-------------------FONCTIONS DE MISE EN PAGE DES FORMULAIRES
 
/** liste() - Ajoute un élément de type liste au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param int identifiant de la liste sur bazar_liste
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs de la liste
* @param string ce champs est il obligatoire? (required)
* @param boolean sommes nous dans le moteur de recherche?
* @return void
*/
function liste(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'"';
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
if ($dans_moteur_de_recherche==0) {
$select[0]=BAZ_CHOISIR;
}
else {
$select[0]=BAZ_INDIFFERENT;
}
while ($ligne = $resultat->fetchRow()) {
$select[$ligne[1]] = $ligne[2] ;
}
$option=array('style'=>'width: '.$limite1.'px;', 'id' => 'liste'.$id_liste);
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/select.php';
$select= new HTML_QuickForm_select('liste'.$id_liste, $label, $select, $option);
$select->setSize($limite2);
$select->setMultiple(0);
$select->setSelected($defaut);
$formtemplate->addElement($select) ;
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule('liste'.$id_liste, BAZ_CHOISIR_OBLIGATOIRE.' '.$label , 'nonzero', '', 'client') ;
$formtemplate->addRule('liste'.$id_liste, $label.' obligatoire', 'required', '', 'client') ;}
}
 
 
/** checkbox() - Ajoute un élément de type checkbox au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param int identifiant de la liste sur bazar_liste
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs de la liste
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function checkbox(&$formtemplate, $id_liste , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
$requete = 'SELECT * FROM bazar_liste_valeurs WHERE blv_ce_liste='.$id_liste.' AND blv_ce_i18n="'.$GLOBALS['_BAZAR_']['langue'].'" ORDER BY blv_label';
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
if (DB::isError ($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/checkbox.php' ;
$i=0;
if (isset($defaut)) $tab=split(', ', $defaut);
while ($ligne = $resultat->fetchRow()) {
if ($i==0) $labelchkbox=$label ; else $labelchkbox='&nbsp;';
$checkbox[$i]= & HTML_Quickform::createElement('checkbox', $ligne[1], $labelchkbox, $ligne[2],
array ('style'=>'display:inline;margin:2px;')) ;
foreach ($tab as $val) {
if ($ligne[1]==$val) $checkbox[$i]->setChecked(1);
}
$i++;
}
$squelette_checkbox =& $formtemplate->defaultRenderer();
$squelette_checkbox->setElementTemplate( '<tr><td colspan="2" style="text-align:left;">'."\n".'<fieldset class="bazar_fieldset">'."\n".'<legend>{label}'.
'<!-- BEGIN required --><span class="symbole_obligatoire">&nbsp;*</span><!-- END required -->'."\n".
'</legend>'."\n".'{element}'."\n".'</fieldset> '."\n".'</td></tr>'."\n", 'checkbox'.$id_liste);
$squelette_checkbox->setGroupElementTemplate( "\n".'<div class="bazar_checkbox">'."\n".'{element}'."\n".'</div>'."\n", 'checkbox'.$id_liste);
$formtemplate->addGroup($checkbox, 'checkbox'.$id_liste, $label, "\n");
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addGroupRule('checkbox'.$id_liste, $label.' obligatoire', 'required', null, 1, 'client');
}
}
 
 
/** listedatedeb() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de début
*
* @param mixed L'objet QuickForm du formulaire
* @param string nom de la table dans la base de donnée
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs de la date
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function listedatedeb(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
$optiondate = array('language' => BAZ_LANGUE_PAR_DEFAUT,
'minYear' => date('Y')-4,
'maxYear'=> (date('Y')+10),
'format' => 'd m Y',
'addEmptyOption' => BAZ_DATE_VIDE,
);
$formtemplate->addElement('date', $nom_bdd, $label, $optiondate) ;
//gestion des valeurs par défaut (date du jour)
if (isset($defaut) && $defaut!='') {
$tableau_date = explode ('-', $defaut);
$formtemplate->setDefaults(array($nom_bdd => array ('d'=> $tableau_date[2], 'm'=> $tableau_date[1], 'Y'=> $tableau_date[0])));
}
else {
$defauts=array($nom_bdd => array ('d'=>date('d'), 'm'=>date('m'), 'Y'=>date('Y')));
$formtemplate->setDefaults($defauts);
}
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
}
}
 
/** listedatefin() - Ajoute un élément de type date sous forme de liste au formulaire pour designer une date de fin
*
* @param mixed L'objet QuickForm du formulaire
* @param string nom de la table dans la base de donnée
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs de la date
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function listedatefin(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
listedatedeb($formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche);
}
 
 
/** texte() - Ajoute un élément de type texte au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string nom de la table dans la base de donnée
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function texte(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
$option=array('size'=>$limite1,'maxlength'=>$limite2, 'id' => $nom_bdd);
$formtemplate->addElement('text', $nom_bdd, $label, $option) ;
//gestion des valeurs par défaut
$defauts=array($nom_bdd=>$defaut);
$formtemplate->setDefaults($defauts);
$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
}
}
 
 
/** textelong() - Ajoute un élément de type textearea au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string nom de la table dans la base de donnée
* @param string label à afficher dans le formulaire
* @param string taille des colonnes de l'élément
* @param string taille des lignes de l'élément
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function textelong(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
$formtexte= new HTML_QuickForm_textarea($nom_bdd, $label, array('style'=>'white-space: normal;', 'id' => $nom_bdd));
$formtexte->setCols($limite1);
$formtexte->setRows($limite2);
$formtemplate->addElement($formtexte) ;
//gestion des valeurs par défaut
$defauts=array($nom_bdd=>$defaut);
$formtemplate->setDefaults($defauts);
$formtemplate->applyFilter($nom_bdd, 'addslashes') ;
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule($nom_bdd, $label.' obligatoire', 'required', '', 'client') ;
}
}
 
/** url() - Ajoute un élément de type url internet au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
* @param string label à afficher dans le formulaire
* @param string taille des colonnes de l'élément
* @param string taille des lignes de l'élément
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function url(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
//recherche des URLs deja entrees dans la base
$html_url= '';
if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
$requete = 'SELECT bu_id_url, bu_url, bu_descriptif_url FROM bazar_url WHERE bu_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
if (DB::isError ($resultat)) {
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
$html_url= '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_URL.'</strong>'."\n";
$tableAttr = array("class" => "bazar_table") ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_LIEN , BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType(0, "th") ;
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString('action', $_GET['action']);
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$lien_supprimer->addQueryString('id_url', $ligne->bu_id_url);
$table->addRow (array(
'<a href="'.$ligne->bu_url.'" target="_blank"> '.$ligne->bu_descriptif_url.'</a>', // col 1 : le lien
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_LIEN.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
$lien_supprimer->removeQueryString('id_url');
}
 
// Nettoyage de l'url
$lien_supprimer->removeQueryString('action');
$lien_supprimer->removeQueryString('id_fiche');
$lien_supprimer->removeQueryString('typeannonce');
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
$html_url.= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
}
}
$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
$formtemplate->addElement('html', $html) ;
if ($html_url!='') $formtemplate->addElement('html', $html_url) ;
$formtemplate->addElement('text', 'url_lien'.$nom_bdd, BAZ_URL_LIEN) ;
$formtemplate->addElement('text', 'url_texte'.$nom_bdd, BAZ_URL_TEXTE) ;
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule('url_lien'.$nom_bdd, BAZ_URL_LIEN_REQUIS, 'required', '', 'client') ;
$formtemplate->addRule('url_texte'.$nom_bdd, BAZ_URL_TEXTE_REQUIS, 'required', '', 'client') ;
}
}
 
/** fichier() - Ajoute un élément de type fichier au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
* @param string label à afficher dans le formulaire
* @param string taille des colonnes de l'élément
* @param string taille des lignes de l'élément
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function fichier(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
//AJOUTER DES FICHIERS JOINTS
$html_fichier= '';
if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
$requete = 'SELECT * FROM bazar_fichier_joint WHERE bfj_ce_fiche='.$GLOBALS['_BAZAR_']["id_fiche"];
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
if (DB::isError ($resultat)) {
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
$html_fichier = '<tr>'."\n".'<td colspan="2">'."\n".'<strong>'.BAZ_LISTE_FICHIERS_JOINTS.'</strong>'."\n";
$tableAttr = array("class" => "bazar_table") ;
$table = new HTML_Table($tableAttr) ;
$entete = array (BAZ_FICHIER , BAZ_SUPPRIMER) ;
$table->addRow($entete) ;
$table->setRowType(0, "th") ;
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString('action', $_GET['action']);
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$lien_supprimer->addQueryString('id_fichier', $ligne->bfj_id_fichier);
$table->addRow(array('<a href="client/bazar/upload/'.$ligne->bfj_fichier.'"> '.$ligne->bfj_description.'</a>', // col 1 : le fichier et sa description
'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_FICHIER.'\');" >'.BAZ_SUPPRIMER.'</a>'."\n")) ; // col 2 : supprimer
$lien_supprimer->removeQueryString('id_fichier');
}
$table->altRowAttributes(1, array("class" => "ligne_impaire"), array("class" => "ligne_paire"));
$table->updateColAttributes(1, array("align" => "center"));
$html_fichier .= $table->toHTML()."\n".'</td>'."\n".'</tr>'."\n" ;
}
}
$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
$formtemplate->addElement('html', $html) ;
if ($html_fichier!='') $formtemplate->addElement('html', $html_fichier) ;
$formtemplate->addElement('text', 'texte_fichier'.$nom_bdd, BAZ_FICHIER_DESCRIPTION) ;
$formtemplate->addElement('file', 'fichier'.$nom_bdd, BAZ_FICHIER_JOINT) ;
$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, '', '', 'client') ; //a completer pour checker l'image
$formtemplate->setMaxFileSize($limite1);
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule('texte_fichier'.$nom_bdd, BAZ_FICHIER_LABEL_REQUIS, 'required', '', 'client') ;
$formtemplate->addRule('fichier'.$nom_bdd, BAZ_FICHIER_JOINT_REQUIS, 'required', '', 'client') ;
}
}
 
/** image() - Ajoute un élément de type image au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
* @param string label à afficher dans le formulaire
* @param string taille maximum du fichier colonnes de l'élément
* @param string taille des lignes de l'élément
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function image(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
//AJOUTER UNE IMAGE
$html_image= '';
if (isset($GLOBALS['_BAZAR_']["id_fiche"])) {
$requete = 'SELECT bf_url_image FROM bazar_fiche WHERE bf_id_fiche='.$GLOBALS['_BAZAR_']['id_fiche'];
$resultat = & $GLOBALS['_BAZAR_']['db'] -> query($requete) ;
if (DB::isError ($resultat)) {
die ($GLOBALS['_BAZAR_']['db']->getMessage().$GLOBALS['_BAZAR_']['db']->getDebugInfo()) ;
}
if ($resultat->numRows()>0) {
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$image=$ligne->bf_url_image;
}
if ($image!=NULL) {
$lien_supprimer=$GLOBALS['_BAZAR_']['url'];
$lien_supprimer->addQueryString('action', $_GET['action']);
$lien_supprimer->addQueryString('id_fiche', $GLOBALS['_BAZAR_']["id_fiche"]);
$lien_supprimer->addQueryString('typeannonce', $_REQUEST['typeannonce']);
$lien_supprimer->addQueryString('image', 1);
$html_image = '<tr>'."\n".
'<td>'."\n".'<img src="client/bazar/upload/'.$image.'" alt="'.BAZ_TEXTE_IMG_ALTERNATIF.'" width="130" height="130" />'."\n".'</td>'."\n".
'<td>'."\n".'<a href="'.$lien_supprimer->getURL().'" onclick="javascript:return confirm(\''.BAZ_CONFIRMATION_SUPPRESSION_IMAGE.'\');" >'.BAZ_SUPPRIMER.'</a><br /><br />'."\n".
'<strong>'.BAZ_POUR_CHANGER_IMAGE.'</strong><br />'."\n".'</td>'."\n".'</tr>'."\n";
}
}
}
$html ='<tr>'."\n".'<td colspan="2">'."\n".'<h4>'.$label.'</h4>'."\n".'</td>'."\n".'</tr>'."\n";
$formtemplate->addElement('html', $html) ;
if ($html_image!='') $formtemplate->addElement('html', $html_image) ;
$formtemplate->addElement('file', 'image', BAZ_IMAGE) ;
//TODO: controler si c'est une image
$formtemplate->setMaxFileSize($limite1);
//gestion du champs obligatoire
if (($dans_moteur_de_recherche==0) && isset($obligatoire) && ($obligatoire==1)) {
$formtemplate->addRule('image', BAZ_IMAGE_VALIDE_REQUIS, 'required', '', 'client') ;
}
}
 
/** wikini() - Ajoute un wikini au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string numero du champs input du formulaire (pour le différencier d'autres champs du meme type dans ce formulaire)
* @param string label à afficher dans le formulaire
* @param string taille maximum du fichier colonnes de l'élément
* @param string taille des lignes de l'élément
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs du texte (inutile)
* @param string ce champs est il obligatoire? (required)
* @return void
*/
function wikini(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
return;
}
 
/** labelhtml() - Ajoute un élément de type textearea au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string nom de la table dans la base de donnée (pas utilisé)
* @param string label à afficher dans le formulaire
* @param string taille des colonnes de l'élément (pas utilisé)
* @param string taille des lignes de l'élément (pas utilisé)
* @param string valeur par défaut du formulaire (pas utilisé)
* @param string table source pour les valeurs du texte (pas utilisé)
* @param string ce champs est il obligatoire? (required) (pas utilisé)
* @return void
*/
function labelhtml(&$formtemplate, $nom_bdd , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
require_once PAP_CHEMIN_API_PEAR.'HTML/QuickForm/html.php';
$formhtml= new HTML_QuickForm_html('<tr>'."\n".'<td colspan="2" style="text-align:left;">'."\n".$label."\n".'</td>'."\n".'</tr>'."\n");
$formtemplate->addElement($formhtml) ;
}
 
/** carte_google() - Ajoute un élément de carte google au formulaire
*
* @param mixed L'objet QuickForm du formulaire
* @param string l url vers la script google
* @param string label à afficher dans le formulaire
* @param string première restriction de la taille des champs du formulaire
* @param string deuxième restriction de la taille des champs du formulaire
* @param string valeur par défaut du formulaire
* @param string table source pour les valeurs de la liste
* @param string ce champs est il obligatoire? (required)
* @param boolean sommes nous dans le moteur de recherche?
* @return void
*/
function carte_google(&$formtemplate, $url_google_script , $label, $limite1, $limite2, $defaut, $source, $obligatoire, $dans_moteur_de_recherche=0) {
if (is_array ($defaut)) {
$formtemplate->setDefaults(array('latitude' => $defaut['latitude'], 'longitude' => $defaut['longitude']));
}
GEN_stockerFichierScript('googleMapScript', $url_google_script);
$formtemplate->addElement('button', 'chercher_sur_carte', 'Vérifier mon adresse avec la carte', array("onclick" => "showAddress();"));
$formtemplate->addElement('text', 'latitude', 'Latitude', array('id' => 'latitude', 'size' => 6, 'readonly' => 'readonly'));
$formtemplate->addElement('text', 'longitude', 'longitude', array('id' => 'longitude', 'size' => 6, 'readonly' => 'readonly'));
$formtemplate->addElement('html', '<tr><td colspan="2" ><div id="map" style="width: 600px; height: 450px"></div></td></tr>');
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.google.php';
GEN_stockerCodeScript($script);
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: bazar.fonct.formulaire.php,v $
* Revision 1.26 2007-06-04 15:24:31 alexandre_tb
* ajout du type carte_google
*
* Revision 1.25 2007/04/11 08:30:12 neiluj
* remise en état du CVS...
*
* Revision 1.22.2.3 2007/03/16 14:48:32 alexandre_tb
* on peut maintenant saisir une date par défaut
* et 0000-00-00 pour des champs vide
*
* Revision 1.22.2.2 2007/03/07 17:20:19 jp_milcent
* Ajout du nettoyage systématique des URLs.
*
* Revision 1.22.2.1 2007/01/17 16:01:37 alexandre_tb
* les dates ne s'affichent pas si elles sont vides.
* les champs dates propose 4 années avant l'année actuelle
*
* Revision 1.22 2006/06/02 09:29:07 florian
* debut d'integration de wikini
*
* Revision 1.21 2006/05/19 13:54:11 florian
* stabilisation du moteur de recherche, corrections bugs, lien recherche avancee
*
* Revision 1.20 2006/04/28 12:46:14 florian
* integration des liens vers annuaire
*
* Revision 1.19 2006/03/02 20:36:52 florian
* les entrees du formulaire de saisir ne sont plus dans les constantes mias dans des tables qui gerent le multilinguisme.
*
* Revision 1.18 2006/03/01 16:01:46 florian
* correction bug déclaration variable $html
*
* Revision 1.17 2006/01/30 10:27:03 florian
* - ajout des entrées de formulaire fichier, url, et image
* - correction bug d'affichage du mode de saisie
*
* Revision 1.16 2006/01/24 14:11:44 alexandre_tb
* ajout du paramètre emptyOptionValue dans les champs de date
*
* Revision 1.15 2006/01/23 16:57:03 alexandre_tb
* correction d'un notice
*
* Revision 1.14 2006/01/19 17:42:11 florian
* ajout des cases à cocher pré-cochées pour les maj
*
* Revision 1.13 2006/01/13 14:12:51 florian
* utilisation des temlates dans la table bazar_nature
*
* Revision 1.12 2006/01/05 16:28:24 alexandre_tb
* prise en chage des checkbox, reste la mise à jour à gérer
*
* Revision 1.11 2006/01/02 13:24:07 alexandre_tb
* correction de bug d'un mauvais retour en erreur
*
* Revision 1.10 2005/12/01 16:05:41 florian
* changement des chemins pour appli Pear
*
* Revision 1.9 2005/11/24 16:17:13 florian
* corrections bugs, ajout des cases à cocher
*
* Revision 1.8 2005/11/18 16:03:23 florian
* correction bug html entites
*
* Revision 1.7 2005/11/07 17:51:06 florian
* correction bug liste
*
* Revision 1.6 2005/11/07 17:30:36 florian
* ajout controle sur les listes pour la saisie
*
* Revision 1.5 2005/11/07 17:05:45 florian
* amélioration validation conditions de saisie, ajout des règles spécifiques de saisie des formulaires
*
* Revision 1.4 2005/10/25 13:53:02 alexandre_tb
* ajout d'un filtre dans les formulaire texte et textelong
*
* Revision 1.3 2005/07/21 19:03:12 florian
* nouveautés bazar: templates fiches, correction de bugs, ...
*
* Revision 1.1.1.1 2005/02/17 18:05:11 florian
* Import initial de Bazar
*
* Revision 1.1.1.1 2005/02/17 11:09:50 florian
* Import initial
*
* Revision 1.1.1.1 2005/02/16 18:06:35 florian
* import de la nouvelle version
*
* Revision 1.4 2004/07/08 11:17:59 alex
* ajout de commentaires et d'entete
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/bibliotheque/bazar.abonnement.inc.php
57,6 → 57,9
//-- Fin du code source ------------------------------------------------------------
/*
* $Log$
* Revision 1.3 2008-09-17 14:08:45 alexandre_tb
* merge depuis aha
*
* Revision 1.2 2006-10-05 08:53:50 florian
* amelioration moteur de recherche, correction de bugs
*
/trunk/bibliotheque/bazar.fonct.rss.php
706,8 → 706,6
if ($nbitem!='') {$requete .= ' LIMIT 0,'.$nbitem;}
$resultat = $GLOBALS['_BAZAR_']['db']->query($requete . ' -- ' . __FILE__ . ':' . __LINE__) ;
 
//mail('aurelien@tela-botanica.org','requete',$requete);
 
if (DB::isError($resultat)) {
die ($resultat->getMessage().$resultat->getDebugInfo()) ;
}
789,7 → 787,7
$xml .= XML_Util::createStartElement ('description');
$xml .= "\r\n ";
if ($_GET[BAZ_VARIABLE_ACTION] != BAZ_VOIR_TOUTES_ANNONCES) {
$xml .= XML_Util::createCDataSection(transformerTxtPourRss(subtext($ligne['bf_description'])));
$xml .= XML_Util::createCDataSection(transformerTxtPourRss($ligne['bf_description']));
}
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement ('description');
824,6 → 822,8
$xml .= XML_Util::createEndElement ('channel');
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement('rss') ;
// Truc copiédepuis l'applette syndication de Papyrus qui semble empêcher les flux de foirer dans Foudroiseau
$xml = supprimerXmlDangereux($xml);
 
// Nettoyage de l'url
$GLOBALS['_BAZAR_']['url']->removeQueryString(BAZ_VARIABLE_ACTION);
832,7 → 832,36
return $xml;
}
 
function supprimerXmlDangereux($xml)
{
$ret = "";
$encours;
if (empty($xml))
{
return $ret;
}
 
$lg = strlen($xml);
for ($i=0; $i < $lg; $i++)
{
$encours = ord($xml{$i});
if (($encours == 0x9) ||
($encours == 0xA) ||
($encours == 0xD) ||
(($encours >= 0x20) && ($encours <= 0xD7FF)) ||
(($encours >= 0xE000) && ($encours <= 0xFFFD)) ||
(($encours >= 0x10000) && ($encours <= 0x10FFFF)))
{
$ret .= chr($encours);
}
else
{
$ret .= " ";
}
}
return $ret;
}
 
/** baz_liste() Formate la liste de toutes les annonces actuelles
*
* @return string le code HTML a afficher
875,7 → 904,7
//Traduction de champs requis
$formtemplate->setRequiredNote(BAZ_CHAMPS_REQUIS) ;
$formtemplate->setJsWarnings(BAZ_ERREUR_SAISIE,BAZ_VEUILLEZ_CORRIGER);
GEN_stockerFichierScript('jquery', 'http://code.jquery.com/jquery-latest.js');
//GEN_stockerFichierScript('jquery', 'http://code.jquery.com/jquery-latest.js');
GEN_stockerFichierScript('jquery_date_picker', 'api/js/jquery/ui.datepicker.js');
GEN_stockerFichierScript('jquery_date_picker_fr', 'api/js/jquery/ui.datepicker-fr.js');
GEN_stockerStyleExterne( 'jquery_date_picker_style', 'api/js/jquery/ui.datepicker.css');
1412,6 → 1441,7
'\x1D' => '', // GS : Group Separator (séparateur de groupe)
'\x1E' => '', // RS : Record Separator (séparateur d'enregistrement)
'\x1F' => '', // US : Unit Separator (séparateur d'unité)
'\x92' => '', // Apostrophes de Windows qui puduk
'\x20' => ' '); // SP : Espace (Space en anglais)
$txtEnUtf8 = strtr($txtEnUtf8, $ascii_remplacements);
return $txtEnUtf8;