コード例 #1
0
/**
 * Traiter
 *
 * @param int $id_article
 * @return array
 */
function formulaires_activer_petition_article_traiter_dist($id_article)
{
    include_spip('inc/autoriser');
    if (autoriser('modererpetition', 'article', $id_article)) {
        switch (_request('change_petition')) {
            case 'on':
                foreach (array('email_unique', 'site_obli', 'site_unique', 'message') as $k) {
                    if (_request($k) != 'oui') {
                        set_request($k, 'non');
                    }
                }
                include_spip('action/editer_petition');
                if (!($id_petition = sql_getfetsel('id_petition', 'spip_petitions', 'id_article=' . intval($id_article)))) {
                    $id_petition = petition_inserer($id_article);
                }
                petition_modifier($id_petition, array('email_unique' => _request('email_unique'), 'site_obli' => _request('site_obli'), 'site_unique' => _request('site_unique'), 'message' => _request('message'), 'texte' => _request('texte_petition'), 'statut' => 'publie'));
                break;
            case 'off':
                if ($id_petition = sql_getfetsel('id_petition', 'spip_petitions', 'id_article=' . intval($id_article))) {
                    include_spip('action/editer_petition');
                    petition_modifier($id_petition, array('statut' => 'poubelle'));
                }
                break;
        }
    }
    return array('message_ok' => _T('config_info_enregistree'));
}
コード例 #2
0
function upgrade_index_signatures()
{
    while ($rows = sql_allfetsel('DISTINCT id_article', 'spip_signatures', 'id_petition=-1', '', '', '0,100')) {
        $rows = array_map('reset', $rows);
        foreach ($rows as $id_article) {
            $id_petition = sql_getfetsel('id_petition', 'spip_petitions', 'id_article=' . intval($id_article));
            if (!$id_petition) {
                include_spip('action/editer_petition');
                $id_petition = petition_inserer($id_article);
                sql_updateq('spip_petitions', array('statut' => 'poubelle'), 'id_petition=' . $id_petition);
            }
            sql_updateq('spip_signatures', array('id_petition' => $id_petition), 'id_article=' . $id_article);
        }
    }
}
コード例 #3
0
ファイル: editer_petition.php プロジェクト: loorenzooo/aslfc
function action_editer_petition_dist($arg = null)
{
    if (is_null($arg)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    // si id_petition n'est pas un nombre, c'est une creation
    // mais on verifie qu'on a toutes les donnees qu'il faut.
    if (!($id_petition = intval($arg))) {
        $id_article = _request('id_article');
        if (!$id_article) {
            include_spip('inc/headers');
            redirige_url_ecrire();
        }
        $id_petition = petition_inserer($id_article);
    }
    // Enregistre l'envoi dans la BD
    if ($id_petition > 0) {
        $err = petition_modifier($id_petition);
    }
    return array($id_petition, $err);
}