Beispiel #1
0
function base_etre_webmestre_dist()
{
    if ($GLOBALS['visiteur_session']['statut'] == '0minirezo' and $GLOBALS['visiteur_session']['webmestre'] !== 'oui') {
        include_spip('action/editer_auteur');
        instituer_auteur($GLOBALS['visiteur_session']['id_auteur'], array('webmestre' => 'oui'), true);
    }
}
Beispiel #2
0
function acces_statut($id_auteur, $statut, $bio)
{
	if ($statut != 'nouveau') return $statut;
	include_spip('inc/filtres');
	include_spip('inc/autoriser');
	if (!autoriser('inscrireauteur', $bio)) return $statut; //i.e. "nouveau"
	include_spip('action/editer_auteur');
	instituer_auteur($id_auteur,array('statut'=> $bio));
	include_spip('inc/modifier');
	revision_auteur($id_auteur, array('bio'=>''));
	include_spip('inc/session');
	session_set('statut',$bio);
	return $bio;
}
Beispiel #3
0
function action_instituer_auteur_dist() {

	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();

	list($id_auteur, $statut) = preg_split('/\W/', $arg);
	if (!$statut) $statut = _request('statut'); // cas POST
	if (!$statut) return; // impossible mais sait-on jamais

	$id_auteur = intval($id_auteur);

	include_spip('action/editer_auteur');

	$c = array(
		'statut'=>$statut,'id_parent'=>intval(_request('id_parent')),'restreintes'=>_request('restreintes')
	);
	instituer_auteur($id_auteur, $c);

}
Beispiel #4
0
/**
 * Notifier lors du changement de statut d'un auteur
 *
 * Basée sur :
 * http://doc.spip.org/@notifications_instituerarticle_dist
 *
 * @param string $quoi
 * @param int $id_auteur
 * @param array $options
 */
function notifications_instituerauteur($quoi, $id_auteur, $options)
{
    // ne devrait jamais se produire
    if ($options['statut'] == $options['statut_ancien']) {
        spip_log("statut auteur inchange", 'notifications');
        return;
    }
    include_spip('inc/texte');
    include_spip('inscription3_mes_fonctions');
    $modele = "";
    /**
     * Si l'ancien statut est 8aconfirmer
     * - on notifie la validation s'il n'est pas mis à la poubelle
     * - on notifie l'invalidation s'il est mis à la poubelle
     *
     * S'il est validé, on lui recrée un pass que l'on met dans le mail avec son login
     */
    if ($options['statut_ancien'] == '8aconfirmer') {
        //spip_log("instituerauteur_caap niv 1",'notifications',_LOG_ERREUR);
        if ($options['statut'] == '5poubelle') {
            $modele = "notifications/auteur_invalide";
            $modele_admin = "notifications/auteur_invalide_admin";
        } else {
            /**
             * Dans le cas d'une validation, on envoit le pass
             * On fait tout en php pour ne pas avoir de traces du pass dans les logs
             * On regénère le mot de passe également
             */
            /*   surcharges caap :
             *    - adresse_site est celle de la rubrique espace Adhérents
             *    - le texte du mail est modifié
             */
            $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
            //$adresse_site = $GLOBALS['meta']["adresse_site"];
            include_spip('inc/filtres');
            $adresse_site = url_absolue(generer_url_public('rubrique', 'id_rubrique=12'));
            $nom_site_spip = nettoyer_titre_email($GLOBALS['meta']["nom_site"]);
            $user = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
            include_spip('inc/acces');
            $pass = creer_pass_aleatoire(8, $id_auteur);
            include_spip('action/editer_auteur');
            instituer_auteur($id_auteur, array('pass' => $pass));
            $texte = "[{$nom_site_spip}] " . _T('form_forum_identifiants') . "\n\n" . _T('form_forum_message_auto') . "\n\n" . _T('form_forum_bonjour', array('nom' => $user['nom'])) . "\n\n" . _T('caap:form_forum_voici1', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site . '/', 'adresse_login' => generer_url_public('login'))) . "\n\n- " . _T('form_forum_login') . " " . $user['login'] . "\n- " . _T('form_forum_pass') . " " . $pass . "\n\n";
            $modele_admin = "notifications/auteur_valide_admin";
        }
    }
    if ($modele or $texte) {
        $options['type'] = 'user';
        $destinataires = array();
        $destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_auteur, 'options' => $options), 'data' => $destinataires));
        if ($modele) {
            $texte = email_notification_objet($id_auteur, "auteur", $modele);
        }
        notifications_envoyer_mails($destinataires, $texte);
    }
    if ($modele_admin) {
        $options['type'] = 'admin';
        $destinataires = array();
        $destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_auteur, 'options' => $options), 'data' => $destinataires));
        $texte = email_notification_objet($id_auteur, "auteur", $modele_admin);
        notifications_envoyer_mails($destinataires, $texte);
    }
}
function auteurs_set($id_auteur, $set = null)
{
    $err = '';
    if (is_null($set)) {
        $c = array();
        foreach (array('nom', 'prenom', 'activite', 'email', 'bio', 'nom_site', 'url_site', 'imessage', 'pgp') as $champ) {
            $c[$champ] = _request($champ, $set);
        }
    } else {
        $c = $set;
        unset($c['webmestre']);
        unset($c['pass']);
        unset($c['login']);
    }
    spip_log('champs ' . $c['nom'], 'journal');
    include_spip('inc/modifier');
    revision_auteur($id_auteur, $c);
    // Modification de statut, changement de rubrique ?
    $c = array();
    foreach (array('statut', 'new_login', 'new_pass', 'login', 'pass', 'webmestre', 'restreintes', 'id_parent') as $champ) {
        if (_request($champ, $set)) {
            $c[preg_replace(',^new_,', '', $champ)] = _request($champ, $set);
        }
    }
    $err .= instituer_auteur($id_auteur, $c);
    // Un lien auteur a prendre en compte ?
    $err .= auteur_referent($id_auteur, array('article' => _request('lier_id_article', $set)));
    return $err;
}
Beispiel #6
0
function creer_pass_pour_auteur($id_auteur) {
	include_spip('inc/acces');
	$pass = creer_pass_aleatoire(8, $id_auteur);
	include_spip('action/editer_auteur');
	instituer_auteur($id_auteur, array('pass'=>$pass));
	return $pass;
}