F-d-ration_de_groupes/action/promouvoir_photo.php

42 lines
1.4 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
// mettre une photo en première (credit = une)
function action_promouvoir_photo_dist(){
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
$Targs = explode('-', $arg);
$id_document = intval($Targs[0]);
$id_article = intval($Targs[1]);
if (!$id_document OR !$id_article)
return false;
// il faut être auteur pour mettre à la Une
include_spip('inc/autoriser');
if (! autoriser("creer","article")) {
return false;
}
// récupérer les docs attachés à l'article
$where = array(
'id_objet='.$id_article,
'objet="article"',
'extension IN ("jpg","png","gif")',
);
$res = sql_allfetsel('spip_documents_liens.id_document', array('spip_documents_liens','spip_documents'), $where);
$Tid_docs = array_column($res,'id_document');
// virer la Une actuelle et mettre celle de la photo choisie
sql_updateq('spip_documents', array('credits' => ''),'id_document IN ('.join(',',$Tid_docs).')');
sql_updateq('spip_documents', array('credits' => 'une'),'id_document = '.$id_document);
// Cache
include_spip('inc/invalideur');
suivre_invalideur("id='id_article/$id_article'");
// redirection sur la page d'édition du bien
$retour = 'spip.php?page=editer_article&id_article='.$id_article.'#les_photos';
include_spip('inc/headers');
redirige_par_entete($retour);
}