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

nettoyage

parent e6f6c4cf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -105,15 +105,15 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') {
if ($champs) {
// la modif peut avoir lieu
$champs = array_map('sql_quote', $champs);
$champsq = array_map('sql_quote', $champs);
// faut-il ajouter date_modif ?
if ($options['date_modif']
AND !isset($champs[$options['date_modif']]))
$champs[$options['date_modif']] = 'NOW()';
$champsq[$options['date_modif']] = $champs[$options['date_modif']] = 'NOW()';
// allez on commit la modif
sql_update($spip_table_objet, $champs, "$id_table_objet=$id", $serveur);
sql_update($spip_table_objet, $champsq, "$id_table_objet=$id", $serveur);
// Invalider les caches
if ($options['invalideur']) {
......@@ -127,6 +127,7 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') {
marquer_doublons_documents($champs,$id,$id_table_objet,$table_objet,$spip_table_objet);
// Notifications, gestion des revisions...
// en standard, appelle |nouvelle_revision ci-dessous
pipeline('post_edition',
array(
'args' => array(
......@@ -141,7 +142,9 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') {
// S'il y a un conflit, prevenir l'auteur de faire un copier/coller
if ($conflits) {
$redirect = parametre_url(rawurldecode(_request('redirect')), $id_table_objet, $id);
$redirect = url_absolue(
parametre_url(rawurldecode(_request('redirect')), $id_table_objet, $id)
);
signaler_conflits_edition($conflits, $redirect);
exit;
}
......@@ -343,7 +346,7 @@ function revision_forum($id_forum, $c=false) {
// http://doc.spip.org/@premiere_revision
function premiere_revision($x) {
// Stockage des versions : creer une premiere version si non-existante
if ($GLOBALS['meta']["articles_versions"]=='oui') {
if ($GLOBALS['meta']["articles_versions"]=='oui') {
include_spip('inc/revisions');
$x = enregistrer_premiere_revision($x);
}
......@@ -354,8 +357,7 @@ function premiere_revision($x) {
// d'un article apres chaque modification de contenu
// http://doc.spip.org/@nouvelle_revision
function nouvelle_revision($x) {
// Stockage des versions : creer une premiere version si non-existante
if ($GLOBALS['meta']["articles_versions"]=='oui') {
if ($GLOBALS['meta']["articles_versions"]=='oui') {
include_spip('inc/revisions');
$x = enregistrer_nouvelle_revision($x);
}
......
......@@ -586,23 +586,27 @@ function propre_diff($texte) {
// liste les champs versionnes d'un objet
// http://doc.spip.org/@liste_champs_versionnes
function liste_champs_versionnes($table) {
if ($table == 'spip_articles')
return array('surtitre', 'titre', 'soustitre', 'descriptif',
switch ($table) {
case 'spip_articles':
return array('surtitre', 'titre', 'soustitre', 'descriptif',
'nom_site', 'url_site', 'chapo', 'texte', 'ps', 'id_rubrique');
else
return array();
# case 'spip_rubriques':
# return array('titre', 'descriptif', 'texte');
default:
return array();
}
}
// http://doc.spip.org/@enregistrer_premiere_revision
function enregistrer_premiere_revision($x) {
if ($GLOBALS['meta']["articles_versions"]=='oui'
AND $x['args']['table'] == 'spip_articles') {
AND $champs = liste_champs_versionnes($x['args']['table'])) {
$id_article = $x['args']['id_objet'];
if (!sql_countsel('spip_versions',"id_article=$id_article")) {
$select = join(", ", liste_champs_versionnes($x['args']['table']));
$select = join(", ", $champs);
$query = sql_select("$select, date, date_modif", "spip_articles", "id_article=$id_article");
$champs_originaux = sql_fetch($query);
// Si le titre est vide, c'est qu'on vient de creer l'article
......@@ -629,17 +633,16 @@ function enregistrer_premiere_revision($x) {
// http://doc.spip.org/@enregistrer_nouvelle_revision
function enregistrer_nouvelle_revision($x) {
if ($GLOBALS['meta']["articles_versions"]=='oui'
AND $x['args']['table'] == 'spip_articles') {
$champs = array();
foreach (liste_champs_versionnes($x['args']['table']) as $key)
if (isset($x['data'][$key]))
$champs[$key] = $x['data'][$key];
if (count($champs))
ajouter_version($x['args']['id_objet'], $champs, '', $GLOBALS['visiteur_session']['id_auteur']);
}
if ($GLOBALS['meta']["articles_versions"] != 'oui')
return $x;
// Regarder si au moins une des modifs est versionnable
$champs = array();
foreach (liste_champs_versionnes($x['args']['table']) as $key)
if (isset($x['data'][$key]))
$champs[$key] = $x['data'][$key];
if (count($champs))
ajouter_version($x['args']['id_objet'], $champs, '', $GLOBALS['visiteur_session']['id_auteur']);
return $x;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter