function genie_ajouter_date_redac_articles_dist($t) { //spip_log("Mon travail c est juste une ligne de log....",_LOG_INFO_IMPORTANTE); // echo "1"; if ($resultats = sql_select("*", "spip_articles", "id_secteur=115 AND statut='publie' AND date_redac=0000-00-00")) { // boucler sur les resultats while ($res = sql_fetch($resultats)) { // utiliser les resultats // hierarchie des rubriques de l'article via la fonction de spip include_spip("inc/rubriques"); $hierarchie = calcul_hierarchie_in($res['id_rubrique'], true); // la date_numero et l'id_rubrique de la rubrique Numéro. $numero = sql_fetsel("date_numero,id_rubrique", "spip_rubriques", array(sql_in('id_rubrique', $hierarchie), 'profondeur=1')); // la date du numéro est à 0. On ne vérifie que l'année (?) if (substr($numero['date_numero'], 0, 4) == '0000') { spip_log("Article #" . $res['id_article'] . " : la date_redac n'a pas pu être modifiée. La rubrique #" . $numero['id_rubrique'] . " correspondant au numéro n'a pas de date valide.", 'vacarme_cron' . _LOG_INFO_IMPORTANTE); // return 1; // 0 ou 1 ? } else { spip_log("Mise à jour de l'article #" . $res['id_article'], 'vacarme_cron' . _LOG_INFO_IMPORTANTE); sql_updateq("spip_articles", array('date_redac' => $numero['date_numero']), "id_article=" . intval($res['id_article'])); // return 1; } } } return 1; }
/** * Autorisation d'ajout d'un evenement a un article * * @param string $faire * @param string $quoi * @param int $id * @param int $qui * @param array $options * @return bool */ function autoriser_article_creerevenementdans_dist($faire, $quoi, $id, $qui, $options) { if (!$id) { return false; // interdit de creer un evenement sur un article vide ! } // si on a le droit de modifier l'article alors on a peut-etre le droit d'y creer un evenement $afficher = false; if (autoriser('modifier', 'article', $id, $qui)) { $afficher = true; // un article avec des evenements a toujours le droit if (!sql_countsel('spip_evenements', array('id_article=' . intval($id)), sql_in('statut', array('prop', 'publie')))) { // si au moins une rubrique a le flag agenda if (sql_countsel('spip_rubriques', 'agenda=1')) { // alors il faut le flag agenda dans cette branche ! $afficher = false; include_spip('inc/rubriques'); $id_rubrique = sql_getfetsel('id_rubrique', 'spip_articles', 'id_article=' . intval($id)); if ($id_rubrique > 0) { // Rubriques classiques de SPIP $in = calcul_hierarchie_in($id_rubrique); $afficher = sql_countsel('spip_rubriques', sql_in('id_rubrique', $in) . ' AND agenda=1'); } else { // Rubrique négative utilisee dans le plugin Page unique $afficher = true; } } } } return $afficher; }
/** * Inserer les infos d'agenda sur les articles et rubriques * * @param array $flux * @return array */ function agenda_affiche_milieu($flux) { $e = trouver_objet_exec($flux['args']['exec']); $out = ""; if ($e['type'] == 'rubrique' and autoriser('configurer') and $e['edition'] == false and $id_rubrique = intval($flux['args']['id_rubrique']) and autoriser('modifier', 'rubrique', $id_rubrique)) { $activer = true; $res = ""; $actif = sql_getfetsel('agenda', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique)); $statut = "-32"; $alt = ""; $voir = ""; if (!sql_countsel('spip_rubriques', 'agenda=1')) { $res .= "<span class='small'>" . _T('agenda:aucune_rubrique_mode_agenda') . "</span><br />"; } else { include_spip('inc/rubriques'); if (sql_countsel('spip_rubriques', sql_in('id_rubrique', calcul_hierarchie_in($id_rubrique)) . " AND agenda=1 AND id_rubrique<>" . intval($id_rubrique))) { $alt = _T('agenda:rubrique_dans_une_rubrique_mode_agenda'); $activer = false; $statut = "-ok-32"; $voir = _T('agenda:voir_evenements_rubrique'); } elseif (!$actif) { $alt = _T('agenda:rubrique_sans_gestion_evenement') . '<br />'; $statut = "-non-32"; } if ($actif) { $alt = _T('agenda:rubrique_mode_agenda') . '<br />'; $statut = "-ok-32"; $voir = _T('agenda:voir_evenements_rubrique'); } } if (!$actif) { if ($activer) { $res .= bouton_action(_T('agenda:rubrique_activer_agenda'), generer_action_auteur('activer_agenda_rubrique', $id_rubrique, self()), 'ajax'); } } else { $res .= bouton_action(_T('agenda:rubrique_desactiver_agenda'), generer_action_auteur('activer_agenda_rubrique', "-{$id_rubrique}", self()), 'ajax'); } if ($voir) { $res .= " | <a href='" . generer_url_ecrire('evenements', "id_rubrique={$id_rubrique}") . "'>{$voir}</a>"; } if ($res) { $out .= boite_ouvrir(_T('agenda:agenda') . http_img_pack("agenda{$statut}.png", $alt, "class='statut'", $alt), 'simple agenda-statut') . $res . boite_fermer(); } } elseif ($e['type'] == 'article' and $e['edition'] == false) { $id_article = $flux['args']['id_article']; $out .= recuperer_fond('prive/objets/contenu/article-evenements', $flux['args']); } if ($out) { if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) { $flux['data'] = substr_replace($flux['data'], $out, $p, 0); } else { $flux['data'] .= $out; } } return $flux; }
function BOUCLE_rubriques_cheminhtml_0caead67327defaf94febb642f511490(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!($id_rubrique = intval($Pile[$SP]['id_rubrique']))) { return ''; } include_spip('inc/rubriques'); $hierarchie = calcul_hierarchie_in($id_rubrique, true); if (!$hierarchie) { return ""; } if (!isset($command['table'])) { $command['table'] = 'rubriques'; $command['id'] = '_rubriques_chemin'; $command['from'] = array('rubriques' => 'spip_rubriques'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("rubriques.id_rubrique", "rubriques.titre", "rubriques.lang"); $command['join'] = array(); $command['limit'] = ''; $command['having'] = array(); } $command['orderby'] = array("FIELD(rubriques.id_rubrique, {$hierarchie})"); $command['where'] = array(array('IN', 'rubriques.id_rubrique', "({$hierarchie})")); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('squelettes/rubrique.html', 'html_0caead67327defaf94febb642f511490', '_rubriques_chemin', 29, $GLOBALS['spip_lang'])); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ' <b class=\'separateur\'>></b> <a href="' . spip_htmlspecialchars(sinon($GLOBALS['meta']['adresse_site'], '.')) . '/' . vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_rubrique'], 'rubrique', '', '', true))) . '">' . interdire_scripts(couper(supprimer_numero(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0])), '60')) . '</a> '; lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_rubriques_chemin @ squelettes/rubrique.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }
function BOUCLE_rubriques_cheminhtml_2ac554317f8f8f8aa21871c007ab234d(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!($id_rubrique = intval(@$Pile[0]['id_rubrique']))) { return ''; } include_spip('inc/rubriques'); $hierarchie = calcul_hierarchie_in($id_rubrique, false); if (!$hierarchie) { return ""; } if (!isset($command['table'])) { $command['table'] = 'rubriques'; $command['id'] = '_rubriques_chemin'; $command['from'] = array('rubriques' => 'spip_rubriques'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("rubriques.id_rubrique", "rubriques.titre", "rubriques.lang"); $command['join'] = array(); $command['limit'] = ''; $command['having'] = array(); } $command['orderby'] = array("FIELD(rubriques.id_rubrique, {$hierarchie})"); $command['where'] = array(quete_condition_statut('rubriques.statut', '!', 'publie', ''), array('IN', 'rubriques.id_rubrique', "({$hierarchie})")); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-bas.html', 'html_2ac554317f8f8f8aa21871c007ab234d', '_rubriques_chemin', 18, $GLOBALS['spip_lang'])); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t1 = ' <a href="' . interdire_scripts(generer_url_public('backend', 'id_rubrique=' . $Pile[$SP]['id_rubrique'])) . '" rel="nofollow" title="' . _T('public|spip|ecrire:syndiquer_rubrique') . '"><img src="' . find_in_path('styles/img/rss.png') . '" alt="' . _T('public|spip|ecrire:icone_suivi_activite') . '" style="position:relative;bottom:-0.3em;" width="16" height="16" class="format_png" /><span> ' . interdire_scripts(couper(supprimer_numero(typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0])), '60')) . ' </span></a> '; $t0 .= (strlen($t1) && strlen($t0) ? ' ' : '') . $t1; lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_rubriques_chemin @ squelettes/inc/inc-bas.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }
/** * Autorisation d'ajout d'un evenement a un article * * @param string $faire * @param string $quoi * @param int $id * @param int $qui * @param array $options * @return bool */ function autoriser_article_creerevenementdans_dist($faire,$quoi,$id,$qui,$options){ if (!$id) return false; // interdit de creer un evenement sur un article vide ! // si on a le droit de modifier l'article alors on a peut-etre le droit d'y creer un evenement $afficher = false; if (autoriser('modifier','article',$id,$qui)) { $afficher = true; // un article avec des evenements a toujours le droit if (!sql_countsel('spip_evenements','id_article='.intval($id))){ // si au moins une rubrique a le flag agenda if (sql_countsel('spip_rubriques','agenda=1')){ // alors il faut le flag agenda dans cette branche ! $afficher = false; include_spip('inc/agenda_gestion'); $in = calcul_hierarchie_in(sql_getfetsel('id_rubrique','spip_articles','id_article='.intval($id))); $afficher = sql_countsel('spip_rubriques',sql_in('id_rubrique',$in)." AND agenda=1"); } } } return $afficher; }
function agenda_affiche_milieu($flux) { $exec = $flux['args']['exec']; if ($exec=='naviguer' AND $id_rubrique = intval($flux['args']['id_rubrique'])){ $activer = true; $res = ""; $actif = sql_getfetsel('agenda','spip_rubriques','id_rubrique='.intval($id_rubrique)); $statut="-48"; $voir = ""; if (!sql_countsel('spip_rubriques','agenda=1')) $res .= _T('agenda:aucune_rubrique_mode_agenda').'<br />'; else { include_spip('inc/agenda_gestion'); if (sql_countsel('spip_rubriques',sql_in('id_rubrique',calcul_hierarchie_in($id_rubrique))." AND agenda=1 AND id_rubrique<>".intval($id_rubrique))){ $res .= _T('agenda:rubrique_dans_une_rubrique_mode_agenda').'<br />'; $activer = false; $statut="-ok-48"; $voir = _T('agenda:voir_evenements_rubrique'); } elseif(!$actif) { $res .= _T('agenda:rubrique_sans_gestion_evenement').'<br />'; $statut="-non-24"; } if ($actif){ $res .= _T('agenda:rubrique_mode_agenda').'<br />'; $statut="-ok-48"; $voir = _T('agenda:voir_evenements_rubrique'); } } if (!$actif){ if($activer){ $res .= "<a href='".generer_action_auteur('rubrique_activer_agenda',$id_rubrique,self())."'>"._T('agenda:rubrique_activer_agenda').'</a>'; } } else $res .= "<a href='".generer_action_auteur('rubrique_activer_agenda',"-$id_rubrique",self())."'>"._T('agenda:rubrique_desactiver_agenda').'</a>'; if ($voir) $res .= "<p><a href='".generer_url_ecrire('calendrier',"id_rubrique=$id_rubrique")."'>$voir</a></p>"; if ($res) $flux['data'] .= "<div class='verdana2'><img src='".find_in_path("img_pack/agenda$statut.png")."' class='agenda-statut' alt='' />$res<div class='nettoyeur'></div></div>"; } elseif ($exec=='articles'){ $id_article = $flux['args']['id_article']; $afficher = autoriser('creerevenementdans','article',$id_article); if ($afficher) { $contexte = array(); foreach($_GET as $key=>$val) $contexte[$key] = $val; $evenements = recuperer_fond('prive/contenu/evenements_article',$contexte); $flux['data'] .= $evenements; } } elseif ($exec=='mots_edit'){ $id_mot = $flux['args']['id_mot']; foreach($_GET as $key=>$val) $contexte[$key] = $val; $evenements = recuperer_fond('prive/contenu/agenda_evenements',$contexte); $flux['data'] .= $evenements; } return $flux; }
function BOUCLE_hierarchie_courantehtml_45166f6eb7325e525d28cc393d05e614(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) { static $command = array(); static $connect; $command['connect'] = $connect = ''; if (!($id_rubrique = intval($Pile[$SP]['id_rubrique']))) { return ''; } include_spip('inc/rubriques'); $hierarchie = calcul_hierarchie_in($id_rubrique, true); if (!$hierarchie) { return ""; } if (!isset($command['table'])) { $command['table'] = 'rubriques'; $command['id'] = '_hierarchie_courante'; $command['from'] = array('rubriques' => 'spip_rubriques'); $command['type'] = array(); $command['groupby'] = array(); $command['select'] = array("rubriques.id_parent", "rubriques.lang", "rubriques.titre"); $command['join'] = array(); $command['limit'] = ''; $command['having'] = array(); } $command['orderby'] = array("FIELD(rubriques.id_rubrique, {$hierarchie})"); $command['where'] = array(array('IN', 'rubriques.id_rubrique', "({$hierarchie})")); if (defined("_BOUCLE_PROFILER")) { $timer = time() + microtime(); } $t0 = ""; // REQUETE $iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-menu.html', 'html_45166f6eb7325e525d28cc393d05e614', '_hierarchie_courante', 21, $GLOBALS['spip_lang'])); if (!$iter->err()) { lang_select($GLOBALS['spip_lang']); $SP++; // RESULTATS while ($Pile[$SP] = $iter->fetch()) { lang_select_public($Pile[$SP]['lang'], '', $Pile[$SP]['titre']); $t0 .= ' ' . BOUCLE_parentshtml_45166f6eb7325e525d28cc393d05e614($Cache, $Pile, $doublons, $Numrows, $SP) . ' '; lang_select(); } lang_select(); $iter->free(); } if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) { spip_log(intval(1000 * $timer) . "ms BOUCLE_hierarchie_courante @ squelettes/inc/inc-menu.html", "profiler" . _LOG_AVERTISSEMENT); } return $t0; }