rajout de l'affichage selectif des boutons ajout dans spip/glasnost en fonction de la presence du login adherent dans spip/glasnost

This commit is contained in:
jlb 2003-06-03 15:13:56 +00:00
parent b5977e18f2
commit 17bf68e7b1
3 changed files with 118 additions and 20 deletions

View File

@ -678,12 +678,13 @@ class Adherent
){ ){
$mdpass=md5($this->pass); $mdpass=md5($this->pass);
$htpass=crypt($this->pass,initialiser_sel()); $htpass=crypt($this->pass,initialiser_sel());
$query = "INSERT INTO spip_auteurs (nom, email, login, pass, htpass, alea_futur, statut) VALUES(\"".$this->nom."\",\"".$this->email."\",\"".$this->login."\",\"$mdpass\",\"$htpass\",FLOOR(32000*RAND()),\"1comite\")"; $query = "INSERT INTO spip_auteurs (nom, email, login, pass, htpass, alea_futur, statut) VALUES(\"".$this->prenom." ".$this->nom."\",\"".$this->email."\",\"".$this->login."\",\"$mdpass\",\"$htpass\",FLOOR(32000*RAND()),\"1comite\")";
$mydb=new Db('mysql',MAIN_SPIP_SERVEUR,MAIN_SPIP_USER,MAIN_SPIP_PASS,MAIN_SPIP_DB); $mydb=new Db('mysql',MAIN_SPIP_SERVEUR,MAIN_SPIP_USER,MAIN_SPIP_PASS,MAIN_SPIP_DB);
$result = $mydb->query($query); $result = $mydb->query($query);
if ($result) if ($result)
{ {
$mydb->close();
return 1; return 1;
} }
else else
@ -713,6 +714,7 @@ class Adherent
if ($result) if ($result)
{ {
$mydb->close();
return 1; return 1;
} }
else else
@ -723,6 +725,44 @@ class Adherent
} }
} }
/*
*
* est-ce que cet utilisateur est dans spip
*
*/
Function is_in_spip()
{
if (defined("MAIN_USE_SPIP") && MAIN_USE_SPIP ==1 &&
defined('MAIN_SPIP_SERVEUR') && MAIN_SPIP_SERVEUR != '' &&
defined('MAIN_SPIP_USER') && MAIN_SPIP_USER != '' &&
defined('MAIN_SPIP_PASS') && MAIN_SPIP_PASS != '' &&
defined('MAIN_SPIP_DB') && MAIN_SPIP_DB != ''
){
$query = "SELECT login FROM spip_auteurs WHERE login='".$this->login."'";
$mydb=new Db('mysql',MAIN_SPIP_SERVEUR,MAIN_SPIP_USER,MAIN_SPIP_PASS,MAIN_SPIP_DB);
$result = $mydb->query($query);
if ($result)
{
if ($mydb->num_rows()){
# nous avons au moins une reponse
$mydb->close();
return 1;
}else{
# nous n'avons pas de reponse => n'existe pas
$mydb->close();
return 0;
}
}
else
{
# error
$this->errorstr=$mydb->error();
return -1;
}
}
}
/* /*
* Rajoute cet utilisateur au serveur glasnost * Rajoute cet utilisateur au serveur glasnost
* *
@ -892,6 +932,63 @@ class Adherent
return 0; return 0;
} }
} }
/*
* efface cet utilisateur du serveur glasnost
*
*/
Function is_in_glasnost()
{
if (defined("MAIN_USE_GLASNOST") && MAIN_USE_GLASNOST ==1 &&
defined('MAIN_GLASNOST_SERVEUR') && MAIN_GLASNOST_SERVEUR != '' &&
defined('MAIN_GLASNOST_USER') && MAIN_GLASNOST_USER != '' &&
defined('MAIN_GLASNOST_PASS') && MAIN_GLASNOST_PASS != ''
){
// application token is not useful here
$applicationtoken='';
list($success, $response) =
XMLRPC_request(MAIN_GLASNOST_SERVEUR.':8001',
'/RPC2',
'callGateway',
array(XMLRPC_prepare("glasnost://".MAIN_GLASNOST_SERVEUR."/authentication"),
XMLRPC_prepare('getUserIdAndToken'),
XMLRPC_prepare(array("glasnost://".MAIN_GLASNOST_SERVEUR."/authentication","$applicationtoken",MAIN_GLASNOST_USER,MAIN_GLASNOST_PASS))
)
);
if ($success){
$userid=$response[0];
$usertoken=$response[1];
}else{
return 0;
}
// recuperation du personID
list($success,$response)=
XMLRPC_request(MAIN_GLASNOST_SERVEUR.':8001',
'/RPC2',
'callGateway',
array(XMLRPC_prepare("glasnost://".MAIN_GLASNOST_SERVEUR."/people"),
XMLRPC_prepare('getObjectByLogin'),
XMLRPC_prepare(array(
"glasnost://".MAIN_GLASNOST_SERVEUR."/people",
"$applicationtoken",
$usertoken,
$this->login
)
)
)
);
if ($success){
$personid=$response['id'];
return 1;
}else{
$this->errorstr=$response['faultString'];
return 0;
}
}else{
$this->errorstr="Constantes de connection non definies";
return 0;
}
}
/* /*
* *
* *

View File

@ -559,17 +559,17 @@ if ($rowid > 0)
if ($adht->vote == 'yes' && defined("MAIN_USE_GLASNOST") && MAIN_USE_GLASNOST ==1){ if ($adht->vote == 'yes' && defined("MAIN_USE_GLASNOST") && MAIN_USE_GLASNOST ==1){
define("XMLRPC_DEBUG", 1); define("XMLRPC_DEBUG", 1);
/* /*
* Case 1 * Case 1 & 2
*/ */
print "<td align=\"center\" width=\"25%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=add_glasnost\">Ajout dans Glasnost</a>]</td>\n"; if ($adh->is_in_glasnost() == 1){
print "<td align=\"center\" width=\"25%\" class=\"bouton\">-</td>\n";
print "<td align=\"center\" width=\"25%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=del_glasnost\">Suppression dans Glasnost</a>]</td>\n";
/* }else{
* Case 2 print "<td align=\"center\" width=\"25%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=add_glasnost\">Ajout dans Glasnost</a>]</td>\n";
*/ print "<td align=\"center\" width=\"25%\" class=\"bouton\">-</td>\n";
}
print "<td align=\"center\" width=\"25%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=del_glasnost\">Suppression dans Glasnost</a>]</td>\n";
}else{ }else{
/* /*
* Case 1 * Case 1
@ -584,16 +584,16 @@ if ($rowid > 0)
if (defined("MAIN_USE_SPIP") && MAIN_USE_SPIP ==1){ if (defined("MAIN_USE_SPIP") && MAIN_USE_SPIP ==1){
/* /*
* Case 3 * Case 3 & 4
*/ */
print "<td align=\"center\" width=\"20%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=add_spip\">Ajout dans Spip</a>]</td>\n"; if ($adh->is_in_spip() == 1){
print "<td align=\"center\" width=\"20%\" class=\"bouton\">-</td>\n";
print "<td align=\"center\" width=\"20%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=del_spip\">Suppression dans Spip</a>]</td>\n";
/* }else{
* Case 4 print "<td align=\"center\" width=\"20%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=add_spip\">Ajout dans Spip</a>]</td>\n";
*/ print "<td align=\"center\" width=\"20%\" class=\"bouton\">-</td>\n";
}
print "<td align=\"center\" width=\"20%\" class=\"bouton\">[<a href=\"$PHP_SELF?rowid=$adh->id&action=del_spip\">Suppression dans Spip</a>]</td>\n";
}else{ }else{
/* /*
* Case 3 * Case 3

View File

@ -44,7 +44,8 @@ class User {
$this->db = $DB; $this->db = $DB;
$this->id = $id; $this->id = $id;
$this->comm = 0;
$this->compta = 0;
$this->limite_liste = 20; $this->limite_liste = 20;
return 1; return 1;