Changeset 109699 in spip-zone
- Timestamp:
- Mar 26, 2018, 10:47:38 PM (3 years ago)
- Location:
- _squelettes_/gribouille_2/trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
_squelettes_/gribouille_2/trunk/formulaires/ajouter_page_wiki.php
r53427 r109699 5 5 * 6 6 */ 7 if (!defined("_ECRIRE_INC_VERSION")) return; 7 if (!defined("_ECRIRE_INC_VERSION")) { 8 return; 9 } 8 10 9 11 include_spip('inc/autoriser'); 10 12 11 function formulaires_ajouter_page_wiki_charger($id_rubrique =''){12 if (is_numeric($id_rubrique)){13 function formulaires_ajouter_page_wiki_charger($id_rubrique = '') { 14 if (is_numeric($id_rubrique)) { 13 15 if (!autoriser('publierdans', 'rubrique', $id_rubrique)) { 14 16 $editable = false; 15 }else{ 17 } 18 else { 16 19 $editable = true; 17 20 } 18 }else{ 21 } 22 else { 19 23 $editable = true; 20 24 } 21 25 $valeurs['editable'] = $editable; 26 22 27 return $valeurs; 23 28 } 24 29 25 function formulaires_ajouter_page_wiki_verifier($id_rubrique =''){30 function formulaires_ajouter_page_wiki_verifier($id_rubrique = '') { 26 31 $titre = _request('ajouter_page_wiki'); 27 if (preg_match(",http://,",_request('ajouter_page_wiki'))){32 if (preg_match(",http://,", $titre)) { 28 33 $erreurs['ajouter_page_wiki'] = _T('gribouille:pas_url'); 29 34 } 30 if (_request('pas_de_robot_merci')){35 if (_request('pas_de_robot_merci')) { 31 36 $erreurs['pas_de_robot_merci'] = _T('gribouille:pas_de_robot'); 32 37 } … … 35 40 } 36 41 37 function formulaires_ajouter_page_wiki_traiter($id_rubrique =''){42 function formulaires_ajouter_page_wiki_traiter($id_rubrique = '') { 38 43 39 44 $id_article = null; 40 $message = array();41 45 $message = array(); 46 42 47 // on verifie d'abord qu'un article de ce titre n'existe pas deja 43 $s = sql_select("id_article", "spip_articles","titre="44 .sql_quote(_request('ajouter_page_wiki'))." AND statut='publie'");48 $s = sql_select("id_article", "spip_articles", "titre=" 49 . sql_quote(_request('ajouter_page_wiki')) . " AND statut='publie'"); 45 50 if ($t = sql_fetch($s)) { 46 51 $id_article = $t['id_article']; 47 } else { 52 } 53 else { 48 54 if (autoriser('publierdans', 'rubrique', $id_rubrique)) { 49 55 include_spip('action/editer_article'); … … 51 57 include_spip('inc/modifier'); 52 58 $r = modifier_contenu('article', $id_article, 53 array('champs' => array('titre')),54 array(55 'titre' => _request('ajouter_page_wiki')56 )59 array('champs' => array('titre')), 60 array( 61 'titre' => _request('ajouter_page_wiki'), 62 ) 57 63 ); 58 if (function_exists('instituer_article')) 59 instituer_article($id_article,array('statut' => 'publie')); 64 if (function_exists('instituer_article')) { 65 instituer_article($id_article, array('statut' => 'publie')); 66 } 60 67 } 61 68 } 62 69 63 if (!$id_article) 70 if (!$id_article) { 64 71 die("Erreur : creation d'article interdite"); 72 } 65 73 66 74 $retour = generer_url_entite($id_article, 'article'); … … 68 76 include_spip('inc/headers'); 69 77 $message['message_ok'] = redirige_formulaire($retour); 70 $message['editable'] = false; 78 $message['editable'] = false; 79 71 80 return $message; 72 81 } 73 82 74 ?> -
_squelettes_/gribouille_2/trunk/formulaires/ajouter_rubrique_wiki.php
r53427 r109699 5 5 * 6 6 */ 7 if (!defined("_ECRIRE_INC_VERSION")) return; 7 if (!defined("_ECRIRE_INC_VERSION")) { 8 return; 9 } 8 10 9 11 include_spip('inc/autoriser'); 10 12 11 function formulaires_ajouter_rubrique_wiki_charger($id_rubrique =''){12 if (is_numeric($id_rubrique)){13 function formulaires_ajouter_rubrique_wiki_charger($id_rubrique = '') { 14 if (is_numeric($id_rubrique)) { 13 15 if (!autoriser('creerrubriquedans', 'rubrique', $id_rubrique)) { 14 16 $editable = false; 15 }else{ 17 } 18 else { 16 19 $editable = true; 17 20 } 18 }else{ 21 } 22 else { 19 23 $editable = true; 20 24 } 21 25 $valeurs['editable'] = $editable; 26 22 27 return $valeurs; 23 28 } 24 29 25 function formulaires_ajouter_rubrique_wiki_verifier($id_rubrique =''){30 function formulaires_ajouter_rubrique_wiki_verifier($id_rubrique = '') { 26 31 $titre = _request('ajouter_rubrique_wiki'); 27 if (preg_match(",http://,",_request('ajouter_rubrique_wiki'))){32 if (preg_match(",http://,", $titre)) { 28 33 $erreurs['ajouter_rubrique_wiki'] = _T('gribouille:pas_url'); 29 34 } 30 if (_request('pas_de_robot_merci')){35 if (_request('pas_de_robot_merci')) { 31 36 $erreurs['pas_de_robot_merci'] = _T('gribouille:pas_de_robot'); 32 37 } … … 35 40 } 36 41 37 function formulaires_ajouter_rubrique_wiki_traiter($id_rubrique =''){42 function formulaires_ajouter_rubrique_wiki_traiter($id_rubrique = '') { 38 43 39 44 $id_article = null; 40 $message = "";41 45 $message = ""; 46 42 47 // on verifie d'abord qu'un article de ce titre n'existe pas deja 43 $s = sql_select("id_rubrique", "spip_rubriques","titre="44 .sql_quote(_request('ajouter_rubrique_wiki')));48 $s = sql_select("id_rubrique", "spip_rubriques", "titre=" 49 . sql_quote(_request('ajouter_rubrique_wiki'))); 45 50 if ($t = sql_fetch($s)) { 46 51 $new_rubrique = $t['id_rubrique']; 47 } else { 52 } 53 else { 48 54 if (autoriser('creerrubriquedans', 'rubrique', $id_rubrique)) { 49 55 include_spip('action/editer_rubrique'); 50 56 $new_rubrique = insert_rubrique($id_rubrique); 51 $c = array('titre' => _request('ajouter_rubrique_wiki'));52 revisions_rubriques($new_rubrique, $c);57 $c = array('titre' => _request('ajouter_rubrique_wiki')); 58 revisions_rubriques($new_rubrique, $c); 53 59 } 54 60 } 55 61 56 if (!$new_rubrique) 62 if (!$new_rubrique) { 57 63 die("Erreur : creation de rubrique interdite"); 64 } 58 65 59 66 $retour = generer_url_entite($new_rubrique, 'rubrique'); … … 61 68 include_spip('inc/headers'); 62 69 $message .= redirige_formulaire($retour); 70 63 71 return $message; 64 72 } 65 73 66 ?> -
_squelettes_/gribouille_2/trunk/gribouille_autoriser.php
r109698 r109699 1 1 <?php 2 if (!defined("_ECRIRE_INC_VERSION")) return; 3 /* pour que le pipeline ne rale pas ! */ 4 function gribouille_autoriser(){} 2 /** 3 * Plugin / Squelettes Gribouille 4 * © Fil 5 * Distribue sous licence GNU/GPL 6 */ 7 8 if (!defined("_ECRIRE_INC_VERSION")) { 9 return; 10 } 11 12 function gribouille_autoriser() { } 5 13 6 14 /** … … 8 16 * - On se base d'abord sur l'autorisation de base de SPIP 9 17 * - Sinon on se base sur la configuration du cfg que nous avons faite 10 * 18 * 11 19 * @param object $faire 12 20 * @param object $quoi … … 14 22 * @param object $qui 15 23 * @param object $opts 16 * @return 24 * 25 * @return boolean 17 26 */ 18 function autoriser_article_modifier($faire, $quoi,$id,$qui,$opts){27 function autoriser_article_modifier($faire, $quoi, $id, $qui, $opts) { 19 28 $autorise = false; 20 if (autoriser_article_modifier_dist($faire,$quoi,$id,$qui,$opts)){21 return autoriser_article_modifier_dist($faire, $quoi,$id,$qui,$opts);29 if (autoriser_article_modifier_dist($faire, $quoi, $id, $qui, $opts)) { 30 return autoriser_article_modifier_dist($faire, $quoi, $id, $qui, $opts); 22 31 } 23 if (function_exists('lire_config')){32 if (function_exists('lire_config')) { 24 33 $secteurs_wiki = lire_config('gribouille/secteurs_wiki', array()); 25 $id_secteur = sql_getfetsel('id_secteur','spip_articles','id_article='.intval($id));26 if (in_array($id_secteur,$secteurs_wiki)){34 $id_secteur = sql_getfetsel('id_secteur', 'spip_articles', 'id_article=' . intval($id)); 35 if (in_array($id_secteur, $secteurs_wiki)) { 27 36 $type = lire_config('gribouille/autorisations/ecrire_type', 'webmestre'); 28 switch ($type) {37 switch ($type) { 29 38 case 'webmestre': 30 39 // Webmestres uniquement … … 33 42 case 'par_statut': 34 43 // Traitement spécifique pour la valeur 'tous' 35 if (in_array('tous',lire_config('gribouille/autorisations/ecrire_statuts',array()))){44 if (in_array('tous', lire_config('gribouille/autorisations/ecrire_statuts', array()))) { 36 45 return true; 37 46 } 38 47 // Autorisation par statut 39 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/ecrire_statuts', array('0minirezo')));48 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/ecrire_statuts', array('0minirezo'))); 40 49 break; 41 50 case 'par_auteur': 42 51 // Autorisation par id d'auteurs 43 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/ecrire_auteurs', array()));52 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/ecrire_auteurs', array())); 44 53 break; 45 54 } 46 55 } 47 }else{48 return autoriser('modifier','article',$id,$qui,$opts);49 56 } 57 else { 58 return autoriser('modifier', 'article', $id, $qui, $opts); 59 } 60 50 61 return $autorise; 51 62 } … … 55 66 * - On se base d'abord sur l'autorisation de base de SPIP 56 67 * - Sinon on se base sur la configuration du cfg que nous avons faite 57 * 68 * 58 69 * @param object $faire 59 70 * @param object $quoi … … 61 72 * @param object $qui 62 73 * @param object $opts 63 * @return 74 * 75 * @return boolean 64 76 */ 65 function autoriser_rubrique_publierdans($faire, $quoi,$id,$qui,$opts){77 function autoriser_rubrique_publierdans($faire, $quoi, $id, $qui, $opts) { 66 78 $autorise = false; 67 if (autoriser_rubrique_publierdans_dist($faire,$quoi,$id,$qui,$opts)){68 return autoriser_rubrique_publierdans_dist($faire, $quoi,$id,$qui,$opts);79 if (autoriser_rubrique_publierdans_dist($faire, $quoi, $id, $qui, $opts)) { 80 return autoriser_rubrique_publierdans_dist($faire, $quoi, $id, $qui, $opts); 69 81 } 70 if (function_exists('lire_config')){82 if (function_exists('lire_config')) { 71 83 $secteurs_wiki = lire_config('gribouille/secteurs_wiki', array()); 72 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));73 if (in_array($id_secteur,$secteurs_wiki)){84 $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id)); 85 if (in_array($id_secteur, $secteurs_wiki)) { 74 86 $type = lire_config('gribouille/autorisations/ecrire_type', 'webmestre'); 75 switch ($type) {87 switch ($type) { 76 88 case 'webmestre': 77 89 // Webmestres uniquement … … 80 92 case 'par_statut': 81 93 // Traitement spécifique pour la valeur 'tous' 82 if (in_array('tous',lire_config('gribouille/autorisations/ecrire_statuts',array()))){94 if (in_array('tous', lire_config('gribouille/autorisations/ecrire_statuts', array()))) { 83 95 return true; 84 96 } 85 97 // Autorisation par statut 86 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/ecrire_statuts', array('0minirezo')));98 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/ecrire_statuts', array('0minirezo'))); 87 99 break; 88 100 case 'par_auteur': 89 101 // Autorisation par id d'auteurs 90 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/ecrire_auteurs', array()));102 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/ecrire_auteurs', array())); 91 103 break; 92 104 } 93 105 } 94 }else{95 return autoriser('publier_dans','rubrique',$id,$qui,$opts);96 106 } 107 else { 108 return autoriser('publier_dans', 'rubrique', $id, $qui, $opts); 109 } 110 97 111 return $autorise; 98 112 } … … 105 119 * Si oui, on passe outre la configuration 106 120 * - On vérifie ensuite si on est autorisé dans le CFG 107 * 121 * 108 122 * @param string $faire L'action à réaliser 109 * @param string $quoi L'objet sur lequel on réalise cette action110 * @param int $idL'id de l'objet en question111 * @param array $quiL'array des infos de session de l'auteur connecté123 * @param string $quoi L'objet sur lequel on réalise cette action 124 * @param int $id L'id de l'objet en question 125 * @param array $qui L'array des infos de session de l'auteur connecté 112 126 * @param object $opts 113 * @return true ou false 127 * 128 * @return boolean 114 129 */ 115 function autoriser_rubrique_voir($faire, $quoi,$id,$qui,$opts){130 function autoriser_rubrique_voir($faire, $quoi, $id, $qui, $opts) { 116 131 $autorise = false; 117 if (autoriser('publierdans','rubrique',$id,$qui,$opts)){118 return autoriser('publierdans', 'rubrique',$id,$qui,$opts);132 if (autoriser('publierdans', 'rubrique', $id, $qui, $opts)) { 133 return autoriser('publierdans', 'rubrique', $id, $qui, $opts); 119 134 } 120 if (function_exists('lire_config')){135 if (function_exists('lire_config')) { 121 136 $secteurs_wiki = lire_config('gribouille/secteurs_wiki', array()); 122 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));123 if (in_array($id_secteur,$secteurs_wiki)){137 $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id)); 138 if (in_array($id_secteur, $secteurs_wiki)) { 124 139 $type = lire_config('gribouille/autorisations/voir_type', 'webmestre'); 125 switch ($type) {140 switch ($type) { 126 141 case 'webmestre': 127 142 // Webmestres uniquement … … 130 145 case 'par_statut': 131 146 // Traitement spécifique pour la valeur 'tous' 132 if (in_array('tous',lire_config('gribouille/autorisations/voir_statuts',array()))){147 if (in_array('tous', lire_config('gribouille/autorisations/voir_statuts', array()))) { 133 148 return true; 134 149 } 135 150 // Autorisation par statut 136 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/voir_statuts', array('0minirezo')));151 $autorise = in_array($qui['statut'], lire_config('gribouille/autorisations/voir_statuts', array('0minirezo'))); 137 152 break; 138 153 case 'par_auteur': 139 154 // Autorisation par id d'auteurs 140 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/voir_auteurs', array()));155 $autorise = in_array($qui['id_auteur'], lire_config('gribouille/autorisations/voir_auteurs', array())); 141 156 break; 142 157 } 143 158 } 144 }else{145 return autoriser('voir','rubrique',$id,$qui,$opts);146 159 } 160 else { 161 return autoriser('voir', 'rubrique', $id, $qui, $opts); 162 } 163 147 164 return $autorise; 148 165 } 149 function gribouille_verifier_webmestre($qui){ 150 $webmestre = false; 151 $webmestre = in_array($qui['id_auteur'], explode(':', _ID_WEBMESTRES));152 if (!$webmestre && ($qui['webmestre']=='oui')){153 $webmestre = 166 167 function gribouille_verifier_webmestre($qui) { 168 $webmestre = in_array($qui['id_auteur'], explode(':', _ID_WEBMESTRES)); 169 if (!$webmestre && ($qui['webmestre'] == 'oui')) { 170 $webmestre = true; 154 171 } 155 return $webmestres; 172 173 return $webmestre; 156 174 } 157 ?> 175 -
_squelettes_/gribouille_2/trunk/gribouille_fonctions.php
r109697 r109699 1 1 <?php 2 if (!defined("_ECRIRE_INC_VERSION")) return;3 2 /** 4 * Affiche le diff d'un objet 3 * Plugin / Squelettes Gribouille 4 * © Fil 5 * Distribue sous licence GNU/GPL 6 */ 7 8 if (!defined("_ECRIRE_INC_VERSION")) { 9 return; 10 } 11 12 /** 13 * Affiche le diff d'un objet 5 14 * (uniquement pour les articles en 2.0.X) 6 15 * Ex: [<small> (#ID_ARTICLE|affiche_diff{article,#ID_VERSION,diff}|supprimer_tags|couper{50})</small>] 7 * 8 * @param int $id_objet16 * 17 * @param int $id_objet 9 18 * @param string $objet 10 * @param int $id_version19 * @param int $id_version 11 20 * @param string $format [optional] 12 * @return 21 * 22 * @return string 13 23 */ 14 function affiche_diff($id_objet, $objet, $id_version, $format='complet') {24 function affiche_diff($id_objet, $objet, $id_version, $format = 'complet') { 15 25 include_spip('inc/suivi_versions'); 16 17 if($GLOBALS['spip_version_branche'] < '2.1'){ 18 if($objet == 'article'){ 19 $textes = revision_comparee($id_objet, $id_version, $format); 20 }else{ 26 27 if ($GLOBALS['spip_version_branche'] < '2.1') { 28 if ($objet == 'article') { 29 $textes = revision_comparee($id_objet, $id_version, $format); 30 } 31 else { 21 32 return; 22 33 } 23 }else{ 24 $textes = revision_comparee($id_objet,$objet, $id_version, $format); 34 } 35 else { 36 $textes = revision_comparee($id_objet, $objet, $id_version, $format); 25 37 } 26 38 … … 29 41 $texte = propre_diff($texte); 30 42 31 if ($champ == 'titre') 43 if ($champ == 'titre') { 32 44 $texte = "<h1>$texte</h1>"; 33 else 45 } 46 else { 34 47 $texte = "<div class='$k'>$texte</div>"; 48 } 35 49 36 $ret .= "\n<hr/>\n" . $texte;50 $ret .= "\n<hr/>\n" . $texte; 37 51 } 38 52 … … 46 60 /** 47 61 * Affiche le nom de l'auteur à partir de son id_auteur 48 * 62 * 49 63 * @param object $auteur 50 * @return 64 * 65 * @return string 51 66 */ 52 67 function affiche_auteur_diff($auteur) { 53 68 // Si c'est un nombre, c'est un auteur de la table spip_auteurs 54 69 if ($auteur == intval($auteur) 55 AND $s = sql_getfetsel("nom","spip_auteurs","id_auteur=".intval($auteur))) {70 AND $s = sql_getfetsel("nom", "spip_auteurs", "id_auteur=" . intval($auteur))) { 56 71 return typo($s); 57 } else { 72 } 73 else { 58 74 return $auteur; 59 75 } 60 76 } 61 77 62 ?> -
_squelettes_/gribouille_2/trunk/gribouille_options.php
r109697 r109699 1 1 <?php 2 if (!defined("_ECRIRE_INC_VERSION")) return; 2 /** 3 * Plugin / Squelettes Gribouille 4 * © Fil 5 * Distribue sous licence GNU/GPL 6 */ 7 8 if (!defined("_ECRIRE_INC_VERSION")) { 9 return; 10 } 11 3 12 // {recherche} ou {recherche susan} 4 13 // https://www.spip.net/@recherche … … 6 15 function critere_recherche($idb, &$boucles, $crit) { 7 16 8 $boucle = &$boucles[ $idb];17 $boucle = &$boucles[ $idb ]; 9 18 10 if (isset($crit->param[0])) 11 $quoi = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent); 12 else 19 if (isset($crit->param[0])) { 20 $quoi = calculer_liste($crit->param[0], array(), $boucles, $boucles[ $idb ]->id_parent); 21 } 22 else { 13 23 $quoi = '@$Pile[0]["recherche"]'; 14 $tout = $boucle->modificateur["tout"] ? 1 : 0; 24 } 25 $tout = $boucle->modificateur["tout"] ? 1 : 0; 15 26 $boucle->hash .= ' 16 27 // RECHERCHE 17 28 $prepare_recherche = charger_fonction(\'prepare_recherche\', \'inc\'); 18 list($rech_select, $rech_where) = $prepare_recherche(' .$quoi.', "'.$boucle->id_table.'", "'.$crit->cond.'","' . $boucle->sql_serveur . '",'.$tout.');29 list($rech_select, $rech_where) = $prepare_recherche(' . $quoi . ', "' . $boucle->id_table . '", "' . $crit->cond . '","' . $boucle->sql_serveur . '",' . $tout . '); 19 30 '; 20 31 21 32 $t = $boucle->id_table . '.' . $boucle->primary; 22 if (!in_array($t, $boucles[$idb]->select)) 23 $boucle->select[]= $t; # pour postgres, neuneu ici 24 $boucle->join['resultats']=array("'".$boucle->id_table."'","'id'","'".$boucle->primary."'"); 25 $boucle->from['resultats']='spip_resultats'; 26 $boucle->select[]= '$rech_select'; 33 if (!in_array($t, $boucles[ $idb ]->select)) { 34 $boucle->select[] = $t; 35 } # pour postgres, neuneu ici 36 $boucle->join['resultats'] = array( 37 "'" . $boucle->id_table . "'", 38 "'id'", 39 "'" . $boucle->primary . "'", 40 ); 41 $boucle->from['resultats'] = 'spip_resultats'; 42 $boucle->select[] = '$rech_select'; 27 43 //$boucle->where[]= "\$rech_where?'resultats.id=".$boucle->id_table.".".$boucle->primary."':''"; 28 44 29 45 // et la recherche trouve 30 $boucle->where[] = '$rech_where?$rech_where:\'\'';46 $boucle->where[] = '$rech_where?$rech_where:\'\''; 31 47 } 32 48 33 @define('_DELAI_CACHE_resultats',600);34 49 @define('_DELAI_CACHE_resultats', 600); 50 35 51 // Preparer les listes id_article IN (...) pour les parties WHERE 36 52 // et points = des requetes du moteur de recherche 37 53 // https://code.spip.net/@inc_prepare_recherche_dist 38 function inc_prepare_recherche($recherche, $table ='articles', $cond=false, $serveur='',$tout=false) {54 function inc_prepare_recherche($recherche, $table = 'articles', $cond = false, $serveur = '', $tout = false) { 39 55 include_spip('inc/rechercher'); 40 56 static $cache = array(); 41 $delai_fraicheur = min(_DELAI_CACHE_resultats, time()-$GLOBALS['meta']['derniere_modif']);57 $delai_fraicheur = min(_DELAI_CACHE_resultats, time() - $GLOBALS['meta']['derniere_modif']); 42 58 43 59 // si recherche n'est pas dans le contexte, on va prendre en globals 44 60 // ca permet de faire des inclure simple. 45 if (!isset($recherche) AND isset($GLOBALS['recherche'])) 61 if (!isset($recherche) AND isset($GLOBALS['recherche'])) { 46 62 $recherche = $GLOBALS['recherche']; 63 } 47 64 48 65 // traiter le cas {recherche?} 49 if ($cond AND !strlen($recherche)) 50 return array("0 as points" /* as points */, /* where */ ''); 51 52 66 if ($cond AND !strlen($recherche)) { 67 return array( 68 "0 as points" 69 /* as points */, 70 /* where */ 71 '', 72 ); 73 } 74 53 75 $rechercher = false; 54 76 55 if (!isset($cache[ $recherche][$table])){56 $hash = substr(md5($recherche . $table), 0,16);57 $row = sql_fetsel('UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(maj) AS fraicheur','spip_resultats',"recherche='$hash'",'','fraicheur DESC','0,1','',$serveur);58 if (!$row OR ($row['fraicheur'] >$delai_fraicheur)){59 77 if (!isset($cache[ $recherche ][ $table ])) { 78 $hash = substr(md5($recherche . $table), 0, 16); 79 $row = sql_fetsel('UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(maj) AS fraicheur', 'spip_resultats', "recherche='$hash'", '', 'fraicheur DESC', '0,1', '', $serveur); 80 if (!$row OR ($row['fraicheur'] > $delai_fraicheur)) { 81 $rechercher = true; 60 82 } 61 $cache[$recherche][$table] = array("resultats.points AS points","recherche='$hash'"); 83 $cache[ $recherche ][ $table ] = array( 84 "resultats.points AS points", 85 "recherche='$hash'", 86 ); 62 87 } 63 88 … … 66 91 //$tables = liste_des_champs(); 67 92 $x = preg_replace(',s$,', '', $table); // eurk 68 if ($x == 'syndic') $x = 'site'; 93 if ($x == 'syndic') { 94 $x = 'site'; 95 } 69 96 $points = recherche_en_base($recherche, 70 $x,71 array(72 'score'=> true,73 'toutvoir'=> true,74 'jointures' => true75 ),76 77 $points = $points[ $x];97 $x, 98 array( 99 'score' => true, 100 'toutvoir' => true, 101 'jointures' => true, 102 ), 103 $serveur); 104 $points = $points[ $x ]; 78 105 79 106 // permettre aux plugins de modifier le resultat 80 $points = pipeline('prepare_recherche',array( 81 'args'=>array('type'=>$x,'recherche'=>$recherche,'serveur'=>$serveur,'tout'=>$tout), 82 'data'=>$points 107 $points = pipeline('prepare_recherche', array( 108 'args' => array( 109 'type' => $x, 110 'recherche' => $recherche, 111 'serveur' => $serveur, 112 'tout' => $tout, 113 ), 114 'data' => $points, 83 115 )); 84 116 85 117 // supprimer les anciens resultats de cette recherche 86 118 // et les resultats trop vieux avec une marge 87 sql_delete('spip_resultats', '(maj<DATE_SUB(NOW(), INTERVAL '.($delai_fraicheur+100)." SECOND)) OR (recherche='$hash')",$serveur);119 sql_delete('spip_resultats', '(maj<DATE_SUB(NOW(), INTERVAL ' . ($delai_fraicheur + 100) . " SECOND)) OR (recherche='$hash')", $serveur); 88 120 89 121 // inserer les resultats dans la table de cache des resultats 90 if (count($points)) {122 if (count($points)) { 91 123 $tab_couples = array(); 92 foreach ($points as $id => $p) {124 foreach ($points as $id => $p) { 93 125 $tab_couples[] = array( 94 126 'recherche' => $hash, 95 'id' => $id,96 'points' => $p['score']127 'id' => $id, 128 'points' => $p['score'], 97 129 ); 98 130 } 99 sql_insertq_multi('spip_resultats', $tab_couples,array(),$serveur);131 sql_insertq_multi('spip_resultats', $tab_couples, array(), $serveur); 100 132 } 101 133 } 102 134 103 return $cache[ $recherche][$table];135 return $cache[ $recherche ][ $table ]; 104 136 } 105 137 … … 107 139 return true; 108 140 } 109 ?> 141 -
_squelettes_/gribouille_2/trunk/gribouille_pipelines.php
r109698 r109699 1 1 <?php 2 if (!defined("_ECRIRE_INC_VERSION")) return;3 2 /** 4 3 * Plugin / Squelettes Gribouille … … 7 6 */ 8 7 8 if (!defined("_ECRIRE_INC_VERSION")) { 9 return; 10 } 9 11 10 12 /** … … 13 15 * d'une rubrique de Gribouille 14 16 * 15 * @param object $flux 16 * @return 17 * @param array $flux 18 * 19 * @return array 17 20 */ 18 function gribouille_styliser($flux){ 19 /** 20 * Gribouille ne s'active que sur les rubriques et les articles 21 */ 21 function gribouille_styliser($flux) { 22 // Gribouille ne s'active que sur les rubriques et les articles 22 23 if (($fond = $flux['args']['fond']) 23 AND in_array($fond, array('article','rubrique'))) { 24 AND in_array($fond, array( 25 'article', 26 'rubrique', 27 ))) { 24 28 25 29 $ext = $flux['args']['ext']; 26 27 /** 28 * Si la rubrique fait partie du secteur défini dans la configuration on change son fond 29 */ 30 if($id_rubrique = $flux['args']['id_rubrique']) { 30 31 // Si la rubrique fait partie du secteur défini dans la configuration on change son fond 32 if ($id_rubrique = $flux['args']['id_rubrique']) { 31 33 $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique)); 32 if (in_array($id_secteur, lire_config('gribouille/secteurs_wiki', array(0,-1)))) { 34 if (in_array($id_secteur, lire_config('gribouille/secteurs_wiki', array( 35 0, 36 -1, 37 )))) { 33 38 include_spip('inc/autoriser'); 34 /** 35 * On vérifie si nous sommes autorisé à voir le Wiki 36 */ 37 if(autoriser('voir','rubrique',$id_rubrique,$GLOBALS['visiteur_session'])){ 39 // On vérifie si nous sommes autorisé à voir le Wiki 40 if (autoriser('voir', 'rubrique', $id_rubrique, $GLOBALS['visiteur_session'])) { 38 41 if ($squelette = test_squelette_gribouille($fond, $ext)) { 39 42 $flux['data'] = $squelette; 40 43 } 41 }else{ 44 } 45 else { 42 46 unset($flux['args']); 43 47 } … … 45 49 } 46 50 } 51 47 52 return $flux; 48 53 } … … 50 55 /** 51 56 * Fonction qui vérifie la présence d'un squelette gribouille disponible 52 * 57 * 53 58 * @param string $fond article ou rubrique 54 * @param string $ext extension des squelettes (html) 55 * @return 59 * @param string $ext extension des squelettes (html) 60 * 61 * @return mixed 56 62 */ 57 63 function test_squelette_gribouille($fond, $ext) { 58 if ($squelette = find_in_path($fond ."_gribouille.$ext")) {64 if ($squelette = find_in_path($fond . "_gribouille.$ext")) { 59 65 return substr($squelette, 0, -strlen(".$ext")); 60 66 } 67 61 68 return false; 62 69 } … … 67 74 * 68 75 * @param array $flux 76 * 69 77 * @return array 70 78 */ 71 function gribouille_prepare_recherche($flux) {72 if (lire_config('gribouille/exclure_recherche') == 'on'){79 function gribouille_prepare_recherche($flux) { 80 if (lire_config('gribouille/exclure_recherche') == 'on') { 73 81 $id_secteurs = lire_config('gribouille/secteurs_wiki'); 74 if(is_array($id_secteurs)){ 75 if ($flux['args']['type']=='article' 76 AND $flux['args']['tout']=='0' 77 AND $points = $flux['data']){ 78 $serveur = $flux['args']['serveur']; 79 $p2 = array(); 80 $s = sql_select("id_article", "spip_articles", "statut='publie' AND ".sql_in('id_article', array_keys($points), '','','','',$serveur)." AND ".sql_in('id_secteur', array_values($id_secteurs), 'NOT','','','',$serveur)); 81 while ($t = sql_fetch($s, $serveur)){ 82 $p2[$t['id_article']] =''; 82 if (is_array($id_secteurs)) { 83 if ($flux['args']['type'] == 'article' 84 AND $flux['args']['tout'] == '0' 85 AND $points = $flux['data']) { 86 $serveur = $flux['args']['serveur']; 87 $p2 = array(); 88 $s = sql_select( 89 "id_article", 90 "spip_articles", 91 "statut='publie' 92 AND " . sql_in('id_article', array_keys($points), '', '', '', '', $serveur) . " 93 AND " . sql_in('id_secteur', array_values($id_secteurs), 'NOT', '', '', '', $serveur) 94 ); 95 while ($t = sql_fetch($s, $serveur)) { 96 $p2[ $t['id_article'] ] = ''; 83 97 } 84 $p2 = array_intersect_key($points,$p2);98 $p2 = array_intersect_key($points, $p2); 85 99 $flux['data'] = $p2; 86 100 } 87 if ($flux['args']['type']=='rubrique' 88 AND $flux['args']['tout']=='0' 89 AND $points = $flux['data']){ 90 $serveur = $flux['args']['serveur']; 91 $p2 = array(); 92 $s = sql_select("id_rubrique", "spip_rubriques", "statut='publie' AND ".sql_in('id_rubrique', array_keys($points), '','','','',$serveur)." AND ".sql_in('id_secteur', array_values($id_secteurs), 'NOT','','','',$serveur)); 93 while ($t = sql_fetch($s, $serveur)){ 94 $p2[$t['id_article']] =''; 101 if ($flux['args']['type'] == 'rubrique' 102 AND $flux['args']['tout'] == '0' 103 AND $points = $flux['data']) { 104 $serveur = $flux['args']['serveur']; 105 $p2 = array(); 106 $s = sql_select( 107 "id_rubrique", 108 "spip_rubriques", 109 "statut='publie' 110 AND " . sql_in('id_rubrique', array_keys($points), '', '', '', '', $serveur) . " 111 AND " . sql_in('id_secteur', array_values($id_secteurs), 'NOT', '', '', '', $serveur) 112 ); 113 while ($t = sql_fetch($s, $serveur)) { 114 $p2[ $t['id_article'] ] = ''; 95 115 } 96 $p2 = array_intersect_key($points,$p2);116 $p2 = array_intersect_key($points, $p2); 97 117 $flux['data'] = $p2; 98 118 } 99 119 } 100 120 } 121 101 122 return $flux; 102 123 } 103 ?> 124 -
_squelettes_/gribouille_2/trunk/lang/gribouille_fr.php
r109698 r109699 1 1 <?php 2 // This is a SPIP language file -- Ceci est un fichier langue de SPIP 2 3 3 // This is a SPIP language file -- Ceci est un fichier langue de SPIP 4 // Fichier source, a modifier dans svn://trac.rezo.net/spip-zone/_plugins_/_test_/inscription2/inscription2_2_0/lang 5 if (!defined("_ECRIRE_INC_VERSION")) return; 4 if (!defined("_ECRIRE_INC_VERSION")) { 5 return; 6 } 6 7 7 $GLOBALS[ $GLOBALS['idx_lang']] = array(8 8 $GLOBALS[ $GLOBALS['idx_lang'] ] = array( 9 9 10 // A 10 'ajouter_article_wiki' => 'Ajouter une page',11 'ajouter_rubrique_wiki' => 'Ajouter une rubrique',12 11 'ajouter_article_wiki' => 'Ajouter une page', 12 'ajouter_rubrique_wiki' => 'Ajouter une rubrique', 13 13 14 // C 14 'cette_version' => 'Cette version',15 'cfg_aucun_secteur' => 'Aucun',16 'cfg_description_titre' => 'Configuration du plugin Gribouille',17 'cfg_inf_type_autorisation' => 'Si vous choisissez par statut ou par auteur, il vous sera demandé ci-dessous votre sélection de statuts ou d\'auteurs.',18 'cfg_lbl_autorisation_auteurs' => 'Autoriser par liste d\'auteurs',19 'cfg_lbl_autorisation_statuts' => 'Autoriser par statut d\'auteurs',20 'cfg_lbl_autorisation_webmestre' => 'Autoriser les webmestres uniquement',21 'cfg_lbl_liste_auteurs' => 'Auteurs du site',22 'cfg_lbl_statuts_auteurs' => 'Statuts possibles',23 'cfg_lbl_type_autorisation' => 'Méthode d\'autorisation',24 'cfg_lgd_autorisation_ecrire' => 'Autoriser à modifier le Wiki',25 'cfg_lgd_autorisation_voir' => 'Autoriser à voir le Wiki',26 'cfg_secteur_wiki' => 'Secteur(s) Wiki',27 'click_ajout_texte' => 'double-cliquez pour ajouter du texte',28 15 'cette_version' => 'Cette version', 16 'cfg_aucun_secteur' => 'Aucun', 17 'cfg_description_titre' => 'Configuration du plugin Gribouille', 18 'cfg_inf_type_autorisation' => 'Si vous choisissez par statut ou par auteur, il vous sera demandé ci-dessous votre sélection de statuts ou d\'auteurs.', 19 'cfg_lbl_autorisation_auteurs' => 'Autoriser par liste d\'auteurs', 20 'cfg_lbl_autorisation_statuts' => 'Autoriser par statut d\'auteurs', 21 'cfg_lbl_autorisation_webmestre' => 'Autoriser les webmestres uniquement', 22 'cfg_lbl_liste_auteurs' => 'Auteurs du site', 23 'cfg_lbl_statuts_auteurs' => 'Statuts possibles', 24 'cfg_lbl_type_autorisation' => 'Méthode d\'autorisation', 25 'cfg_lgd_autorisation_ecrire' => 'Autoriser à modifier le Wiki', 26 'cfg_lgd_autorisation_voir' => 'Autoriser à voir le Wiki', 27 'cfg_secteur_wiki' => 'Secteur(s) Wiki', 28 'click_ajout_texte' => 'double-cliquez pour ajouter du texte', 29 29 30 // D 30 'deconnexion' => 'déconnexion',31 'derniers_changements' => 'Derniers changements',32 'disclaimer' => 'Ce site fonctionne avec le squelette <a href="https://contrib.spip.net/Gribouille">Gribouille</a> ; inspiré de <a href="http://www.wikini.net/wakka.php?wiki=PagePrincipale">WikiNi</a>',33 31 'deconnexion' => 'déconnexion', 32 'derniers_changements' => 'Derniers changements', 33 'disclaimer' => 'Ce site fonctionne avec le squelette <a href="https://contrib.spip.net/Gribouille">Gribouille</a> ; inspiré de <a href="http://www.wikini.net/wakka.php?wiki=PagePrincipale">WikiNi</a>', 34 34 35 // E 35 'editer_page' => 'Éditer cette page',36 'explication_exclure_recherche' => 'Le contenu du Wiki n\'apparaîtra plus dans la recherche par défaut de SPIP dans l\'espace public',37 36 'editer_page' => 'Éditer cette page', 37 'explication_exclure_recherche' => 'Le contenu du Wiki n\'apparaîtra plus dans la recherche par défaut de SPIP dans l\'espace public', 38 38 39 // G 39 'gribouille' => 'Configuration principale',40 'gribouille_autorisations' => 'Configuration des autorisations',41 'gribouille_titre' => 'Gribouille',42 40 'gribouille' => 'Configuration principale', 41 'gribouille_autorisations' => 'Configuration des autorisations', 42 'gribouille_titre' => 'Gribouille', 43 43 44 // H 44 'historique' => 'Historique',45 45 'historique' => 'Historique', 46 46 47 // L 47 'label_exclure_recherche' => 'Exclure de la recherche',48 48 'label_exclure_recherche' => 'Exclure de la recherche', 49 49 50 // N 50 'nom_visiteur' => 'Vous êtes @nom@',51 51 'nom_visiteur' => 'Vous êtes @nom@', 52 52 53 // P 53 'piege_a_robot' => 'Laissez ce champ vide :',54 54 'piege_a_robot' => 'Laissez ce champ vide :', 55 55 56 // R 56 'recherche' => 'Recherche',57 'retour_version_actuelle' => 'Retour à la version actuelle',58 'retour_version_courante' => 'Retour à la version courante',59 57 'recherche' => 'Recherche', 58 'retour_version_actuelle' => 'Retour à la version actuelle', 59 'retour_version_courante' => 'Retour à la version courante', 60 60 61 // S 61 'sous_rubriques' => 'Sous-rubriques',62 62 'sous_rubriques' => 'Sous-rubriques', 63 63 64 // T 64 'titre_configurer_gribouille' => 'Configurer Gribouille',65 'titre_configurer_gribouille' => 'Configurer Gribouille', 65 66 'titre_configurer_gribouille_autorisations' => 'Configurer les autorisations de Gribouille', 66 'texte_bienvenue' => 'Bienvenue sur le carnet de notes de @nom_site@.',67 'titre_input' => 'Titre...',68 67 'texte_bienvenue' => 'Bienvenue sur le carnet de notes de @nom_site@.', 68 'titre_input' => 'Titre...', 69 69 70 // Z 70 'z' => 'zzz'71 'z' => 'zzz', 71 72 ); -
_squelettes_/gribouille_2/trunk/lang/paquet-gribouille_fr.php
r109698 r109699 6 6 } 7 7 8 $GLOBALS[ $GLOBALS['idx_lang']] = array(8 $GLOBALS[ $GLOBALS['idx_lang'] ] = array( 9 9 10 10 // G 11 11 'gribouille_description' => '', 12 'gribouille_nom' => 'Gribouille',13 'gribouille_slogan' => 'Un Wiki pour SPIP',12 'gribouille_nom' => 'Gribouille', 13 'gribouille_slogan' => 'Un Wiki pour SPIP', 14 14 );
Note: See TracChangeset
for help on using the changeset viewer.