function formulaires_rediriger_article_traiter_dist($id_article, $retour = '')
{
    $url = preg_replace(",^\\s*https?://\$,i", "", rtrim(_request('redirection')));
    if ($url) {
        $url = corriger_caracteres($url);
    }
    include_spip('action/editer_article');
    articles_set($id_article, array('virtuel' => $url));
    $js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
    return array('message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js, 'editable' => true);
}
Exemple #2
0
function action_editer_article_dist($arg=null) {

	if (is_null($arg)){
		$securiser_action = charger_fonction('securiser_action', 'inc');
		$arg = $securiser_action();
	}

	// si id_article n'est pas un nombre, c'est une creation
	// mais on verifie qu'on a toutes les donnees qu'il faut.
	if (!$id_article = intval($arg)) {
		$id_parent = _request('id_parent');
		$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
		if (!($id_parent AND $id_auteur)) {
			include_spip('inc/headers');
			redirige_url_ecrire();
		}
		if (($id_article = insert_article($id_parent)) > 0)

		# cf. GROS HACK ecrire/inc/getdocument
		# rattrapper les documents associes a cet article nouveau
		# ils ont un id = 0-id_auteur

			sql_updateq("spip_documents_liens", array("id_objet" => $id_article), array("id_objet = ".(0-$id_auteur),"objet='article'"));
	}

	// Enregistre l'envoi dans la BD
	if ($id_article > 0) $err = articles_set($id_article);

	if (_request('redirect')) {
		$redirect = parametre_url(urldecode(_request('redirect')),
			'id_article', $id_article, '&') . $err;

		include_spip('inc/headers');
		redirige_par_entete($redirect);
	}
	else
		return array($id_article,$err);
}