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); } }
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; }
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); }
/** * 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; }
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; }