Changeset 88169 in spip-zone


Ignore:
Timestamp:
Mar 24, 2015, 9:36:38 AM (4 years ago)
Author:
cedric@…
Message:

Indentation et suppresion du ?> final

Location:
_plugins_/plugin-thelia
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plugin-thelia/action/produits_article.php

    r24778 r88169  
    22function produits_article_update($id_article){
    33        //supprimer les enregistrements de cet article
    4         $query = "DELETE FROM spip_produits_articles WHERE id_article="._q($id_article);
     4        $query = "DELETE FROM spip_produits_articles WHERE id_article=" . _q($id_article);
    55        $result = spip_query($query);
    66
    7         $query = "DELETE FROM spip_rubriquesthelia_articles WHERE id_article="._q($id_article);
     7        $query = "DELETE FROM spip_rubriquesthelia_articles WHERE id_article=" . _q($id_article);
    88        $result = spip_query($query);
    99
    1010        //ajouter les associations produits-articles de cet article
    11         foreach ($_POST as $clef => $valeur) {
    12                if (strpos($clef, "produit-") === 0) {
    13                         $id_produit = substr($clef, 8);
    14                         spip_query("INSERT INTO spip_produits_articles (id_article,id_produit) VALUES ("._q($id_article).","._q($id_produit).")");
     11        foreach ($_POST as $clef => $valeur){
     12                if (strpos($clef, "produit-")===0){
     13                        $id_produit = substr($clef, 8);
     14                        spip_query("INSERT INTO spip_produits_articles (id_article,id_produit) VALUES (" . _q($id_article) . "," . _q($id_produit) . ")");
    1515                }
    1616        }
    1717
    1818        //ajouter les associations rubriquesthelia-articles de cet article
    19         foreach ($_POST as $clef => $valeur) {
    20                if (strpos($clef, "rubriquethelia-") === 0) {
    21                         $id_rubriquethelia = substr($clef, 15);
    22                         spip_query("INSERT INTO spip_rubriquesthelia_articles (id_article,id_rubriquethelia) VALUES ("._q($id_article).","._q($id_rubriquethelia).")");
     19        foreach ($_POST as $clef => $valeur){
     20                if (strpos($clef, "rubriquethelia-")===0){
     21                        $id_rubriquethelia = substr($clef, 15);
     22                        spip_query("INSERT INTO spip_rubriquesthelia_articles (id_article,id_rubriquethelia) VALUES (" . _q($id_article) . "," . _q($id_rubriquethelia) . ")");
    2323                }
    2424        }
    25        
     25
    2626        return array($id_article);
    2727}
     28
    2829function action_produits_article(){
    2930
     
    3637        if (!include_spip("inc/securiser_action"))
    3738                include_spip("inc/actions");
    38         if (verifier_action_auteur("produits_article-$arg",$hash,$id_auteur)==TRUE) {
    39                 $arg=explode("-",$arg);
     39        if (verifier_action_auteur("produits_article-$arg", $hash, $id_auteur)==TRUE){
     40                $arg = explode("-", $arg);
    4041                $id_article = $arg[0];
    41                 if (intval($id_article) && autoriser('modifier','article',$id_article)) {
     42                if (intval($id_article) && autoriser('modifier', 'article', $id_article)){
    4243                        list($id_article) = produits_article_update($id_article);
    4344                        //if ($redirect) $redirect = parametre_url($redirect,"id_article",$id_article);
     
    4647
    4748        if ($redirect)
    48                 redirige_par_entete(str_replace("&","&",urldecode($redirect)));
    49        
     49                redirige_par_entete(str_replace("&", "&", urldecode($redirect)));
     50
    5051}
    51 ?>
     52
  • _plugins_/plugin-thelia/action/produits_rubrique.php

    r24778 r88169  
    22function produits_rubrique_update($id_rubrique){
    33        //supprimer les enregistrements de cet rubrique
    4         $query = "DELETE FROM spip_produits_rubriques WHERE id_rubrique="._q($id_rubrique);
     4        $query = "DELETE FROM spip_produits_rubriques WHERE id_rubrique=" . _q($id_rubrique);
    55        $result = spip_query($query);
    66
    7         $query = "DELETE FROM spip_rubriquesthelia_rubriques WHERE id_rubrique="._q($id_rubrique);
     7        $query = "DELETE FROM spip_rubriquesthelia_rubriques WHERE id_rubrique=" . _q($id_rubrique);
    88        $result = spip_query($query);
    99
    1010        //ajouter les associations produits-rubriques de cet rubrique
    11         foreach ($_POST as $clef => $valeur) {
    12                if (strpos($clef, "produit-") === 0) {
    13                         $id_produit = substr($clef, 8);
    14                         spip_query("INSERT INTO spip_produits_rubriques (id_rubrique,id_produit) VALUES ("._q($id_rubrique).","._q($id_produit).")");
     11        foreach ($_POST as $clef => $valeur){
     12                if (strpos($clef, "produit-")===0){
     13                        $id_produit = substr($clef, 8);
     14                        spip_query("INSERT INTO spip_produits_rubriques (id_rubrique,id_produit) VALUES (" . _q($id_rubrique) . "," . _q($id_produit) . ")");
    1515                }
    1616        }
    1717
    1818        //ajouter les associations rubriquesthelia-rubriques de cet rubrique
    19         foreach ($_POST as $clef => $valeur) {
    20                if (strpos($clef, "rubriquethelia-") === 0) {
    21                         $id_rubriquethelia = substr($clef, 15);
    22                         spip_query("INSERT INTO spip_rubriquesthelia_rubriques (id_rubrique,id_rubriquethelia) VALUES ("._q($id_rubrique).","._q($id_rubriquethelia).")");
     19        foreach ($_POST as $clef => $valeur){
     20                if (strpos($clef, "rubriquethelia-")===0){
     21                        $id_rubriquethelia = substr($clef, 15);
     22                        spip_query("INSERT INTO spip_rubriquesthelia_rubriques (id_rubrique,id_rubriquethelia) VALUES (" . _q($id_rubrique) . "," . _q($id_rubriquethelia) . ")");
    2323                }
    2424        }
    25        
     25
    2626        return array($id_rubrique);
    2727}
     28
    2829function action_produits_rubrique(){
    2930
     
    3637        if (!include_spip("inc/securiser_action"))
    3738                include_spip("inc/actions");
    38         if (verifier_action_auteur("produits_rubrique-$arg",$hash,$id_auteur)==TRUE) {
    39                 $arg=explode("-",$arg);
     39        if (verifier_action_auteur("produits_rubrique-$arg", $hash, $id_auteur)==TRUE){
     40                $arg = explode("-", $arg);
    4041                $id_rubrique = $arg[0];
    41                 if (intval($id_rubrique) && autoriser('modifier','rubrique',$id_rubrique)) {
     42                if (intval($id_rubrique) && autoriser('modifier', 'rubrique', $id_rubrique)){
    4243                        list($id_rubrique) = produits_rubrique_update($id_rubrique);
    4344                        //if ($redirect) $redirect = parametre_url($redirect,"id_rubrique",$id_rubrique);
     
    4647
    4748        if ($redirect)
    48                 redirige_par_entete(str_replace("&","&",urldecode($redirect)));
     49                redirige_par_entete(str_replace("&", "&", urldecode($redirect)));
    4950
    5051}
    51 ?>
     52
  • _plugins_/plugin-thelia/auth/thelia.php

    r87036 r88169  
    99 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    1010 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    11 \***************************************************************************/
     11 * \***************************************************************************/
    1212
    1313include_spip('inc/session');
    1414if (!defined("_ECRIRE_INC_VERSION")) return;
    1515
    16          
    17           error_reporting(E_ALL);
     16
     17error_reporting(E_ALL);
    1818// Authentifie via Thélia et retourne la ligne SQL decrivant l'utilisateur si ok
    1919
    2020// http://doc.spip.org/@inc_auth_ldap_dist
    21 function auth_thelia_dist ($login, $pass, $md5pass="", $md5next="") {
    22                        
    23         if (lire_config("spip_thelia/auth_unique_spip_thelia","non")=="oui") {
     21function auth_thelia_dist($login, $pass, $md5pass = "", $md5next = ""){
    2422
    25                   spip_log("thelia2 $login " . ($pass ? "mdp fourni" : "mdp absent"). ($md5pass ? "md5mdp fourni" : "md5mdp absent"));
    26                   if (!file_exists(_RACINE_THELIA."fonctions/moteur.php") ) {
    27                       spip_log("fichier thelia trouve");
     23        if (lire_config("spip_thelia/auth_unique_spip_thelia", "non")=="oui"){
     24
     25                spip_log("thelia2 $login " . ($pass ? "mdp fourni" : "mdp absent") . ($md5pass ? "md5mdp fourni" : "md5mdp absent"));
     26                if (!file_exists(_RACINE_THELIA . "fonctions/moteur.php")){
     27                        spip_log("fichier thelia trouve");
    2828                        return array();
    29                   }
    30                  spip_log("thelia1"); //récupérer le nom de la base spip
    31                   if ($result = mysql_query("SELECT DATABASE()")) {
    32                     $row = mysql_fetch_row($result);
    33                     $spip_db = $row[0];
    34                   }
    35                   spip_log("test1, db courante=".$spip_db);
    36                     $res =" foo ";
    37                   ob_start();
    38                     include_once(_RACINE_THELIA.'fonctions/moteur.php');
    39                     ob_end_clean();
    40                     //include_once('classes/Client.class.php');
    41                   spip_log("test2");
    42                  
    43                                
    44                   // Securite
    45                   if (!$login || (!$pass && !$md5pass)) return array();
     29                }
     30                spip_log("thelia1"); //récupérer le nom de la base spip
     31                if ($result = mysql_query("SELECT DATABASE()")){
     32                        $row = mysql_fetch_row($result);
     33                        $spip_db = $row[0];
     34                }
     35                spip_log("test1, db courante=" . $spip_db);
     36                $res = " foo ";
     37                ob_start();
     38                include_once(_RACINE_THELIA . 'fonctions/moteur.php');
     39                ob_end_clean();
     40                //include_once('classes/Client.class.php');
     41                spip_log("test2");
    4642
    47                              
    48                  
    4943
    50                   // Utilisateur connu ?
    51                           $client = New Client();
    52                           $rec = $client->charger($login, $pass);
     44                // Securite
     45                if (!$login || (!$pass && !$md5pass)) return array();
    5346
    54                           //revenir sur la base spip
    55                           $resultconnect = mysql_select_db($spip_db);
    56                            spip_log("spipdb=".$spip_db." - ".$resultconnect);
    57                           if($rec) {
    58                                   spip_log("thelia $login utilisateur connu");
    59                                   $_SESSION['navig']->client = $client;
    60                                   $_SESSION['navig']->connecte = 1;
    61                                   modules_fonction("apresconnexion");
    62                                
    63                                 // importer les infos depuis thelia,
    64                                 // avec le statut par defaut a l'install
    65                                 // refuser d'importer n'importe qui
    66                                 if (!$statut = $GLOBALS['thelia_statut_nouvel_auteur']) return array();
    67                        
    68                                 if ($result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='thelia'")) {
    69                                           $data = pipeline('thelia_authentifie',array("auteur" => $result,"statut"=>"existant"));
    70                                       return $data['auteur'];
    71                                 }
    72                                
    73                                 spip_log("thelia2");
    74                                 // Recuperer les donnees de l'auteur
    75                                 // Convertir depuis UTF-8 (jeu de caracteres par defaut)
    76                                 include_spip('inc/charsets');
    77                                 $nom = $client->nom.' '.$client->prenom;
    78                                 $email = $login;
    79                                 $bio = '';
    80                                 $resultconnect = mysql_select_db($spip_db);
    81                                 spip_log("thelia2bis-connect=".$resultconnect);
    82                                 $n = sql_insertq('spip_auteurs', array(
    83                                                 'source' => 'thelia',
    84                                                 'nom' => $nom,
    85                                                 'login' => $login,
    86                                                 'email' => $email,
    87                                                 'bio' => $bio,
    88                                                 'statut' => $statut,
    89                                                 'pass' => ''),0);
    90                                 spip_log("thelia3");
    91                                 spip_log("Creation de l'auteur '$nom' depuis thelia dans spip_auteurs id->".$n);
    92                              
    93                                 spip_log("thelia4");
    94              
    95                                 if($_SESSION['navig']->urlpageret) {
    96                                      spip_log("redirige vers ".$_SESSION['navig']->urlpageret);
    97                                           redirige($_SESSION['navig']->urlpageret);
    98                                 } else {
    99                                       spip_log("redirige vers index.php");
    100                                       redirige("index.php");
    101                                 }
    102                                 spip_log("test6");
    103                                 if ($n) {
    104                                         $auteur = sql_fetsel("*", "spip_auteurs", "id_auteur=$n");
    105                                         $data = pipeline('thelia_authentifie',array("auteur" => $auteur,"statut"=>"nouveau"));
    106                                     return $data['auteur'];
    107                                 }
    10847
    109                                 spip_log("Creation de l'auteur '$nom' depuis thelia impossible");
    110                                
    111                                
    112                                
    113                                 return array();
    114                                
     48                // Utilisateur connu ?
     49                $client = New Client();
     50                $rec = $client->charger($login, $pass);
     51
     52                //revenir sur la base spip
     53                $resultconnect = mysql_select_db($spip_db);
     54                spip_log("spipdb=" . $spip_db . " - " . $resultconnect);
     55                if ($rec){
     56                        spip_log("thelia $login utilisateur connu");
     57                        $_SESSION['navig']->client = $client;
     58                        $_SESSION['navig']->connecte = 1;
     59                        modules_fonction("apresconnexion");
     60
     61                        // importer les infos depuis thelia,
     62                        // avec le statut par defaut a l'install
     63                        // refuser d'importer n'importe qui
     64                        if (!$statut = $GLOBALS['thelia_statut_nouvel_auteur']) return array();
     65
     66                        if ($result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='thelia'")){
     67                                $data = pipeline('thelia_authentifie', array("auteur" => $result, "statut" => "existant"));
     68                                return $data['auteur'];
     69                        }
     70
     71                        spip_log("thelia2");
     72                        // Recuperer les donnees de l'auteur
     73                        // Convertir depuis UTF-8 (jeu de caracteres par defaut)
     74                        include_spip('inc/charsets');
     75                        $nom = $client->nom . ' ' . $client->prenom;
     76                        $email = $login;
     77                        $bio = '';
     78                        $resultconnect = mysql_select_db($spip_db);
     79                        spip_log("thelia2bis-connect=" . $resultconnect);
     80                        $n = sql_insertq('spip_auteurs', array(
     81                                'source' => 'thelia',
     82                                'nom' => $nom,
     83                                'login' => $login,
     84                                'email' => $email,
     85                                'bio' => $bio,
     86                                'statut' => $statut,
     87                                'pass' => ''), 0);
     88                        spip_log("thelia3");
     89                        spip_log("Creation de l'auteur '$nom' depuis thelia dans spip_auteurs id->" . $n);
     90
     91                        spip_log("thelia4");
     92
     93                        if ($_SESSION['navig']->urlpageret){
     94                                spip_log("redirige vers " . $_SESSION['navig']->urlpageret);
     95                                redirige($_SESSION['navig']->urlpageret);
    11596                        } else {
    116                               //utilisateur inconnu
    117                               spip_log("thelia $login utilisateur inconnu");
    118                               redirige("connexion.php?errconnex=1");
    119                               return array(); 
     97                                spip_log("redirige vers index.php");
     98                                redirige("index.php");
    12099                        }
    121         }
    122 spip_log("thelia0");
    123        
     100                        spip_log("test6");
     101                        if ($n){
     102                                $auteur = sql_fetsel("*", "spip_auteurs", "id_auteur=$n");
     103                                $data = pipeline('thelia_authentifie', array("auteur" => $auteur, "statut" => "nouveau"));
     104                                return $data['auteur'];
     105                        }
     106
     107                        spip_log("Creation de l'auteur '$nom' depuis thelia impossible");
     108
     109
     110                        return array();
     111
     112                } else {
     113                        //utilisateur inconnu
     114                        spip_log("thelia $login utilisateur inconnu");
     115                        redirige("connexion.php?errconnex=1");
     116                        return array();
     117                }
     118        }
     119        spip_log("thelia0");
     120
    124121        return array();
    125      
     122
    126123}
    127124
     
    129126        $auteur = array(login,pass,client)
    130127*/
    131 function creer_auteur_thelia($auteur) {
     128function creer_auteur_thelia($auteur){
    132129
    133     if (empty($auteur))
    134         return array();
     130        if (empty($auteur))
     131                return array();
    135132
    136133        //Empecher un doublon
    137         if (isset($auteur['login']) && $result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($auteur['login']) . " AND source='thelia'")) {
    138               spip_log("l'utilisateur $login est déjà enregistré dans spip tout va bien",'theliaob');
    139               return $result;
     134        if (isset($auteur['login']) && $result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($auteur['login']) . " AND source='thelia'")){
     135                spip_log("l'utilisateur $login est déjà enregistré dans spip tout va bien", 'theliaob');
     136                return $result;
    140137        }
    141        
     138
    142139        //charger le support thelia     
    143140        ob_start();
    144                 include_once('fonctions/moteur.php');
    145         ob_end_clean(); 
     141        include_once('fonctions/moteur.php');
     142        ob_end_clean();
    146143
    147144        //Empecher un doublon
    148         if (isset($auteur['client']) &&  $result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($auteur['client']->email) . " AND source='thelia'")) {
    149               spip_log("l'utilisateur $login est déjà enregistré dans spip tout va bien",'theliaob');
    150               return $result;
     145        if (isset($auteur['client']) && $result = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($auteur['client']->email) . " AND source='thelia'")){
     146                spip_log("l'utilisateur $login est déjà enregistré dans spip tout va bien", 'theliaob');
     147                return $result;
    151148        }
    152149
    153150        //Tester la présence dans thelia
    154151        $client = $auteur['client'];
    155         if (!$auteur['client']) {
     152        if (!$auteur['client']){
    156153                $client = New Client();
    157154                if (!$client->charger($auteur['login'], $auteur['pass']))
    158                         return array(); 
     155                        return array();
    159156        }
    160157
    161158        //Valeur par défaut
    162         if (!$statut = $GLOBALS['thelia_statut_nouvel_auteur']) {
    163                 spip_log('erreur pas de statut defini par defaut','theliaob');
    164                 return array(); 
     159        if (!$statut = $GLOBALS['thelia_statut_nouvel_auteur']){
     160                spip_log('erreur pas de statut defini par defaut', 'theliaob');
     161                return array();
    165162        }
    166163
    167         spip_log("enregistrement auteur",'theliaob');
     164        spip_log("enregistrement auteur", 'theliaob');
    168165        // Recuperer les donnees de l'auteur
    169166        // Convertir depuis UTF-8 (jeu de caracteres par defaut)
    170167        include_spip('inc/charsets');
    171         $nom = $client->nom.' '.$client->prenom;
     168        $nom = $client->nom . ' ' . $client->prenom;
    172169        $login = $email = $client->email;
    173170        $bio = '';
    174171        $n = sql_insertq(
    175                 'spip_auteurs', 
     172                'spip_auteurs',
    176173                array(
    177174                        'source' => 'thelia',
     
    182179                        'statut' => $statut,
    183180                        'pass' => '')
    184                 );
    185         spip_log('Auteur depuis thelia d\'id '.$n,'theliaob');
     181        );
     182        spip_log('Auteur depuis thelia d\'id ' . $n, 'theliaob');
    186183
    187184        return sql_fetsel("*", "spip_auteurs", "id_auteur=$n");
    188185}
    189 ?>
     186
  • _plugins_/plugin-thelia/base/spip_thelia_produits_associes.php

    r20786 r88169  
    88
    99
    10 
    1110//-- Table produits_articles ------------------------------------------
    1211$spip_produits_articles = array(
    13                 "id_produit"    => "bigint(21) NOT NULL",
    14                 "id_article"    => "bigint(21) NOT NULL"
    15                 );
     12        "id_produit" => "bigint(21) NOT NULL",
     13        "id_article" => "bigint(21) NOT NULL"
     14);
    1615
    1716$spip_produits_articles_key = array(
    18         "PRIMARY KEY"   => "id_produit, id_article",
     17        "PRIMARY KEY" => "id_produit, id_article",
    1918        "KEY id_article" => "id_article");
    2019
     
    3029// 'spip_' dans l'index de $tables_principales
    3130global $table_des_tables;
    32 $table_des_tables['produits_articles']='produits_articles';
    33        
     31$table_des_tables['produits_articles'] = 'produits_articles';
     32
    3433
    3534//-- Table produits_rubriques ------------------------------------------
    3635$spip_produits_rubriques = array(
    37                 "id_produit"    => "bigint(21) NOT NULL",
    38                 "id_rubrique"   => "bigint(21) NOT NULL"
    39                 );
     36        "id_produit" => "bigint(21) NOT NULL",
     37        "id_rubrique" => "bigint(21) NOT NULL"
     38);
    4039
    4140$spip_produits_rubriques_key = array(
    42         "PRIMARY KEY"   => "id_produit, id_rubrique",
     41        "PRIMARY KEY" => "id_produit, id_rubrique",
    4342        "KEY id_rubrique" => "id_rubrique");
    4443
     
    5453// 'spip_' dans l'index de $tables_principales
    5554global $table_des_tables;
    56 $table_des_tables['produits_rubriques']='produits_rubriques';
    57        
     55$table_des_tables['produits_rubriques'] = 'produits_rubriques';
     56
    5857//-- Table rubriquesthelia_articles ------------------------------------------
    5958$spip_rubriquesthelia_articles = array(
    60                 "id_rubriquethelia"     => "bigint(21) NOT NULL",
    61                 "id_article"    => "bigint(21) NOT NULL"
    62                 );
     59        "id_rubriquethelia" => "bigint(21) NOT NULL",
     60        "id_article" => "bigint(21) NOT NULL"
     61);
    6362
    6463$spip_rubriquesthelia_articles_key = array(
    65         "PRIMARY KEY"   => "id_rubriquethelia, id_article",
     64        "PRIMARY KEY" => "id_rubriquethelia, id_article",
    6665        "KEY id_article" => "id_article");
    6766
     
    7776// 'spip_' dans l'index de $tables_principales
    7877global $table_des_tables;
    79 $table_des_tables['rubriquesthelia_articles']='rubriquesthelia_articles';
    80        
     78$table_des_tables['rubriquesthelia_articles'] = 'rubriquesthelia_articles';
     79
    8180
    8281//-- Table rubriquesthelia_rubriques ------------------------------------------
    8382$spip_rubriquesthelia_rubriques = array(
    84                 "id_rubriquethelia"     => "bigint(21) NOT NULL",
    85                 "id_rubrique"   => "bigint(21) NOT NULL"
    86                 );
     83        "id_rubriquethelia" => "bigint(21) NOT NULL",
     84        "id_rubrique" => "bigint(21) NOT NULL"
     85);
    8786
    8887$spip_rubriquesthelia_rubriques_key = array(
    89         "PRIMARY KEY"   => "id_rubriquethelia, id_rubrique",
     88        "PRIMARY KEY" => "id_rubriquethelia, id_rubrique",
    9089        "KEY id_rubrique" => "id_rubrique");
    9190
     
    101100// 'spip_' dans l'index de $tables_principales
    102101global $table_des_tables;
    103 $table_des_tables['rubriquesthelia_rubriques']='rubriquesthelia_rubriques';
     102$table_des_tables['rubriquesthelia_rubriques'] = 'rubriquesthelia_rubriques';
    104103       
    105 
    106 ?>
  • _plugins_/plugin-thelia/base/spip_thelia_upgrade.php

    r39949 r88169  
    11<?php
    2         $GLOBALS['spip_thelia_base_version'] = 0.1;
    3         function spip_thelia_verifier_base(){
    4                 $version_base = $GLOBALS['spip_thelia_base_version'];
    5                 $current_version = 0.0;
    6                 if (   (!isset($GLOBALS['meta']['spip_thelia_base_version']) )
    7                                 || (($current_version = $GLOBALS['meta']['spip_thelia_base_version'])!=$version_base)){
    8                         include_spip('base/spip_thelia_produits_associes');
    9                         if ($current_version==0.0){
    10                                 include_spip('base/create');
    11                                 include_spip('base/abstract_sql');
    12                                 creer_base();
    13                                 ecrire_meta('spip_thelia_base_version',$current_version=$version_base,'non');
    14                         }
     2$GLOBALS['spip_thelia_base_version'] = 0.1;
     3function spip_thelia_verifier_base(){
     4        $version_base = $GLOBALS['spip_thelia_base_version'];
     5        $current_version = 0.0;
     6        if ((!isset($GLOBALS['meta']['spip_thelia_base_version']))
     7                || (($current_version = $GLOBALS['meta']['spip_thelia_base_version'])!=$version_base)
     8        ){
     9                include_spip('base/spip_thelia_produits_associes');
     10                if ($current_version==0.0){
     11                        include_spip('base/create');
     12                        include_spip('base/abstract_sql');
     13                        creer_base();
     14                        ecrire_meta('spip_thelia_base_version', $current_version = $version_base, 'non');
     15                }
     16                ecrire_metas();
     17        }
     18        if (isset($GLOBALS['meta']['INDEX_elements_objet'])){
     19                $INDEX_elements_objet = unserialize($GLOBALS['meta']['INDEX_elements_objet']);
     20                if (!isset($INDEX_elements_objet['spip_produits_articles'])){
     21                        $INDEX_elements_objet['spip_produits_articles'] = array('id_produit' => 8, 'id_article' => 4);
     22                        ecrire_meta('INDEX_elements_objet', serialize($INDEX_elements_objet));
    1523                        ecrire_metas();
    1624                }
    17                 if (isset($GLOBALS['meta']['INDEX_elements_objet'])){
    18                         $INDEX_elements_objet = unserialize($GLOBALS['meta']['INDEX_elements_objet']);
    19                         if (!isset($INDEX_elements_objet['spip_produits_articles'])){
    20                                 $INDEX_elements_objet['spip_produits_articles'] = array('id_produit'=>8,'id_article'=>4);
    21                                 ecrire_meta('INDEX_elements_objet',serialize($INDEX_elements_objet));
    22                                 ecrire_metas();
    23                         }
    24                 }
    2525        }
    26        
    27         function spip_thelia_vider_tables() {
    28                 include_spip('base/spip_thelia_produits_associes');
    29                 include_spip('base/abstract_sql');
    30                 spip_query("DROP TABLE spip_produits_articles");
    31                 spip_query("DROP TABLE spip_produits_rubriques");
    32                 spip_query("DROP TABLE spip_rubriquesthelia_rubriques");
    33                 spip_query("DROP TABLE spip_rubriquesthelia_rubriques");
    34                 effacer_meta('spip_thelia_base_version');
    35                 ecrire_metas();
     26}
     27
     28function spip_thelia_vider_tables(){
     29        include_spip('base/spip_thelia_produits_associes');
     30        include_spip('base/abstract_sql');
     31        spip_query("DROP TABLE spip_produits_articles");
     32        spip_query("DROP TABLE spip_produits_rubriques");
     33        spip_query("DROP TABLE spip_rubriquesthelia_rubriques");
     34        spip_query("DROP TABLE spip_rubriquesthelia_rubriques");
     35        effacer_meta('spip_thelia_base_version');
     36        ecrire_metas();
     37}
     38
     39function spip_thelia_install($action){
     40        include_spip('inc/meta');
     41        include_spip('base/create');
     42        $version_base = $GLOBALS['spip_thelia_base_version'];
     43        switch ($action) {
     44                case 'test':
     45                        return (isset($GLOBALS['meta']['spip_thelia_base_version']) AND ($GLOBALS['meta']['spip_thelia_base_version']>=$version_base));
     46                        break;
     47                case 'install':
     48                        spip_thelia_verifier_base();
     49                        break;
     50                case 'uninstall':
     51                        spip_thelia_vider_tables();
     52                        break;
    3653        }
    37        
    38         function spip_thelia_install($action){
    39                 include_spip('inc/meta');
    40                 include_spip('base/create');
    41                 $version_base = $GLOBALS['spip_thelia_base_version'];
    42                 switch ($action){
    43                         case 'test':
    44                                 return (isset($GLOBALS['meta']['spip_thelia_base_version']) AND ($GLOBALS['meta']['spip_thelia_base_version']>=$version_base));
    45                                 break;
    46                         case 'install':
    47                                 spip_thelia_verifier_base();
    48                                 break;
    49                         case 'uninstall':
    50                                 spip_thelia_vider_tables();
    51                                 break;
    52                 }
    53         }       
    54 ?>
     54}
     55
  • _plugins_/plugin-thelia/exec/spip_thelia_catalogue.php

    r48080 r88169  
    11<?php
    22if (!defined("_ECRIRE_INC_VERSION")) return;
    3 function exec_spip_thelia_catalogue_dist()
    4 {
    5         if (function_exists('debut_page')) {
     3function exec_spip_thelia_catalogue_dist(){
     4        if (function_exists('debut_page')){
    65                // SPIP Version 1.9.x
    76                debut_page(_T("spip_thelia:catalogue_thelia"), _T("spip_thelia:catalogue_thelia"), _T("spip_thelia:catalogue_thelia"));
     
    98                // SPIP >= 2.0
    109                $commencer_page = charger_fonction('commencer_page', 'inc');
    11                 echo $commencer_page(_T("spip_thelia:catalogue_thelia"),_T("spip_thelia:catalogue_thelia"),_T("spip_thelia:catalogue_thelia"));
     10                echo $commencer_page(_T("spip_thelia:catalogue_thelia"), _T("spip_thelia:catalogue_thelia"), _T("spip_thelia:catalogue_thelia"));
    1211        }
    1312
    14         if (function_exists('lire_config')) {
    15             $thelia_url = '../'._RACINE_THELIA.lire_config('spip_thelia/repadmin_spip_thelia','admin').'/';
     13        if (function_exists('lire_config')){
     14                $thelia_url = '../' . _RACINE_THELIA . lire_config('spip_thelia/repadmin_spip_thelia', 'admin') . '/';
    1615        } else {
    17             $thelia_url = '../'._RACINE_THELIA._THELIA_ADMIN.'/';
     16                $thelia_url = '../' . _RACINE_THELIA . _THELIA_ADMIN . '/';
    1817        }
    1918
    20         if (find_in_path($thelia_url)) {
     19        if (find_in_path($thelia_url)){
    2120
    22               if (_request('thelia_url')) $thelia_url .= _request('thelia_url');
    23              
    24               echo "<script type='text/javascript' src='".find_in_path('javascript/jquery.dimensions.min.js')."'></script>
     21                if (_request('thelia_url')) $thelia_url .= _request('thelia_url');
     22
     23                echo "<script type='text/javascript' src='" . find_in_path('javascript/jquery.dimensions.min.js') . "'></script>
    2524                      <iframe src='$thelia_url' style='width:100%;height:600px;' frameborder='0' scrolling='auto' id='iFrameToAdjust' ></iframe>
    2625                      <script type='text/javascript' >
     
    3635                                      .load(autoHeight);
    3736                      </script>";
    38              
     37
    3938
    4039        } else {
    41             echo("Le dossier d'admin de Th&eacute;lia n'a pas &eacute;t&eacute; trouv&eacute;. V&eacute;rifiez que le chemin est correct dans le <a href='?exec=cfg&cfg=spip_thelia'>formulaire CFG de param&eacute;trage du plugin</a>.");
     40                echo("Le dossier d'admin de Th&eacute;lia n'a pas &eacute;t&eacute; trouv&eacute;. V&eacute;rifiez que le chemin est correct dans le <a href='?exec=cfg&cfg=spip_thelia'>formulaire CFG de param&eacute;trage du plugin</a>.");
    4241        }
    4342
     
    4544
    4645}
    47 ?>
  • _plugins_/plugin-thelia/formulaires/login.php

    r32903 r88169  
    99 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    1010 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    11 \***************************************************************************/
    12 
    13 if (!defined("_ECRIRE_INC_VERSION")) return;    #securite
     11 * \***************************************************************************/
     12
     13if (!defined("_ECRIRE_INC_VERSION")) return;  #securite
    1414
    1515include_spip('base/abstract_sql');
     
    1717function is_url_prive($cible){
    1818        $parse = parse_url($cible);
    19         return strncmp(substr($parse['path'],-strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS))==0;
    20 }
    21 
    22 function formulaires_login_charger_dist($cible="",$login="",$prive=null)
    23 {
     19        return strncmp(substr($parse['path'], -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS))==0;
     20}
     21
     22function formulaires_login_charger_dist($cible = "", $login = "", $prive = null){
    2423        $erreur = _request('var_erreur');
    2524
    2625        if (!$login) $login = _request('var_login');
    27         if (!$login) {
     26        if (!$login){
    2827                if (isset($_COOKIE['spip_admin'])
    29                 AND preg_match(",^@(.*)$,", $_COOKIE['spip_admin'], $regs))
     28                        AND preg_match(",^@(.*)$,", $_COOKIE['spip_admin'], $regs)
     29                )
    3030                        $login = $regs[1];
    31         } 
     31        }
    3232
    3333        $row = informer_login($login);
     
    3636        // Ne pas proposer de "rester connecte quelques jours"
    3737        // si la duree de l'alea est inferieure a 12 h (valeur par defaut)
    38                
     38
    3939        $valeurs = array(
    4040                'var_login' => $login,
     
    4242                'cnx' => $row['cnx'],
    4343                'auth_http' => login_auth_http(),
    44                 'rester_connecte' => ((_RENOUVELLE_ALEA < 12*3600)? '' : ' '),
     44                'rester_connecte' => ((_RENOUVELLE_ALEA<12*3600) ? '' : ' '),
    4545                '_logo' => $row['logo'],
    46                 '_alea_actuel' => isset($row['alea_actuel'])?$row['alea_actuel']:'',
    47                 '_alea_futur' => isset($row['alea_futur'])?$row['alea_futur']:'',
     46                '_alea_actuel' => isset($row['alea_actuel']) ? $row['alea_actuel'] : '',
     47                '_alea_futur' => isset($row['alea_futur']) ? $row['alea_futur'] : '',
    4848                '_hidden' => '<input type="hidden" name="session_password_md5" value="" /><input type="hidden" name="next_session_password_md5" value="" />'
    49                 );
     49        );
    5050
    5151        if ($erreur OR !$GLOBALS['visiteur_session']['id_auteur'])
    5252                $valeurs['editable'] = true;
    5353
    54         if (is_null($prive) ? is_url_prive($cible) : $prive) {
     54        if (is_null($prive) ? is_url_prive($cible) : $prive){
    5555                include_spip('inc/autoriser');
    5656                $loge = autoriser('ecrire');
    57         } else  $loge = ($GLOBALS['visiteur_session']['auth'] != '');
     57        } else  $loge = ($GLOBALS['visiteur_session']['auth']!='');
    5858
    5959        // Si on est connecte, appeler traiter()
    6060        // et lancer la redirection si besoin
    61         if (!$valeurs['editable'] AND $loge) {
    62                 $traiter = charger_fonction('traiter','formulaires/login');
     61        if (!$valeurs['editable'] AND $loge){
     62                $traiter = charger_fonction('traiter', 'formulaires/login');
    6363                $res = $traiter($cible, $login, $prive);
    64                 $valeurs = array_merge($valeurs,$res);
     64                $valeurs = array_merge($valeurs, $res);
    6565
    6666                if ($res['redirect']){
     
    6969                        # quand la redirection 302 ci-dessus ne fonctionne pas
    7070                        $valeurs['_deja_loge'] =
    71                         "<a href='$cible'>" . _T('login_par_ici') . "</a>$m";
     71                                "<a href='$cible'>" . _T('login_par_ici') . "</a>$m";
    7272                }
    7373        }
     
    7676        // s'il est la, c'est probablement un bookmark sur bonjour=oui,
    7777        // et pas un echec cookie.
    78         if ($erreur == 'cookie') $valeurs['echec_cookie'] = ' ';
    79         elseif ($erreur){
     78        if ($erreur=='cookie') $valeurs['echec_cookie'] = ' ';
     79        elseif ($erreur) {
    8080                // une erreur d'un SSO indique dans la redirection vers ici
    8181                // mais il faut se proteger de toute tentative d'injection malveilante
     
    100100        // desactiver le hash md5 si pas auteur spip ?
    101101        if ($row['source']!=='spip'){
    102                 $row['alea_actuel']= '';
    103                 $row['alea_futur']= '';
     102                $row['alea_actuel'] = '';
     103                $row['alea_futur'] = '';
    104104        }
    105105        $prefs = unserialize($row['prefs']);
    106         $row['cnx'] = ($prefs['cnx'] == 'perma') ? '1' : '0';
     106        $row['cnx'] = ($prefs['cnx']=='perma') ? '1' : '0';
    107107        $row['logo'] = recuperer_fond('formulaires/inc-logo_auteur', $row);
    108108        unset($row['prefs']);
    109         unset($row['source']);         
     109        unset($row['source']);
    110110        verifier_visiteur();
    111111        return $row;
     
    115115// on propose alors un formulaire pour s'authentifier via http
    116116
    117 function login_auth_http()
    118 {
     117function login_auth_http(){
    119118        if (!$GLOBALS['ignore_auth_http']
    120                 AND _request('var_erreur')=='cookie' 
    121                 AND $_COOKIE['spip_session'] != 'test_echec_cookie'
     119                AND _request('var_erreur')=='cookie'
     120                AND $_COOKIE['spip_session']!='test_echec_cookie'
    122121                AND (($GLOBALS['flag_sapi_name'] AND preg_match(",apache,i", @php_sapi_name()))
    123122                        OR preg_match(",^Apache.* PHP,", $_SERVER['SERVER_SOFTWARE']))
    124123                // Attention dans le cas 'intranet' la proposition de se loger
    125124                // par auth_http peut conduire a l'echec.
    126                 AND !(isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW'])))
    127 
    128                 return generer_url_action('cookie',"",false,true);
    129         else    return '';
    130 }
    131 
    132 function formulaires_login_verifier_dist($cible="",$login="",$prive=null){
    133        
     125                AND !(isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW']))
     126        )
     127
     128                return generer_url_action('cookie', "", false, true);
     129        else  return '';
     130}
     131
     132function formulaires_login_verifier_dist($cible = "", $login = "", $prive = null){
     133
    134134        include_spip('auth/thelia');
    135135        $session_login = _request('var_login');
     
    139139        $session_remember = _request('session_remember');
    140140
    141         if (!$session_login) {
     141        if (!$session_login){
    142142                # pas de login saisi !
    143143                return array('message_erreur' =>
     
    146146        }
    147147        $row = retrouver_login($session_login);
    148         if ($row) 
     148        if ($row)
    149149                $login = $row['login'];
    150         else 
     150        else
    151151                $login = $session_login;  // laisser une chance
    152        
     152
    153153        $auteur = verifier_login($login, $session_password, $session_md5pass, $session_md5next);
    154         if (!$auteur) {
     154        if (!$auteur){
    155155                /*if (strlen($session_password) OR strlen($session_md5pass))
    156156                        return array('password' => _T('login_erreur_pass'));
     
    158158                // pas de message d'erreur
    159159               
    160                 else */return array('password' => ' ');
    161                
     160                else */
     161                return array('password' => ' ');
     162
    162163        }
    163164        // on a ete authentifie, construire la session
    164165        // en gerant la duree demandee pour son cookie
    165         if ($session_remember !== NULL)
     166        if ($session_remember!==NULL)
    166167                $auteur['cookie'] = $session_remember;
    167168        $session = charger_fonction('session', 'inc');
    168169        $session($auteur);
    169170        $p = ($auteur['prefs']) ? unserialize($auteur['prefs']) : array();
    170         $p['cnx'] = ($session_remember == 'oui') ? 'perma' : '';
     171        $p['cnx'] = ($session_remember=='oui') ? 'perma' : '';
    171172        $p = array('prefs' => serialize($p));
    172173        sql_updateq('spip_auteurs', $p, "id_auteur=" . $auteur['id_auteur']);
     
    174175        verifier_visiteur();
    175176        return (is_null($prive) ? is_url_prive($cible) : $prive)
    176         ?  login_autoriser() : array();
    177    
    178        
    179 
    180 }
    181 
    182 function login_autoriser()
    183 {
     177                ? login_autoriser() : array();
     178
     179
     180}
     181
     182function login_autoriser(){
    184183        include_spip('inc/autoriser');
    185184        if (!autoriser('ecrire')){
    186                 $h = generer_url_action('logout','logout=prive&url='.urlencode(self()));
     185                $h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
    187186                return array('message_erreur' => "<h1>"
    188                                 ._T('avis_erreur_visiteur')
    189                                 ."</h1><p>"
    190                                 ._T('texte_erreur_visiteur')
    191                                 ."</p><p class='retour'>[<a href='$h'>"
    192                                 ._T('icone_deconnecter')."</a>]</p>");
     187                        . _T('avis_erreur_visiteur')
     188                        . "</h1><p>"
     189                        . _T('texte_erreur_visiteur')
     190                        . "</p><p class='retour'>[<a href='$h'>"
     191                        . _T('icone_deconnecter') . "</a>]</p>");
    193192        }
    194193        return array();
    195194}
    196195
    197 function formulaires_login_traiter_dist($cible="",$login="",$prive=null){
     196function formulaires_login_traiter_dist($cible = "", $login = "", $prive = null){
    198197        $res = array();
    199198        // Si on se connecte dans l'espace prive,
    200199        // ajouter "bonjour" (repere a peu pres les cookies desactives)
    201         if (is_null($prive) ? is_url_prive($cible) : $prive) {
     200        if (is_null($prive) ? is_url_prive($cible) : $prive){
    202201                $cible = parametre_url($cible, 'bonjour', 'oui', '&');
    203202        }
    204203        if ($cible=='@page_auteur')
    205                 $cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'],'auteur');
    206 
    207         if ($cible) {
     204                $cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
     205
     206        if ($cible){
    208207                $cible = parametre_url($cible, 'var_login', '', '&');
    209         } 
    210        
     208        }
     209
    211210        // transformer la cible absolue en cible relative
    212211        // pour pas echouer quand la meta adresse_site est foireuse
    213         if (strncmp($cible,$u = url_de_base(),strlen($u))==0){
    214                 $cible = "./".substr($cible,strlen($u));
     212        if (strncmp($cible, $u = url_de_base(), strlen($u))==0){
     213                $cible = "./" . substr($cible, strlen($u));
    215214        }
    216215
    217216        // Si on est admin, poser le cookie de correspondance
    218         if ($GLOBALS['auteur_session']['statut'] == '0minirezo') {
     217        if ($GLOBALS['auteur_session']['statut']=='0minirezo'){
    219218                include_spip('inc/cookie');
    220                 spip_setcookie('spip_admin', '@'.$GLOBALS['auteur_session']['login'],
    221                 time() + 7 * 24 * 3600);
     219                spip_setcookie('spip_admin', '@' . $GLOBALS['auteur_session']['login'],
     220                        time()+7*24*3600);
    222221        }
    223222
    224223        // Si on est connecte, envoyer vers la destination
    225         if ($cible AND ($cible!=self())) {
    226                 if (!headers_sent() AND !$_GET['var_mode']) {
     224        if ($cible AND ($cible!=self())){
     225                if (!headers_sent() AND !$_GET['var_mode']){
    227226                        include_spip('inc/headers');
    228227                        $res['redirect'] = $cible;
    229228                } else {
    230229                        $res['message_ok'] .= "<a href='$cible'>" .
    231                           _T('login_par_ici') .
    232                           "</a>";
     230                                _T('login_par_ici') .
     231                                "</a>";
    233232                }
    234233        }
     
    239238// Reconnaitre aussi ceux qui donnent leur nom ou email au lieu du login
    240239
    241 function retrouver_login($login)
    242 {
    243         if (!spip_connect()) {
     240function retrouver_login($login){
     241        if (!spip_connect()){
    244242                include_spip('inc/minipres');
    245243                echo minipres(_T('info_travaux_titre'),
    246                               _T('titre_probleme_technique'));
     244                        _T('titre_probleme_technique'));
    247245                exit;
    248246        }
    249247        $l = sql_quote($login);
    250248        if ($r = sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs,source,login', 'spip_auteurs',
    251                         "statut<>'5poubelle' AND (" .
    252                         "pass<>'' OR source<>'spip') AND (" .
    253                         "login=$l)"))
     249                "statut<>'5poubelle' AND (" .
     250                "pass<>'' OR source<>'spip') AND (" .
     251                "login=$l)")
     252        )
    254253                return $r;
    255254        // Si pas d'auteur avec ce login
     
    258257        // car un nom peut etre homonyme d'un autre login
    259258        else return sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs,source,login', 'spip_auteurs',
    260                         "statut<>'5poubelle' AND (" .
    261                         "pass<>'' OR source<>'spip') AND (" .
    262                         "login<>'' AND (nom=$l OR email=$l))");
     259                "statut<>'5poubelle' AND (" .
     260                "pass<>'' OR source<>'spip') AND (" .
     261                "login<>'' AND (nom=$l OR email=$l))");
    263262}
    264263
     
    267266
    268267// http://doc.spip.org/@verifier_login
    269 function verifier_login($login, $password, $md5pass="", $md5next="")
    270 {
    271         foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
     268function verifier_login($login, $password, $md5pass = "", $md5next = ""){
     269        foreach ($GLOBALS['liste_des_authentifications'] as $methode){
    272270                if ($auth = charger_fonction($methode, 'auth')
    273                 AND $auteur = $auth($login, $password, $md5pass, $md5next)) {
     271                        AND $auteur = $auth($login, $password, $md5pass, $md5next)
     272                ){
    274273                        spip_log("connexion de $login par methode $methode");
    275274                        $auteur['auth'] = $methode;
     
    279278        return false;
    280279}
    281 ?>
  • _plugins_/plugin-thelia/spip_thelia_fonctions.php

    r76725 r88169  
    44include_spip('plugins/installer'); // spip_version_compare dans SPIP 3.x
    55include_spip('inc/plugin'); // spip_version_compare dans SPIP 2.x
    6 if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.0alpha', '>=')) {
    7                 define('_SPIP3', true);
     6if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.0alpha', '>=')){
     7        define('_SPIP3', true);
    88} else {
    9                 define('_SPIP3', false);
    10 }
    11 
    12 
    13 
    14 function spip_thelia_supprimer_balises_thelia($texte) {
     9        define('_SPIP3', false);
     10}
     11
     12
     13function spip_thelia_supprimer_balises_thelia($texte){
    1514        //suppression des boucles th�lia
    1615        $texte = str_replace("THELIA_", "DUMMY_", $texte);
     
    2019}
    2120
    22 function spip_thelia_demarrer_session_thelia () {
     21function spip_thelia_demarrer_session_thelia(){
    2322        global $page;
    24        
     23
    2524        //sauvegarde des variables qui vont �tre modifi�es pour th�lia
    2625        $sav_page = $page;
    2726        $sav_session_navig_lang = $_SESSION['navig']->lang;
    28        
     27
    2928        //conflit sur la variable $page.
    3029        $page = new stdclass;
    3130        $page = "";
    3231
    33         include_once("../"._RACINE_THELIA."/classes/Navigation.class.php");
    34        
     32        include_once("../" . _RACINE_THELIA . "/classes/Navigation.class.php");
     33
    3534        ini_set('arg_separator.output', '&amp;');
    36         ini_set("url_rewriter.tags","a=href,area=href,frame=src,iframe=src,input=src");
     35        ini_set("url_rewriter.tags", "a=href,area=href,frame=src,iframe=src,input=src");
    3736        session_start();
    3837}
    3938
    40 function spip_thelia_header_prive($flux) {     
     39function spip_thelia_header_prive($flux){
    4140        //si une boite de s�lection spip/th�lia sera affich�e sur la page, il faut d�marrer pr�alablement une session th�lia
    42         $exec =  $_REQUEST['exec'];
    43         $id_article= $_REQUEST['id_article'];
    44         $id_rubrique= $_REQUEST['id_rubrique'];
    45         if (function_exists('lire_config')) {
    46                 if (($exec=='articles')||($exec=='article')){
    47                         if((lire_config("spip_thelia/produits_articles_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") == "oui"))
     41        $exec = $_REQUEST['exec'];
     42        $id_article = $_REQUEST['id_article'];
     43        $id_rubrique = $_REQUEST['id_rubrique'];
     44        if (function_exists('lire_config')){
     45                if (($exec=='articles') || ($exec=='article')){
     46                        if ((lire_config("spip_thelia/produits_articles_spip_thelia", "non")=="oui") || (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non")=="oui"))
    4847                                spip_thelia_demarrer_session_thelia();
    49                 }
    50                 else if ((($exec=='naviguer')||($exec='rubrique'))&&($id_rubrique)){
    51                         if((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") == "oui"))
     48                } else if ((($exec=='naviguer') || ($exec = 'rubrique')) && ($id_rubrique)){
     49                        if ((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non")=="oui") || (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non")=="oui"))
    5250                                spip_thelia_demarrer_session_thelia();
    5351                }
     
    5856        $page = $sav_page;
    5957        $_SESSION['navig']->lang = $sav_session_navig_lang;
    60        
    61         if (!file_exists("../"._RACINE_THELIA."fonctions/moteur.php")&&($_REQUEST['exec']!=""))
    62                 echo ("erreur : th&eacute;lia introuvable, v&eacute;rifiez que les sous-r&eacute;pertoires de th&eacute;lia et spip sont dans le m&ecirc;me r&eacute;pertoire.");
     58
     59        if (!file_exists("../" . _RACINE_THELIA . "fonctions/moteur.php") && ($_REQUEST['exec']!=""))
     60                echo("erreur : th&eacute;lia introuvable, v&eacute;rifiez que les sous-r&eacute;pertoires de th&eacute;lia et spip sont dans le m&ecirc;me r&eacute;pertoire.");
    6361        if (!function_exists('lire_config'))
    64                 echo ("erreur : le plugin CFG est n'est pas install&eacute;.");
     62                echo("erreur : le plugin CFG est n'est pas install&eacute;.");
    6563        return $flux;
    6664}
    6765
    68 function spip_thelia_insert_head($flux) {
    69         $flux.="<link rel=\"stylesheet\" href=\""._DIR_PLUGIN_SPIP_THELIA."spipthelia.css\" type=\"text/css\" media=\"projection, screen, tv\" />";
     66function spip_thelia_insert_head($flux){
     67        $flux .= "<link rel=\"stylesheet\" href=\"" . _DIR_PLUGIN_SPIP_THELIA . "spipthelia.css\" type=\"text/css\" media=\"projection, screen, tv\" />";
    7068        return $flux;
    7169}
    7270
    7371
    74 function spip_thelia_appeler_moteur_thelia($texte) {
    75        
     72function spip_thelia_appeler_moteur_thelia($texte){
     73
    7674        include_spip("inc/utils");
    7775
    7876        //Obtenir les arguments de requete
    7977        $keys_request = array_keys($_REQUEST);
    80        
    81        
     78
     79
    8280        //si pas de boucle ou de balise th�lia ou pas d'action thelia dans la page on sort     
    83         if (((strpos($texte, "THELIA-") === FALSE) && (strpos($texte, "<THELIA") == FALSE)) && !count(preg_grep("#thelia.*#",$keys_request)))
     81        if (((strpos($texte, "THELIA-")===FALSE) && (strpos($texte, "<THELIA")==FALSE)) && !count(preg_grep("#thelia.*#", $keys_request)))
    8482                return $texte;
    85        
     83
    8684        //convertion utf-8 vers ISO des variables $_REQUEST
    87         if(lire_config("spip_thelia/encodage_spip_thelia_post", "non") == "oui") {
     85        if (lire_config("spip_thelia/encodage_spip_thelia_post", "non")=="oui"){
    8886                $sauvegarde_request = array();
    89                 foreach ($_REQUEST as $clef => $valeur) {
    90                 $sauvegarde_request[$clef] = $valeur;
    91                                 $_REQUEST[$clef]=unicode2charset(charset2unicode($valeur, 'utf-8'),'iso-8859-1');
    92          }
     87                foreach ($_REQUEST as $clef => $valeur){
     88                        $sauvegarde_request[$clef] = $valeur;
     89                        $_REQUEST[$clef] = unicode2charset(charset2unicode($valeur, 'utf-8'), 'iso-8859-1');
     90                }
    9391        }
    9492        //parsonnalisation des variables th�lia
    95         switch($_REQUEST['page']){
    96                 case 'merci' : $securise=0; $pageret=0; $reset=1; break;
    97                 case 'panier' : $securise=0; $pageret=1; break;
    98                 case 'adresse' : $securise=1; $pageret=1; break;
    99                 case 'cheque' : $securise=1; $pageret=1;$reset=1; break;
    100                 case 'commande' : $securise=1; $pageret=1; $panier=1; $transport=1; break;
    101                 case 'commande_detail' : $securise=1; break;
    102                 case 'commande_visualiser' : $securise=1; break;
    103                 case 'compte_modifier' : $formulaire=1; $securise=1; $obligetelfixe=1; break;
    104                 case 'compte_modifiererr' : $formulaire=1; $securise=1; $obligetelfixe=1; break;
    105                 case 'connexion' : $pageret=0; break;
    106                 case 'livraison_adresse' : $securise=1; break;
    107                 case 'livraison_modifier' : $securise=1; break;
    108                 case 'moncompte' : $pageret=1; $securise=1; break;
    109                 case 'nouveau' : $securise=1; break;
    110                 case 'regret' : $pageret=1; break;     
    111                 case 'virement' : $securise=1; $pageret=1; $reset=1; break;
    112                 case 'formulerr' : set_request('errform','1'); break;
     93        switch ($_REQUEST['page']) {
     94                case 'merci' :
     95                        $securise = 0;
     96                        $pageret = 0;
     97                        $reset = 1;
     98                        break;
     99                case 'panier' :
     100                        $securise = 0;
     101                        $pageret = 1;
     102                        break;
     103                case 'adresse' :
     104                        $securise = 1;
     105                        $pageret = 1;
     106                        break;
     107                case 'cheque' :
     108                        $securise = 1;
     109                        $pageret = 1;
     110                        $reset = 1;
     111                        break;
     112                case 'commande' :
     113                        $securise = 1;
     114                        $pageret = 1;
     115                        $panier = 1;
     116                        $transport = 1;
     117                        break;
     118                case 'commande_detail' :
     119                        $securise = 1;
     120                        break;
     121                case 'commande_visualiser' :
     122                        $securise = 1;
     123                        break;
     124                case 'compte_modifier' :
     125                        $formulaire = 1;
     126                        $securise = 1;
     127                        $obligetelfixe = 1;
     128                        break;
     129                case 'compte_modifiererr' :
     130                        $formulaire = 1;
     131                        $securise = 1;
     132                        $obligetelfixe = 1;
     133                        break;
     134                case 'connexion' :
     135                        $pageret = 0;
     136                        break;
     137                case 'livraison_adresse' :
     138                        $securise = 1;
     139                        break;
     140                case 'livraison_modifier' :
     141                        $securise = 1;
     142                        break;
     143                case 'moncompte' :
     144                        $pageret = 1;
     145                        $securise = 1;
     146                        break;
     147                case 'nouveau' :
     148                        $securise = 1;
     149                        break;
     150                case 'regret' :
     151                        $pageret = 1;
     152                        break;
     153                case 'virement' :
     154                        $securise = 1;
     155                        $pageret = 1;
     156                        $reset = 1;
     157                        break;
     158                case 'formulerr' :
     159                        set_request('errform', '1');
     160                        break;
    113161        }
    114162
     
    118166        $sav_page = $page;
    119167        $sav_session_navig_lang = $_SESSION['navig']->lang;
    120        
     168
    121169        //conflit sur la variable $page.
    122  
     170
    123171        $page = new stdclass;
    124172        $page = "";
    125173
    126         include_once(_RACINE_THELIA."classes/Navigation.class.php");
    127        
     174        include_once(_RACINE_THELIA . "classes/Navigation.class.php");
     175
    128176        ini_set('arg_separator.output', '&amp;');
    129         ini_set("url_rewriter.tags","a=href,area=href,frame=src,iframe=src,input=src");
     177        ini_set("url_rewriter.tags", "a=href,area=href,frame=src,iframe=src,input=src");
    130178        session_start();
    131179
    132180        //conflit entre spip et th�lia sur la langue en session.
    133         if ($_SESSION['navig']->lang != '') {
    134                 $_SESSION['navig']->lang=0;
     181        if ($_SESSION['navig']->lang!=''){
     182                $_SESSION['navig']->lang = 0;
    135183        }
    136184
    137185        //concordance des langues entre spip et th�lia
    138186        //modifiez �ventuellement la liste si vous avez ajout� de nouvelles langues dans Th�lia
    139        
    140         switch($_REQUEST['lang']) {
    141                 case 'fr' : $_REQUEST['lang'] = 1; break;
    142                 case 'en' : $_REQUEST['lang'] = 2; break;
    143                 case 'es' : $_REQUEST['lang'] = 3; break;
    144                 default: $_REQUEST['lang'] = 1; break;
    145         }
    146        
     187
     188        switch ($_REQUEST['lang']) {
     189                case 'fr' :
     190                        $_REQUEST['lang'] = 1;
     191                        break;
     192                case 'en' :
     193                        $_REQUEST['lang'] = 2;
     194                        break;
     195                case 'es' :
     196                        $_REQUEST['lang'] = 3;
     197                        break;
     198                default:
     199                        $_REQUEST['lang'] = 1;
     200                        break;
     201        }
     202
    147203        //r�affectation des variables de th�lia qui ont �t�es renomm�es dans les squelettes pour �viter les conflits avec spip
    148204        $_REQUEST['action'] = $_REQUEST['thelia_action'];
     
    151207        if (isset($_REQUEST['thelia_article']))
    152208                $_REQUEST['article'] = $_REQUEST['thelia_article'];
    153        
     209
    154210        //on pr�pare le flux � envoyer au moteur th�lia
    155211        $res = $texte;
     
    157213
    158214        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
    159         if(lire_config("spip_thelia/encodage_spip_thelia", "non") == "oui")
    160                 $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
     215        if (lire_config("spip_thelia/encodage_spip_thelia", "non")=="oui")
     216                $res = unicode2charset(charset2unicode($res, 'utf-8'), 'iso-8859-1');
    161217
    162218        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
    163219        ob_start();
    164        
     220
    165221        //si version >= 1.3.4 : plus de surcharge dans le plugin, on appelle directement le moteur de Th�lia
    166         include_once(_RACINE_THELIA."fonctions/moteur.php");
     222        include_once(_RACINE_THELIA . "fonctions/moteur.php");
    167223
    168224        //Connexion à SPIP à la création du compte Thelia
    169                 if ($_REQUEST['page'] == 'nouveau' || $_REQUEST['page_thelia'] == 'nouveau' || $_REQUEST['action'] == 'transport' || $_REQUEST['action'] == 'paiement' || !$_REQUEST['page']) {
    170                 if ($_SESSION['navig']->connecte == 1 && lire_config("spip_thelia/auth_unique_spip_thelia","non")=="oui")  {
     225        if ($_REQUEST['page']=='nouveau' || $_REQUEST['page_thelia']=='nouveau' || $_REQUEST['action']=='transport' || $_REQUEST['action']=='paiement' || !$_REQUEST['page']){
     226                if ($_SESSION['navig']->connecte==1 && lire_config("spip_thelia/auth_unique_spip_thelia", "non")=="oui"){
    171227                        include_spip('auth/thelia');
    172228                        $auteur = creer_auteur_thelia(
    173229                                array(
    174                                         'login'=>'',
    175                                         'pass'=>'',
    176                                         'client'=>$_SESSION['navig']->client
     230                                        'login' => '',
     231                                        'pass' => '',
     232                                        'client' => $_SESSION['navig']->client
    177233                                )
    178234                        );
    179                         $session = charger_fonction('session','inc');
     235                        $session = charger_fonction('session', 'inc');
    180236                        $session($auteur);
    181                         $data = pipeline('thelia_authentifie',array("auteur" => $auteur,"statut"=>"nouveau"));
    182                 }
    183         }
    184 
    185        
     237                        $data = pipeline('thelia_authentifie', array("auteur" => $auteur, "statut" => "nouveau"));
     238                }
     239        }
     240
     241
    186242        $texte = ob_get_contents();
    187243        ob_end_clean();
     
    189245
    190246        //au retour de th�lia, on convertie en utf8 pour SPIP
    191         if(lire_config("spip_thelia/encodage_spip_thelia", "non") == "oui")
    192                 $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
    193        
     247        if (lire_config("spip_thelia/encodage_spip_thelia", "non")=="oui")
     248                $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'), 'utf-8');
     249
    194250        //on restaure les variables session et request modifi�es pour les plugins suivants sur affichage final
    195251        $page = $sav_page;
    196252        $_SESSION['navig']->lang = $sav_session_navig_lang;
    197        
     253
    198254        //restauration des variables $_REQUEST en utf-8 pour SPIP
    199         if(lire_config("spip_thelia/encodage_spip_thelia_post", "non") == "oui") {
    200                 foreach ($sauvegarde_request as $clef => $valeur) {
    201                 $_REQUEST[$clef]=$valeur;
    202         }
    203     }
    204        
    205         return ($texte);       
    206 }
    207 
    208 function remplacement_sortie_thelia($in_thelia) {
     255        if (lire_config("spip_thelia/encodage_spip_thelia_post", "non")=="oui"){
     256                foreach ($sauvegarde_request as $clef => $valeur){
     257                        $_REQUEST[$clef] = $valeur;
     258                }
     259        }
     260
     261        return ($texte);
     262}
     263
     264function remplacement_sortie_thelia($in_thelia){
    209265        //renommage action en thelia_action. m�thode provisoire � revoir.
    210266        $in_thelia = str_replace("adresse.php?action", "adresse.php?thelia_action", $in_thelia);
     
    233289}
    234290
    235 function spip_thelia_affiche_milieu($flux) {
    236         $exec =  $flux['args']['exec'];
    237         $id_article= $_REQUEST['id_article'];
    238         $id_rubrique= $_REQUEST['id_rubrique'];
    239         if (function_exists('lire_config')) {
    240                 if (($exec=='article')||($exec=='articles')){
    241                         if((lire_config("spip_thelia/produits_articles_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") == "oui"))
    242                                 $flux['data'] .= spip_thelia_formulaire_article($id_article, spip_thelia_article_editable($id_article),'articles');
    243                 }
    244                 else if ((($exec=='naviguer')||($exec=='rubrique'))&&($id_rubrique)){
    245                         if((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") == "oui"))
    246                                 $flux['data'] .= spip_thelia_formulaire_rubrique($id_rubrique, spip_thelia_rubrique_editable($id_rubrique),'rubriques');
    247                 }
    248         } 
     291function spip_thelia_affiche_milieu($flux){
     292        $exec = $flux['args']['exec'];
     293        $id_article = $_REQUEST['id_article'];
     294        $id_rubrique = $_REQUEST['id_rubrique'];
     295        if (function_exists('lire_config')){
     296                if (($exec=='article') || ($exec=='articles')){
     297                        if ((lire_config("spip_thelia/produits_articles_spip_thelia", "non")=="oui") || (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non")=="oui"))
     298                                $flux['data'] .= spip_thelia_formulaire_article($id_article, spip_thelia_article_editable($id_article), 'articles');
     299                } else if ((($exec=='naviguer') || ($exec=='rubrique')) && ($id_rubrique)){
     300                        if ((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non")=="oui") || (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non")=="oui"))
     301                                $flux['data'] .= spip_thelia_formulaire_rubrique($id_rubrique, spip_thelia_rubrique_editable($id_rubrique), 'rubriques');
     302                }
     303        }
    249304        return $flux;
    250305}
    251306
    252307function spip_thelia_article_editable($id_article){
    253         return autoriser('modifier','article',$id_article);
    254 }
    255 
    256 function spip_thelia_rubrique_editable($id_rubrique) {
    257         return autoriser('modifier','rubrique',$id_rubrique);
    258 }
    259 
    260 function spip_thelia_formulaire_article($id_article, $flag_editable, $script) {
     308        return autoriser('modifier', 'article', $id_article);
     309}
     310
     311function spip_thelia_rubrique_editable($id_rubrique){
     312        return autoriser('modifier', 'rubrique', $id_rubrique);
     313}
     314
     315function spip_thelia_formulaire_article($id_article, $flag_editable, $script){
    261316
    262317        global $spip_lang_right;
    263         include_spip("inc/presentation");
     318        include_spip("inc/presentation");
    264319        include_spip('public/assembler');
    265320        include_spip('inc/charsets');
    266321
    267322        global $spip_lang_left, $spip_lang_right, $options;
    268         global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
     323        global $connect_statut, $options, $connect_id_auteur, $couleur_claire;
    269324
    270325        $out = "<div id='editer_produit-$id_article'>";
    271326        $out .= "<a name='produit'></a>";
    272        
     327
    273328        // Quel est le bon titre
    274         if (lire_config("spip_thelia/produits_articles_spip_thelia", "non") != "oui") {
     329        if (lire_config("spip_thelia/produits_articles_spip_thelia", "non")!="oui"){
    275330                $titre = _T('spipthelia:rubriques_associees_article');
    276         } elseif (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") != "oui") {
    277                         $titre = _T('spipthelia:produits_associes_article');
    278                 } else {
    279                         $titre = _T('spipthelia:produits_et_rubriques_associes_article');                       
    280                         }
    281                        
    282         if (function_exists('bouton_block_depliable')) {  // SPIP2.0
    283                 if ($flag_editable) {
    284                         if (_request('edit')||_request('neweven'))
    285                                 $bouton = bouton_block_depliable($titre,true,"produitsarticle");
     331        } elseif (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non")!="oui") {
     332                $titre = _T('spipthelia:produits_associes_article');
     333        } else {
     334                $titre = _T('spipthelia:produits_et_rubriques_associes_article');
     335        }
     336
     337        if (function_exists('bouton_block_depliable')){  // SPIP2.0
     338                if ($flag_editable){
     339                        if (_request('edit') || _request('neweven'))
     340                                $bouton = bouton_block_depliable($titre, true, "produitsarticle");
    286341                        else
    287                                 $bouton = bouton_block_depliable($titre,false,"produitsarticle");
    288                 }
    289                 $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
    290        
     342                                $bouton = bouton_block_depliable($titre, false, "produitsarticle");
     343                }
     344                $out .= debut_cadre_enfonce("../" . _DIR_PLUGIN_SPIP_THELIA . "/img_pack/logo_thelia_petit.png", true, "", $bouton);
     345
    291346        } else {
    292                 if (_request('edit')||_request('neweven'))
    293                         $bouton = bouton_block_visible("produitsarticle").$titre;
     347                if (_request('edit') || _request('neweven'))
     348                        $bouton = bouton_block_visible("produitsarticle") . $titre;
    294349                else
    295                         $bouton = bouton_block_invisible("produitsarticle").$titre;     
    296                 $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
    297        
     350                        $bouton = bouton_block_invisible("produitsarticle") . $titre;
     351                $out .= debut_cadre_enfonce("../" . _DIR_PLUGIN_SPIP_THELIA . "/img_pack/logo_thelia_petit.png", true, "", $bouton);
     352
    298353                //
    299354                // Afficher les produits associes
    300355                //
    301                 $out .= afficher_rubriques_objet('article',$id_rubrique);
    302 
    303                 $out .= afficher_produits_objet('article',$id_article);
     356                $out .= afficher_rubriques_objet('article', $id_rubrique);
     357
     358                $out .= afficher_produits_objet('article', $id_article);
    304359
    305360                $out .= debut_block_invisible('produitsarticle');
    306361        }
    307362
    308        
    309        
     363
    310364        if (_SPIP3)
    311                 $link = generer_action_auteur('produits_article',"$id_article",generer_url_ecrire('article','id_article='.$id_article));
    312         else 
    313                 $link = generer_action_auteur('produits_article',"$id_article",generer_url_ecrire('articles','id_article='.$id_article));
    314        
     365                $link = generer_action_auteur('produits_article', "$id_article", generer_url_ecrire('article', 'id_article=' . $id_article));
     366        else
     367                $link = generer_action_auteur('produits_article', "$id_article", generer_url_ecrire('articles', 'id_article=' . $id_article));
     368
    315369        $out .= "<form method='POST' action='$link'>\n";
    316370        $out .= form_hidden($link);
    317        
     371
    318372        //masquer provisoirement les warning de session de Th�lia en attendant une correction
    319373        //Th�lia retourne des warning de session (headers already sent) car elle d�marre trop tard, mais on ne l'utilise pas, on se contente de lister les produits
    320374        $sav_error_reporting = error_reporting(E_ERROR);
    321        
     375
    322376        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
    323         $res = recuperer_fond("fonds/produits_associes_article",array("id_article" => $id_article));
     377        $res = recuperer_fond("fonds/produits_associes_article", array("id_article" => $id_article));
    324378        $res = str_replace("THELIA-", "#", $res);
    325        
     379
    326380        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
    327         $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
     381        $res = unicode2charset(charset2unicode($res, 'utf-8'), 'iso-8859-1');
    328382        ob_start();
    329383        chdir('..');
    330         include_once(_RACINE_THELIA."fonctions/moteur.php");
     384        include_once(_RACINE_THELIA . "fonctions/moteur.php");
    331385        chdir('ecrire');
    332386        $texte = ob_get_contents();
     
    335389
    336390        //au retour de th�lia, on convertit en utf8 pour SPIP
    337         if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
     391        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'), 'utf-8');
    338392        $out .= $texte;
    339        
     393
    340394        //remettre le niveau d'erreur pr�c�dent
    341395        error_reporting($sav_error_reporting);
    342        
    343         $out .= "</form>\n";   
     396
     397        $out .= "</form>\n";
    344398
    345399        $out .= fin_block();
     
    350404}
    351405
    352 function spip_thelia_formulaire_rubrique($id_rubrique, $flag_editable, $script) {
    353 
    354         global $spip_lang_right;
    355         include_spip("inc/presentation");
     406function spip_thelia_formulaire_rubrique($id_rubrique, $flag_editable, $script){
     407
     408        global $spip_lang_right;
     409        include_spip("inc/presentation");
    356410        include_spip('public/assembler');
    357411        include_spip('inc/charsets');
    358412
    359413        global $spip_lang_left, $spip_lang_right, $options;
    360         global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
     414        global $connect_statut, $options, $connect_id_auteur, $couleur_claire;
    361415
    362416        // Quel est le bon titre       
    363         if (lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") != "oui") {
     417        if (lire_config("spip_thelia/produits_rubriques_spip_thelia", "non")!="oui"){
    364418                $titre = _T('spipthelia:rubriques_associees_rubrique');
    365         } elseif (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") != "oui") {
    366                         $titre = _T('spipthelia:produits_associes_rubrique');
    367                 } else {
    368                         $titre = _T('spipthelia:produits_et_rubriques_associes_rubrique');                     
    369                         }
    370                        
     419        } elseif (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non")!="oui") {
     420                $titre = _T('spipthelia:produits_associes_rubrique');
     421        } else {
     422                $titre = _T('spipthelia:produits_et_rubriques_associes_rubrique');
     423        }
     424
    371425        $out = "<div id='editer_produit-$id_rubrique'>";
    372426        $out .= "<a name='produit'></a>";
    373         if (function_exists('bouton_block_depliable')) { // SPIP2.0
    374                 if ($flag_editable) {
    375                         if (_request('edit')||_request('neweven'))
    376                                 $bouton = bouton_block_depliable($titre,true,"produitsrubrique");
     427        if (function_exists('bouton_block_depliable')){ // SPIP2.0
     428                if ($flag_editable){
     429                        if (_request('edit') || _request('neweven'))
     430                                $bouton = bouton_block_depliable($titre, true, "produitsrubrique");
    377431                        else
    378                                 $bouton = bouton_block_depliable($titre,false,"produitsrubrique");
    379                 }
    380                 $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
     432                                $bouton = bouton_block_depliable($titre, false, "produitsrubrique");
     433                }
     434                $out .= debut_cadre_enfonce("../" . _DIR_PLUGIN_SPIP_THELIA . "/img_pack/logo_thelia_petit.png", true, "", $bouton);
    381435
    382436        } else {
    383                 if (_request('edit')||_request('neweven'))
    384                         $bouton = bouton_block_visible("produitsrubrique").$titre;
     437                if (_request('edit') || _request('neweven'))
     438                        $bouton = bouton_block_visible("produitsrubrique") . $titre;
    385439                else
    386                         $bouton = bouton_block_invisible("produitsrubrique").$titre;           
    387                 $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
     440                        $bouton = bouton_block_invisible("produitsrubrique") . $titre;
     441                $out .= debut_cadre_enfonce("../" . _DIR_PLUGIN_SPIP_THELIA . "/img_pack/logo_thelia_petit.png", true, "", $bouton);
    388442
    389443                //
    390444                // Afficher les produits associes
    391445                //
    392                 $out .= afficher_rubriques_objet('rubrique',$id_rubrique);
    393 
    394                 $out .= afficher_produits_objet('rubrique',$id_rubrique);
    395                
     446                $out .= afficher_rubriques_objet('rubrique', $id_rubrique);
     447
     448                $out .= afficher_produits_objet('rubrique', $id_rubrique);
     449
    396450                $out .= debut_block_invisible('produitsrubrique');
    397451        }
    398452
    399        
    400        
     453
    401454        if (_SPIP3)
    402                 $link = generer_action_auteur('produits_rubrique',"$id_rubrique",generer_url_ecrire('rubrique&id_rubrique='.$id_rubrique,"",false,true));
     455                $link = generer_action_auteur('produits_rubrique', "$id_rubrique", generer_url_ecrire('rubrique&id_rubrique=' . $id_rubrique, "", false, true));
    403456        else
    404                 $link = generer_action_auteur('produits_rubrique',"$id_rubrique",generer_url_ecrire('naviguer&id_rubrique='.$id_rubrique,"",false,true));
    405                
     457                $link = generer_action_auteur('produits_rubrique', "$id_rubrique", generer_url_ecrire('naviguer&id_rubrique=' . $id_rubrique, "", false, true));
     458
    406459        $out .= "<form method='POST' action='$link'>\n";
    407460        $out .= form_hidden($link);
    408        
     461
    409462        //masquer provisoirement les warning de session de Th�lia en attendant une correction
    410463        //Th�lia retourne des warning de session (headers already sent) car elle d�marre trop tard, mais on ne l'utilise pas, on se contente de lister les produits
    411464        $sav_error_reporting = error_reporting(E_ERROR);
    412        
     465
    413466        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
    414         $res = recuperer_fond("fonds/produits_associes_rubrique",array("id_rubrique" => $id_rubrique));
     467        $res = recuperer_fond("fonds/produits_associes_rubrique", array("id_rubrique" => $id_rubrique));
    415468        $res = str_replace("THELIA-", "#", $res);
    416        
     469
    417470        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
    418         $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
     471        $res = unicode2charset(charset2unicode($res, 'utf-8'), 'iso-8859-1');
    419472        ob_start();
    420473        chdir('..');
    421         include_once(_RACINE_THELIA."fonctions/moteur.php");
     474        include_once(_RACINE_THELIA . "fonctions/moteur.php");
    422475        chdir('ecrire');
    423476        $texte = ob_get_contents();
     
    426479
    427480        //au retour de th�lia, on convertit en utf8 pour SPIP
    428         if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
     481        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'), 'utf-8');
    429482        $out .= $texte;
    430483
    431484        //remettre le niveau d'erreur pr�c�dent
    432485        error_reporting($sav_error_reporting);
    433        
    434         $out .= "</form>\n";   
     486
     487        $out .= "</form>\n";
    435488
    436489        $out .= fin_block();
     
    440493}
    441494
    442 function afficher_produits_objet($type, $id) {
    443 
    444         if (!preg_match(',^[a-z]*$,',$type)) return '';
    445 
    446         $result = determiner_produits_objet($type,$id);
     495function afficher_produits_objet($type, $id){
     496
     497        if (!preg_match(',^[a-z]*$,', $type)) return '';
     498
     499        $result = determiner_produits_objet($type, $id);
    447500        if (!spip_num_rows($result)) return '';
    448501
    449502        $table = array();
    450503
    451         while ($row = spip_fetch_array($result)) {
     504        while ($row = spip_fetch_array($result)){
    452505                $vals = array();
    453                 if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
    454                
    455                 $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
    456                 $etat = ($row['ligne'])?_T('spipthelia:produit_en_ligne'):_T('spipthelia:produit_non_publie');
    457                 $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('produit_modifier.php?ref='.$row['ref'].'&rubrique='.$row['rubrique']));
     506                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'), 'utf-8');
     507
     508                $puce = ($row['ligne']) ? find_in_path('images/puce-verte.gif') : find_in_path('images/puce-orange.gif');
     509                $etat = ($row['ligne']) ? _T('spipthelia:produit_en_ligne') : _T('spipthelia:produit_non_publie');
     510                $url = generer_url_ecrire('spip_thelia_catalogue', 'thelia_url=' . urlencode('produit_modifier.php?ref=' . $row['ref'] . '&rubrique=' . $row['rubrique']));
    458511                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
    459                                
    460                 $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
    461                 $vals[] = sprintf($link,$url,$row['titre']);
    462                 $vals[] = sprintf(number_format($row['prix'],2));
    463                
     512
     513                $vals[] = sprintf($link, $url, "<img src='$puce' alt='$etat'/>");
     514                $vals[] = sprintf($link, $url, $row['titre']);
     515                $vals[] = sprintf(number_format($row['prix'], 2));
     516
    464517                $table[] = $vals;
    465518        }
     
    469522
    470523        $t = afficher_liste($largeurs, $table, $styles);
    471         if ($spip_display != 4)
     524        if ($spip_display!=4)
    472525                $t = $tranches
    473526                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
    474                         . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_du_produit'). "</th><th>". _T('spipthelia:prix'). "</th></tr></head><tbody>"
     527                        . "<thead><tr><th>&nbsp;</th><th>" . _T('spipthelia:nom_du_produit') . "</th><th>" . _T('spipthelia:prix') . "</th></tr></head><tbody>"
    475528                        . $t
    476529                        . "</tbody></table>";
     
    478531}
    479532
    480 function determiner_produits_objet($type, $id) {
     533function determiner_produits_objet($type, $id){
    481534        $les_produits = array();
    482         if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
     535        if (!preg_match(',^[a-z]*$,', $type)) return $les_produits;
    483536
    484537        $result = spip_query("SELECT titre,ref,prix,ligne,rubrique
     
    486539                JOIN produit ON produit.id = spip_produits_{$type}s.id_produit
    487540                JOIN produitdesc ON produitdesc.id = spip_produits_{$type}s.id_produit
    488                 WHERE id_{$type}="._q($id));
     541                WHERE id_{$type}=" . _q($id));
    489542
    490543        return $result;
    491544}
    492545
    493 function afficher_rubriques_objet($type, $id) {
    494 
    495         if (!preg_match(',^[a-z]*$,',$type)) return '';
    496 
    497         $result = determiner_rubriques_objet($type,$id);
     546function afficher_rubriques_objet($type, $id){
     547
     548        if (!preg_match(',^[a-z]*$,', $type)) return '';
     549
     550        $result = determiner_rubriques_objet($type, $id);
    498551        if (!spip_num_rows($result)) return '';
    499552
    500553        $table = array();
    501554
    502         while ($row = spip_fetch_array($result)) {
     555        while ($row = spip_fetch_array($result)){
    503556                $vals = array();
    504                 if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
    505                
    506                 $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
    507                 $etat = ($row['ligne'])?_T('spipthelia:rubrique_en_ligne'):_T('spipthelia:rubrique_non_publiee');
    508                 $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('parcourir.php?parent='.$row['rubrique']));
     557                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'), 'utf-8');
     558
     559                $puce = ($row['ligne']) ? find_in_path('images/puce-verte.gif') : find_in_path('images/puce-orange.gif');
     560                $etat = ($row['ligne']) ? _T('spipthelia:rubrique_en_ligne') : _T('spipthelia:rubrique_non_publiee');
     561                $url = generer_url_ecrire('spip_thelia_catalogue', 'thelia_url=' . urlencode('parcourir.php?parent=' . $row['rubrique']));
    509562                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
    510                                
    511                 $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
    512                 $vals[] = sprintf($link,$url,$row['titre']);
    513                
     563
     564                $vals[] = sprintf($link, $url, "<img src='$puce' alt='$etat'/>");
     565                $vals[] = sprintf($link, $url, $row['titre']);
     566
    514567                $table[] = $vals;
    515568        }
     
    519572
    520573        $t = afficher_liste($largeurs, $table, $styles);
    521         if ($spip_display != 4)
     574        if ($spip_display!=4)
    522575                $t = $tranches
    523576                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
    524                         . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_de_la_rubrique'). "</th></tr></head><tbody>"
     577                        . "<thead><tr><th>&nbsp;</th><th>" . _T('spipthelia:nom_de_la_rubrique') . "</th></tr></head><tbody>"
    525578                        . $t
    526579                        . "</tbody></table>";
     
    528581}
    529582
    530 function determiner_rubriques_objet($type, $id) {
     583function determiner_rubriques_objet($type, $id){
    531584        $les_produits = array();
    532         if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
     585        if (!preg_match(',^[a-z]*$,', $type)) return $les_produits;
    533586
    534587        $result = spip_query("SELECT titre,ligne,rubrique
     
    536589                JOIN rubrique ON rubrique.id = spip_rubriquesthelia_{$type}s.id_rubriquethelia
    537590                JOIN rubriquedesc ON rubriquedesc.rubrique = spip_rubriquesthelia_{$type}s.id_rubriquethelia
    538                 WHERE id_{$type}="._q($id));
     591                WHERE id_{$type}=" . _q($id));
    539592
    540593        return $result;
    541594}
    542595
    543 ?>
  • _plugins_/plugin-thelia/spip_thelia_options.php

    r61603 r88169  
    22
    33/* Repertoire de l'admin THELIA */
    4 define('_THELIA_ADMIN','admin'); //obsolete cette variable est désormais définie dans le formulaire CFG du plugin
     4define('_THELIA_ADMIN', 'admin'); //obsolete cette variable est désormais définie dans le formulaire CFG du plugin
    55
    66if (!defined('_DIR_PLUGIN_SPIP_THELIA')){
    7         $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
    8         define('_DIR_PLUGIN_SPIP_THELIA',(_DIR_PLUGINS.end($p)));
     7        $p = explode(basename(_DIR_PLUGINS) . "/", str_replace('\\', '/', realpath(dirname(__FILE__))));
     8        define('_DIR_PLUGIN_SPIP_THELIA', (_DIR_PLUGINS . end($p)));
    99}
    1010
     
    1212/* Par défaut on Thelia est à la racine du site */
    1313if (!defined('_RACINE_THELIA')){
    14         define('_RACINE_THELIA','./');
     14        define('_RACINE_THELIA', './');
    1515}
    1616
     
    1818$GLOBALS['spip_pipeline']['thelia_authentifie'] .= '';
    1919
    20 $thelia_path = ini_get("include_path").":"._RACINE_THELIA;
     20$thelia_path = ini_get("include_path") . ":" . _RACINE_THELIA;
    2121ini_set('include_path', $thelia_path);
    2222
     
    2424$GLOBALS['liste_des_authentifications']['thelia'] = 'thelia';
    2525$GLOBALS['thelia_statut_nouvel_auteur'] = lire_config("spip_thelia/statutclients_spip_thelia", "6forum");
    26 ?>
     26
Note: See TracChangeset for help on using the changeset viewer.