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.69 2007-09-18 07:39:42 alexandre_tb Exp $ |
// CVS : $Id: bazar.fonct.php,v 1.70 2007-10-10 13:26:36 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.69 $ $Date: 2007-09-18 07:39:42 $ |
*@version $Revision: 1.70 $ $Date: 2007-10-10 13:26:36 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
45,37 → 45,9 |
require_once GEN_CHEMIN_API.'formulaire/formulaire.fonct.inc.php'; |
require_once 'bazar.fonct.rss.php'; |
|
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
|
/** niveau_droit() - Retourne le niveau de droit de l'utilisateur |
/** fiches_a_valider () - Renvoie les annonces restant a valider par un administrateur |
* |
* @param integer Id de la nature d'offre pour connaitre les droits sur une rubrique |
* @param integer Id de la personne (par défaut la personne loguée) |
* |
* @return string Retourne 'redacteur', 'administrateur', 'superadministrateur', ou 'aucun' |
*/ |
function niveau_droit($id_nature_offre='0', $personne) { |
$requete = 'SELECT bd_niveau_droit FROM bazar_droits WHERE bd_id_utilisateur='.$personne. |
' AND (bd_id_nature_offre="'.$id_nature_offre.'" OR bd_id_nature_offre=0)'; |
$resultat = $GLOBALS['_BAZAR_']['db']->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
} |
if ($resultat->numRows() != 0) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
if ($ligne['bd_niveau_droit']==0) return 'superadministrateur'; |
if ($ligne['bd_niveau_droit']==1) return 'redacteur'; |
if ($ligne['bd_niveau_droit']==2) return 'administrateur'; |
} |
} |
else return 'aucun'; |
} |
|
|
/** fiches_a_valider () - Renvoie les annonces restant à valider par un administrateur |
* |
* @return string HTML |
*/ |
function fiches_a_valider() { |
475,8 → 447,6 |
$table->setRowType (0, 'th') ; |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$droits = niveau_droit($ligne['bn_id_nature'],$personne); |
|
$lien_aucun_droit=$GLOBALS['_BAZAR_']['url']; |
$lien_aucun_droit->addQueryString('action', BAZ_GERER_DROITS); |
$lien_aucun_droit->addQueryString('pers', $personne); |
609,7 → 579,7 |
//$res.='<h2>'.BAZ_DEPOSE_UNE_NOUVELLE_ANNONCE.'</h2>'."\n"; |
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazarTemplate.class.php'; |
$modele = new bazarTemplate($GLOBALS['_BAZAR_']['db']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE_ACCUEIL, $GLOBALS['_BAZAR_']['langue']); |
$res .= $modele->getTemplate(BAZ_TEMPLATE_FORMULAIRE_ACCUEIL, $GLOBALS['_BAZAR_']['langue'], $GLOBALS['_BAZAR_']['categorie_nature']); |
if ($resultat->numRows()==1) { |
$ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC); |
$GLOBALS['_BAZAR_']['id_typeannonce']=$ligne['bn_id_nature']; |
624,11 → 594,11 |
$lien_formulaire->addQueryString('action', BAZ_ACTION_NOUVEAU_V); |
|
} else { |
$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n"; |
//$res.='<br />'.BAZ_CHOIX_TYPEANNONCE.'<br /><br />'."\n"; |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_ASSOC)) { |
$droitspers=niveau_droit($ligne["bn_id_nature"],$GLOBALS["id_user"]); |
if (($droitspers=='redacteur') or ($droitspers=='administrateur') |
or ($droitspers=='superadministrateur' or !BAZ_RESTREINDRE_DEPOT)) { |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']); |
if (($utilisateur->isRedacteur($ligne['bn_id_nature'])) || ($utilisateur->isAdmin($ligne['bn_id_nature'])) |
|| ($utilisateur->isSuperAdmin() || !BAZ_RESTREINDRE_DEPOT)) { |
if ($ligne['bn_image_titre']!='') { |
$titre=' <img src="client/bazar/images/'.$ligne['bn_image_titre'].'" alt="'. |
$ligne['bn_label_nature'].'" />'.'<br />'."\n"; |
835,8 → 805,10 |
function requete_bazar_fiche($valeur) { |
$requete=NULL; |
//l'annonce est directement publiée pour les admins |
if ((niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='administrateur') or |
(niveau_droit($GLOBALS['_BAZAR_']['id_typeannonce'],$GLOBALS['id_user'])=='superadministrateur')) { |
$utilisateur = new Administrateur_bazar($GLOBALS['AUTH']); |
|
if ($utilisateur->isAdmin($GLOBALS['_BAZAR_']['id_typeannonce']) || |
$utilisateur->isSuperAdmin()) { |
$requete.='bf_statut_fiche=1, '; |
} |
else { |
1423,6 → 1395,9 |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.69 2007-09-18 07:39:42 alexandre_tb |
* correction d un bug lors d une insertion |
* |
* Revision 1.68 2007-08-27 12:31:31 alexandre_tb |
* mise en place de modele |
* |