本文整理汇总了PHP中suivre_invalideur函数的典型用法代码示例。如果您正苦于以下问题:PHP suivre_invalideur函数的具体用法?PHP suivre_invalideur怎么用?PHP suivre_invalideur使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了suivre_invalideur函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_instituer_forum_sujet_dist
function action_instituer_forum_sujet_dist()
{
static $statuts_sujet = array('verrou_on' => 'verrouille', 'verrou_off' => 'verrouille', 'resolu_on' => 'resolu', 'resolu_off' => 'resolu');
$securiser_action = charger_fonction('securiser_action', 'inc');
$args = $securiser_action();
list($objet, $id_forum, $action) = explode('/', $args);
if (!$action or !array_key_exists($action, $statuts_sujet)) {
return;
}
if ($id_forum = intval($id_forum)) {
$titre = sql_getfetsel('titre', 'spip_forum', 'id_forum=' . sql_quote($id_forum));
$pattern = '_' . $statuts_sujet[$action] . '_';
// On supprime systematique le statut demande. Ainsi si l'action demandee est d'enlever un
// statut c'est fait sinon on evite de rajouter le meme statut
$titre_modifie = trim(preg_replace(",{$pattern},UimsS", '', $titre));
// Si l'action demandee est de positionner un nouveau statut on le rajoute au titre
if ($action == 'verrou_on' or $action == 'resolu_on') {
$titre_modifie .= $pattern;
}
sql_updateq('spip_forum', array('titre' => $titre_modifie), 'id_forum =' . sql_quote($id_forum));
// Invalider les pages comportant ce forum
include_spip('inc/invalideur');
suivre_invalideur("id='id_forum/{$id_forum}'");
}
}
示例2: formulaires_editer_mot_article_traiter_dist
function formulaires_editer_mot_article_traiter_dist($id_article = 'new', $id_groupe = '', $retour = '')
{
$message = array('editable' => true, 'message_ok' => '');
$id_mot_ancien = sql_getfetsel('mot.id_mot', 'spip_mots as mot left join spip_mots_liens as mots_liens ON (mot.id_mot=mots_liens.id_mot)', 'mots_liens.id_objet=' . intval($id_article) . ' AND mots_liens.objet = "article" AND mot.id_groupe=' . intval($id_groupe));
include_spip('action/editer_liens');
// si aucun mot selectionne on delie le mot de ce groupe
if (!($id_mot = _request('id_mot'))) {
objet_dissocier(array("mot" => $id_mot_ancien), array("article" => $id_article));
} else {
if ($id_mot_ancien != $id_mot) {
// on delie l'ancien mot
objet_dissocier(array("mot" => $id_mot_ancien), array("article" => $id_article));
// on lie le nouveau
objet_associer(array("mot" => $id_mot), array("article" => $id_article));
}
}
// on invalide le cache
include_spip('inc/invalideur');
suivre_invalideur("id='id_article/{$id_article}'");
if ($retour) {
include_spip('inc/headers');
$message .= redirige_formulaire($retour);
}
return $message;
}
示例3: formulaires_editer_balade_traiter_dist
function formulaires_editer_balade_traiter_dist($id_collection = 'new', $retour = '')
{
$message = array();
// récupérer le rang des articles de la balade et le mettre à jour
$rangs = _request('rang');
foreach ($rangs as $rang => $id_article) {
$rang = $rang + 1;
$ok = sql_updateq('spip_collections_liens', array('rang' => intval($rang)), "objet='article' AND id_objet = {$id_article}");
}
// éditer le gis associé
if ($action_editer = charger_fonction("editer_gis", 'action', true)) {
list($id, $err) = $action_editer(_request('id_gis'));
}
// ne pas polluer l'url de retour avec des paramètres inutiles
set_request('id_gis');
set_request('id_objet');
// invalider le cache
include_spip('inc/invalideur');
suivre_invalideur("id='gis/{$id}");
// rediriger sur l'url de retour passée en paramètre
if ($retour) {
include_spip('inc/headers');
$message['redirect'] = redirige_formulaire($retour);
}
return $message;
}
示例4: action_supprimer_rubrique
function action_supprimer_rubrique($r)
{
list(,,$id_rubrique) = $r;
sql_delete("spip_rubriques", "id_rubrique=$id_rubrique");
sql_delete("spip_mots_rubriques", "id_rubrique=$id_rubrique");
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_rubriques", "id_rubrique=$id_rubrique");
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur");
if (!$n)
sql_updateq("spip_auteurs", array("statut" => '1comite'), "id_auteur=$id_auteur");
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
示例5: action_supprimer_rubrique_dist
/**
* Effacer une rubrique
*
* http://doc.spip.org/@action_supprimer_dist
*
* @param null $id_rubrique
* @return void
*/
function action_supprimer_rubrique_dist($id_rubrique = null)
{
if (is_null($id_rubrique)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$id_rubrique = $securiser_action();
}
if (intval($id_rubrique)) {
sql_delete("spip_rubriques", "id_rubrique=" . intval($id_rubrique));
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique));
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
// degrader avant de supprimer la restriction d'admin
// section critique sur les droits
$n = sql_countsel("spip_auteurs_liens", "objet='rubrique' AND id_objet!=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
if (!$n) {
include_spip('action/editer_auteur');
auteurs_set($id_auteur, array("statut" => '1comite'));
}
sql_delete("spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='rubrique/{$id_rubrique}'");
}
}
示例6: formulaires_configurer_forums_participants_traiter_dist
function formulaires_configurer_forums_participants_traiter_dist()
{
include_spip('inc/config');
include_spip('inc/meta');
$purger_skel = false;
if ($accepter_forum = _request('forums_publics') and $accepter_forum != $GLOBALS['meta']["forums_publics"]) {
$purger_skel = true;
$accepter_forum = substr($accepter_forum, 0, 3);
}
// Appliquer les changements de moderation forum
// forums_publics_appliquer : futur, saufnon, tous
if (in_array($appliquer = _request('forums_publics_appliquer'), array('tous', 'saufnon'))) {
$sauf = $appliquer == 'saufnon' ? "accepter_forum != 'non'" : '';
sql_updateq('spip_articles', array('accepter_forum' => $accepter_forum), $sauf);
}
if ($accepter_forum == 'abo') {
ecrire_meta('accepter_visiteurs', 'oui');
}
appliquer_modifs_config();
if ($purger_skel) {
include_spip('inc/invalideur');
suivre_invalideur("forum/*");
}
return array('message_ok' => _T('config_info_enregistree'));
}
示例7: action_instituer_langue_rubrique_dist
function action_instituer_langue_rubrique_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
$changer_lang = _request('changer_lang');
list($id_rubrique, $id_parent) = preg_split('/\W/', $arg);
if ($changer_lang
AND $id_rubrique>0
AND $GLOBALS['meta']['multi_rubriques'] == 'oui'
AND ($GLOBALS['meta']['multi_secteurs'] == 'non' OR $id_parent == 0)) {
if ($changer_lang != "herit")
sql_updateq('spip_rubriques', array('lang'=>$changer_lang, 'langue_choisie'=>'oui'), "id_rubrique=$id_rubrique");
else {
if ($id_parent == 0)
$langue_parent = $GLOBALS['meta']['langue_site'];
else {
$langue_parent = sql_getfetsel("lang", "spip_rubriques", "id_rubrique=$id_parent");
}
sql_updateq('spip_rubriques', array('lang'=>$langue_parent, 'langue_choisie'=>'non'), "id_rubrique=$id_rubrique");
}
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
}
示例8: instituer_un_forum
function instituer_un_forum($statut,$row){
$id_forum = $row['id_forum'];
$old = $row['statut'];
// rien a faire si pas de changement de statut
if ($old==$statut)
return;
// changer le statut de toute l'arborescence dependant de ce message
$id_messages = array($id_forum);
while ($id_messages) {
sql_updateq("spip_forum", array("statut" => $statut), sql_in("id_forum", $id_messages) ." AND statut = '$old'");
$id_messages = array_map('reset',sql_allfetsel("id_forum", "spip_forum", sql_in("id_parent", $id_messages)));
}
// Notifier de la publication du message, s'il etait 'prop'
if ($old=='prop' AND $statut=='publie') {
if ($notifications = charger_fonction('notifications', 'inc')) {
$notifications('forumvalide', $id_forum);
}
}
// mettre a jour la date du thread
// si publie, ou que tout le thread est prive,
// mettre la date du thread a 'maintenant' (date de publi du message)
// sinon prendre la date_heure du dernier message public
// c'est imparfait dans le cas ou les crayons ont ete utilises pour modifier ce message entre temps
// car la date_thread aurait cette derniere date alors que pas le message
// mais c'est au mieux de ce que l'on peut faire quand on depublie un SPAM ou supprime un message
if ($statut=='publie' OR $old=='publie') {
if ($statut=='publie'
OR !($date_thread = sql_getfetsel("date_heure", "spip_forum", "statut='publie' AND id_thread=".$row['id_thread'], "", "date_heure DESC","0,1"))){
$date_thread = date('Y-m-d H:i:s');
}
sql_updateq("spip_forum", array("date_thread" => $date_thread), "id_thread=".$row['id_thread']);
}
// invalider les pages comportant ce forum
include_spip('inc/invalideur');
include_spip('inc/forum');
$index_forum = calcul_index_forum($row['id_article'], $row['id_breve'], $row['id_rubrique'], $row['id_syndic']);
suivre_invalideur("id='id_forum/$index_forum'");
// Reindexation du thread (par exemple)
pipeline('post_edition',
array(
'args' => array(
'table' => 'spip_forum',
'id_objet' => $id_forum,
'action' => 'instituer',
),
'data' => null
)
);
}
示例9: formulaires_activer_forums_objet_traiter_dist
/**
* Traiter
*
* @param int $id_objet
* @param string $objet
* @return array
*/
function formulaires_activer_forums_objet_traiter_dist($id_objet, $objet = 'article')
{
include_spip('inc/autoriser');
if ($objet == 'article' and autoriser('modererforum', $objet, $id_objet)) {
$statut = _request('accepter_forum');
include_spip('base/abstract_sql');
sql_updateq("spip_articles", array("accepter_forum" => $statut), "id_article=" . intval($id_objet));
if ($statut == 'abo') {
ecrire_meta('accepter_visiteurs', 'oui');
}
include_spip('inc/invalideur');
suivre_invalideur("id='{$objet}/{$id_objet}'");
}
return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
}
示例10: action_description_outil_post
function action_description_outil_post($index) {
global $metas_vars;
if(defined('_SPIP19300')) $connect_id_auteur = $GLOBALS['auteur_session']['id_auteur'];
else global $connect_id_auteur;
cs_log("Debut : action_description_outil_post($index) - On modifie la(les) variable(s) dans la base");
// on recupere dans le POST le nom des variables a modifier et le nom de l'outil correspondant
$variables = unserialize(urldecode(corriger_caracteres(_request('variables'))));
$outil = corriger_caracteres(_request('outil'));
//cs_log($variables, '$variables = ');
cs_log($metas_vars, 'metas_vars :');
// besoin des outils pour l'autorisation de modifier les variables
include_spip('cout_utils');
include_spip('config_outils');
global $outils, $cs_variables;
// on traite chaque variable
foreach($variables as $var) if(autoriser('configurer', 'variable', 0, NULL, array('nom'=>$var, 'outil'=>$outils[$outil]))) {
// on recupere dans le POST la nouvelle valeur de la variable
$final = corriger_caracteres(_request($var));
if (in_array($var, $metas_vars['_nombres'])) $final = intval($final);
spip_log("Outil du Couteau Suisse ($outil). Demande de modification sur une variable par l'auteur id=$connect_id_auteur : %$var% = $final");
// et on modifie les metas !
if(!isset($cs_variables[$var]['externe'])) $metas_vars[$var] = $final;
if(isset($cs_variables[$var]['action'])) {
$action = str_replace('%s', $final, $cs_variables[$var]['action']);
spip_log("Outil du Couteau Suisse ($outil). Demande d'action sur cette variable : ".$action);
eval($action);
}
} else
spip_log("Outil du Couteau Suisse n°$index. Modification interdite de la variable %$var% par l'auteur id=$connect_id_auteur !!");
//cs_log($metas_vars, " -- metas_vars = ");
ecrire_meta('tweaks_variables', serialize($metas_vars));
ecrire_metas();
cs_log(" -- donc, reinitialisation forcee !");
// on reinitialise tout, au cas ou ...
include_spip('inc/invalideur');
suivre_invalideur("1"); # tout effacer
purger_repertoire(_DIR_SKELS);
purger_repertoire(_DIR_CACHE);
include_spip('cout_utils');
cs_initialisation(true);
cs_log(" FIN : action_description_outil_post(Array($index)) - Reinitialisation forcee terminee.");
}
示例11: formulaires_configurer_visiteurs_traiter_dist
function formulaires_configurer_visiteurs_traiter_dist()
{
$res = array('editable' => true);
// Modification du reglage accepter_inscriptions => vider le cache
// (pour repercuter la modif sur le panneau de login)
if ($i = _request('accepter_visiteurs') and $i != $GLOBALS['meta']['accepter_visiteurs']) {
include_spip('inc/invalideur');
suivre_invalideur("1");
# tout effacer
}
foreach (array("accepter_visiteurs") as $m) {
if (!is_null($v = _request($m))) {
ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
}
}
$res['message_ok'] = _T('config_info_enregistree');
return $res;
}
示例12: action_crayons_dist
function action_crayons_dist()
{
include_spip('action/crayons_store');
$r = crayons_store();
// soit exit, soit un redirect gere par SPIP
if (trim($r['$erreur'])) {
include_spip('inc/minipres');
echo minipres($r['$erreur']);
exit;
}
// S'il n'y a pas de redirect, on est mal : eviter toutefois la page blanche
if (!_request('redirect')) {
die('OK');
}
// Invalider le cache parce que bon... a priori on est dans une
// interface qui va avoir besoin de refresh
include_spip('inc/invalideur');
suivre_invalideur('1');
}
示例13: action_editer_signatures_post
function action_editer_signatures_post($r)
{
$id = $id_article = intval($r[1]);
if ($r[2] == 'A')
$id = 0;
else $id_article = 0;
if ($id < 0){
$id = 0 - $id;
sql_updateq("spip_signatures", array("statut" => 'poubelle'), "id_signature=$id");
} elseif ($id > 0){
$row = sql_fetsel('*', 'spip_signatures', "id_signature=$id");
if ($row['statut']=='poubelle')
sql_updateq("spip_signatures", array("statut" => 'publie'), "id_signature=$id");
else {
include_spip('formulaires/signature');
include_spip('inc/texte');
$id_article = $row['id_article'];
$url = generer_url_entite_absolue($id_article, 'article','','',true);
if (signature_a_confirmer($id_article, $url, $row['nom_email'], $row['ad_email'], $row['nom_site'], $row['url_site'], $row['message'], $row['lang'], $row['statut']))
sql_updateq("spip_signatures", array("date_time" => date('Y-m-d H:i:s')), "id_signature=$id");
$id = 0;
}
} elseif ($id_article) {
action_editer_signatures_relance($id_article);
}
// Invalider les pages ayant trait aux petitions
if (!$id_article AND $id) {
$id_article = sql_getfetsel("id_article", "spip_signatures", "id_signature=$id");
if ($id_article) {
include_spip('inc/invalideur');
suivre_invalideur("id='varia/pet$id_article'");
}
}
# cette requete devrait figurer dans l'optimisation
sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND date_time<DATE_SUB(NOW(),INTERVAL 10 DAY)");
}
示例14: formulaires_lier_album_traiter
function formulaires_lier_album_traiter($id_article)
{
$id_collection = _request('pid_objet');
include_spip('action/editer_liens');
if (autoriser('lierobjet', 'collection', $id_collection)) {
$rang = sql_countsel('spip_collections_liens', 'id_collection=' . intval($id_collection));
$association = objet_associer(array('collection' => $id_collection), array('article' => $id_article), array('id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ? $GLOBALS['visiteur_session']['id_auteur'] : 0, 'rang' => $rang + 1));
}
if (!$association) {
return $res['message_erreur'] = _T('collection:erreur_association_collection');
} else {
$organiser = charger_fonction('collection_organiser_rangs', 'inc');
$organiser($id_collection);
include_spip('inc/invalideur');
suivre_invalideur('1');
}
$message['editable'] = true;
$message['message_ok'] = '<script type="text/javascript">if (window.jQuery) ajaxReload("albums");</script>';
return $message;
}
示例15: action_zencoder_notification
/**
* Fonction d'ajout des versions dans la file d'attente
*
* @param int $id_document l'id du document original
* @param string $objet
* @param int $id_objet
*/
function action_zencoder_notification()
{
include_spip('inc/config');
include_spip('inc/renseigner_document');
$id_document = _request('id_document');
$api_key = lire_config('zencoder/api_key');
spip_log('notification start', 'zencoder');
// Catch notification
$notification = json_decode(trim(file_get_contents('php://input')), true);
spip_log($notification, 'zencoder');
// Check output/job state
if ($notification['output']['state'] == 'finished') {
spip_log('notification job finished', 'zencoder');
$file = $notification['output']['url'];
if ($file) {
$ajouter_documents = charger_fonction('ajouter_documents', 'action');
$copie_local = charger_fonction('copier_local', 'action');
spip_log('notification job file' . $file, 'zencoder');
set_request('joindre_distant', true);
set_request('url', $file);
include_spip('inc/joindre_document');
$files = joindre_trouver_fichier_envoye();
$nouveaux_doc = $ajouter_documents('new', $files, 'document', $id_document, 'conversion');
$copie_local($nouveaux_doc[0]);
/**
* Invalidation du cache
*/
include_spip('inc/invalideur');
suivre_invalideur("0", true);
}
} elseif ($notification['output']['state'] == "cancelled") {
spip_log('canceled' . print_r($notification), 'zencoder');
} else {
spip_log('error' . print_r($notification), 'zencoder');
}
return;
}