Ignore:
Timestamp:
Dec 13, 2015, 11:58:52 AM (5 years ago)
Author:
cedric@…
Message:

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/urls_etendues/urls/propres.php

    r93092 r93629  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return; // securiser
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15} // securiser
    1416
    1517# donner un exemple d'url pour le formulaire de choix
     
    4547*/
    4648
    47 if (!defined('_terminaison_urls_propres')) define ('_terminaison_urls_propres', '');
    48 if (!defined('_debut_urls_propres')) define ('_debut_urls_propres', '');
    49 
    50 $config_urls_propres = isset($GLOBALS['meta']['urls_propres'])?unserialize($GLOBALS['meta']['urls_propres']):array();
     49if (!defined('_terminaison_urls_propres')) {
     50        define('_terminaison_urls_propres', '');
     51}
     52if (!defined('_debut_urls_propres')) {
     53        define('_debut_urls_propres', '');
     54}
     55
     56$config_urls_propres = isset($GLOBALS['meta']['urls_propres']) ? unserialize($GLOBALS['meta']['urls_propres']) : array();
    5157// pour choisir le caractere de separation titre-id en cas de doublon
    5258// (ne pas utiliser '/')
    53 if (!defined('_url_propres_sep_id')) define('_url_propres_sep_id',isset($config_urls_propres['url_propres_sep_id'])?$config_urls_propres['url_propres_sep_id']:'-');
     59if (!defined('_url_propres_sep_id')) {
     60        define('_url_propres_sep_id', isset($config_urls_propres['url_propres_sep_id']) ? $config_urls_propres['url_propres_sep_id'] : '-');
     61}
    5462// option pour tout passer en minuscules
    55 if (!defined('_url_minuscules')) define('_url_minuscules',isset($config_urls_propres['url_minuscules'])?$config_urls_propres['url_minuscules']:0);
    56 if (!defined('_URLS_PROPRES_MAX')) define('_URLS_PROPRES_MAX', isset($config_urls_propres['URLS_PROPRES_MAX'])?$config_urls_propres['URLS_PROPRES_MAX']:80);
    57 if (!defined('_URLS_PROPRES_MIN')) define('_URLS_PROPRES_MIN', isset($config_urls_propres['URLS_PROPRES_MIN'])?$config_urls_propres['URLS_PROPRES_MIN']:3);
    58 
    59 if (!defined('_url_sep_id')) define('_url_sep_id',_url_propres_sep_id);
     63if (!defined('_url_minuscules')) {
     64        define('_url_minuscules', isset($config_urls_propres['url_minuscules']) ? $config_urls_propres['url_minuscules'] : 0);
     65}
     66if (!defined('_URLS_PROPRES_MAX')) {
     67        define('_URLS_PROPRES_MAX', isset($config_urls_propres['URLS_PROPRES_MAX']) ? $config_urls_propres['URLS_PROPRES_MAX'] : 80);
     68}
     69if (!defined('_URLS_PROPRES_MIN')) {
     70        define('_URLS_PROPRES_MIN', isset($config_urls_propres['URLS_PROPRES_MIN']) ? $config_urls_propres['URLS_PROPRES_MIN'] : 3);
     71}
     72
     73if (!defined('_url_sep_id')) {
     74        define('_url_sep_id', _url_propres_sep_id);
     75}
    6076
    6177// Ces chaines servaient de marqueurs a l'epoque ou les URL propres devaient
     
    6581// Les preg_match restent necessaires pour gerer les anciens signets.
    6682
    67 if (!defined('_MARQUEUR_URL')) define('_MARQUEUR_URL', serialize(array('rubrique1' => '-', 'rubrique2' => '-', 'breve1' => '+', 'breve2' => '+', 'site1' => '@', 'site2' => '@', 'auteur1' => '_', 'auteur2' => '_', 'mot1' => '+-', 'mot2' => '-+')));
     83if (!defined('_MARQUEUR_URL')) {
     84        define('_MARQUEUR_URL', serialize(array(
     85                'rubrique1' => '-',
     86                'rubrique2' => '-',
     87                'breve1' => '+',
     88                'breve2' => '+',
     89                'site1' => '@',
     90                'site2' => '@',
     91                'auteur1' => '_',
     92                'auteur2' => '_',
     93                'mot1' => '+-',
     94                'mot2' => '-+'
     95        )));
     96}
    6897
    6998// Retire les marqueurs de type dans une URL propre ancienne maniere
     
    73102        if (preg_match(',^[+][-](.*?)[-][+]$,', $url_propre, $regs)) {
    74103                return $regs[1];
    75         }
    76         else if (preg_match(',^([-+_@])(.*?)\1?$,', $url_propre, $regs)) {
    77                 return $regs[2];
    78         }
     104        } else {
     105                if (preg_match(',^([-+_@])(.*?)\1?$,', $url_propre, $regs)) {
     106                        return $regs[2];
     107                }
     108        }
     109
    79110        // les articles n'ont pas de marqueur
    80111        return $url_propre;
     
    95126
    96127        include_spip('action/editer_url');
    97         if (!$url = url_nettoyer($objet['titre'],_URLS_PROPRES_MAX,_URLS_PROPRES_MIN,'-',_url_minuscules?'strtolower':''))
    98                 $url = $objet['type'].$objet['id_objet'];
     128        if (!$url = url_nettoyer($objet['titre'], _URLS_PROPRES_MAX, _URLS_PROPRES_MIN, '-',
     129                _url_minuscules ? 'strtolower' : '')
     130        ) {
     131                $url = $objet['type'] . $objet['id_objet'];
     132        }
    99133
    100134        $x['data'] = $url;
     
    111145        $table = $desc['table'];
    112146        $champ_titre = $desc['titre'] ? $desc['titre'] : 'titre';
    113         $col_id =  @$desc['key']["PRIMARY KEY"];
    114         if (!$col_id) return false; // Quand $type ne reference pas une table
     147        $col_id = @$desc['key']["PRIMARY KEY"];
     148        if (!$col_id) {
     149                return false;
     150        } // Quand $type ne reference pas une table
    115151
    116152        $id_objet = intval($id_objet);
     
    121157        // de preference avec id_parent=0, puis perma, puis par date desc
    122158        $row = sql_fetsel("U.url, U.date, U.id_parent, U.perma, $champ_titre",
    123                           "$table AS O LEFT JOIN spip_urls AS U ON (U.type='$type' AND U.id_objet=O.$col_id)",
    124                           "O.$col_id=$id_objet AND (U.segments IS NULL OR U.segments=1)", '', 'U.id_parent=0 DESC, U.perma DESC, U.date DESC', 1);
     159                "$table AS O LEFT JOIN spip_urls AS U ON (U.type='$type' AND U.id_objet=O.$col_id)",
     160                "O.$col_id=$id_objet AND (U.segments IS NULL OR U.segments=1)", '', 'U.id_parent=0 DESC, U.perma DESC, U.date DESC',
     161                1);
    125162
    126163        // en SQLite le left join retourne du vide si il y a une url mais qui ne correspond pas pour la condition sur le segment
    127164        // on verifie donc que l'objet existe bien avant de sortir ou de creer une url pour cet objet
    128         if (!$row)
     165        if (!$row) {
    129166                $row = sql_fetsel("'' as url, '' as date, 0 as id_parent, 0 as perma, $champ_titre",
    130                                   "$table AS O",
    131                                   "O.$col_id=$id_objet");
    132 
    133         if (!$row) return ""; # Quand $id_objet n'est pas un numero connu
     167                        "$table AS O",
     168                        "O.$col_id=$id_objet");
     169        }
     170
     171        if (!$row) {
     172                return "";
     173        } # Quand $id_objet n'est pas un numero connu
    134174
    135175        $url_propre = $row['url'];
    136176
    137177        // si url_propre connue mais avec id_parent non nul, essayer de reinserer tel quel avec id_parent=0
    138         if ($url_propre AND $row['id_parent']){
     178        if ($url_propre AND $row['id_parent']) {
    139179                include_spip('action/editer_url');
    140180                $set = array('url' => $url_propre, 'type' => $type, 'id_objet' => $id_objet, 'perma' => $row['perma']);
    141181                // si on arrive pas a reinserer tel quel, on annule url_propre pour forcer un recalcul d'url
    142                 if (!url_insert($set,false,_url_propres_sep_id))
     182                if (!url_insert($set, false, _url_propres_sep_id)) {
    143183                        $url_propre = "";
    144                 else
     184                } else {
    145185                        $url_propre = $row['url'] = $set['url'];
     186                }
    146187        }
    147188
     
    153194        // qui requetent en base
    154195        $modifier_url = (defined('_VAR_URLS') AND _VAR_URLS AND !$row['perma']);
    155         if ($url_propre AND !$modifier_url)
     196        if ($url_propre AND !$modifier_url) {
    156197                return $url_propre;
     198        }
    157199
    158200        // Sinon, creer une URL
     
    170212        include_spip('inc/urls');
    171213        $objets = urls_liste_objets();
    172         if (preg_match(',^('.$objets.')[0-9]+$,', $url, $r)
    173         AND $r[1] != $type)
    174                 $url = $url._url_propres_sep_id.$id_objet;
     214        if (preg_match(',^(' . $objets . ')[0-9]+$,', $url, $r)
     215                AND $r[1] != $type
     216        ) {
     217                $url = $url . _url_propres_sep_id . $id_objet;
     218        }
    175219
    176220        // Pas de changement d'url
    177         if ($url == $url_propre)
     221        if ($url == $url_propre) {
    178222                return $url_propre;
     223        }
    179224
    180225        // verifier l'autorisation, maintenant qu'on est sur qu'on va agir
     
    188233                AND CONFIRMER_MODIFIER_URL
    189234                AND $url_propre
    190                 AND $url != preg_replace('/'.preg_quote(_url_propres_sep_id,'/').'.*/', '', $url_propre))
     235                AND $url != preg_replace('/' . preg_quote(_url_propres_sep_id, '/') . '.*/', '', $url_propre)
     236        ) {
    191237                $confirmer = true;
    192         else
     238        } else {
    193239                $confirmer = false;
     240        }
    194241
    195242        if ($confirmer AND !_request('ok')) {
     
    199246        $set = array('url' => $url, 'type' => $type, 'id_objet' => $id_objet);
    200247        include_spip('action/editer_url');
    201         if (!url_insert($set,$confirmer,_url_propres_sep_id))
    202                 return $url_propre; //serveur out ? retourner au mieux
     248        if (!url_insert($set, $confirmer, _url_propres_sep_id)) {
     249                return $url_propre;
     250        } //serveur out ? retourner au mieux
    203251
    204252        return $set['url'];
     
    208256function _generer_url_propre($type, $id, $args = '', $ancre = '') {
    209257
    210         if ($generer_url_externe = charger_fonction("generer_url_$type",'urls',true)) {
     258        if ($generer_url_externe = charger_fonction("generer_url_$type", 'urls', true)) {
    211259                $url = $generer_url_externe($id, $args, $ancre);
    212                 if (NULL != $url) return $url;
     260                if (null != $url) {
     261                        return $url;
     262                }
    213263        }
    214264
     
    216266        if (_MARQUEUR_URL) {
    217267                $marqueur = unserialize(_MARQUEUR_URL);
    218                 $marqueur1 = isset($marqueur[$type.'1']) ? $marqueur[$type.'1'] : '' ; // debut '+-'
    219                 $marqueur2 = isset($marqueur[$type.'2']) ? $marqueur[$type.'2'] : '' ; // fin '-+'
    220         } else
     268                $marqueur1 = isset($marqueur[$type . '1']) ? $marqueur[$type . '1'] : ''; // debut '+-'
     269                $marqueur2 = isset($marqueur[$type . '2']) ? $marqueur[$type . '2'] : ''; // fin '-+'
     270        } else {
    221271                $marqueur1 = $marqueur2 = '';
     272        }
    222273        // fin
    223274
     
    225276        $propre = declarer_url_propre($type, $id);
    226277
    227         if ($propre === false) return ''; // objet inconnu. raccourci ?
     278        if ($propre === false) {
     279                return '';
     280        } // objet inconnu. raccourci ?
    228281
    229282        if ($propre) {
     
    236289                // les urls de type /1234 sont interpretees comme urls courte vers article 1234
    237290                // on les encadre d'un - : /-1234-
    238                 if (is_numeric($url)){
    239                         $url = "-".$url."-";
    240                 }
    241 
    242                 if (!defined('_SET_HTML_BASE') OR !_SET_HTML_BASE)
    243                         // Repositionne l'URL par rapport a la racine du site (#GLOBALS)
    244                         $url = str_repeat('../', $GLOBALS['profondeur_url']).$url;
    245                 else
     291                if (is_numeric($url)) {
     292                        $url = "-" . $url . "-";
     293                }
     294
     295                if (!defined('_SET_HTML_BASE') OR !_SET_HTML_BASE) // Repositionne l'URL par rapport a la racine du site (#GLOBALS)
     296                {
     297                        $url = str_repeat('../', $GLOBALS['profondeur_url']) . $url;
     298                } else {
    246299                        $url = _DIR_RACINE . $url;
     300                }
    247301        } else {
    248302
     
    250304                include_spip('base/connect_sql');
    251305                $id_type = id_table_objet($type);
    252                 $url = _DIR_RACINE . get_spip_script('./')."?"._SPIP_PAGE."=$type&$id_type=$id";
     306                $url = _DIR_RACINE . get_spip_script('./') . "?" . _SPIP_PAGE . "=$type&$id_type=$id";
    253307        }
    254308
    255309        // Ajouter les args
    256         if ($args)
    257                 $url .= ((strpos($url, '?')===false) ? '?' : '&') . $args;
     310        if ($args) {
     311                $url .= ((strpos($url, '?') === false) ? '?' : '&') . $args;
     312        }
    258313
    259314        // Ajouter l'ancre
    260         if ($ancre)
     315        if ($ancre) {
    261316                $url .= "#$ancre";
     317        }
    262318
    263319        return $url;
     
    270326function urls_propres_dist($i, $entite, $args = '', $ancre = '') {
    271327
    272         if (is_numeric($i))
     328        if (is_numeric($i)) {
    273329                return _generer_url_propre($entite, $i, $args, $ancre);
     330        }
    274331
    275332        $url = $i;
     
    277334        $url_redirect = null;
    278335        // recuperer les &debut_xx;
    279         if (is_array($args))
     336        if (is_array($args)) {
    280337                $contexte = $args;
    281         else
    282                 parse_str($args,$contexte);
     338        } else {
     339                parse_str($args, $contexte);
     340        }
    283341
    284342
    285343        // Migration depuis anciennes URLs ?
    286344        // traiter les injections domain.tld/spip.php/n/importe/quoi/rubrique23
    287         if ($GLOBALS['profondeur_url']<=0
    288         AND $_SERVER['REQUEST_METHOD'] != 'POST') {
     345        if ($GLOBALS['profondeur_url'] <= 0
     346                AND $_SERVER['REQUEST_METHOD'] != 'POST'
     347        ) {
    289348                include_spip('inc/urls');
    290349                $r = nettoyer_url_page($i, $contexte);
    291350                if ($r) {
    292                         list($contexte, $type,,, $suite) = $r;
     351                        list($contexte, $type, , , $suite) = $r;
    293352                        $_id = id_table_objet($type);
    294353                        $id_objet = $contexte[$_id];
    295354                        $url_propre = generer_url_entite($id_objet, $type);
    296355                        if (strlen($url_propre)
    297                         AND !strstr($url,$url_propre)) {
    298                                 list(,$hash) = array_pad(explode('#', $url_propre), 2, null);
     356                                AND !strstr($url, $url_propre)
     357                        ) {
     358                                list(, $hash) = array_pad(explode('#', $url_propre), 2, null);
    299359                                $args = array();
    300                                 foreach(array_filter(explode('&', $suite)) as $fragment) {
    301                                         if ($fragment != "$_id=$id_objet")
     360                                foreach (array_filter(explode('&', $suite)) as $fragment) {
     361                                        if ($fragment != "$_id=$id_objet") {
    302362                                                $args[] = $fragment;
     363                                        }
    303364                                }
    304                                 $url_redirect = generer_url_entite($id_objet, $type, join('&',array_filter($args)), $hash);
     365                                $url_redirect = generer_url_entite($id_objet, $type, join('&', array_filter($args)), $hash);
    305366
    306367                                return array($contexte, $type, $url_redirect, $type);
     
    316377        $is_qs = false;
    317378        if (!$url_propre
    318         AND preg_match(',[?]([^=/?&]+)(&.*)?$,', $url, $r)) {
     379                AND preg_match(',[?]([^=/?&]+)(&.*)?$,', $url, $r)
     380        ) {
    319381                $url_propre = $r[1];
    320382                $is_qs = true;
     
    322384
    323385        if (!$url_propre
    324           OR $url_propre==_DIR_RESTREINT_ABS
    325           OR $url_propre==_SPIP_SCRIPT) return; // qu'est-ce qu'il veut ???
    326 
    327        
     386                OR $url_propre == _DIR_RESTREINT_ABS
     387                OR $url_propre == _SPIP_SCRIPT
     388        ) {
     389                return;
     390        } // qu'est-ce qu'il veut ???
     391
     392
    328393        // gerer le cas de retour depuis des urls arbos
    329394        // mais si url arbo ne trouve pas, on veut une 404 par securite
    330         if ($GLOBALS['profondeur_url']>0 AND !defined('_FORCE_URLS_PROPRES')){
    331                 $urls_anciennes = charger_fonction('arbo','urls');
     395        if ($GLOBALS['profondeur_url'] > 0 AND !defined('_FORCE_URLS_PROPRES')) {
     396                $urls_anciennes = charger_fonction('arbo', 'urls');
     397
    332398                return $urls_anciennes($url_propre, $entite, $contexte);
    333399        }
    334        
     400
    335401        include_spip('base/abstract_sql'); // chercher dans la table des URLS
    336402
     
    343409        // Compatibilite avec les anciens marqueurs d'URL propres
    344410        // Tester l'entree telle quelle (avec 'url_libre' des sites ont pu avoir des entrees avec marqueurs dans la table spip_urls)
    345         if (!$row = sql_fetsel('id_objet, type, date, url', 'spip_urls', 'url='.sql_quote($url_propre, '', 'TEXT'))) {
     411        if (!$row = sql_fetsel('id_objet, type, date, url', 'spip_urls', 'url=' . sql_quote($url_propre, '', 'TEXT'))) {
    346412                // Sinon enlever les marqueurs eventuels
    347413                $url_propre2 = retirer_marqueurs_url_propre($url_propre);
    348414
    349                 $row = sql_fetsel('id_objet, type, date, url', 'spip_urls', 'url='.sql_quote($url_propre2, '', 'TEXT'));
     415                $row = sql_fetsel('id_objet, type, date, url', 'spip_urls', 'url=' . sql_quote($url_propre2, '', 'TEXT'));
    350416        }
    351417
     
    358424                // Si l'url est vieux, donner le nouveau
    359425                if ($recent = sql_fetsel('url, date', 'spip_urls',
    360                 'type='.sql_quote($row['type'], '', 'TEXT').' AND id_objet='.sql_quote($row['id_objet'])
    361                 .' AND date>'.sql_quote($row['date'], '', 'TEXT')
    362                 .' AND url<>'.sql_quote($row['url'], '', 'TEXT'), '', 'date DESC', 1)) {
     426                        'type=' . sql_quote($row['type'], '', 'TEXT') . ' AND id_objet=' . sql_quote($row['id_objet'])
     427                        . ' AND date>' . sql_quote($row['date'], '', 'TEXT')
     428                        . ' AND url<>' . sql_quote($row['url'], '', 'TEXT'), '', 'date DESC', 1)
     429                ) {
    363430                        // Mode compatibilite pour conserver la distinction -Rubrique-
    364431                        if (_MARQUEUR_URL) {
    365432                                $marqueur = unserialize(_MARQUEUR_URL);
    366                                 $marqueur1 = $marqueur[$type.'1']; // debut '+-'
    367                                 $marqueur2 = $marqueur[$type.'2']; // fin '-+'
    368                         } else
     433                                $marqueur1 = $marqueur[$type . '1']; // debut '+-'
     434                                $marqueur2 = $marqueur[$type . '2']; // fin '-+'
     435                        } else {
    369436                                $marqueur1 = $marqueur2 = '';
     437                        }
    370438                        $url_redirect = $marqueur1 . $recent['url'] . $marqueur2;
    371439                }
    372440        }
    373441
    374         if ($entite=='' OR $entite=='type_urls' /* compat .htaccess 2.0 */) {
     442        if ($entite == '' OR $entite == 'type_urls' /* compat .htaccess 2.0 */) {
    375443                if ($type) {
    376                         $entite =  objet_type($type);
     444                        $entite = objet_type($type);
    377445                } else {
    378446                        // Si ca ressemble a une URL d'objet, ce n'est pas la home
     
    388456                                        $fmarqueur = @array_flip(unserialize(_MARQUEUR_URL));
    389457                                        preg_match(',^([+][-]|[-+@_]),', $url_propre, $regs);
    390                                         $objet = $regs ? substr($fmarqueur[$regs[1]],0,n-1) : 'article';
     458                                        $objet = $regs ? substr($fmarqueur[$regs[1]], 0, n-1) : 'article';
    391459                                        $contexte['erreur'] = _T(
    392                                                 ($objet=='rubrique' OR $objet=='breve')
    393                                                         ? 'public:aucune_'.$objet
    394                                                         : 'public:aucun_'.$objet
     460                                                ($objet == 'rubrique' OR $objet == 'breve')
     461                                                        ? 'public:aucune_' . $objet
     462                                                        : 'public:aucun_' . $objet
    395463                                        );
    396464                                }
     
    399467        }
    400468
    401         return array($contexte, $entite, $url_redirect, $is_qs?$entite:null);
     469        return array($contexte, $entite, $url_redirect, $is_qs ? $entite : null);
    402470}
    403471
Note: See TracChangeset for help on using the changeset viewer.