Merci 6ril,
j’avais en effet dans l’intervalle utilisé le 2e code indiqué, et je viens d’ajouter les lignes préalables conditionnelles pour tester la non-définition préalable de la fonction. Pour être tout à fait complète, voici le code que j’utilise dorénavant et qui fonctionne parfaitement (ajout du critère id_secteur et retrait sélectif d’autres statuts pour l’ensemble de ce secteur sauf pour une rubrique en particulier, où l’un des statuts est conservé. PI, la rubrique « 2514 » se trouve dans le secteur « 2488 » également) :
function statut_obj($flux){
//agir que sur le formulaire instituer et sur les articles:
if ($flux[‹ args ›][‹ form ›] == ‹ instituer_objet › && $flux[‹ data ›][’_objet’] == ‹ article ›) {
//extraire le numéro de rubrique:
$r = sql_fetsel(« id_rubrique,id_secteur », « spip_articles », « id_article= » . sql_quote(intval($flux[‹ data ›][’_id_objet’])));
//si on n’est pas sur la rubrique 2514, on supprime de la liste le statut indésirable:
if (intval($r[‹ id_rubrique ›]) != 2514){
unset($flux[‹ data ›][’_statuts’][‹ prive ›]);
}
// si on est ds le secteur 2488, suppression de la liste les statuts ‹ refuse ›, ‹ illegal ›, ‹ archive › et ‹ publie › (sf pour rubrique 2559 où on garde le statut ‹ publie ›)
if (intval($r[‹ id_secteur ›]) == 2488 && intval($r[‹ id_rubrique ›]) !=2559){
unset($flux[‹ data ›][’_statuts’][‹ refuse ›], $flux[‹ data ›][’_statuts’][‹ illegal ›],$flux[‹ data ›][’_statuts’][‹ archive ›],$flux[‹ data ›][’_statuts’][‹ publie ›] );
}
if (intval($r[‹ id_secteur ›]) == 2488 && intval($r[‹ id_rubrique ›]) ==2559){
unset($flux[‹ data ›][’_statuts’][‹ refuse ›], $flux[‹ data ›][’_statuts’][‹ illegal ›],$flux[‹ data ›][’_statuts’][‹ archive ›] );
}
Merci 6ril,
j'avais en effet dans l'intervalle utilisé le 2e code indiqué, et je viens d'ajouter les lignes préalables conditionnelles pour tester la non-définition préalable de la fonction. Pour être tout à fait complète, voici le code que j'utilise dorénavant et qui fonctionne parfaitement (ajout du critère id_secteur et retrait sélectif d'autres statuts pour l'ensemble de ce secteur sauf pour une rubrique en particulier, où l'un des statuts est conservé. PI, la rubrique "2514" se trouve dans le secteur "2488" également) :
[...]
Super, merci pour ton retour ! Difficile de proposer du code sur un newsgroup, tu auras su te l’approprier et en faire bon usage, ça me fait plaisir. J'avais personnellement cherché le moyen de virer des statuts d'article que je ne souhaitais pas proposer dans le workflow et m'étais tourné vers ce pipeline pour virer des statuts dont je n'avais pas besoin. Cependant, petit bémol, il n'est pas utilisé dans les puces rapides, j'ai dû désactivé ces dernières, faute de mieux, pour l'instant, ne voulant pas squelettiser le besoin (les statuts sont écrits en dur dans https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/puce_statut.php ):
define('_ACTIVER_PUCE_RAPIDE', true);
Merci 6ril,
j'avais en effet dans l'intervalle utilisé le 2e code indiqué, et je viens d'ajouter les lignes préalables conditionnelles pour tester la non-définition préalable de la fonction. Pour être tout à fait complète, voici le code que j'utilise dorénavant et qui fonctionne parfaitement (ajout du critère id_secteur et retrait sélectif d'autres statuts pour l'ensemble de ce secteur sauf pour une rubrique en particulier, où l'un des statuts est conservé. PI, la rubrique "2514" se trouve dans le secteur "2488" également) :
[...]
Super, merci pour ton retour ! Difficile de proposer du code sur un newsgroup, tu auras su te l’approprier et en faire bon usage, ça me fait plaisir. J'avais personnellement cherché le moyen de virer des statuts d'article que je ne souhaitais pas proposer dans le workflow et m'étais tourné vers ce pipeline pour virer des statuts dont je n'avais pas besoin. Cependant, petit bémol, il n'est pas utilisé dans les puces rapides, j'ai dû désactivé ces dernières, faute de mieux, pour l'instant, ne voulant pas squelettiser le besoin (les statuts sont écrits en dur dans https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/puce_statut.php ):
define('_ACTIVER_PUCE_RAPIDE', true);