Skip to content
Extraits de code Groupes Projets
Valider ce3b905f rédigé par esj's avatar esj
Parcourir les fichiers

Couper en 2 fonctions les actions, afin de pouvoir partager le code figurant...

Couper en 2 fonctions les actions, afin de pouvoir partager le code figurant apres le controle d'acces par hash (a affiner au cas par cas ensuite).
parent 26c9d6fb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -24,15 +24,20 @@ function action_dater_dist() {
if (!preg_match(",^\W*(\d+)$,", $arg, $r)) {
spip_log("action_dater_dist $arg pas compris");
}
else action_dater_post($r);
}
function action_dater_post($r)
{
include_spip('inc/date');
if (!isset($_REQUEST['avec_redac']))
spip_query("UPDATE spip_articles SET date='" . format_mysql_date(_request('annee'), _request('mois'), _request('jour'), _request('heure'), _request('minute')) ."' WHERE id_article=$r[1]");
else {
include_spip('inc/date');
if (!isset($_REQUEST['avec_redac']))
spip_query("UPDATE spip_articles SET date='" . format_mysql_date(_request('annee'), _request('mois'), _request('jour'), _request('heure'), _request('minute')) ."' WHERE id_article=$r[1]");
else {
if (_request('avec_redac') == 'non')
$annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
else {
if (_request('avec_redac') == 'non')
$annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
else {
$annee_redac = _request('annee_redac');
$mois_redac = _request('mois_redac');
$jour_redac = _request('jour_redac');
......@@ -41,13 +46,12 @@ function action_dater_dist() {
if ($annee_redac<>'' AND $annee_redac < 1001)
$annee_redac += 9000;
}
}
spip_query("UPDATE spip_articles SET date_redac='" . format_mysql_date($annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac) ."' WHERE id_article=$r[1]");
spip_query("UPDATE spip_articles SET date_redac='" . format_mysql_date($annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac) ."' WHERE id_article=$r[1]");
}
include_spip('inc/rubriques');
calculer_rubriques();
}
include_spip('inc/rubriques');
calculer_rubriques();
}
?>
......@@ -24,22 +24,25 @@ function action_documenter_dist()
if (!preg_match(",^(-?)(\d+)\W(\w+)\W?(\d*)$,", $arg, $r))
spip_log("action_documenter $arg pas compris");
else {
list($x, $sign, $id, $type, $vignette) = $r;
if ($vignette)
else action_documenter_post($r);
}
function action_documenter_post($r)
{
list($x, $sign, $id, $type, $vignette) = $r;
if ($vignette)
supprimer_document_et_vignette($vignette);
else {
else {
if ($sign)
$x = spip_query("SELECT docs.id_document FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS lestypes WHERE l.id_$type=$id AND l.id_document=docs.id_document AND docs.mode='document' AND docs.id_type=lestypes.id_type AND lestypes.extension IN ('gif', 'jpg', 'png')");
else $x = spip_query("SELECT docs.* FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS lestypes WHERE l.id_$type=$id AND l.id_document=docs.id_document AND docs.mode='document' AND docs.id_type=lestypes.id_type AND lestypes.extension NOT IN ('gif', 'jpg', 'png')");
while($r = spip_fetch_array($x)) {
supprimer_document_et_vignette($r['id_document']);
}
}
if ($type == 'rubrique') {
}
if ($type == 'rubrique') {
include_spip('inc/rubriques');
calculer_rubriques();
}
}
}
?>
......@@ -20,16 +20,20 @@ function action_editer_mot_dist() {
$var_f();
$arg = _request('arg');
// arg = l'eventuel mot a supprimer pour d'eventuelles Row SQL
if (!preg_match(',^(\d*)\D(-?\d*)\W(\w*)\W(\w*)\W(\w*)\W?(\d*)$,', $arg, $r))
spip_log("action editer_mot: $arg pas compris");
else action_editer_mot_post($r);
}
function action_editer_mot_post($r)
{
$redirect = _request('redirect');
$cherche_mot = _request('cherche_mot');
$select_groupe = _request('select_groupe');
// arg = l'eventuel mot a supprimer pour d'eventuelles Row SQL
if (!preg_match(',^(\d*)\D(-?\d*)\W(\w*)\W(\w*)\W(\w*)\W?(\d*)$,', $arg, $r))
spip_log("action editer_mot: $arg pas compris");
else {
list($x, $id_objet, $id_mot, $table, $table_id, $objet, $nouv_mot) = $r;
if ($id_mot) {
list($x, $id_objet, $id_mot, $table, $table_id, $objet, $nouv_mot) = $r;
if ($id_mot) {
if ($objet)
// desassocier un/des mot d'un objet precis
spip_query("DELETE FROM spip_mots_$table WHERE $table_id=$id_objet" . (($id_mot <= 0) ? "" : " AND id_mot=$id_mot"));
......@@ -41,8 +45,8 @@ function action_editer_mot_dist() {
spip_query("DELETE FROM spip_mots_syndic WHERE id_mot=$id_mot");
spip_query("DELETE FROM spip_mots_forum WHERE id_mot=$id_mot");
}
}
if ($nouv_mot ? $nouv_mot : ($nouv_mot = _request('nouv_mot'))) {
}
if ($nouv_mot ? $nouv_mot : ($nouv_mot = _request('nouv_mot'))) {
// recopie de:
// inserer_mot("spip_mots_$table", $table_id, $id_objet, $nouv_mot);
$result = spip_num_rows(spip_query("SELECT id_mot FROM spip_mots_$table WHERE id_mot=$nouv_mot AND $table_id=$id_objet"));
......@@ -54,7 +58,6 @@ function action_editer_mot_dist() {
include_spip("inc/indexation");
marquer_indexer("spip_$table", $id_objet);
}
}
$redirect = rawurldecode($redirect);
......
......@@ -25,27 +25,31 @@ function action_editer_rubrique_dist() {
if (!preg_match(";^(\d+),(\w*),(\d+)$;", $arg, $r)) {
spip_log("action_editer_rubrique_dist $arg pas compris");
} else {
} else action_editer_rubrique_post($r);
}
function action_editer_rubrique_post($r)
{
list($x, $old_parent, $new, $id_rubrique) = $r;
$id_parent = intval(_request('id_parent'));
if ($new == 'oui')
$id_rubrique = enregistre_creer_naviguer($id_parent);
list($x, $old_parent, $new, $id_rubrique) = $r;
$id_parent = intval(_request('id_parent'));
if ($new == 'oui')
$id_rubrique = enregistre_creer_naviguer($id_parent);
enregistre_modifier_naviguer($id_rubrique,
enregistre_modifier_naviguer($id_rubrique,
$id_parent,
_request('titre'),
_request('texte'),
_request('descriptif'),
$old_parent);
calculer_rubriques();
calculer_langues_rubriques();
calculer_rubriques();
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
$redirect = parametre_url(urldecode(_request('redirect')),
'id_rubrique', $id_rubrique, '&');
redirige_par_entete($redirect);
......
......@@ -30,24 +30,28 @@ function action_legender_dist() {
if (!preg_match(",^\W*(\d+)$,", $arg, $r)) {
spip_log("action_legender_dist $arg pas compris");
} else {
} else action_legender_post($r);
}
function action_legender_post($r)
{
$id_document = $r[1];
$id_document = $r[1];
$titre_document = (corriger_caracteres(_request('titre_document')));
$descriptif_document = (corriger_caracteres(_request('descriptif_document')));
$titre_document = (corriger_caracteres(_request('titre_document')));
$descriptif_document = (corriger_caracteres(_request('descriptif_document')));
// taille du document (cas des embed)
if ($largeur_document = intval(_request('largeur_document'))
AND $hauteur_document = intval(_request('hauteur_document')))
// taille du document (cas des embed)
if ($largeur_document = intval(_request('largeur_document'))
AND $hauteur_document = intval(_request('hauteur_document')))
$wh = ", largeur='$largeur_document',
hauteur='$hauteur_document'";
else $wh = "";
else $wh = "";
// Date du document (uniquement dans les rubriques)
if (!_request('jour_doc'))
if (!_request('jour_doc'))
$d = '';
else {
else {
$mois_doc = _request('mois_doc');
$jour_doc = _request('jour_doc');
if (_request('annee_doc') == "0000")
......@@ -57,20 +61,19 @@ function action_legender_dist() {
$date = _request('annee_doc').'-'.$mois_doc.'-'.$jour_doc;
if (preg_match('/^[0-9-]+$/', $date)) $d=" date='$date',";
}
}
spip_query("UPDATE spip_documents SET$d titre=" . spip_abstract_quote($titre_document) . ", descriptif=" . spip_abstract_quote($descriptif_document) . " $wh WHERE id_document=".$id_document);
spip_query("UPDATE spip_documents SET$d titre=" . spip_abstract_quote($titre_document) . ", descriptif=" . spip_abstract_quote($descriptif_document) . " $wh WHERE id_document=".$id_document);
if ($date) {
if ($date) {
include_spip('inc/rubriques');
// Changement de date, ce qui nous oblige a :
calculer_rubriques();
}
// Demander l'indexation du document
include_spip('inc/indexation');
marquer_indexer('spip_documents', $id_document);
}
// Demander l'indexation du document
include_spip('inc/indexation');
marquer_indexer('spip_documents', $id_document);
}
?>
......@@ -19,6 +19,21 @@ include_spip('base/abstract_sql');
// http://doc.spip.org/@action_legender_auteur
function action_legender_auteur()
{
$var_f = charger_fonction('controler_action_auteur', 'inc');
$var_f();
$arg = _request('arg');
$echec = array();
if (!preg_match(",^(\d+)\D(\d*)(\D?)(.*)$,", $arg, $r)) {
$r = "action_legender_auteur_dist $arg pas compris";
spip_log($r);
} else action_legender_post($r);
}
function action_legender_post($r)
{
global $auteur_session, $bio,
$champs_extra,
......@@ -36,19 +51,6 @@ function action_legender_auteur()
$statut,
$url_site;
$var_f = charger_fonction('controler_action_auteur', 'inc');
$var_f();
$arg = _request('arg');
$echec = array();
if (!preg_match(",^(\d+)\D(\d*)(\D?)(.*)$,", $arg, $r)) {
$r = "action_legender_auteur_dist $arg pas compris";
spip_log($r);
$echec[]=$r;
} else {
list($tout, $id_auteur, $ajouter_id_article,$s, $n) = $r;
//
// si id_auteur est hors table, c'est une creation sinon une modif
......@@ -187,7 +189,6 @@ function action_legender_auteur()
// ..et mettre a jour les fichiers .htpasswd et .htpasswd-admin
ecrire_acces();
}
}
if ($echec) $echec = '&echec=' . join('@@@', $echec);
......
......@@ -25,16 +25,19 @@ function action_poster_dist()
if (!preg_match(",^\W*(\d+)$,", $arg, $r)) {
spip_log("action_poster_dist $arg pas compris");
} else {
$id_article = $r[1];
$statut = _request('change_accepter_forum');
spip_query("UPDATE spip_articles SET accepter_forum='$statut' WHERE id_article=". $id_article);
if ($statut == 'abo') {
} else action_poster_post($r);
}
function action_poster_post($r)
{
$id_article = $r[1];
$statut = _request('change_accepter_forum');
spip_query("UPDATE spip_articles SET accepter_forum='$statut' WHERE id_article=". $id_article);
if ($statut == 'abo') {
ecrire_meta('accepter_visiteurs', 'oui');
ecrire_metas();
}
include_spip('inc/invalideur');
suivre_invalideur("id='id_forum/a$id_article'");
}
include_spip('inc/invalideur');
suivre_invalideur("id='id_forum/a$id_article'");
}
?>
......@@ -23,13 +23,18 @@ function action_supprimer_traduction_dist() {
if (!preg_match(",^(\d+)\D(\d+)$,", $arg, $r))
spip_log("action supprimer_traduction: $arg pas compris");
else {
spip_query("UPDATE spip_articles SET id_trad=0 WHERE id_article=" . $r[1]);
// Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero.
$cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_articles WHERE id_trad=" . $r[2]));
if ($cpt['n'] == 1)
spip_query("UPDATE spip_articles SET id_trad = 0 WHERE id_trad=" . $r[2]);
}
else action_supprimer_traduction_post($r);
}
function action_supprimer_traduction_post($r)
{
spip_query("UPDATE spip_articles SET id_trad=0 WHERE id_article=" . $r[1]);
// Si l'ancien groupe ne comporte plus qu'un seul article
// mettre a zero.
$cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_articles WHERE id_trad=" . $r[2]));
if ($cpt['n'] == 1)
spip_query("UPDATE spip_articles SET id_trad = 0 WHERE id_trad=" . $r[2]);
}
?>
......@@ -29,9 +29,11 @@ function action_tourner_dist() {
if (!preg_match(",^\W*(\d+)\W?(-?\d+)$,", $arg, $r)) {
spip_log("action_tourner_dist $arg pas compris");
return;
}
} else action_tourner_post($r);
}
function action_tourner_post($r)
{
$arg = $r[1];
$result = spip_query("SELECT fichier FROM spip_documents WHERE id_document=$arg");
......
......@@ -28,10 +28,13 @@ function action_virtualiser_dist() {
if (!preg_match(",^\W*(\d+)$,", $arg, $r)) {
spip_log("action_virtualiser_dist $arg $url pas compris");
} else {
$url = eregi_replace("^ *https?://$", "", rtrim($url));
if ($url) $url = corriger_caracteres("=$url");
spip_query("UPDATE spip_articles SET chapo=" . spip_abstract_quote($url) . ", date_modif=NOW() WHERE id_article=" . $r[1]);
}
} else action_virtualiser_post($r);
}
function action_virtualiser_post($r)
{
$url = eregi_replace("^ *https?://$", "", rtrim($url));
if ($url) $url = corriger_caracteres("=$url");
spip_query("UPDATE spip_articles SET chapo=" . spip_abstract_quote($url) . ", date_modif=NOW() WHERE id_article=" . $r[1]);
}
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter