Browse Source

Indentation et suppression des ?> finaux

master
Cerdic 1 month ago
parent
commit
e5fbd6bb49
  1. 55
      formulaires/configurer_squelettesmots.php
  2. 76
      squelettesmots.php

55
formulaires/configurer_squelettesmots.php

@ -1,32 +1,35 @@
<?php
/***************************************************************************\
* Plugin Squelettes par mot clef 3 *
* Plugin Squelettes par mot clef 3 *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
if (!defined("_ECRIRE_INC_VERSION")){
return;
}
include_spip('squelettesmots');
function formulaires_configurer_squelettesmots_charger_dist(){
$_fonds = unserialize($GLOBALS['meta'][_SQUELETTES_MOTS_META]);
$valeurs = array(
'fonds'=>'',
'tid_groupe'=>'',
'fonds' => '',
'tid_groupe' => '',
'type' => '',
'actif' => '',
'_fonds' => $_fonds?$_fonds:array()
'_fonds' => $_fonds ? $_fonds : array()
);
$valeurs['_tableau_type'] = array();
$liste = lister_tables_objets_sql();
foreach ($liste as $table =>$info){
foreach ($liste as $table => $info){
$valeurs['_tableau_type'][] = $info['type'];
}
return $valeurs;
}
function formulaires_configurer_squelettesmots_verifier_dist(){
return array();
}
@ -36,29 +39,29 @@ function formulaires_configurer_squelettesmots_traiter_dist(){
$fonds = unserialize($GLOBALS['meta'][_SQUELETTES_MOTS_META]);
/* on charge les valeurs du formulaire */
$field_fonds = _request('fonds');
$id_groupes = _request('tid_groupe');
$types = _request('type');
$actif = _request('actif');
$field_fonds = _request('fonds');
$id_groupes = _request('tid_groupe');
$types = _request('type');
$actif = _request('actif');
/*On transforme les _POST en jolie tableau*/
if($field_fonds) {
$new_fonds = array();
foreach($field_fonds as $index => $fond) {
$index = intval($index);
$fond = addslashes($fond);
if($actif[$index]
AND $id_groupe = intval($id_groupes[$index])) {
$type = $types[$index];
$new_fonds[$fond] = array($id_groupe,$type,id_table_objet($type));
if ($field_fonds){
$new_fonds = array();
foreach ($field_fonds as $index => $fond){
$index = intval($index);
$fond = addslashes($fond);
if ($actif[$index]
and $id_groupe = intval($id_groupes[$index])){
$type = $types[$index];
$new_fonds[$fond] = array($id_groupe, $type, id_table_objet($type));
}
}
$fonds = $new_fonds;
}
$fonds = $new_fonds;
}
/* on ecrit la nouvelle configuration */
ecrire_meta(_SQUELETTES_MOTS_META,serialize($fonds));
ecrire_meta(_SQUELETTES_MOTS_META, serialize($fonds));
return array('message_ok'=>_T('config_info_enregistree'),'editable'=>true);
return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
}
?>

76
squelettesmots.php

@ -1,22 +1,12 @@
<?php
// Fichier créé pour SPIP avec un bout de code emprunté à celui ci.
// Distribué sans garantie sous licence GPL./
// Copyright (C) 2006 Pierre ANDREWS
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
/***************************************************************************\
* Plugin Squelettes par mot clef 3 *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
define('_SQUELETTES_MOTS_META','SquelettesMots:fond_pour_groupe');
define('_SQUELETTES_MOTS_META', 'SquelettesMots:fond_pour_groupe');
/**
* Selection du squelette par mot cle
@ -24,41 +14,40 @@ define('_SQUELETTES_MOTS_META','SquelettesMots:fond_pour_groupe');
* @param array $flux
* @return array
*/
function squelettesmots_styliser($flux) {
function squelettesmots_styliser($flux){
// quand le selecteur doit il s'activer ?
// pas de fond=rep/nom (inclusions)
if (!test_espace_prive()
AND $fond = $flux['args']['fond']
AND strpos($fond, '/')===false) {
// on cherche si le squelette a deja trouve un fond particulier specifique
and $fond = $flux['args']['fond']
and strpos($fond, '/')===false){
// on cherche si le squelette a deja trouve un fond particulier specifique
// c'est a dire different de $fond.html.
// Si c'est le cas, on ne cherche pas de squelette specifique par mot.
$skel = basename($flux['data']);
if ($skel == $fond) {
if ($skel==$fond){
$fonds = unserialize($GLOBALS['meta'][_SQUELETTES_MOTS_META]);
// array ($base_fond = array($id_groupe, $table, $_id_table))
// on teste qu'on a bien un fond
if (is_array($fonds) and isset($fonds[$fond])) {
if (is_array($fonds) and isset($fonds[$fond])){
// si un identifiant du meme type est bien passe
list($id_groupe, $table, $_id_table) = $fonds[$fond];
$ext = $flux['args']['ext'];
$id_rub = $flux['args']['id_rubrique'];
if ($id = intval($flux['args']['contexte'][$_id_table])) {
if ($id = intval($flux['args']['contexte'][$_id_table])){
// premier cas : mot sur l'article
if ($mot = quete_mot_squelette($id, $id_groupe, $table, $_id_table)
and ($squelette = test_squelette_motcle($fond, $ext, $mot, '=')
or $squelette = test_squelette_motcle($fond, $ext, $mot))) {
$flux['data'] = $squelette;
}
// second cas : mot sur une rubrique parente
and ($squelette = test_squelette_motcle($fond, $ext, $mot, '=')
or $squelette = test_squelette_motcle($fond, $ext, $mot))){
$flux['data'] = $squelette;
} // second cas : mot sur une rubrique parente
elseif ($mot = quete_mot_squelette($id_rub, $id_groupe, 'rubriques', 'id_rubrique', true)
and $squelette = test_squelette_motcle($fond, $ext, $mot)) {
$flux['data'] = $squelette;
$flux['data'] = $squelette;
}
}
}
}
}
}
return $flux;
}
@ -70,8 +59,8 @@ function squelettesmots_styliser($flux) {
* @param string $separateur
* @return string
*/
function test_squelette_motcle($fond, $ext, $mot, $separateur = '-') {
if ($squelette = find_in_path($fond . $separateur . $mot . '.' . $ext)) {
function test_squelette_motcle($fond, $ext, $mot, $separateur = '-'){
if ($squelette = find_in_path($fond . $separateur . $mot . '.' . $ext)){
return substr($squelette, 0, -strlen(".$ext"));
}
return '';
@ -89,28 +78,29 @@ function test_squelette_motcle($fond, $ext, $mot, $separateur = '-') {
* @param bool $recurse
* @return string
*/
function quete_mot_squelette($id ,$id_groupe, $table, $_id_table, $recurse=false) {
function quete_mot_squelette($id, $id_groupe, $table, $_id_table, $recurse = false){
$objet = objet_type($table);
while($id > 0) {
while ($id>0){
$where = array(
"lien.id_objet=".intval($id),
"lien.objet=".sql_quote($objet),
"id_groupe=".intval($id_groupe)
"lien.id_objet=" . intval($id),
"lien.objet=" . sql_quote($objet),
"id_groupe=" . intval($id_groupe)
);
// attention getfetsel ne renvoie qu'un mot !
// si quelqu'un a mis plusieurs mots sur l'objet, tant pis pour lui,
// on ne peut pas predire lequel sera retourne
if ($titre = sql_getfetsel('titre',"spip_mots AS mots JOIN spip_mots_liens AS lien ON mots.id_mot=lien.id_mot",$where)) {
if ($titre = sql_getfetsel('titre', "spip_mots AS mots JOIN spip_mots_liens AS lien ON mots.id_mot=lien.id_mot", $where)){
include_spip("inc/charsets");
include_spip("inc/filtres");
return translitteration(preg_replace('/["\'.\s]/', '_', extraire_multi($titre)));
}
if(!$recurse) return '';
if (!$recurse){
return '';
}
// attention identifiant de rubrique ici uniquement
$id = quete_parent($id);
}
return '';
}
return '';
}
?>
Loading…
Cancel
Save