Changeset 93624 in spip-zone


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

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

Location:
_core_/plugins/sites
Files:
28 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/sites/action/editer_site.php

    r93545 r93624  
    1313/**
    1414 * Gestion de l'action editer__site et de l'API d'édition d'un site
    15  * 
     15 *
    1616 * @package SPIP\Sites\Edition
    1717 */
    18  
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     18
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022
    2123
     
    2830 * à condition que la rubrique parente (id_rubrique) puisse être obtenue
    2931 * (avec _request(id_parent))
    30  * 
     32 *
    3133 * @uses site_inserer()
    3234 * @uses site_modifier()
    33  * 
     35 *
    3436 * @param null|int $arg
    3537 *     Identifiant du site. En absence utilise l'argument
     
    4042function action_editer_site_dist($arg = null) {
    4143
    42         if (is_null($arg)){
     44        if (is_null($arg)) {
    4345                $securiser_action = charger_fonction('securiser_action', 'inc');
    4446                $arg = $securiser_action();
    4547        }
    4648
    47         if (!$id_syndic = intval($arg)){
     49        if (!$id_syndic = intval($arg)) {
    4850                $id_syndic = site_inserer(_request('id_parent'));
    4951                if ($logo = _request('logo')
    50                   AND $format_logo = _request('format_logo')) {
     52                        AND $format_logo = _request('format_logo')
     53                ) {
    5154                        include_spip('inc/distant');
    5255                        $logo = _DIR_RACINE . copie_locale($logo);
    53                         @rename($logo,_DIR_IMG . 'siteon'.$id_syndic.'.'.$format_logo);
     56                        @rename($logo, _DIR_IMG . 'siteon' . $id_syndic . '.' . $format_logo);
    5457                }
    5558        }
    5659
    57         if (!$id_syndic)
    58                 return array(0,'');
     60        if (!$id_syndic) {
     61                return array(0, '');
     62        }
    5963
    6064        $err = site_modifier($id_syndic);
    6165
    62         return array($id_syndic,$err);
     66        return array($id_syndic, $err);
    6367}
    6468
     
    6973 * @pipeline_appel pre_insertion
    7074 * @pipeline_appel post_insertion
    71  * 
     75 *
    7276 * @param int $id_rubrique
    7377 *     Identifiant de rubrique parente
     
    8387        // dans la premiere rubrique racine
    8488        if (!$id_rubrique = intval($id_rubrique)) {
    85                 $id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
     89                $id_rubrique = sql_getfetsel("id_rubrique", "spip_rubriques", "id_parent=0", '', '0+titre,titre', "1");
    8690        }
    8791
    8892        // Le secteur a la creation : c'est le secteur de la rubrique
    89         $id_secteur = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=".intval($id_rubrique));
     93        $id_secteur = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . intval($id_rubrique));
    9094        // eviter un null si la rubrique n'existe pas (rubrique -1 par exemple)
    91         if (!$id_secteur)
     95        if (!$id_secteur) {
    9296                $id_secteur = 0;
     97        }
    9398
    9499        $champs = array(
     
    96101                'id_secteur' => $id_secteur,
    97102                'statut' => 'prop',
    98                 'date' => date('Y-m-d H:i:s'));
    99 
    100         if ($set)
     103                'date' => date('Y-m-d H:i:s')
     104        );
     105
     106        if ($set) {
    101107                $champs = array_merge($champs, $set);
     108        }
    102109
    103110        // Envoyer aux plugins
     
    132139 * @uses objet_modifier_champs()
    133140 * @uses objet_instituer()
    134  * 
     141 *
    135142 * @param int $id_syndic
    136143 *     Identifiant du site à modifier
     
    149156        include_spip('inc/modifier');
    150157        $c = collecter_requests(
    151                 // white list
    152                 array(
    153                  'nom_site', 'url_site', 'descriptif', 'url_syndic', 'syndication',
    154                  'moderation','miroir','oubli','resume'
     158        // white list
     159                array(
     160                        'nom_site',
     161                        'url_site',
     162                        'descriptif',
     163                        'url_syndic',
     164                        'syndication',
     165                        'moderation',
     166                        'miroir',
     167                        'oubli',
     168                        'resume'
    155169                ),
    156170                // black list
     
    161175
    162176        // resyndiquer si un element de syndication modifie
    163         if ($t = sql_fetsel('url_syndic,syndication,resume', 'spip_syndic', "id_syndic=".intval($id_syndic))){
    164                 foreach($t as $k=>$v)
    165                         if (isset($c[$k]) AND $v!=$c[$k])
     177        if ($t = sql_fetsel('url_syndic,syndication,resume', 'spip_syndic', "id_syndic=" . intval($id_syndic))) {
     178                foreach ($t as $k => $v) {
     179                        if (isset($c[$k]) AND $v != $c[$k]) {
    166180                                $resyndiquer = true;
     181                        }
     182                }
    167183        }
    168184
    169185        // Si le site est publie, invalider les caches et demander sa reindexation
    170         $t = sql_getfetsel("statut", "spip_syndic", "id_syndic=".intval($id_syndic));
     186        $t = sql_getfetsel("statut", "spip_syndic", "id_syndic=" . intval($id_syndic));
    171187        $invalideur = $indexation = false;
    172188        if ($t == 'publie') {
     
    182198                        'indexation' => $indexation
    183199                ),
    184                 $c))
     200                $c)
     201        ) {
    185202                return $err;
    186 
    187 
    188         if ($resyndiquer AND sql_getfetsel('syndication','spip_syndic',"id_syndic=".intval($id_syndic))!=='non') {
    189                 $syndiquer_site = charger_fonction('syndiquer_site','action');
     203        }
     204
     205
     206        if ($resyndiquer AND sql_getfetsel('syndication', 'spip_syndic', "id_syndic=" . intval($id_syndic)) !== 'non') {
     207                $syndiquer_site = charger_fonction('syndiquer_site', 'action');
    190208                $syndiquer_site($id_syndic);
    191209        }
     
    193211
    194212        // Modification de statut, changement de rubrique ?
    195         $c = collecter_requests(array('date', 'statut', 'id_parent'),array(),$set);
     213        $c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
    196214        include_spip('action/editer_objet');
    197         $err = objet_instituer('site',$id_syndic, $c);
     215        $err = objet_instituer('site', $id_syndic, $c);
    198216
    199217        return $err;
     
    212230 * @param int $id_rubrique
    213231 * @return int
    214 **/
     232 **/
    215233function insert_syndic($id_rubrique) {
    216234        return site_inserer($id_rubrique);
     
    226244 * @param array|bool $set
    227245 * @return string
    228 **/
     246 **/
    229247function syndic_set($id_syndic, $set = false) {
    230         return site_modifier($id_syndic,$set);
     248        return site_modifier($id_syndic, $set);
    231249}
    232250
     
    240258 * @param array|bool $set
    241259 * @return string
    242 **/
    243 function revisions_sites($id_syndic, $set = false){
    244         return site_modifier($id_syndic,$set);
     260 **/
     261function revisions_sites($id_syndic, $set = false) {
     262        return site_modifier($id_syndic, $set);
    245263}
    246264
     
    255273 * @param bool $calcul_rub
    256274 * @return string
    257 **/
    258 function instituer_syndic($id_syndic, $c, $calcul_rub = true){
     275 **/
     276function instituer_syndic($id_syndic, $c, $calcul_rub = true) {
    259277        include_spip('action/editer_objet');
    260         return objet_instituer('site',$id_syndic, $c, $calcul_rub);
    261 }
     278
     279        return objet_instituer('site', $id_syndic, $c, $calcul_rub);
     280}
     281
    262282?>
  • _core_/plugins/sites/action/exporter_bookmarks.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    15 function action_exporter_bookmarks_dist($arg = null){
     17function action_exporter_bookmarks_dist($arg = null) {
    1618
    17         if (is_null($arg)){
     19        if (is_null($arg)) {
    1820                $securiser_action = charger_fonction('securiser_action', 'inc');
    1921                $arg = $securiser_action();
    2022        }
    2123
    22         if (autoriser('exporter','_sites')){
    23                 list($id_parent,$exporter_publie_seulement,$exporter_avec_mots_cles) = explode("-",$arg);
    24                 $statut = ($exporter_publie_seulement?array('publie'):array('prop','publie'));
     24        if (autoriser('exporter', '_sites')) {
     25                list($id_parent, $exporter_publie_seulement, $exporter_avec_mots_cles) = explode("-", $arg);
     26                $statut = ($exporter_publie_seulement ? array('publie') : array('prop', 'publie'));
    2527
    26                 $f = "bookmarks-".date('Y-m-d').".html";
     28                $f = "bookmarks-" . date('Y-m-d') . ".html";
    2729                header('Content-Type: text/html');
    2830                header("Content-Disposition: attachment; filename=\"$f\";");
     
    3335                header("Expires: 0"); // set expiration time
    3436                header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    35                 echo recuperer_fond("prive/transmettre/bookmarks",array('statut'=>$statut,'id_parent'=>intval($id_parent),'tags'=>$exporter_avec_mots_cles));
     37                echo recuperer_fond("prive/transmettre/bookmarks",
     38                        array('statut' => $statut, 'id_parent' => intval($id_parent), 'tags' => $exporter_avec_mots_cles));
    3639        }
    3740}
  • _core_/plugins/sites/action/importer_bookmarks_netscape.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    15 function action_importer_bookmarks_netscape_dist($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags){
     17function action_importer_bookmarks_netscape_dist($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags) {
    1618
    1719        $nb = 0;
    18         if (autoriser('importer','_sites')){
     20        if (autoriser('importer', '_sites')) {
    1921                $out = bookmarks_netscape_fast_parse($fichier_ok['contenu']);
    2022
    2123                // le premier content ne nous interesse pas
    2224                $out = reset($out['sub']);
    23                 $nb = bookmarks_insert($out,$id_parent,$importer_statut_publie,$importer_tags);
     25                $nb = bookmarks_insert($out, $id_parent, $importer_statut_publie, $importer_tags);
    2426        }
     27
    2528        return $nb;
    2629}
    2730
    28 function bookmarks_netscape_fast_parse(&$contenu){
     31function bookmarks_netscape_fast_parse(&$contenu) {
    2932        $out = array();
    3033        #var_dump(">>".substr($contenu,0,200));
    3134
    32         $po=stripos($contenu,"<h3",4);
    33         $pf=stripos($contenu,"</dl>");
    34         while ($po OR $pf){
     35        $po = stripos($contenu, "<h3", 4);
     36        $pf = stripos($contenu, "</dl>");
     37        while ($po OR $pf) {
    3538                #var_dump("$po:$pf");
    36                 if ($po>0 AND $po<$pf){
    37                         $out['content'] .= substr($contenu,0,$po);
    38                         $contenu = substr($contenu,$po);
     39                if ($po > 0 AND $po < $pf) {
     40                        $out['content'] .= substr($contenu, 0, $po);
     41                        $contenu = substr($contenu, $po);
    3942                        $out['sub'][] = bookmarks_netscape_fast_parse($contenu);
    40                 }
    41                 else {
     43                } else {
    4244
    43                         $out['content'] .= substr($contenu,0,$pf);
    44                         $contenu = substr($contenu,$pf+5);
     45                        $out['content'] .= substr($contenu, 0, $pf);
     46                        $contenu = substr($contenu, $pf+5);
    4547                        #var_dump("<<".substr($contenu,0,200));
    4648                        $out['content'] = bookmarks_extract_links($out['content']);
     49
    4750                        return $out;
    4851                }
    49                 $po=stripos($contenu,"<h3");
    50                 $pf=stripos($contenu,"</dl>");
     52                $po = stripos($contenu, "<h3");
     53                $pf = stripos($contenu, "</dl>");
    5154        }
    5255        $out['content'] = bookmarks_extract_links($out['content']);
     56
    5357        return $out;
    5458}
    5559
    56 function bookmarks_extract_links($contenu){
     60function bookmarks_extract_links($contenu) {
    5761        $out = array();
    58         $contenu = str_ireplace("<DT>","<dt>",$contenu);
    59         $contenu = explode("<dt>",$contenu);
     62        $contenu = str_ireplace("<DT>", "<dt>", $contenu);
     63        $contenu = explode("<dt>", $contenu);
    6064
    6165        $h3 = array_shift($contenu);
    62         $h3 = extraire_balise($h3,"h3");
     66        $h3 = extraire_balise($h3, "h3");
    6367        $out['titre'] = strip_tags($h3);
    6468
    65         foreach($contenu as $item){
     69        foreach ($contenu as $item) {
    6670                $link = array();
    67                 if ($a = extraire_balise($item,'a')){
    68                         $link['url'] = extraire_attribut($a,'href');
     71                if ($a = extraire_balise($item, 'a')) {
     72                        $link['url'] = extraire_attribut($a, 'href');
    6973                        $link['titre'] = strip_tags($a);
    70                         $link['date'] = extraire_attribut($a,"add_date");
     74                        $link['date'] = extraire_attribut($a, "add_date");
    7175                        $link['descriptif'] = "";
    7276
    73                         if ($p=stripos($item,"<dd>")){
    74                                 $link['descriptif'] = textebrut(substr($item,$p));
     77                        if ($p = stripos($item, "<dd>")) {
     78                                $link['descriptif'] = textebrut(substr($item, $p));
    7579                        }
    7680                        $out['links'][] = $link;
    7781                }
    7882        }
     83
    7984        return $out;
    8085}
    8186
    82 function bookmarks_insert($tree, $id_parent, $importer_statut_publie, $importer_tags, $level = 0){
     87function bookmarks_insert($tree, $id_parent, $importer_statut_publie, $importer_tags, $level = 0) {
    8388        include_spip('action/editer_rubrique');
    8489        include_spip('action/editer_site');
     
    8691        $nb = 0;
    8792        if (count($tree['content']['links'])
    88                 OR isset($tree['sub'])){
     93                OR isset($tree['sub'])
     94        ) {
    8995
    90                 $titre = ($tree['content']['titre']?$tree['content']['titre']:_T('info_sans_titre'));
    91                 $id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques','id_parent='.intval($id_parent)." AND titre=".sql_quote($titre));
     96                $titre = ($tree['content']['titre'] ? $tree['content']['titre'] : _T('info_sans_titre'));
     97                $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques',
     98                        'id_parent=' . intval($id_parent) . " AND titre=" . sql_quote($titre));
    9299                if (!$id_rubrique
    93                         AND $id_rubrique = rubrique_inserer($id_parent)){
    94                         rubrique_modifier($id_rubrique,array('titre'=>$titre));
     100                        AND $id_rubrique = rubrique_inserer($id_parent)
     101                ) {
     102                        rubrique_modifier($id_rubrique, array('titre' => $titre));
    95103                }
    96                 if ($id_rubrique){
     104                if ($id_rubrique) {
    97105                        $statut = 'prop';
    98                         if ($importer_statut_publie AND autoriser('publierdans','rubrique',$id_rubrique))
     106                        if ($importer_statut_publie AND autoriser('publierdans', 'rubrique', $id_rubrique)) {
    99107                                $statut = 'publie';
     108                        }
    100109                        $now = time();
    101                         foreach($tree['content']['links'] as $link){
     110                        foreach ($tree['content']['links'] as $link) {
    102111                                if (!$id_syndic = sql_getfetsel('id_syndic',
    103                                                                 'spip_syndic',
    104                                                                 'id_rubrique='.intval($id_rubrique)." AND url_site=".sql_quote($link['url']))){
     112                                        'spip_syndic',
     113                                        'id_rubrique=' . intval($id_rubrique) . " AND url_site=" . sql_quote($link['url']))
     114                                ) {
    105115                                        $id_syndic = site_inserer($id_rubrique);
    106116                                        $set = array(
    107                                                                         'url_site' => $link['url'],
    108                                                                         'nom_site' => $link['titre'],
    109                                                                         'date' => date('Y-m-d H:i:s',$link['date']?$link['date']:$now),
    110                                                                         'statut' => $statut,
    111                                                                         'descriptif' => $link['descriptif']
    112                                                                  );
     117                                                'url_site' => $link['url'],
     118                                                'nom_site' => $link['titre'],
     119                                                'date' => date('Y-m-d H:i:s', $link['date'] ? $link['date'] : $now),
     120                                                'statut' => $statut,
     121                                                'descriptif' => $link['descriptif']
     122                                        );
    113123                                        #echo "creation site $id_syndic ".$set['url_site']." <br />";
    114                                         site_modifier($id_syndic,$set);
    115                                         $nb ++;
    116                                 }
    117                                 else {
     124                                        site_modifier($id_syndic, $set);
     125                                        $nb++;
     126                                } else {
    118127                                        #echo "existant site $id_syndic ".$link['url']." <br />";
    119                                         $nb ++;
     128                                        $nb++;
    120129                                }
    121130                        }
    122                         if ($level<30){
    123                                 if (isset($tree['sub']))
    124                                         foreach($tree['sub'] as $sub)
    125                                                 $nb += bookmarks_insert($sub,$id_rubrique,$importer_statut_publie,$importer_tags,$level+1);
     131                        if ($level < 30) {
     132                                if (isset($tree['sub'])) {
     133                                        foreach ($tree['sub'] as $sub) {
     134                                                $nb += bookmarks_insert($sub, $id_rubrique, $importer_statut_publie, $importer_tags, $level+1);
     135                                        }
     136                                }
    126137                        }
    127138                }
  • _core_/plugins/sites/action/importer_bookmarks_opml.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    15 function action_importer_bookmarks_opml_dist($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags){
     17function action_importer_bookmarks_opml_dist($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags) {
    1618        $nb = 0;
    17         if (autoriser('importer','_sites')){
     19        if (autoriser('importer', '_sites')) {
    1820                $out = bookmarks_opml_parse($fichier_ok['contenu']);
    19                 $nb = bookmarks_opml_insert($out,$id_parent,$importer_statut_publie,$importer_tags);
     21                $nb = bookmarks_opml_insert($out, $id_parent, $importer_statut_publie, $importer_tags);
    2022        }
     23
    2124        return $nb;
    2225}
     
    2528// http://www.stargeek.com/php_scripts.php?script=20&cat=blog
    2629function bookmarks_opml_parse(&$contenu) {
    27     global $blogs,$folder,$inOpmlfolder, $inOpmlItem;
    28    
    29     $inOpmlfolder = $inOpmlItem = false;
    30    
    31     $xp = xml_parser_create();
     30        global $blogs, $folder, $inOpmlfolder, $inOpmlItem;
    3231
    33     xml_set_element_handler($xp, 'opml_startElement', 'opml_endElement');
    34    
    35     xml_parse($xp, $contenu, true);
    36     xml_parser_free($xp);
    37    
    38     return $blogs;
     32        $inOpmlfolder = $inOpmlItem = false;
     33
     34        $xp = xml_parser_create();
     35
     36        xml_set_element_handler($xp, 'opml_startElement', 'opml_endElement');
     37
     38        xml_parse($xp, $contenu, true);
     39        xml_parser_free($xp);
     40
     41        return $blogs;
    3942}
    4043
    4144function opml_startElement($xp, $element, $attr) {
    42     global $blogs,$folder,$inOpmlfolder, $inOpmlItem;
    43     if (strcasecmp('outline', $element)) {
     45        global $blogs, $folder, $inOpmlfolder, $inOpmlItem;
     46        if (strcasecmp('outline', $element)) {
    4447                return;
    45     }
    46     if (!array_key_exists('XMLURL',$attr) && (array_key_exists('TEXT',$attr)||array_key_exists('TITLE',$attr)) ) {
     48        }
     49        if (!array_key_exists('XMLURL', $attr) && (array_key_exists('TEXT', $attr) || array_key_exists('TITLE', $attr))) {
    4750                //some opml use title instead of text to define a folder (ex: newzcrawler)
    48                 $folder = $attr['TEXT']?$attr['TEXT']:$attr['TITLE'];
     51                $folder = $attr['TEXT'] ? $attr['TEXT'] : $attr['TITLE'];
    4952                $inOpmlfolder = true;
    5053                $inOpmlItem = false;
    51     } else {   
    52         $inOpmlItem = true;
     54        } else {
     55                $inOpmlItem = true;
    5356                if ($folder != '') {
    54                 $blogs[$folder][] = $attr;
     57                        $blogs[$folder][] = $attr;
    5558                } else {
    56                     $blogs[] = $attr;
     59                        $blogs[] = $attr;
    5760                }
    58     }
     61        }
    5962}
    6063
    6164function opml_endElement($xp, $element) {
    62     global $blogs,$folder,$inOpmlfolder, $inOpmlItem;
    63         if (strcasecmp( $element, "outline") === 0) {
     65        global $blogs, $folder, $inOpmlfolder, $inOpmlItem;
     66        if (strcasecmp($element, "outline") === 0) {
    6467                if (!$inOpmlItem && $inOpmlfolder) {
    6568                        // end of folder element!
     
    6871                        // end of item element
    6972                        $inOpmlItem = false;
    70                 }       
    71         }
    72     return;
     73                }
     74        }
     75
     76        return;
    7377}
    7478
    75 function bookmarks_opml_insert($tree, $id_parent, $importer_statut_publie, $importer_tags){
     79function bookmarks_opml_insert($tree, $id_parent, $importer_statut_publie, $importer_tags) {
    7680        include_spip('action/editer_rubrique');
    7781        include_spip('action/editer_site');
    7882
    7983        $nb = 0;
    80        
    81         if (count($tree)){
    82                 foreach($tree as $key => $item){
     84
     85        if (count($tree)) {
     86                foreach ($tree as $key => $item) {
    8387                        // cas d'un flux
    84                         if (array_key_exists('XMLURL',$item)) {
     88                        if (array_key_exists('XMLURL', $item)) {
    8589                                $statut = 'prop';
    86                                 if ($importer_statut_publie AND autoriser('publierdans','rubrique',$id_parent))
     90                                if ($importer_statut_publie AND autoriser('publierdans', 'rubrique', $id_parent)) {
    8791                                        $statut = 'publie';
     92                                }
    8893                                $now = time();
    89                                 if (!$id_syndic = sql_getfetsel('id_syndic', 'spip_syndic', 'id_rubrique='.intval($id_parent)." AND url_site=".sql_quote($item['HTMLURL']))){
     94                                if (!$id_syndic = sql_getfetsel('id_syndic', 'spip_syndic',
     95                                        'id_rubrique=' . intval($id_parent) . " AND url_site=" . sql_quote($item['HTMLURL']))
     96                                ) {
    9097                                        $id_syndic = site_inserer($id_parent);
    9198                                        $set = array(
     
    95102                                                'syndication' => 'oui',
    96103                                                'resume' => 'non',
    97                                                 'date' => date('Y-m-d H:i:s',$now),
     104                                                'date' => date('Y-m-d H:i:s', $now),
    98105                                                'statut' => $statut
    99106                                        );
    100                                         site_modifier($id_syndic,$set);
    101                                         $nb ++;
    102                                 }
    103                                 else {
    104                                         $nb ++;
     107                                        site_modifier($id_syndic, $set);
     108                                        $nb++;
     109                                } else {
     110                                        $nb++;
    105111                                }
    106112                        } else {
    107113                                // cas d'un dossier
    108114                                $titre = $key;
    109                                 $id_rubrique = sql_getfetsel('id_rubrique','spip_rubriques','id_parent='.intval($id_parent)." AND titre=".sql_quote($titre));
    110                                 if (!$id_rubrique AND $id_rubrique = rubrique_inserer($id_parent)){
    111                                         rubrique_modifier($id_rubrique,array('titre'=>$titre));
     115                                $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques',
     116                                        'id_parent=' . intval($id_parent) . " AND titre=" . sql_quote($titre));
     117                                if (!$id_rubrique AND $id_rubrique = rubrique_inserer($id_parent)) {
     118                                        rubrique_modifier($id_rubrique, array('titre' => $titre));
    112119                                }
    113                                 if ($id_rubrique){
    114                                         $nb += bookmarks_opml_insert($item,$id_rubrique,$importer_statut_publie,$importer_tags);
     120                                if ($id_rubrique) {
     121                                        $nb += bookmarks_opml_insert($item, $id_rubrique, $importer_statut_publie, $importer_tags);
    115122                                }
    116123                        }
  • _core_/plugins/sites/action/instituer_syndic_article.php

    r88959 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    1517// http://code.spip.net/@action_instituer_syndic_article_dist
     
    2224
    2325        if ($id_syndic_article = intval($id_syndic_article)
    24           AND $id_syndic = sql_getfetsel('id_syndic','spip_syndic_articles',"id_syndic_article=".intval($id_syndic_article))
    25                 AND autoriser('moderer','site',$id_syndic)) {
    26                 sql_updateq("spip_syndic_articles", array("statut" => $statut), "id_syndic_article=".intval($id_syndic_article));
     26                AND $id_syndic = sql_getfetsel('id_syndic', 'spip_syndic_articles',
     27                        "id_syndic_article=" . intval($id_syndic_article))
     28                AND autoriser('moderer', 'site', $id_syndic)
     29        ) {
     30                sql_updateq("spip_syndic_articles", array("statut" => $statut), "id_syndic_article=" . intval($id_syndic_article));
    2731        }
    2832
  • _core_/plugins/sites/action/purger_site.php

    r79783 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    1517function action_purger_site_dist($id_syndic = null) {
     
    2123
    2224        if ($id_syndic = intval($id_syndic)
    23           AND autoriser('purger','site',$id_syndic)){
     25                AND autoriser('purger', 'site', $id_syndic)
     26        ) {
    2427
    2528                include_spip('base/abstract_sql');
    26                 sql_delete('spip_syndic_articles','id_syndic='.intval($id_syndic));
     29                sql_delete('spip_syndic_articles', 'id_syndic=' . intval($id_syndic));
    2730        }
    2831}
     32
    2933?>
  • _core_/plugins/sites/action/syndiquer_site.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    1517// http://code.spip.net/@action_editer_site_dist
    1618function action_syndiquer_site_dist($id_syndic = null) {
    1719
    18         if (is_null($id_syndic)){
     20        if (is_null($id_syndic)) {
    1921                $securiser_action = charger_fonction('securiser_action', 'inc');
    2022                $id_syndic = $securiser_action();
     
    2224
    2325
    24         $id_job = job_queue_add('syndic_a_jour','syndic_a_jour',array($id_syndic),'genie/syndic',true);
     26        $id_job = job_queue_add('syndic_a_jour', 'syndic_a_jour', array($id_syndic), 'genie/syndic', true);
    2527        // l'executer immediatement si possible
    2628        if ($id_job) {
    2729                include_spip('inc/queue');
    2830                queue_schedule(array($id_job));
    29         }
    30         else {
    31                 spip_log("Erreur insertion syndic_a_jour($id_syndic) dans la file des travaux",_LOG_ERREUR);
     31        } else {
     32                spip_log("Erreur insertion syndic_a_jour($id_syndic) dans la file des travaux", _LOG_ERREUR);
    3233        }
    3334
  • _core_/plugins/sites/balise/formulaire_site.php

    r88959 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;    #securite
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}  #securite
    1416
    1517// Le contexte indique dans quelle rubrique le visiteur peut proposer le site
     
    1719
    1820// http://code.spip.net/@balise_FORMULAIRE_SITE
    19 function balise_FORMULAIRE_SITE ($p) {
    20   return calculer_balise_dynamique($p,'FORMULAIRE_SITE', array('id_rubrique'));
     21function balise_FORMULAIRE_SITE($p) {
     22        return calculer_balise_dynamique($p, 'FORMULAIRE_SITE', array('id_rubrique'));
    2123}
    2224
     
    2628        // Pas d'id_rubrique ? Erreur de contexte
    2729        if (!$args[0]) {
    28                 $msg = array('zbug_champ_hors_motif',
    29                                 array ('champ' => 'FORMULAIRE_SITE',
    30                                         'motif' => 'RUBRIQUES'));
     30                $msg = array(
     31                        'zbug_champ_hors_motif',
     32                        array(
     33                                'champ' => 'FORMULAIRE_SITE',
     34                                'motif' => 'RUBRIQUES'
     35                        )
     36                );
    3137                erreur_squelette($msg, $context_compil);
     38
    3239                return '';
    3340        }
     41
    3442        // Verifier que les visisteurs sont autorises a proposer un site
    3543
  • _core_/plugins/sites/base/sites.php

    r90967 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    1921 * @return array
    2022 */
    21 function sites_declarer_tables_interfaces($interfaces){
     23function sites_declarer_tables_interfaces($interfaces) {
    2224
    23         $interfaces['table_des_tables']['sites']='syndic'; // compat pour les boucles (SITES)
    24         $interfaces['table_des_tables']['syndication']='syndic';
    25         $interfaces['table_des_tables']['syndic']='syndic';
    26         $interfaces['table_des_tables']['syndic_articles']='syndic_articles';
     25        $interfaces['table_des_tables']['sites'] = 'syndic'; // compat pour les boucles (SITES)
     26        $interfaces['table_des_tables']['syndication'] = 'syndic';
     27        $interfaces['table_des_tables']['syndic'] = 'syndic';
     28        $interfaces['table_des_tables']['syndic_articles'] = 'syndic_articles';
    2729
    2830        # ne sert plus ? verifier balise_URL_ARTICLE
    29         $interfaces['exceptions_des_tables']['syndic_articles']['url_article']='url';
     31        $interfaces['exceptions_des_tables']['syndic_articles']['url_article'] = 'url';
    3032        # ne sert plus ? verifier balise_LESAUTEURS
    31         $interfaces['exceptions_des_tables']['syndic_articles']['lesauteurs']='lesauteurs';
    32         $interfaces['exceptions_des_tables']['syndic_articles']['url_site']=array('syndic', 'url_site');
    33         $interfaces['exceptions_des_tables']['syndic_articles']['nom_site']=array('syndic', 'nom_site');
     33        $interfaces['exceptions_des_tables']['syndic_articles']['lesauteurs'] = 'lesauteurs';
     34        $interfaces['exceptions_des_tables']['syndic_articles']['url_site'] = array('syndic', 'url_site');
     35        $interfaces['exceptions_des_tables']['syndic_articles']['nom_site'] = array('syndic', 'nom_site');
    3436
    3537        $interfaces['table_date']['syndication'] = 'date';
    3638
    37         $interfaces['tables_jointures']['spip_syndic_articles'][]= 'syndic';
     39        $interfaces['tables_jointures']['spip_syndic_articles'][] = 'syndic';
    3840
    39         $interfaces['table_des_traitements']['NOM_SITE'][]= _TRAITEMENT_TYPO;
     41        $interfaces['table_des_traitements']['NOM_SITE'][] = _TRAITEMENT_TYPO;
    4042
    4143        // Articles syndiques : passage des donnees telles quelles, sans traitement typo
    4244        // la securite et conformite XHTML de ces champs est assuree par safehtml()
    43         foreach(array('DESCRIPTIF','SOURCE','URL','URL_SOURCE','LESAUTEURS','TAGS') as $balise)
    44                 if (!isset($interfaces['table_des_traitements'][$balise]['syndic_articles']))
     45        foreach (array('DESCRIPTIF', 'SOURCE', 'URL', 'URL_SOURCE', 'LESAUTEURS', 'TAGS') as $balise) {
     46                if (!isset($interfaces['table_des_traitements'][$balise]['syndic_articles'])) {
    4547                        $interfaces['table_des_traitements'][$balise]['syndic_articles'] = 'safehtml(%s)';
    46                 else
    47                         if (strpos($interfaces['table_des_traitements'][$balise]['syndic_articles'],'safehtml')==false)
    48                                 $interfaces['table_des_traitements'][$balise]['syndic_articles'] = 'safehtml('.$interfaces['table_des_traitements'][$balise]['syndic_articles'].')';
     48                } else {
     49                        if (strpos($interfaces['table_des_traitements'][$balise]['syndic_articles'], 'safehtml') == false) {
     50                                $interfaces['table_des_traitements'][$balise]['syndic_articles'] = 'safehtml(' . $interfaces['table_des_traitements'][$balise]['syndic_articles'] . ')';
     51                        }
     52                }
     53        }
    4954
    5055        return $interfaces;
     
    5257
    5358
    54 function sites_declarer_tables_objets_sql($tables){
     59function sites_declarer_tables_objets_sql($tables) {
    5560        $tables['spip_syndic'] = array(
    56                 'table_objet_surnoms'=>array('site'),
    57                 'type'=>'site',
     61                'table_objet_surnoms' => array('site'),
     62                'type' => 'site',
    5863                'type_surnoms' => array('syndic'),
    5964                'texte_retour' => 'icone_retour',
     
    6267                'texte_modifier' => 'sites:icone_modifier_site',
    6368                'texte_creer' => 'sites:icone_referencer_nouveau_site',
    64                 'info_aucun_objet'=> 'sites:info_aucun_site',
     69                'info_aucun_objet' => 'sites:info_aucun_site',
    6570                'info_1_objet' => 'sites:info_1_site',
    6671                'info_nb_objets' => 'sites:info_nb_sites',
     
    6873                'date' => 'date',
    6974                'principale' => 'oui',
    70                 'field'=> array(
    71                         "id_syndic"     => "bigint(21) NOT NULL",
    72                         "id_rubrique"   => "bigint(21) DEFAULT '0' NOT NULL",
    73                         "id_secteur"    => "bigint(21) DEFAULT '0' NOT NULL",
    74                         "nom_site"      => "text DEFAULT '' NOT NULL",
    75                         "url_site"      => "text DEFAULT '' NOT NULL",
    76                         "url_syndic"    => "text DEFAULT '' NOT NULL",
    77                         "descriptif"    => "text DEFAULT '' NOT NULL",
    78                         "maj"   => "TIMESTAMP",
    79                         "syndication"   => "VARCHAR(3) DEFAULT '' NOT NULL",
    80                         "statut"        => "varchar(10) DEFAULT '0' NOT NULL",
    81                         "date"  => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    82                         "date_syndic"   => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    83                         "date_index"    => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    84                         "moderation"    => "VARCHAR(3) DEFAULT 'non'",
    85                         "miroir"        => "VARCHAR(3) DEFAULT 'non'",
    86                         "oubli" => "VARCHAR(3) DEFAULT 'non'",
    87                         "resume"        => "VARCHAR(3) DEFAULT 'oui'"
     75                'field' => array(
     76                        "id_syndic" => "bigint(21) NOT NULL",
     77                        "id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
     78                        "id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
     79                        "nom_site" => "text DEFAULT '' NOT NULL",
     80                        "url_site" => "text DEFAULT '' NOT NULL",
     81                        "url_syndic" => "text DEFAULT '' NOT NULL",
     82                        "descriptif" => "text DEFAULT '' NOT NULL",
     83                        "maj" => "TIMESTAMP",
     84                        "syndication" => "VARCHAR(3) DEFAULT '' NOT NULL",
     85                        "statut" => "varchar(10) DEFAULT '0' NOT NULL",
     86                        "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     87                        "date_syndic" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     88                        "date_index" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     89                        "moderation" => "VARCHAR(3) DEFAULT 'non'",
     90                        "miroir" => "VARCHAR(3) DEFAULT 'non'",
     91                        "oubli" => "VARCHAR(3) DEFAULT 'non'",
     92                        "resume" => "VARCHAR(3) DEFAULT 'oui'"
    8893                ),
    8994                'key' => array(
    90                         "PRIMARY KEY"   => "id_syndic",
    91                         "KEY id_rubrique"       => "id_rubrique",
    92                         "KEY id_secteur"        => "id_secteur",
    93                         "KEY statut"    => "statut, date_syndic",
     95                        "PRIMARY KEY" => "id_syndic",
     96                        "KEY id_rubrique" => "id_rubrique",
     97                        "KEY id_secteur" => "id_secteur",
     98                        "KEY statut" => "statut, date_syndic",
    9499                ),
    95100                'join' => array(
    96                         "id_syndic"=>"id_syndic",
    97                         "id_rubrique"=>"id_rubrique"
     101                        "id_syndic" => "id_syndic",
     102                        "id_rubrique" => "id_rubrique"
    98103                ),
    99104                'statut' => array(
    100                          array('champ'=>'statut','publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut')
     105                        array('champ' => 'statut', 'publie' => 'publie', 'previsu' => 'publie,prop', 'exception' => 'statut')
    101106                ),
    102107                'texte_changer_statut' => 'sites:info_statut_site_1',
    103                 'statut_textes_instituer' =>    array(
     108                'statut_textes_instituer' => array(
    104109                        'prop' => 'texte_statut_propose_evaluation',
    105110                        'publie' => 'texte_statut_publie',
     
    108113
    109114                'rechercher_champs' => array(
    110                         'nom_site' => 5, 'url_site' => 1, 'descriptif' => 3
     115                        'nom_site' => 5,
     116                        'url_site' => 1,
     117                        'descriptif' => 3
    111118                ),
    112                 'champs_versionnes' => array('id_rubrique', 'id_secteur', 'nom_site', 'url_site', 'url_syndic','descriptif'),
     119                'champs_versionnes' => array('id_rubrique', 'id_secteur', 'nom_site', 'url_site', 'url_syndic', 'descriptif'),
    113120        );
    114121
    115122        $tables['spip_syndic_articles'] = array(
    116                 'table_objet_surnoms'=>array('syndic_article'),
     123                'table_objet_surnoms' => array('syndic_article'),
    117124
    118125                'texte_retour' => 'icone_retour',
     
    120127                'texte_objet' => 'sites:icone_article_syndic',
    121128                'texte_modifier' => 'icone_modifier_article', # inutile en vrai
    122                 'info_aucun_objet'=> 'sites:info_aucun_article_syndique',
     129                'info_aucun_objet' => 'sites:info_aucun_article_syndique',
    123130                'info_1_objet' => 'sites:info_1_article_syndique',
    124131                'info_nb_objets' => 'sites:info_nb_articles_syndiques',
     
    126133
    127134                // pas de page propre ni dans ecrire ni dans le site public
    128                 'url_voir'=>'',
    129                 'url_edit'=>'',
    130                 'page'=>'',
    131                
     135                'url_voir' => '',
     136                'url_edit' => '',
     137                'page' => '',
     138
    132139                'date' => 'date',
    133140                'editable' => 'non',
    134141                'principale' => 'oui',
    135                 'field'=> array(
    136                         "id_syndic_article"     => "bigint(21) NOT NULL",
    137                         "id_syndic"     => "bigint(21) DEFAULT '0' NOT NULL",
    138                         "titre" => "text DEFAULT '' NOT NULL",
    139                         "url"   => "text DEFAULT '' NOT NULL",
    140                         "date"  => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    141                         "lesauteurs"    => "text DEFAULT '' NOT NULL",
    142                         "maj"   => "TIMESTAMP",
    143                         "statut"        => "varchar(10) DEFAULT '0' NOT NULL",
    144                         "descriptif"    => "text DEFAULT '' NOT NULL",
    145                         "lang"  => "VARCHAR(10) DEFAULT '' NOT NULL",
     142                'field' => array(
     143                        "id_syndic_article" => "bigint(21) NOT NULL",
     144                        "id_syndic" => "bigint(21) DEFAULT '0' NOT NULL",
     145                        "titre" => "text DEFAULT '' NOT NULL",
     146                        "url" => "text DEFAULT '' NOT NULL",
     147                        "date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     148                        "lesauteurs" => "text DEFAULT '' NOT NULL",
     149                        "maj" => "TIMESTAMP",
     150                        "statut" => "varchar(10) DEFAULT '0' NOT NULL",
     151                        "descriptif" => "text DEFAULT '' NOT NULL",
     152                        "lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
    146153                        "url_source" => "TINYTEXT DEFAULT '' NOT NULL",
    147154                        "source" => "TINYTEXT DEFAULT '' NOT NULL",
     
    149156                ),
    150157                'key' => array(
    151                         "PRIMARY KEY"   => "id_syndic_article",
    152                         "KEY id_syndic" => "id_syndic",
    153                         "KEY statut"    => "statut",
    154                         "KEY url"       => "url(255)"
     158                        "PRIMARY KEY" => "id_syndic_article",
     159                        "KEY id_syndic" => "id_syndic",
     160                        "KEY statut" => "statut",
     161                        "KEY url" => "url(255)"
    155162                ),
    156163                'join' => array(
    157                         "id_syndic_article"=>"id_syndic_article",
    158                         "id_syndic"=>"id_syndic"
     164                        "id_syndic_article" => "id_syndic_article",
     165                        "id_syndic" => "id_syndic"
    159166                ),
    160167                'statut' => array(
    161                         array('champ'=>'statut','publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut'),
    162                         array('champ'=>array(array('spip_syndic','id_syndic'),'statut'),'publie'=>'publie','previsu'=>'publie,prop','exception'=>'statut'),
     168                        array('champ' => 'statut', 'publie' => 'publie', 'previsu' => 'publie,prop', 'exception' => 'statut'),
     169                        array(
     170                                'champ' => array(array('spip_syndic', 'id_syndic'), 'statut'),
     171                                'publie' => 'publie',
     172                                'previsu' => 'publie,prop',
     173                                'exception' => 'statut'
     174                        ),
    163175                ),
    164176                'statut_images' => array(
    165                         'puce-rouge-anim.gif','publie'=>'puce-publier-8.png','refuse'=>'puce-supprimer-8.png','dispo'=>'puce-proposer-8.png','off'=>'puce-refuser-8.png',
     177                        'puce-rouge-anim.gif',
     178                        'publie' => 'puce-publier-8.png',
     179                        'refuse' => 'puce-supprimer-8.png',
     180                        'dispo' => 'puce-proposer-8.png',
     181                        'off' => 'puce-refuser-8.png',
    166182                ),
    167183                'rechercher_champs' => array(
    168                                 'titre' => 5, 'descriptif' => 1
     184                        'titre' => 5,
     185                        'descriptif' => 1
    169186                )
    170187        );
  • _core_/plugins/sites/formulaires/configurer_sites.php

    r79783 r93624  
    1515 *
    1616 * @package SPIP\Sites\Formulaires
    17 **/
     17 **/
    1818
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022
    2123/**
     
    2426 * @return array
    2527 *     Environnement du formulaire
    26 **/
    27 function formulaires_configurer_sites_charger_dist(){
    28         foreach(array(
    29                 "activer_sites",
    30                 "activer_syndic",
    31                 "proposer_sites",
    32                 "moderation_sites",
    33                 ) as $m)
     28 **/
     29function formulaires_configurer_sites_charger_dist() {
     30        foreach (array(
     31                         "activer_sites",
     32                         "activer_syndic",
     33                         "proposer_sites",
     34                         "moderation_sites",
     35                 ) as $m) {
    3436                $valeurs[$m] = isset($GLOBALS['meta'][$m]) ? $GLOBALS['meta'][$m] : '';
     37        }
    3538
    3639        return $valeurs;
     
    4245 * @return array
    4346 *     Retours du traitement
    44 **/
    45 function formulaires_configurer_sites_traiter_dist(){
    46         $res = array('editable'=>true);
    47         foreach(array(
    48                 "activer_sites",
    49                 "activer_syndic",
    50                 "moderation_sites",
    51                 ) as $m)
    52                 if (!is_null($v=_request($m)))
    53                         ecrire_meta($m, $v=='oui'?'oui':'non');
     47 **/
     48function formulaires_configurer_sites_traiter_dist() {
     49        $res = array('editable' => true);
     50        foreach (array(
     51                         "activer_sites",
     52                         "activer_syndic",
     53                         "moderation_sites",
     54                 ) as $m) {
     55                if (!is_null($v = _request($m))) {
     56                        ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
     57                }
     58        }
    5459
    5560        $v = _request('proposer_sites');
    56         ecrire_meta('proposer_sites', in_array($v,array('0','1','2'))?$v:'0');
     61        ecrire_meta('proposer_sites', in_array($v, array('0', '1', '2')) ? $v : '0');
    5762
    5863        $res['message_ok'] = _T('config_info_enregistree');
     64
    5965        return $res;
    6066}
  • _core_/plugins/sites/formulaires/editer_site.php

    r93092 r93624  
    1515 *
    1616 * @package SPIP\Sites\Formulaires
    17 **/
    18 
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     17 **/
     18
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022
    2123include_spip('inc/actions');
     
    2729 *
    2830 * @uses formulaires_editer_objet_charger()
    29  * 
     31 *
    3032 * @param int|string $id_syndic
    3133 *     Identifiant du site. 'new' pour un nouveau site.
     
    4446 * @return array
    4547 *     Environnement du formulaire
    46 **/
    47 function formulaires_editer_site_charger_dist($id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = ''){
    48         $valeurs = formulaires_editer_objet_charger('site',$id_syndic,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
     48 **/
     49function formulaires_editer_site_charger_dist(
     50        $id_syndic = 'new',
     51        $id_rubrique = 0,
     52        $retour = '',
     53        $lier_trad = 0,
     54        $config_fonc = 'sites_edit_config',
     55        $row = array(),
     56        $hidden = ''
     57) {
     58        $valeurs = formulaires_editer_objet_charger('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row,
     59                $hidden);
    4960        # pour recuperer le logo issu d'analyse auto
    50         $valeurs['logo']='';
    51         $valeurs['format_logo']='';
     61        $valeurs['logo'] = '';
     62        $valeurs['format_logo'] = '';
     63
    5264        return $valeurs;
    5365}
     
    5668 * Identifier le formulaire en faisant abstraction des paramètres qui
    5769 * ne représentent pas l'objet edité
    58  * 
     70 *
    5971 * @param int|string $id_syndic
    6072 *     Identifiant du site. 'new' pour un nouveau site.
     
    7486 *     Hash du formulaire
    7587 */
    76 function formulaires_editer_site_identifier_dist($id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = ''){
    77         return serialize(array(intval($id_syndic),$lier_trad));
     88function formulaires_editer_site_identifier_dist(
     89        $id_syndic = 'new',
     90        $id_rubrique = 0,
     91        $retour = '',
     92        $lier_trad = 0,
     93        $config_fonc = 'sites_edit_config',
     94        $row = array(),
     95        $hidden = ''
     96) {
     97        return serialize(array(intval($id_syndic), $lier_trad));
    7898}
    7999
     
    86106 *     Configuration pour le formulaire
    87107 */
    88 function sites_edit_config($row)
    89 {
     108function sites_edit_config($row) {
    90109        global $spip_lang;
    91110
     
    95114
    96115        $config['restreint'] = false;
     116
    97117        return $config;
    98118}
     
    102122 *
    103123 * @uses formulaires_editer_objet_verifier()
    104  * 
     124 *
    105125 * @param int|string $id_syndic
    106126 *     Identifiant du site. 'new' pour un nouveau site.
     
    120140 *     Erreurs du formulaire
    121141 */
    122 function formulaires_editer_site_verifier_dist($id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = ''){
     142function formulaires_editer_site_verifier_dist(
     143        $id_syndic = 'new',
     144        $id_rubrique = 0,
     145        $retour = '',
     146        $lier_trad = 0,
     147        $config_fonc = 'sites_edit_config',
     148        $row = array(),
     149        $hidden = ''
     150) {
    123151        include_spip('inc/filtres');
    124152        include_spip('inc/site');
    125         $oblis = array('nom_site','url_site','id_parent');
     153        $oblis = array('nom_site', 'url_site', 'id_parent');
    126154        // Envoi depuis le formulaire d'analyse automatique d'un site
    127155        if (_request('ajoute_url_auto') AND strlen(vider_url($u = _request('url_auto')))) {
     
    129157                        // Si pas de logo, on va le chercher dans le ou les feeds
    130158                        if (isset($auto['url_syndic'])
    131                           && !(isset($auto['logo']) and $auto['logo'])
    132                           && ($auto['url_syndic'] != _request('ajouter_url_auto'))
    133                           && preg_match(',^select: (.+),', $auto['url_syndic'], $regs))
    134                         {
    135                                 $url_syndic = str_replace('select: ','',$auto['url_syndic']);
    136                                 $feeds = explode(' ',$regs[1]);
     159                                && !(isset($auto['logo']) and $auto['logo'])
     160                                && ($auto['url_syndic'] != _request('ajouter_url_auto'))
     161                                && preg_match(',^select: (.+),', $auto['url_syndic'], $regs)
     162                        ) {
     163                                $url_syndic = str_replace('select: ', '', $auto['url_syndic']);
     164                                $feeds = explode(' ', $regs[1]);
    137165                                foreach ($feeds as $feed) {
    138                                         if (($auto_syndic = analyser_site($feed)) && isset($auto_syndic['format_logo'])){
     166                                        if (($auto_syndic = analyser_site($feed)) && isset($auto_syndic['format_logo'])) {
    139167                                                $auto['format_logo'] = $auto_syndic['format_logo'];
    140168                                                $auto['logo'] = $auto_syndic['logo'];
     
    143171                                }
    144172                        }
    145                         foreach($auto as $k=>$v){
    146                                 set_request($k,$v);
     173                        foreach ($auto as $k => $v) {
     174                                set_request($k, $v);
    147175                        }
    148176                        $erreurs['verif_url_auto'] = _T('sites:texte_referencement_automatique_verifier', array('url' => $u));
    149177                        $erreurs['message_erreur'] = '';
    150                 }
    151                 else{
     178                } else {
    152179                        $erreurs['url_auto'] = _T('sites:avis_site_introuvable');
    153180                }
    154         }
    155         else{
     181        } else {
    156182                // auto-renseigner le titre si il n'existe pas
    157183                // d'abord a partir du descriptif en coupant
    158                 titre_automatique('nom_site',array('descriptif'));
     184                titre_automatique('nom_site', array('descriptif'));
    159185                // et sinon l'url du site, sans couper
    160                 titre_automatique('nom_site',array('url_site'),255);
    161                 $erreurs = formulaires_editer_objet_verifier('site',$id_syndic,$oblis);
     186                titre_automatique('nom_site', array('url_site'), 255);
     187                $erreurs = formulaires_editer_objet_verifier('site', $id_syndic, $oblis);
    162188        }
     189
    163190        return $erreurs;
    164191}
     
    168195 *
    169196 * @uses formulaires_editer_objet_traiter()
    170  * 
     197 *
    171198 * @param int|string $id_syndic
    172199 *     Identifiant du site. 'new' pour un nouveau site.
     
    186213 *     Erreurs du formulaire
    187214 */
    188 function formulaires_editer_site_traiter_dist($id_syndic = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'sites_edit_config', $row = array(), $hidden = ''){
     215function formulaires_editer_site_traiter_dist(
     216        $id_syndic = 'new',
     217        $id_rubrique = 0,
     218        $retour = '',
     219        $lier_trad = 0,
     220        $config_fonc = 'sites_edit_config',
     221        $row = array(),
     222        $hidden = ''
     223) {
    189224        // netoyer les entrees
    190         if (!is_null(_request('url_site')))
    191                 set_request('url_site',vider_url(_request('url_site')));
    192 
    193         return formulaires_editer_objet_traiter('site',$id_syndic,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
     225        if (!is_null(_request('url_site'))) {
     226                set_request('url_site', vider_url(_request('url_site')));
     227        }
     228
     229        return formulaires_editer_objet_traiter('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row,
     230                $hidden);
    194231}
    195232
  • _core_/plugins/sites/formulaires/editer_site_fonctions.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    15 function saisie_url_syndic($url_syndic, $name = 'url_syndic', $id = 'url_syndic'){
     17function saisie_url_syndic($url_syndic, $name = 'url_syndic', $id = 'url_syndic') {
    1618        $res = "";
    17         if (strlen($url_syndic) < 8) $url_syndic = "http://";
     19        if (strlen($url_syndic) < 8) {
     20                $url_syndic = "http://";
     21        }
    1822
    1923        // cas d'une liste de flux detectee par feedfinder : menu
    2024        if (preg_match(',^select: (.+),', $url_syndic, $regs)) {
    21                 $feeds = explode(' ',$regs[1]);
     25                $feeds = explode(' ', $regs[1]);
    2226                $res .= "<select name='$name' id='$id'>\n";
    2327                foreach ($feeds as $feed) {
    24                         $res .= '<option value="'.entites_html($feed).'">'.$feed."</option>\n";
     28                        $res .= '<option value="' . entites_html($feed) . '">' . $feed . "</option>\n";
    2529                }
    2630                $res .= "</select>\n";
     
    2832                $res .= "<input type='text' class='text' name='$name' id='$id' value=\"$url_syndic\" size='40' />\n";
    2933        }
     34
    3035        return $res;
    3136}
  • _core_/plugins/sites/formulaires/exporter_sites.php

    r79783 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    15 function formulaires_exporter_sites_charger_dist(){
     17function formulaires_exporter_sites_charger_dist() {
    1618
    17         if (!autoriser('exporter','_sites'))
     19        if (!autoriser('exporter', '_sites')) {
    1820                return false;
     21        }
    1922
    2023        return array(
    21                 'id_parent'=>0,
     24                'id_parent' => 0,
    2225                'exporter_publie_seulement' => 0,
    2326                'exporter_avec_mots_cles' => 1,
     
    2528}
    2629
    27 function formulaires_exporter_sites_traiter_dist(){
     30function formulaires_exporter_sites_traiter_dist() {
    2831        $id_parent = intval(_request('id_parent'));
    29         $exporter_publie_seulement = _request('exporter_publie_seulement')?1:0;
    30         $exporter_avec_mots_cles = _request('exporter_avec_mots_cles')?1:0;
     32        $exporter_publie_seulement = _request('exporter_publie_seulement') ? 1 : 0;
     33        $exporter_avec_mots_cles = _request('exporter_avec_mots_cles') ? 1 : 0;
    3134
    3235        include_spip('inc/actions');
    33         $redirect = generer_action_auteur('exporter_bookmarks',"$id_parent-$exporter_publie_seulement-$exporter_avec_mots_cles");
    34         return array('redirect'=>$redirect);
     36        $redirect = generer_action_auteur('exporter_bookmarks',
     37                "$id_parent-$exporter_publie_seulement-$exporter_avec_mots_cles");
     38
     39        return array('redirect' => $redirect);
    3540}
  • _core_/plugins/sites/formulaires/importer_sites.php

    r79783 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    15 function formulaires_importer_sites_charger_dist(){
     17function formulaires_importer_sites_charger_dist() {
    1618
    17         if (!autoriser('importer', '_sites'))
     19        if (!autoriser('importer', '_sites')) {
    1820                return false;
     21        }
    1922
    2023        return array(
     
    2629}
    2730
    28 function formulaires_importer_sites_verifier_dist(){
     31function formulaires_importer_sites_verifier_dist() {
    2932        $erreurs = array();
    3033
    31         if (!_request('id_parent'))
     34        if (!_request('id_parent')) {
    3235                $erreurs['id_parent'] = _T('info_obligatoire');
     36        }
    3337
    3438        $fichier_ok = info_fichiers_import('fichier_import');
    35         if (!$fichier_ok){
     39        if (!$fichier_ok) {
    3640                $erreurs['fichier_import'] = _T('sites:erreur_fichier_incorrect');
    37         }
    38         elseif (!charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action',true)){
    39                 $erreurs['fichier_import'] = _T('sites:erreur_fichier_format_inconnu',array('fichier'=>"<tt>".$fichier_ok['name']."</tt>"));
     41        } elseif (!charger_fonction('importer_bookmarks_' . $fichier_ok['format'], 'action', true)) {
     42                $erreurs['fichier_import'] = _T('sites:erreur_fichier_format_inconnu',
     43                        array('fichier' => "<tt>" . $fichier_ok['name'] . "</tt>"));
    4044        }
    4145
     
    4347}
    4448
    45 function formulaires_importer_sites_traiter_dist(){
     49function formulaires_importer_sites_traiter_dist() {
    4650        $id_parent = intval(_request('id_parent'));
    4751        $importer_statut_publie = _request('importer_statut_publie') ? true : false;
     
    4953        $fichier_ok = info_fichiers_import('fichier_import');
    5054
    51         $importer_bookmarks = charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action');
    52         $nb = $importer_bookmarks($fichier_ok,$id_parent,$importer_statut_publie,$importer_tags);
     55        $importer_bookmarks = charger_fonction('importer_bookmarks_' . $fichier_ok['format'], 'action');
     56        $nb = $importer_bookmarks($fichier_ok, $id_parent, $importer_statut_publie, $importer_tags);
    5357
    54         if (!$nb)
    55                 $res = array('message_erreur'=>_T('sites:info_aucun_site_importe'));
    56         else
    57                 $res = array('message_ok'=>singulier_ou_pluriel($nb,'sites:info_1_site_importe','sites:info_nb_sites_importes'));
     58        if (!$nb) {
     59                $res = array('message_erreur' => _T('sites:info_aucun_site_importe'));
     60        } else {
     61                $res = array(
     62                        'message_ok' => singulier_ou_pluriel($nb, 'sites:info_1_site_importe', 'sites:info_nb_sites_importes')
     63                );
     64        }
    5865
    5966        return $res;
    6067}
    6168
    62 function info_fichiers_import($name){
     69function info_fichiers_import($name) {
    6370        static $fichier_ok = array();
    6471
    65         if (!isset($fichier_ok[$name])){
    66                 if (sizeof($_FILES)<0
    67                   OR !isset($_FILES[$name])
    68                   OR !$_FILES[$name]['size']>0)
     72        if (!isset($fichier_ok[$name])) {
     73                if (sizeof($_FILES) < 0
     74                        OR !isset($_FILES[$name])
     75                        OR !$_FILES[$name]['size'] > 0
     76                ) {
    6977                        return false;
     78                }
    7079
    71                 if ($_FILES[$name]['error']!=0)
     80                if ($_FILES[$name]['error'] != 0) {
    7281                        return false;
     82                }
    7383
    7484                $fichier_ok[$name] = array();
     
    7686                $fichier_ok[$name]['chemin'] = $_FILES[$name]['tmp_name'];
    7787
    78                 // On récupère le contenu du fichier
     88                // On r�cup�re le contenu du fichier
    7989                $fichier_ok[$name]['format'] = '';
    80                 lire_fichier($fichier_ok[$name]['chemin'],$fichier_ok[$name]['contenu']);
    81                 if (stripos($fichier_ok[$name]['contenu'], 'NETSCAPE-Bookmark-file')!==false)
     90                lire_fichier($fichier_ok[$name]['chemin'], $fichier_ok[$name]['contenu']);
     91                if (stripos($fichier_ok[$name]['contenu'], 'NETSCAPE-Bookmark-file') !== false) {
    8292                        $fichier_ok[$name]['format'] = 'netscape';
    83                 if ($_FILES[$name]['type'] == 'text/xml' AND stripos($fichier_ok[$name]['contenu'], 'opml')!==false)
     93                }
     94                if ($_FILES[$name]['type'] == 'text/xml' AND stripos($fichier_ok[$name]['contenu'], 'opml') !== false) {
    8495                        $fichier_ok[$name]['format'] = 'opml';
     96                }
    8597        }
    8698
  • _core_/plugins/sites/formulaires/regler_moderation_site.php

    r93092 r93624  
    1515 *
    1616 * @package SPIP\Sites\Formulaires
    17 **/
     17 **/
    1818
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022
    2123include_spip('inc/actions');
     
    2729 *
    2830 * @uses formulaires_editer_objet_charger()
    29  * 
     31 *
    3032 * @param int $id_syndic
    31  *     Identifiant du site. 
     33 *     Identifiant du site.
    3234 * @param string $retour
    3335 *     URL de redirection après le traitement
    3436 * @return array
    3537 *     Environnement du formulaire
    36 **/
    37 function formulaires_regler_moderation_site_charger_dist($id_syndic, $retour = ''){
    38         $valeurs = formulaires_editer_objet_charger('site',$id_syndic,0,0,$retour,'');
     38 **/
     39function formulaires_regler_moderation_site_charger_dist($id_syndic, $retour = '') {
     40        $valeurs = formulaires_editer_objet_charger('site', $id_syndic, 0, 0, $retour, '');
    3941        # pour recuperer le logo issu d'analyse auto
    40         foreach(array('moderation','miroir','oubli','resume') as $k)
    41                 if (!$valeurs[$k])
     42        foreach (array('moderation', 'miroir', 'oubli', 'resume') as $k) {
     43                if (!$valeurs[$k]) {
    4244                        $valeurs[$k] = 'non';
     45                }
     46        }
    4347
    4448        return $valeurs;
     
    5660 *     Hash du formulaire
    5761 */
    58 function formulaires_regler_moderation_site_identifier_dist($id_syndic, $retour = ''){
     62function formulaires_regler_moderation_site_identifier_dist($id_syndic, $retour = '') {
    5963        return serialize(array($id_syndic));
    6064}
     
    6468 *
    6569 * @param int $id_syndic
    66  *     Identifiant du site. 
     70 *     Identifiant du site.
    6771 * @param string $retour
    6872 *     URL de redirection après le traitement
    6973 * @return array
    7074 *     Erreurs du formulaire
    71 **/
    72 function formulaires_regler_moderation_site_verifier_dist($id_syndic, $retour = ''){
     75 **/
     76function formulaires_regler_moderation_site_verifier_dist($id_syndic, $retour = '') {
    7377        $erreurs = array();
    74        
    75         foreach(array('moderation','miroir','oubli','resume') as $k){
    76                 if (!_request($k) OR !in_array(_request($k),array('oui','non')))
    77                         set_request($k,'non');
     78
     79        foreach (array('moderation', 'miroir', 'oubli', 'resume') as $k) {
     80                if (!_request($k) OR !in_array(_request($k), array('oui', 'non'))) {
     81                        set_request($k, 'non');
     82                }
    7883        }
    7984
     
    8590 *
    8691 * @uses formulaires_editer_objet_traiter()
    87  * 
     92 *
    8893 * @param int $id_syndic
    89  *     Identifiant du site. 
     94 *     Identifiant du site.
    9095 * @param string $retour
    9196 *     URL de redirection après le traitement
    9297 * @return array
    9398 *     Retours des traitements
    94 **/
    95 function formulaires_regler_moderation_site_traiter_dist($id_syndic, $retour = ''){
    96         $res = formulaires_editer_objet_traiter('site',$id_syndic,0,0,$retour,'');
    97   $res['editable'] = true;
    98   if (!isset($res['message_erreur']))
    99           $res['message_ok'] = _T('config_info_enregistree');
    100   return $res;
     99 **/
     100function formulaires_regler_moderation_site_traiter_dist($id_syndic, $retour = '') {
     101        $res = formulaires_editer_objet_traiter('site', $id_syndic, 0, 0, $retour, '');
     102        $res['editable'] = true;
     103        if (!isset($res['message_erreur'])) {
     104                $res['message_ok'] = _T('config_info_enregistree');
     105        }
     106
     107        return $res;
    101108}
    102109
  • _core_/plugins/sites/formulaires/site.php

    r79783 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517function formulaires_site_charger_dist($id_rubrique) {
    1618
    17         return array('nom_site'=>'','url_site'=>'http://','description_site'=>'');
     19        return array('nom_site' => '', 'url_site' => 'http://', 'description_site' => '');
    1820}
    1921
    20 function formulaires_site_verifier_dist($id_rubrique){
     22function formulaires_site_verifier_dist($id_rubrique) {
    2123
    2224        $erreurs = array();
    23         if (!$nom = _request('nom_site'))
     25        if (!$nom = _request('nom_site')) {
    2426                $erreurs['nom_site'] = _T("info_obligatoire");
    25         else {
    26                 if((strlen ($nom) < 2) OR (strlen(_request('nobot'))>0))
     27        } else {
     28                if ((strlen($nom) < 2) OR (strlen(_request('nobot')) > 0)) {
    2729                        $erreurs['email_message_auteur'] = _T('form_prop_indiquer_nom_site');
     30                }
    2831        }
    29         if (!$url = _request('url_site'))
     32        if (!$url = _request('url_site')) {
    3033                $erreurs['url_site'] = _T("info_obligatoire");
     34        }
    3135
    3236        if (!count($erreurs)) {
    3337                // Tester l'URL du site
    3438                include_spip('inc/distant');
    35                 if (!recuperer_page($url))
     39                if (!recuperer_page($url)) {
    3640                        $erreurs['url_site'] = _T('form_pet_url_invalide');
     41                }
    3742        }
     43
    3844        return $erreurs;
    3945}
    4046
    41 function formulaires_site_traiter_dist($id_rubrique){
    42         $res = array('message_erreur'=>_T('titre_probleme_technique'));
     47function formulaires_site_traiter_dist($id_rubrique) {
     48        $res = array('message_erreur' => _T('titre_probleme_technique'));
    4349
    4450        $nom = _request('nom_site');
     
    5157                'url_site' => $url,
    5258                'id_rubrique' => $id_rubrique,
    53                 'id_secteur' => sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.sql_quote($id_rubrique)),
     59                'id_secteur' => sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . sql_quote($id_rubrique)),
    5460                'descriptif' => $desc,
    5561                'date' => date('Y-m-d H:i:s'),
    5662                'date_syndic' => date('Y-m-d H:i:s'),
    5763                'statut' => 'prop',
    58                 'syndication' => 'non')))
    59                           $res = array('message_ok' => _T('form_prop_enregistre'), 'id_syndic'=>$id_syndic);
     64                'syndication' => 'non'
     65        ))
     66        ) {
     67                $res = array('message_ok' => _T('form_prop_enregistre'), 'id_syndic' => $id_syndic);
     68        }
    6069
    6170        return $res;
  • _core_/plugins/sites/genie/syndic.php

    r92822 r93624  
    1515 *
    1616 * @package SPIP\Sites\Genie
    17 **/
    18 
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     17 **/
     18
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022include_spip('inc/syndic');
    2123
     
    4244 * @param int $t Date de dernier passage
    4345 * @return int
    44 **/
     46 **/
    4547function genie_syndic_dist($t) {
    4648        return executer_une_syndication();
     
    5557 * @return
    5658 *     retourne 0 si aucun a faire ou echec lors de la tentative
    57 **/
     59 **/
    5860function executer_une_syndication() {
    5961
    6062        // On va tenter un site 'sus' ou 'off' de plus de 24h, et le passer en 'off'
    6163        // s'il echoue
    62         $where = sql_in("syndication", array('sus','off')) . "
     64        $where = sql_in("syndication", array('sus', 'off')) . "
    6365        AND statut<>'refuse'
    64         AND NOT(" . sql_date_proche('date_syndic', (0 - _PERIODE_SYNDICATION_SUSPENDUE) , "MINUTE") . ')';
    65         $id_syndic = sql_getfetsel("id_syndic", "spip_syndic", "statut<>".sql_quote("refuse")." AND ".$where, '', "date_syndic", "1");
     66        AND NOT(" . sql_date_proche('date_syndic', (0-_PERIODE_SYNDICATION_SUSPENDUE), "MINUTE") . ')';
     67        $id_syndic = sql_getfetsel("id_syndic", "spip_syndic", "statut<>" . sql_quote("refuse") . " AND " . $where, '',
     68                "date_syndic", "1");
    6669        if ($id_syndic) {
    6770                // inserer la tache dans la file, avec controle d'unicite
    68                 job_queue_add('syndic_a_jour','syndic_a_jour',array($id_syndic),'genie/syndic',true);
     71                job_queue_add('syndic_a_jour', 'syndic_a_jour', array($id_syndic), 'genie/syndic', true);
    6972        }
    7073
     
    7275        $where = "syndication='oui'
    7376        AND statut<>'refuse'
    74         AND NOT(" . sql_date_proche('date_syndic', (0 - _PERIODE_SYNDICATION) , "MINUTE") . ')';
    75         $id_syndic = sql_getfetsel("id_syndic", "spip_syndic", "statut<>".sql_quote("refuse")." AND ".$where, '', "date_syndic", "1");
     77        AND NOT(" . sql_date_proche('date_syndic', (0-_PERIODE_SYNDICATION), "MINUTE") . ')';
     78        $id_syndic = sql_getfetsel("id_syndic", "spip_syndic", "statut<>" . sql_quote("refuse") . " AND " . $where, '',
     79                "date_syndic", "1");
    7680
    7781        if ($id_syndic) {
    7882                // inserer la tache dans la file, avec controle d'unicite
    79                 job_queue_add('syndic_a_jour','syndic_a_jour',array($id_syndic),'genie/syndic',true);
     83                job_queue_add('syndic_a_jour', 'syndic_a_jour', array($id_syndic), 'genie/syndic', true);
    8084        }
    8185
     
    8690/**
    8791 * Mettre à jour le site
    88  * 
     92 *
    8993 * Attention, cette fonction ne doit pas etre appellee simultanement
    9094 * sur un meme site: un verrouillage a du etre pose en amont.
     
    98102        include_spip('inc/texte');
    99103        $call = debug_backtrace();
    100         if ($call[1]['function']!=='queue_start_job')
    101                 spip_log("syndic_a_jour doit etre appelee par JobQueue Cf. http://trac.rezo.net/trac/spip/changeset/10294",_LOG_ERREUR);
    102 
    103         $row = sql_fetsel("*", "spip_syndic", "id_syndic=".intval($now_id_syndic));
    104 
    105         if (!$row) return;
     104        if ($call[1]['function'] !== 'queue_start_job') {
     105                spip_log("syndic_a_jour doit etre appelee par JobQueue Cf. http://trac.rezo.net/trac/spip/changeset/10294",
     106                        _LOG_ERREUR);
     107        }
     108
     109        $row = sql_fetsel("*", "spip_syndic", "id_syndic=" . intval($now_id_syndic));
     110
     111        if (!$row) {
     112                return;
     113        }
    106114
    107115        $url_syndic = $row['url_syndic'];
    108116        $url_site = $row['url_site'];
    109117
    110         if ($row['moderation'] == 'oui')
    111                 $moderation = 'dispo';  // a valider
    112         else
    113                 $moderation = 'publie'; // en ligne sans validation
     118        if ($row['moderation'] == 'oui') {
     119                $moderation = 'dispo';
     120        }  // a valider
     121        else {
     122                $moderation = 'publie';
     123        }  // en ligne sans validation
    114124
    115125        // determiner le statut a poser en cas d'echec : sus par defaut
     
    117127        $statut = 'sus';
    118128        if (
    119                 $row['statut']=='off'
    120           OR ($row['statut']=='sus' AND time()-strtotime($row['date_syndic'])>_PERIODE_SYNDICATION_SUSPENDUE*60)
    121           )
     129                $row['statut'] == 'off'
     130                OR ($row['statut'] == 'sus' AND time()-strtotime($row['date_syndic']) > _PERIODE_SYNDICATION_SUSPENDUE*60)
     131        ) {
    122132                $statut = 'off';
    123 
    124         sql_updateq('spip_syndic', array('syndication'=>$statut, 'date_syndic'=>date('Y-m-d H:i:s')), "id_syndic=".intval($now_id_syndic));
     133        }
     134
     135        sql_updateq('spip_syndic', array('syndication' => $statut, 'date_syndic' => date('Y-m-d H:i:s')),
     136                "id_syndic=" . intval($now_id_syndic));
    125137
    126138        // Aller chercher les donnees du RSS et les analyser
    127139        include_spip('inc/distant');
    128140        $rss = recuperer_page($url_syndic, true);
    129         if (!$rss)
     141        if (!$rss) {
    130142                $articles = _T('sites:avis_echec_syndication_02');
    131         else
     143        } else {
    132144                $articles = analyser_backend($rss, $url_syndic);
     145        }
    133146
    134147        // Renvoyer l'erreur le cas echeant
    135         if (!is_array($articles)) return $articles;
     148        if (!is_array($articles)) {
     149                return $articles;
     150        }
    136151
    137152        // Les enregistrer dans la base
     
    146161                $faits = sql_in("id_syndic_article", $faits, 'NOT');
    147162                if ($row['miroir'] == 'oui') {
    148                         sql_update('spip_syndic_articles', array('statut'=>"'off'", 'maj'=>'maj'), "id_syndic=$now_id_syndic AND $faits");
    149                 }
    150         // suppression apres 2 mois des liens qui sont sortis du feed
     163                        sql_update('spip_syndic_articles', array('statut' => "'off'", 'maj' => 'maj'),
     164                                "id_syndic=$now_id_syndic AND $faits");
     165                }
     166                // suppression apres 2 mois des liens qui sont sortis du feed
    151167                if ($row['oubli'] == 'oui') {
    152168
    153                   sql_delete('spip_syndic_articles', "id_syndic=$now_id_syndic AND NOT(" . sql_date_proche('maj', -2, 'MONTH') . ') AND NOT(' . sql_date_proche('date', -2, 'MONTH') . ") AND $faits");
     169                        sql_delete('spip_syndic_articles', "id_syndic=$now_id_syndic AND NOT(" . sql_date_proche('maj', -2,
     170                                        'MONTH') . ') AND NOT(' . sql_date_proche('date', -2, 'MONTH') . ") AND $faits");
    154171                }
    155172        }
    156173
    157174        // Noter que la syndication est OK
    158         sql_updateq("spip_syndic", array("syndication" => 'oui'), "id_syndic=".intval($now_id_syndic));
     175        sql_updateq("spip_syndic", array("syndication" => 'oui'), "id_syndic=" . intval($now_id_syndic));
    159176
    160177        return false; # c'est bon
     
    171188 * @pipeline_appel post_insertion
    172189 * @pipeline_appel post_syndication
    173  * 
     190 *
    174191 * @param array $data
    175192 * @param int $now_id_syndic
     
    181198 * @return bool
    182199 *     true si l'article est nouveau, false sinon.
    183 **/
     200 **/
    184201function inserer_article_syndique($data, $now_id_syndic, $statut, $url_site, $url_syndic, $resume, &$faits) {
    185202        // Creer le lien s'il est nouveau - cle=(id_syndic,url)
     
    188205        /**
    189206         * URL unique de syndication
    190          * 
     207         *
    191208         * Si true, un lien déjà syndiqué arrivant par une autre source est ignoré
    192209         * par defaut `false`, chaque source a sa liste de liens, éventuellement les mêmes
    193          * @var bool */
     210         *
     211         * @var bool
     212         */
    194213        if (!defined('_SYNDICATION_URL_UNIQUE')) {
    195214                define('_SYNDICATION_URL_UNIQUE', false);
     
    204223         * Attention si on modifie à la main un article syndiqué, les modifs sont
    205224         * écrasées lors de la syndication suivante
    206          * 
     225         *
    207226         * @var bool
    208         **/
     227         **/
    209228        if (!defined('_SYNDICATION_CORRECTION')) {
    210229                define('_SYNDICATION_CORRECTION', true);
     
    223242                        ? ''
    224243                        : " AND id_syndic=$now_id_syndic")
    225                 ." AND " . sql_in('id_syndic_article', $faits, 'NOT'), "", "maj DESC");
     244                . " AND " . sql_in('id_syndic_article', $faits, 'NOT'), "", "maj DESC");
    226245        while ($a = sql_fetch($s)) {
    227                 $id =  $a['id_syndic_article'];
     246                $id = $a['id_syndic_article'];
    228247                $id_syndic = $a['id_syndic'];
    229248                if ($a['titre'] == $data['titre']) {
     
    236255        if ($n == 1) {
    237256                $id_syndic_article = $id;
    238         }
    239         // Si l'article n'existe pas, on le cree
     257        } // Si l'article n'existe pas, on le cree
    240258        elseif (!isset($id_syndic_article)) {
    241259                $champs = array(
     
    243261                        'url' => $le_lien,
    244262                        'date' => date("Y-m-d H:i:s", $data['date'] ? $data['date'] : $data['lastbuilddate']),
    245                         'statut'  => $statut
     263                        'statut' => $statut
    246264                );
    247265                // Envoyer aux plugins
     
    279297                }
    280298                // 2. Le lien existait deja, lie a un autre spip_syndic
    281                 if (_SYNDICATION_URL_UNIQUE AND $id_syndic != $now_id_syndic)
     299                if (_SYNDICATION_URL_UNIQUE AND $id_syndic != $now_id_syndic) {
    282300                        return;
     301                }
    283302        }
    284303
     
    301320
    302321        // tags & enclosures (preparer spip_syndic_articles.tags)
    303         $tags = ($data['enclosures']?$data['enclosures']:'');
     322        $tags = ($data['enclosures'] ? $data['enclosures'] : '');
    304323        # eviter les doublons (cle = url+titre) et passer d'un tableau a une chaine
    305324        if ($data['tags']) {
    306325                $vus = array();
    307326                foreach ($data['tags'] as $tag) {
    308                         $cle = supprimer_tags($tag).extraire_attribut($tag,'href');
     327                        $cle = supprimer_tags($tag) . extraire_attribut($tag, 'href');
    309328                        $vus[$cle] = $tag;
    310329                }
     
    314333        // Mise a jour du contenu (titre,auteurs,description,date?,source...)
    315334        $vals = array(
    316                         'titre' => $data['titre'],
    317                         'lesauteurs' => $data['lesauteurs'],
    318                         'descriptif' => $desc,
    319                         'lang'=> substr($data['lang'],0,10),
    320                         'source' => (isset($data['source']) ? substr($data['source'],0,255) : ''),
    321                         'url_source' => (isset($data['url_source']) ? substr($data['url_source'],0,255) : ''),
    322                         'tags' => $tags);
     335                'titre' => $data['titre'],
     336                'lesauteurs' => $data['lesauteurs'],
     337                'descriptif' => $desc,
     338                'lang' => substr($data['lang'], 0, 10),
     339                'source' => (isset($data['source']) ? substr($data['source'], 0, 255) : ''),
     340                'url_source' => (isset($data['url_source']) ? substr($data['url_source'], 0, 255) : ''),
     341                'tags' => $tags
     342        );
    323343
    324344        // Mettre a jour la date si lastbuilddate
    325         if (isset($data['lastbuilddate']) and $data['lastbuilddate'])
    326                 $vals['date']= date("Y-m-d H:i:s", $data['lastbuilddate']);
    327                                    
     345        if (isset($data['lastbuilddate']) and $data['lastbuilddate']) {
     346                $vals['date'] = date("Y-m-d H:i:s", $data['lastbuilddate']);
     347        }
     348
    328349        sql_updateq('spip_syndic_articles', $vals, "id_syndic_article=$id_syndic_article");
    329350
     
    348369 * Nettoyer les contenus de flux qui utilisent des espaces insécables en début
    349370 * pour faire un retrait.
    350  * 
     371 *
    351372 * Peut être sous la forme de l'entité `&nbsp;` ou en utf8 `\xc2\xa0`
    352373 *
     
    354375 * @return string
    355376 */
    356 function trim_more($texte){
     377function trim_more($texte) {
    357378        $texte = trim($texte);
    358379        // chr(194)chr(160)
    359         $texte = preg_replace(",^(\s|(&nbsp;)|(\xc2\xa0))+,ums","",$texte);
    360         return  $texte;
    361 }
     380        $texte = preg_replace(",^(\s|(&nbsp;)|(\xc2\xa0))+,ums", "", $texte);
     381
     382        return $texte;
     383}
     384
    362385?>
  • _core_/plugins/sites/inc/feedfinder.php

    r93092 r93624  
    1616 *
    1717 * j'integre pas l'interrogation  avec xml_rpc de syndic8, mais on peut le faire assez facilement
    18  * dans la phase de test sur differentes url je n'ai constate aucune diffrerence entre les reponses 
     18 * dans la phase de test sur differentes url je n'ai constate aucune diffrerence entre les reponses
    1919 * donnees par feedfinder.py et les miennes donc je ne suis pas sur de voir l'interet
    2020 *
     
    2222 *
    2323 * exemple d'utilisation
    24  * 
     24 *
    2525 * print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
    26  * 
     26 *
    2727 * on obtient
    28  * 
     28 *
    2929 * Array
    3030 * (
     
    3535 * )
    3636 */
    37 if (!defined('_ECRIRE_INC_VERSION')) return;
     37if (!defined('_ECRIRE_INC_VERSION')) {
     38        return;
     39}
    3840
    3941$verif_complete = 0; //mettez le a 1 si vous voulez controler la validite des feed trouves mais le temps d'execution
    40                      //est alors plus long
     42//est alors plus long
    4143
    4244/**
    43  * une fonction qui permet de si un lien est un feed ou nom, 
    44  * si c'est un feed elle retourne son type, si c'est pas un feed elle retourne 0, 
     45 * une fonction qui permet de si un lien est un feed ou nom,
     46 * si c'est un feed elle retourne son type, si c'est pas un feed elle retourne 0,
    4547 * cette verification est évidemment très très légère
    46  * 
     48 *
    4749 * @param string $url
    48  *              URL à analyser
    49  * @return string|0 
    50  *              Retourne son type (rss|atom|rdf) ou 0 si pas feed
     50 *    URL à analyser
     51 * @return string|0
     52 *    Retourne son type (rss|atom|rdf) ou 0 si pas feed
    5153 */
    52 function is_feed($url){
     54function is_feed($url) {
    5355
    5456        /**
     
    5759        if (function_exists('recuperer_page')) {
    5860                $buffer = recuperer_page($url);
    59                 if (preg_match("/<(\w*) .*/", $buffer, $matches)){
     61                if (preg_match("/<(\w*) .*/", $buffer, $matches)) {
    6062                        //ici on detecte la premiere balise
    6163                        $type_feed = $matches[1];
    6264                        switch ($type_feed) {
    63                                 case "rss": return "rss";
    64                                 case "feed": return "atom";
    65                                 case "rdf": return "rdf";
    66                         }
    67                 }
     65                                case "rss":
     66                                        return "rss";
     67                                case "feed":
     68                                        return "atom";
     69                                case "rdf":
     70                                        return "rdf";
     71                        }
     72                }
     73
    6874                return '';
    6975        }
    7076
    7177        $fp = @fopen($url, "r");
    72         if (!$fp )
     78        if (!$fp) {
    7379                return 0;
     80        }
    7481        //verifion la nature de ce fichier
    7582        while (!feof($fp)) {
    7683                $buffer = fgets($fp, 4096);
    77                 if (preg_match("/<(\w*) .*/", $buffer, $matches)){
     84                if (preg_match("/<(\w*) .*/", $buffer, $matches)) {
    7885                        //ici on detecte la premiere balise
    7986                        $type_feed = $matches[1];
    8087                        switch ($type_feed) {
    81                                 case "rss": fclose($fp); return "rss";
    82                                 case "feed": fclose($fp); return "atom";
    83                                 case "rdf": fclose($fp); return "rdf";
    84                                 default : fclose($fp); return 0;
     88                                case "rss":
     89                                        fclose($fp);
     90
     91                                        return "rss";
     92                                case "feed":
     93                                        fclose($fp);
     94
     95                                        return "atom";
     96                                case "rdf":
     97                                        fclose($fp);
     98
     99                                        return "rdf";
     100                                default :
     101                                        fclose($fp);
     102
     103                                        return 0;
    85104                        }
    86105                }
     
    89108
    90109/*****************test is_feed******************************
    91 echo is_feed("http://contrib.spip.net/spip.php?page=backend" _EXTENSIO_PHP") . "<br />"; //retourne rss
    92 echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
    93 echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
    94 echo is_feed("http://willy.boerland.com/myblog/atom/feed") //retourne atom
    95 echo is_feed("http://spip.net/") . "<br />"; //retoune 0
    96 ************************************************************/
     110 * echo is_feed("http://contrib.spip.net/spip.php?page=backend" _EXTENSIO_PHP") . "<br />"; //retourne rss
     111 * echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
     112 * echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
     113 * echo is_feed("http://willy.boerland.com/myblog/atom/feed") //retourne atom
     114 * echo is_feed("http://spip.net/") . "<br />"; //retoune 0
     115 ************************************************************/
    97116
    98117/**
     
    102121 * alors on recupere la valeur href='<url>', on adapte celle-ci si elle
    103122 * est relative et on verifie que c'est bien un feed si oui on l'ajoute
    104  * au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne 
     123 * au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne
    105124 * un tableau vide
    106  * 
     125 *
    107126 * @param string $url
    108  *              L'URL à analyser
     127 *    L'URL à analyser
    109128 * @param $buffer
    110129 * @return array $feed_list
    111  *              Le tableau des feed trouvés dans la page
     130 *    Le tableau des feed trouvés dans la page
    112131 */
    113 function get_feed_from_url($url, $buffer = false){
     132function get_feed_from_url($url, $buffer = false) {
    114133        global $verif_complete;
    115134        //j'ai prevenu ce sera pas fin
    116         if (!preg_match("/^http:\/\/.*/", $url)) $url = "http://" . $url;
    117         if (!$buffer) $buffer = @file_get_contents($url);
     135        if (!preg_match("/^http:\/\/.*/", $url)) {
     136                $url = "http://" . $url;
     137        }
     138        if (!$buffer) {
     139                $buffer = @file_get_contents($url);
     140        }
    118141
    119142        include_spip("inc/filtres");
     
    121144        $feed_list = array();
    122145        //extraction des <link>
    123         if ($links = extraire_balises($buffer,"link")){
     146        if ($links = extraire_balises($buffer, "link")) {
    124147                //y a t-y rss atom rdf ou xml dans ces balises
    125                 foreach($links as $link){
     148                foreach ($links as $link) {
    126149                        if (
    127                                   (strpos($link, "rss")
    128                                   || strpos($link, "rdf")
    129                                   || strpos($link, "atom")
    130                                   || strpos($link, "xml"))
     150                                (strpos($link, "rss")
     151                                        || strpos($link, "rdf")
     152                                        || strpos($link, "atom")
     153                                        || strpos($link, "xml"))
    131154                                &&
    132                                   (!strpos($link,'opensearch') && !strpos($link,'oembed'))
    133                           ){
     155                                (!strpos($link, 'opensearch') && !strpos($link, 'oembed'))
     156                        ) {
    134157                                //voila un candidat on va extraire sa partie href et la placer dans notre tableau
    135                                 if ($href = extraire_attribut($link,"href")){
    136                                         //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
     158                                if ($href = extraire_attribut($link, "href")) {
     159                                        //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
    137160                                        $href = suivre_lien($url, $href);
    138                                         if(!$verif_complete OR is_feed($href)){
     161                                        if (!$verif_complete OR is_feed($href)) {
    139162                                                $feed_list[] = $href;
    140           }
     163                                        }
    141164                                }
    142165                        }
     
    144167        }
    145168        //extraction des <a>
    146         if ($links = extraire_balises($buffer,"a")){
     169        if ($links = extraire_balises($buffer, "a")) {
    147170                //y a t-y rss atom rdf ou xml dans ces balises
    148                 foreach($links as $link){
     171                foreach ($links as $link) {
    149172                        if (
    150                                   (strpos($link, "rss")
    151                                   || strpos($link, "rdf")
    152                                   || strpos($link, "atom")
    153                                   || strpos($link, "xml"))
     173                                (strpos($link, "rss")
     174                                        || strpos($link, "rdf")
     175                                        || strpos($link, "atom")
     176                                        || strpos($link, "xml"))
    154177                                &&
    155                                   (!strpos($link,'opensearch') && !strpos($link,'oembed'))
    156                           ){
     178                                (!strpos($link, 'opensearch') && !strpos($link, 'oembed'))
     179                        ) {
    157180                                //voila un candidat on va extraire sa partie href et la placer dans notre tableau
    158                                 if ($href = extraire_attribut($link,"href")){
    159                                         //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
     181                                if ($href = extraire_attribut($link, "href")) {
     182                                        //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
    160183                                        $href = suivre_lien($url, $href);
    161                                         if(!$verif_complete OR is_feed($href)){
     184                                        if (!$verif_complete OR is_feed($href)) {
    162185                                                $feed_list[] = $href;
    163           }
     186                                        }
    164187                                }
    165188                        }
     
    169192        // si c'est un site SPIP, tentons l'url connue
    170193        if (!count($feed_list)
    171           AND (
    172                 strpos($url,"spip") OR stripos($buffer,"spip")
    173                 )){
    174                 $href = suivre_lien($url,"spip.php?page=backend");
    175                 if (is_feed($href))
     194                AND (
     195                        strpos($url, "spip") OR stripos($buffer, "spip")
     196                )
     197        ) {
     198                $href = suivre_lien($url, "spip.php?page=backend");
     199                if (is_feed($href)) {
    176200                        $feed_list[] = $href;
    177         }
     201                }
     202        }
     203
    178204        return $feed_list;
    179205}
     206
    180207/************************************ getFeed ****************************
    181 print_r (get_feed_from_url("contrib.spip.net"));
    182 print_r (get_feed_from_url("http://liberation.fr/"));
    183 print_r (get_feed_from_url("cnn.com"));
    184 print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
    185 *****************************    Resultat *****************************************
    186 Array
    187 (
    188    [0] => http://contrib.spip.net/backend.php
    189 )
    190 Array
    191 (
    192    [0] => http://www.liberation.fr/rss.php
    193 )
    194 Array
    195 (
    196    [0] => http://rss.cnn.com/rss/cnn_topstories.rss
    197    [1] => http://rss.cnn.com/rss/cnn_latest.rss
    198    [2] => http://www.cnn.com/services/rss/
    199    [3] => http://www.cnn.com/services/rss/
    200    [4] => http://www.cnn.com/services/rss/
    201 )
    202 Array
    203 (
    204    [0] => http://willy.boerland.com/myblog/atom/feed
    205    [1] => http://willy.boerland.com/myblog/blogapi/rsd
    206    [2] => http://willy.boerland.com/myblog/rss.xml
    207    [3] => http://willy.boerland.com/myblog/node/feed
    208 )
    209 ************************************************************************/
     208 * print_r (get_feed_from_url("contrib.spip.net"));
     209 * print_r (get_feed_from_url("http://liberation.fr/"));
     210 * print_r (get_feed_from_url("cnn.com"));
     211 * print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
     212 *****************************    Resultat *****************************************
     213 * Array
     214 * (
     215 * [0] => http://contrib.spip.net/backend.php
     216 * )
     217 * Array
     218 * (
     219 * [0] => http://www.liberation.fr/rss.php
     220 * )
     221 * Array
     222 * (
     223 * [0] => http://rss.cnn.com/rss/cnn_topstories.rss
     224 * [1] => http://rss.cnn.com/rss/cnn_latest.rss
     225 * [2] => http://www.cnn.com/services/rss/
     226 * [3] => http://www.cnn.com/services/rss/
     227 * [4] => http://www.cnn.com/services/rss/
     228 * )
     229 * Array
     230 * (
     231 * [0] => http://willy.boerland.com/myblog/atom/feed
     232 * [1] => http://willy.boerland.com/myblog/blogapi/rsd
     233 * [2] => http://willy.boerland.com/myblog/rss.xml
     234 * [3] => http://willy.boerland.com/myblog/node/feed
     235 * )
     236 ************************************************************************/
    210237
    211238?>
  • _core_/plugins/sites/inc/site.php

    r92993 r93624  
    1515 *
    1616 * @package SPIP\Sites\Fonctions
    17 **/
    18 if (!defined("_ECRIRE_INC_VERSION")) return;
     17 **/
     18if (!defined("_ECRIRE_INC_VERSION")) {
     19        return;
     20}
    1921
    2022
     
    2729 *     - array : informations du site
    2830 *     - false : site impossible à récupérer
    29 **/
     31 **/
    3032function analyser_site($url) {
    3133        include_spip('inc/filtres');
     
    3436        // Accepter les URLs au format feed:// ou qui ont oublie le http://
    3537        $url = preg_replace(',^feed://,i', 'http://', $url);
    36         if (!preg_match(',^[a-z]+://,i', $url)) $url = 'http://'.$url;
     38        if (!preg_match(',^[a-z]+://,i', $url)) {
     39                $url = 'http://' . $url;
     40        }
    3741
    3842        $texte = recuperer_page($url, true);
    39         if (!$texte) return false;
     43        if (!$texte) {
     44                return false;
     45        }
    4046
    4147        include_spip('inc/syndic');
     
    4349
    4450        if (preg_match(',<(channel|feed)([\:[:space:]][^>]*)?'
    45         .'>(.*)</\1>,ims', $texte, $regs)) {
     51                . '>(.*)</\1>,ims', $texte, $regs)) {
    4652                $result['syndication'] = 'oui';
    4753                $result['url_syndic'] = $url;
     
    5359                        extraire_balises($channel, 'entry')
    5460                );
    55                 $header = str_replace($b,array(),$channel);
     61                $header = str_replace($b, array(), $channel);
    5662
    5763                if ($t = extraire_balise($header, 'title')) {
     
    6369                        foreach ($t as $link) {
    6470                                $u = supprimer_tags(filtrer_entites($link));
    65                                 if (!strlen($u))
     71                                if (!strlen($u)) {
    6672                                        $u = extraire_attribut($link, 'href');
     73                                }
    6774                                if (strlen($u)) {
    6875                                        // on installe l'url comme url du site
    6976                                        // si c'est non vide, en donnant la priorite a rel=alternate
    7077                                        if (preg_match(',\balternate\b,', extraire_attribut($link, 'rel'))
    71                                         OR !isset($result['url_site']))
     78                                                OR !isset($result['url_site'])
     79                                        ) {
    7280                                                $result['url_site'] = filtrer_entites($u);
     81                                        }
    7382                                }
    7483                        }
     
    7786
    7887                if ($a = extraire_balise($header, 'description')
    79                 OR $a = extraire_balise($header, 'tagline')) {
     88                        OR $a = extraire_balise($header, 'tagline')
     89                ) {
    8090                        cdata_echappe_retour($a, $echappe_cdata);
    8191                        $result['descriptif'] = filtrer_entites(supprimer_tags($a));
     
    8393
    8494                if (preg_match(',<image.*<url.*>(.*)</url>.*</image>,Uims',
    85                 $header, $r)
    86                 AND preg_match(',(https?://.*/.*(gif|png|jpg)),ims', $r[1], $r)
    87                 AND $image = recuperer_infos_distantes($r[1])) {
     95                                $header, $r)
     96                        AND preg_match(',(https?://.*/.*(gif|png|jpg)),ims', $r[1], $r)
     97                        AND $image = recuperer_infos_distantes($r[1])
     98                ) {
    8899                        if (in_array($image['extension'], array('gif', 'jpg', 'png'))) {
    89100                                $result['format_logo'] = $image['extension'];
    90101                                $result['logo'] = $r[1];
    91                         }
    92                         else if ($image['fichier']) {
    93                                 spip_unlink($image['fichier']);
     102                        } else {
     103                                if ($image['fichier']) {
     104                                        spip_unlink($image['fichier']);
     105                                }
    94106                        }
    95107                }
    96         }
    97         else {
     108        } else {
    98109                $result['syndication'] = 'non';
    99110                $result['url_site'] = $url;
    100111                if (preg_match(',<head>(.*(description|title).*)</head>,Uims', $texte, $regs)) {
    101112                        $head = filtrer_entites($regs[1]);
    102                 } else
     113                } else {
    103114                        $head = $texte;
     115                }
    104116
    105                 if (preg_match(',<title[^>]*>(.*),ims', $head, $regs)){
     117                if (preg_match(',<title[^>]*>(.*),ims', $head, $regs)) {
    106118                        $titre = trim($regs[1]);
    107                         if (!strlen($titre)){
    108                                 $titre = substr($head,strpos($head,$regs[0]));
     119                        if (!strlen($titre)) {
     120                                $titre = substr($head, strpos($head, $regs[0]));
    109121                        }
    110122                        $result['nom_site'] = filtrer_entites(supprimer_tags(preg_replace(',</title>.*$,ims', '', $titre)));
     
    114126                        extraire_balises($head, 'meta'),
    115127                        extraire_balises($head, 'http-equiv')
    116                 )) {
    117                         foreach($a as $meta) {
     128                )
     129                ) {
     130                        foreach ($a as $meta) {
    118131                                if (extraire_attribut($meta, 'name') == 'description') {
    119132                                        $desc = trim(extraire_attribut($meta, 'content'));
    120                                         if (!strlen($desc))
     133                                        if (!strlen($desc)) {
    121134                                                $desc = trim(extraire_attribut($meta, 'value'));
     135                                        }
    122136                                        $result['descriptif'] = $desc;
    123137                                }
     
    132146                // ce qui constitue un signal pour exec=sites qui proposera de choisir
    133147                // si on syndique, et quelle url.
    134                 if (count($feeds)>=1) {
    135                         spip_log("feedfinder.php :\n".join("\n", $feeds));
    136                         $result['url_syndic'] = "select: ".join(' ',$feeds);
     148                if (count($feeds) >= 1) {
     149                        spip_log("feedfinder.php :\n" . join("\n", $feeds));
     150                        $result['url_syndic'] = "select: " . join(' ', $feeds);
    137151                }
    138152        }
    139153
    140154        cdata_echappe_retour($result, $echappe_cdata);
     155
    141156        return $result;
    142157}
  • _core_/plugins/sites/inc/syndic.php

    r93092 r93624  
    1515 *
    1616 * @package SPIP\Sites\Syndication
    17 **/
    18 
    19 if (!defined("_ECRIRE_INC_VERSION")) return;
     17 **/
     18
     19if (!defined("_ECRIRE_INC_VERSION")) {
     20        return;
     21}
    2022
    2123// ATTENTION
     
    3739 *     - array : tableau des items lus,
    3840 *     - string : texte d'erreur
    39 **/
     41 **/
    4042function analyser_backend($rss, $url_syndic = '') {
    4143        include_spip('inc/texte'); # pour couper()
     
    6062        list($header) = preg_split(',<(item|entry)\b,', $rss, 2);
    6163        if (preg_match_all(
    62         ',<(author|creator)\b(.*)</\1>,Uims',
    63         $header, $regs, PREG_SET_ORDER)) {
     64                ',<(author|creator)\b(.*)</\1>,Uims',
     65                $header, $regs, PREG_SET_ORDER)) {
    6466                $les_auteurs_du_site = array();
    6567                foreach ($regs as $reg) {
    6668                        $nom = $reg[2];
    67                         if (preg_match(',<name>(.*)</name>,Uims', $nom, $reg))
     69                        if (preg_match(',<name>(.*)</name>,Uims', $nom, $reg)) {
    6870                                $nom = $reg[1];
     71                        }
    6972                        $les_auteurs_du_site[] = trim(textebrut(filtrer_entites($nom)));
    7073                }
     
    7679        $langue_du_site = '';
    7780
    78         if ((preg_match(',<([^>]*xml:)?lang(uage)?'.'>([^<>]+)<,i',
    79         $header, $match) AND $l = $match[3])
    80         OR ($l = extraire_attribut(extraire_balise($header, 'feed'), 'xml:lang'))
     81        if ((preg_match(',<([^>]*xml:)?lang(uage)?' . '>([^<>]+)<,i',
     82                                $header, $match) AND $l = $match[3])
     83                OR ($l = extraire_attribut(extraire_balise($header, 'feed'), 'xml:lang'))
    8184        ) {
    8285                $langue_du_site = $l;
    83         }
    84         // atom
     86        } // atom
    8587        elseif (preg_match(',<feed\s[^>]*xml:lang=[\'"]([^<>\'"]+)[\'"],i', $header, $match)) {
    8688                $langue_du_site = $match[1];
     
    9597        //
    9698
    97         if (!count($items)) return _T('sites:avis_echec_syndication_01');
     99        if (!count($items)) {
     100                return _T('sites:avis_echec_syndication_01');
     101        }
    98102
    99103        foreach ($items as $item) {
     
    106110                // gymnastique
    107111                if (preg_match(',<guid.*>[[:space:]]*(https?:[^<]*)</guid>,Uims',
    108                 $item, $regs) AND preg_match(',^(true|1)?$,i',
    109                 extraire_attribut($regs[0], 'ispermalink')))
     112                                $item, $regs) AND preg_match(',^(true|1)?$,i',
     113                                extraire_attribut($regs[0], 'ispermalink'))
     114                ) {
    110115                        $data['url'] = $regs[1];
    111                 // contourner les redirections feedburner
    112                 else if (_SYNDICATION_DEREFERENCER_URL
    113                 AND preg_match(',<feedburner:origLink>(.*)<,Uims',
    114                 $item, $regs))
    115                         $data['url'] = $regs[1];
    116                 // <link>, plus classique
    117                 else if (preg_match(
    118                 ',<link[^>]*[[:space:]]rel=["\']?alternate[^>]*>(.*)</link>,Uims',
    119                 $item, $regs))
    120                         $data['url'] = $regs[1];
    121                 else if (preg_match(',<link[^>]*[[:space:]]rel=.alternate[^>]*>,Uims',
    122                 $item, $regs))
    123                         $data['url'] = extraire_attribut($regs[0], 'href');
    124                 else if (preg_match(',<link[^>]*>\s*([^\s]+)\s*</link>,Uims', $item, $regs))
    125                         $data['url'] = $regs[1];
    126                 else if (preg_match(',<link[^>]*>,Uims', $item, $regs))
    127                         $data['url'] = extraire_attribut($regs[0], 'href');
    128 
    129                 // Aucun link ni guid, mais une enclosure
    130                 else if (preg_match(',<enclosure[^>]*>,ims', $item, $regs)
    131                 AND $url = extraire_attribut($regs[0], 'url'))
    132                         $data['url'] = $url;
    133 
    134                 // pas d'url, c'est genre un compteur...
    135                 else
    136                         $data['url'] = '';
     116                } // contourner les redirections feedburner
     117                else {
     118                        if (_SYNDICATION_DEREFERENCER_URL
     119                                AND preg_match(',<feedburner:origLink>(.*)<,Uims',
     120                                        $item, $regs)
     121                        ) {
     122                                $data['url'] = $regs[1];
     123                        } // <link>, plus classique
     124                        else {
     125                                if (preg_match(
     126                                        ',<link[^>]*[[:space:]]rel=["\']?alternate[^>]*>(.*)</link>,Uims',
     127                                        $item, $regs)) {
     128                                        $data['url'] = $regs[1];
     129                                } else {
     130                                        if (preg_match(',<link[^>]*[[:space:]]rel=.alternate[^>]*>,Uims',
     131                                                $item, $regs)) {
     132                                                $data['url'] = extraire_attribut($regs[0], 'href');
     133                                        } else {
     134                                                if (preg_match(',<link[^>]*>\s*([^\s]+)\s*</link>,Uims', $item, $regs)) {
     135                                                        $data['url'] = $regs[1];
     136                                                } else {
     137                                                        if (preg_match(',<link[^>]*>,Uims', $item, $regs)) {
     138                                                                $data['url'] = extraire_attribut($regs[0], 'href');
     139                                                        } // Aucun link ni guid, mais une enclosure
     140                                                        else {
     141                                                                if (preg_match(',<enclosure[^>]*>,ims', $item, $regs)
     142                                                                        AND $url = extraire_attribut($regs[0], 'url')
     143                                                                ) {
     144                                                                        $data['url'] = $url;
     145                                                                } // pas d'url, c'est genre un compteur...
     146                                                                else {
     147                                                                        $data['url'] = '';
     148                                                                }
     149                                                        }
     150                                                }
     151                                        }
     152                                }
     153                        }
     154                }
    137155
    138156                // Titre (semi-obligatoire)
    139                 if (preg_match(",<title[^>]*>(.*?)</title>,ims",$item,$match))
     157                if (preg_match(",<title[^>]*>(.*?)</title>,ims", $item, $match)) {
    140158                        $data['titre'] = $match[1];
    141                 else if (preg_match(',<link[[:space:]][^>]*>,Uims',$item,$mat)
    142                 AND $title = extraire_attribut($mat[0], 'title'))
    143                         $data['titre'] = $title;
    144                 if (!strlen($data['titre'] = trim($data['titre'])))
     159                } else {
     160                        if (preg_match(',<link[[:space:]][^>]*>,Uims', $item, $mat)
     161                                AND $title = extraire_attribut($mat[0], 'title')
     162                        ) {
     163                                $data['titre'] = $title;
     164                        }
     165                }
     166                if (!strlen($data['titre'] = trim($data['titre']))) {
    145167                        $data['titre'] = _T('ecrire:info_sans_titre');
     168                }
    146169
    147170                // Date
    148171                $la_date = '';
    149172                if (preg_match(',<(published|modified|issued)>([^<]*)<,Uims',
    150                 $item,$match)) {
     173                        $item, $match)) {
    151174                        cdata_echappe_retour($match[2], $echappe_cdata);
    152175                        $la_date = my_strtotime($match[2], $langue_du_site);
    153176                }
    154177                if (!$la_date AND
    155                 preg_match(',<(pubdate)>([^<]*)<,Uims',$item, $match)) {
     178                        preg_match(',<(pubdate)>([^<]*)<,Uims', $item, $match)
     179                ) {
    156180                        cdata_echappe_retour($match[2], $echappe_cdata);
    157181                        $la_date = my_strtotime($match[2], $langue_du_site);
    158182                }
    159183                if (!$la_date AND
    160                 preg_match(',<([a-z]+:date)>([^<]*)<,Uims',$item,$match)) {
     184                        preg_match(',<([a-z]+:date)>([^<]*)<,Uims', $item, $match)
     185                ) {
    161186                        cdata_echappe_retour($match[2], $echappe_cdata);
    162187                        $la_date = my_strtotime($match[2], $langue_du_site);
    163188                }
    164189                if (!$la_date AND
    165                 preg_match(',<date>([^<]*)<,Uims',$item,$match)) {
     190                        preg_match(',<date>([^<]*)<,Uims', $item, $match)
     191                ) {
    166192                        cdata_echappe_retour($match[1], $echappe_cdata);
    167193                        $la_date = my_strtotime($match[1], $langue_du_site);
     
    174200                if ($GLOBALS['controler_dates_rss']) {
    175201                        if (!$la_date
    176                                 OR $la_date > time() + 48 * 3600)
     202                                OR $la_date > time()+48*3600
     203                        ) {
    177204                                $la_date = time();
    178                 }
    179 
    180                 if ($la_date)
     205                        }
     206                }
     207
     208                if ($la_date) {
    181209                        $data['date'] = $la_date;
     210                }
    182211
    183212                // Honorer le <lastbuilddate> en forcant la date
    184213                if (preg_match(',<(lastbuilddate|updated|modified)>([^<>]+)</\1>,i',
    185                 $item, $regs)
    186                 AND $lastbuilddate = my_strtotime(trim($regs[2]), $langue_du_site)
    187                 // pas dans le futur
    188                 AND $lastbuilddate < time())
     214                                $item, $regs)
     215                        AND $lastbuilddate = my_strtotime(trim($regs[2]), $langue_du_site)
     216                        // pas dans le futur
     217                        AND $lastbuilddate < time()
     218                ) {
    189219                        $data['lastbuilddate'] = $lastbuilddate;
     220                }
    190221
    191222                // Auteur(s)
    192223                if (preg_match_all(
    193                 ',<(author|creator)\b[^>]*>(.*)</\1>,Uims',
    194                 $item, $regs, PREG_SET_ORDER)) {
     224                        ',<(author|creator)\b[^>]*>(.*)</\1>,Uims',
     225                        $item, $regs, PREG_SET_ORDER)) {
    195226                        $auteurs = array();
    196227                        foreach ($regs as $reg) {
    197228                                $nom = $reg[2];
    198                                 if (preg_match(',<name\b[^>]*>(.*)</name>,Uims', $nom, $reg))
     229                                if (preg_match(',<name\b[^>]*>(.*)</name>,Uims', $nom, $reg)) {
    199230                                        $nom = $reg[1];
     231                                }
    200232                                // Cas particulier d'un auteur Flickr
    201                                 if (preg_match(',nobody@flickr.com \((.*)\),Uims', $nom, $reg))
     233                                if (preg_match(',nobody@flickr.com \((.*)\),Uims', $nom, $reg)) {
    202234                                        $nom = $reg[1];
     235                                }
    203236                                $auteurs[] = trim(textebrut(filtrer_entites($nom)));
    204237                        }
    205238                        $data['lesauteurs'] = join(', ', array_unique($auteurs));
    206                 }
    207                 else
     239                } else {
    208240                        $data['lesauteurs'] = $les_auteurs_du_site;
     241                }
    209242
    210243                // Description
    211244                if (preg_match(',<(description|summary)\b.*'
    212                 .'>(.*)</\1\b,Uims',$item,$match)) {
     245                        . '>(.*)</\1\b,Uims', $item, $match)) {
    213246                        $data['descriptif'] = trim($match[2]);
    214247                }
    215248                if (preg_match(',<(content)\b.*'
    216                 .'>(.*)</\1\b,Uims',$item,$match)) {
     249                        . '>(.*)</\1\b,Uims', $item, $match)) {
    217250                        $data['content'] = trim($match[2]);
    218251                }
    219252
    220253                // lang
    221                 if (preg_match(',<([^>]*xml:)?lang(uage)?'.'>([^<>]+)<,i',
    222                         $item, $match))
     254                if (preg_match(',<([^>]*xml:)?lang(uage)?' . '>([^<>]+)<,i',
     255                        $item, $match)) {
    223256                        $data['lang'] = trim($match[3]);
    224                 else if ($lang = trim(extraire_attribut($item, 'xml:lang')))
    225                         $data['lang'] = $lang;
    226                 else
    227                         $data['lang'] = trim($langue_du_site);
     257                } else {
     258                        if ($lang = trim(extraire_attribut($item, 'xml:lang'))) {
     259                                $data['lang'] = $lang;
     260                        } else {
     261                                $data['lang'] = trim($langue_du_site);
     262                        }
     263                }
    228264
    229265                // source et url_source  (pas trouve d'exemple en ligne !!)
     
    231267                # <source url="http://www.truc.net/rss">Site source</source>
    232268                if (preg_match(',(<source[^>]*>)(([^<>]+)</source>)?,i',
    233                 $item, $match)) {
     269                        $item, $match)) {
    234270                        $data['source'] = trim($match[3]);
    235271                        $data['url_source'] = str_replace('&amp;', '&',
     
    245281                $tags = array();
    246282                if (preg_match_all(
    247                 ',<(([a-z]+:)?(subject|category|directory|keywords?|tags?|type))[^>]*>'
    248                 .'(.*?)</\1>,ims',
    249                 $item, $matches, PREG_SET_ORDER))
    250                         $tags = ajouter_tags($matches, $item); # array()
     283                        ',<(([a-z]+:)?(subject|category|directory|keywords?|tags?|type))[^>]*>'
     284                        . '(.*?)</\1>,ims',
     285                        $item, $matches, PREG_SET_ORDER)) {
     286                        $tags = ajouter_tags($matches, $item);
     287                } # array()
    251288                elseif (preg_match_all(
    252                 ',<(([a-z]+:)?(subject|category|directory|keywords?|tags?|type))[^>]*/>'
    253                 .',ims',
    254                 $item, $matches, PREG_SET_ORDER))
    255                         $tags = ajouter_tags($matches, $item); # array()
     289                        ',<(([a-z]+:)?(subject|category|directory|keywords?|tags?|type))[^>]*/>'
     290                        . ',ims',
     291                        $item, $matches, PREG_SET_ORDER)) {
     292                        $tags = ajouter_tags($matches, $item);
     293                } # array()
    256294                // Pieces jointes :
    257295                // chercher <enclosure> au format RSS et les passer en microformat
     
    264302                        if (preg_match_all(',<enclosure[[:space:]][^<>]+>,i',
    265303                                $item, $matches, PREG_PATTERN_ORDER)) {
    266                                         $enclosures += array_map('enclosure2microformat', $matches[0]);
     304                                $enclosures += array_map('enclosure2microformat', $matches[0]);
    267305                        }
    268306                        # atom
    269                         if (preg_match_all(',<link\b[^<>]+rel=["\']?enclosure["\']?[^<>]+>,i', 
     307                        if (preg_match_all(',<link\b[^<>]+rel=["\']?enclosure["\']?[^<>]+>,i',
    270308                                $item, $matches, PREG_PATTERN_ORDER)) {
    271                                         $enclosures += array_map('enclosure2microformat', $matches[0]);
     309                                $enclosures += array_map('enclosure2microformat', $matches[0]);
    272310                        }
    273311                        # media rss
    274                         if (preg_match_all(',<media:content\b[^<>]+>,i', 
     312                        if (preg_match_all(',<media:content\b[^<>]+>,i',
    275313                                $item, $matches, PREG_PATTERN_ORDER)) {
    276                                         $enclosures += array_map('enclosure2microformat', $matches[0]);
     314                                $enclosures += array_map('enclosure2microformat', $matches[0]);
    277315                        }
    278316                        $data['enclosures'] = join(', ', array_unique($enclosures));
     
    289327
    290328                // si on demande un dereferencement de l'URL, il faut verifier que ce n'est pas une redirection
    291                 if (_SYNDICATION_DEREFERENCER_URL){
     329                if (_SYNDICATION_DEREFERENCER_URL) {
    292330                        $target = $data['url'];
    293331                        include_spip("inc/distant");
    294                         for ($i = 0; $i<10; $i++){
     332                        for ($i = 0; $i < 10; $i++) {
    295333                                // on fait un GET et pas un HEAD car les vieux SPIP ne repondent pas la redirection avec un HEAD (honte) sur un article virtuel
    296334                                $res = recuperer_lapage($target, false, "GET", 4096);
    297                                 if (!$res) break; // c'est pas bon signe car on a pas trouve l'URL...
    298                                 if (is_array($res))     break; // on a trouve la page, donc on a l'URL finale
     335                                if (!$res) {
     336                                        break;
     337                                } // c'est pas bon signe car on a pas trouve l'URL...
     338                                if (is_array($res)) {
     339                                        break;
     340                                } // on a trouve la page, donc on a l'URL finale
    299341                                $target = $res; // c'est une redirection, on la suit pour voir ou elle mene
    300342                        }
     
    305347                // Trouver les microformats (ecrase les <category> et <dc:subject>)
    306348                if (preg_match_all(
    307                 ',<a[[:space:]]([^>]+[[:space:]])?rel=[^>]+>.*</a>,Uims',
    308                 $data['item'], $regs, PREG_PATTERN_ORDER)) {
     349                        ',<a[[:space:]]([^>]+[[:space:]])?rel=[^>]+>.*</a>,Uims',
     350                        $data['item'], $regs, PREG_PATTERN_ORDER)) {
    309351                        $tags = $regs[0];
    310352                }
    311353                // Cas particulier : tags Connotea sous la forme <a class="postedtag">
    312354                if (preg_match_all(
    313                 ',<a[[:space:]][^>]+ class="postedtag"[^>]*>.*</a>,Uims',
    314                 $data['item'], $regs, PREG_PATTERN_ORDER))
     355                        ',<a[[:space:]][^>]+ class="postedtag"[^>]*>.*</a>,Uims',
     356                        $data['item'], $regs, PREG_PATTERN_ORDER)) {
    315357                        $tags = preg_replace(', class="postedtag",i',
    316                         ' rel="tag"', $regs[0]);
     358                                ' rel="tag"', $regs[0]);
     359                }
    317360
    318361                $data['tags'] = $tags;
     
    331374 *
    332375 * Car hélàs, strtotime ne le reconnait pas tout seul !
     376 *
    333377 * @link http://www.w3.org/TR/NOTE-datetime Format datetime du W3C
    334  * 
     378 *
    335379 * @param string $la_date
    336380 *     Date à parser
    337381 * @return int
    338382 *     Timestamp
    339 **/
     383 **/
    340384function my_strtotime($la_date, $lang = null) {
    341385        // format complet
    342386        if (preg_match(
    343         ',^(\d+-\d+-\d+[T ]\d+:\d+(:\d+)?)(\.\d+)?'
    344         .'(Z|([-+]\d{2}):\d+)?$,',
    345         $la_date, $match)) {
     387                ',^(\d+-\d+-\d+[T ]\d+:\d+(:\d+)?)(\.\d+)?'
     388                . '(Z|([-+]\d{2}):\d+)?$,',
     389                $la_date, $match)) {
    346390                $match = array_pad($match, 6, null);
    347                 $la_date = str_replace("T", " ", $match[1])." GMT";
    348                 return strtotime($la_date) - intval($match[5]) * 3600;
     391                $la_date = str_replace("T", " ", $match[1]) . " GMT";
     392
     393                return strtotime($la_date)-intval($match[5])*3600;
    349394        }
    350395
    351396        // YYYY
    352         if (preg_match(',^\d{4}$,', $la_date, $match))
    353                 return strtotime($match[0]."-01-01");
     397        if (preg_match(',^\d{4}$,', $la_date, $match)) {
     398                return strtotime($match[0] . "-01-01");
     399        }
    354400
    355401        // YYYY-MM
    356         if (preg_match(',^\d{4}-\d{2}$,', $la_date, $match))
    357                 return strtotime($match[0]."-01");
     402        if (preg_match(',^\d{4}-\d{2}$,', $la_date, $match)) {
     403                return strtotime($match[0] . "-01");
     404        }
    358405
    359406        // YYYY-MM-DD hh:mm:ss
    360         if (preg_match(',^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}\b,', $la_date, $match))
     407        if (preg_match(',^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}\b,', $la_date, $match)) {
    361408                return strtotime($match[0]);
     409        }
    362410
    363411        // utiliser strtotime en dernier ressort
    364412        // en nettoyant le jour qui prefixe parfois la date, suivi d'une virgule
    365413        // et les UT qui sont en fait des UTC
    366         $la_date_c = preg_replace("/^\w+,\s*/ms","",$la_date);
    367         $la_date_c = preg_replace("/UT\s*$/ms","UTC",$la_date_c);
    368         if ($s=strtotime($la_date)
    369           OR $s=strtotime($la_date_c))
     414        $la_date_c = preg_replace("/^\w+,\s*/ms", "", $la_date);
     415        $la_date_c = preg_replace("/UT\s*$/ms", "UTC", $la_date_c);
     416        if ($s = strtotime($la_date)
     417                OR $s = strtotime($la_date_c)
     418        ) {
    370419                return $s;
     420        }
    371421
    372422        // essayons de voir si le nom du mois est dans la langue du flux et remplacons le
    373423        // par la version anglaise avant de faire strtotime
    374         if ($lang){
     424        if ($lang) {
    375425                // "fr-fr"
    376426                list($lang) = explode("-", $lang);
    377427                static $months = null;
    378                 if (!isset($months[$lang])){
     428                if (!isset($months[$lang])) {
    379429                        $prev_lang = $GLOBALS['spip_lang'];
    380430                        changer_langue($lang);
    381                         foreach(range(1,12) as $m){
     431                        foreach (range(1, 12) as $m) {
    382432                                $s = _T("date_mois_$m");
    383                                 $months[$lang][$s] = date("M",strtotime("2013-$m-01"));
    384                                 $s = _T("date_mois_".$m."_abbr");
    385                                 $months[$lang][$s] = date("M",strtotime("2013-$m-01"));
    386                                 $months[$lang][trim($s,".")] = date("M",strtotime("2013-$m-01"));
     433                                $months[$lang][$s] = date("M", strtotime("2013-$m-01"));
     434                                $s = _T("date_mois_" . $m . "_abbr");
     435                                $months[$lang][$s] = date("M", strtotime("2013-$m-01"));
     436                                $months[$lang][trim($s, ".")] = date("M", strtotime("2013-$m-01"));
    387437                        }
    388438                        changer_langue($prev_lang);
    389439                }
    390                 spip_log($la_date_c,"dbgs");
    391                 foreach($months[$lang] as $loc=>$en){
    392                         if (stripos($la_date_c,$loc)!==false){
    393                                 $s=str_ireplace($loc,$en,$la_date_c);
    394                                 if ($s=strtotime($s))
     440                spip_log($la_date_c, "dbgs");
     441                foreach ($months[$lang] as $loc => $en) {
     442                        if (stripos($la_date_c, $loc) !== false) {
     443                                $s = str_ireplace($loc, $en, $la_date_c);
     444                                if ($s = strtotime($s)) {
    395445                                        return $s;
     446                                }
    396447                        }
    397448                }
     
    400451        // erreur
    401452        spip_log("Impossible de lire le format de date '$la_date'");
     453
    402454        return false;
    403455}
     
    407459// http://code.spip.net/@creer_tag
    408460function creer_tag($mot, $type, $url) {
    409         if (!strlen($mot = trim($mot))) return '';
     461        if (!strlen($mot = trim($mot))) {
     462                return '';
     463        }
    410464        $mot = "<a rel=\"tag\">$mot</a>";
    411         if ($url)
     465        if ($url) {
    412466                $mot = inserer_attribut($mot, 'href', $url);
    413         if ($type)
     467        }
     468        if ($type) {
    414469                $mot = inserer_attribut($mot, 'rel', $type);
     470        }
     471
    415472        return $mot;
    416473}
     
    423480        foreach ($matches as $match) {
    424481                $type = ($match[3] == 'category' OR $match[3] == 'directory')
    425                         ? 'directory':'tag';
     482                        ? 'directory' : 'tag';
    426483                $mot = supprimer_tags($match[0]);
    427484                if (!strlen($mot)
    428                 AND !strlen($mot = extraire_attribut($match[0], 'label')))
     485                        AND !strlen($mot = extraire_attribut($match[0], 'label'))
     486                ) {
    429487                        break;
     488                }
    430489                // rechercher un url
    431490                if ($url = extraire_attribut($match[0], 'domain')) {
     
    434493                        // on donnait category@domain = #URL_RUBRIQUE, et
    435494                        // text = #TITRE_RUBRIQUE ; d'ou l'heuristique suivante sur le slash
    436                         if (substr($url, -1) == '/')
     495                        if (substr($url, -1) == '/') {
    437496                                $url .= rawurlencode($mot);
    438                 }
    439                 else if ($url = extraire_attribut($match[0], 'resource')
    440                 OR $url = extraire_attribut($match[0], 'url')
    441                 )
    442                         {}
    443 
    444                 ## cas particuliers
    445                 else if (extraire_attribut($match[0], 'scheme') == 'urn:flickr:tags') {
    446                         foreach(explode(' ', $mot) as $petit)
    447                                 if ($t = creer_tag($petit, $type,
    448                                 'http://www.flickr.com/photos/tags/'.rawurlencode($petit).'/'))
    449                                         $tags[] = $t;
    450                         $mot = '';
    451                 }
    452                 else if (
    453                         // cas atom1, a faire apres flickr
    454                         $term = extraire_attribut($match[0], 'term')
    455                 ) {
    456                         if ($scheme = extraire_attribut($match[0], 'scheme'))
    457                                 $url = suivre_lien($scheme,$term);
    458                         else
    459                                 $url = $term;
    460                 }
    461                 else {
    462                         # type delicious.com
    463                         foreach(explode(' ', $mot) as $petit)
    464                                 if (preg_match(',<rdf\b[^>]*\bresource=["\']([^>]*/'
    465                                 .preg_quote(rawurlencode($petit),',').')["\'],i',
    466                                 $item, $m)) {
     497                        }
     498                } else {
     499                        if ($url = extraire_attribut($match[0], 'resource')
     500                                OR $url = extraire_attribut($match[0], 'url')
     501                        ) {
     502                        } ## cas particuliers
     503                        else {
     504                                if (extraire_attribut($match[0], 'scheme') == 'urn:flickr:tags') {
     505                                        foreach (explode(' ', $mot) as $petit) {
     506                                                if ($t = creer_tag($petit, $type,
     507                                                        'http://www.flickr.com/photos/tags/' . rawurlencode($petit) . '/')
     508                                                ) {
     509                                                        $tags[] = $t;
     510                                                }
     511                                        }
    467512                                        $mot = '';
    468                                         if ($t = creer_tag($petit, $type, $m[1]))
    469                                                 $tags[] = $t;
     513                                } else {
     514                                        if (
     515                                                // cas atom1, a faire apres flickr
     516                                        $term = extraire_attribut($match[0], 'term')
     517                                        ) {
     518                                                if ($scheme = extraire_attribut($match[0], 'scheme')) {
     519                                                        $url = suivre_lien($scheme, $term);
     520                                                } else {
     521                                                        $url = $term;
     522                                                }
     523                                        } else {
     524                                                # type delicious.com
     525                                                foreach (explode(' ', $mot) as $petit) {
     526                                                        if (preg_match(',<rdf\b[^>]*\bresource=["\']([^>]*/'
     527                                                                . preg_quote(rawurlencode($petit), ',') . ')["\'],i',
     528                                                                $item, $m)) {
     529                                                                $mot = '';
     530                                                                if ($t = creer_tag($petit, $type, $m[1])) {
     531                                                                        $tags[] = $t;
     532                                                                }
     533                                                        }
     534                                                }
     535                                        }
    470536                                }
    471                 }
    472 
    473                 if ($t = creer_tag($mot, $type, $url))
     537                        }
     538                }
     539
     540                if ($t = creer_tag($mot, $type, $url)) {
    474541                        $tags[] = $t;
    475         }
     542                }
     543        }
     544
    476545        return $tags;
    477546}
     
    483552        $echappe_cdata = array();
    484553        if (preg_match_all(',<!\[CDATA\[(.*)]]>,Uims', $rss,
    485         $regs, PREG_SET_ORDER)) {
     554                $regs, PREG_SET_ORDER)) {
    486555                foreach ($regs as $n => $reg) {
    487556                        if (preg_match(',[<>],', $reg[1])) {
    488557                                $echappe_cdata[$n] = $reg[1];
    489558                                $rss = str_replace($reg[0], "@@@SPIP_CDATA$n@@@", $rss);
    490                         } else
     559                        } else {
    491560                                $rss = str_replace($reg[0], $reg[1], $rss);
     561                        }
    492562                }
    493563        }
     
    499569        if (is_string($x)) {
    500570                if (strpos($x, '@@@SPIP_CDATA') !== false
    501                 OR strpos($x, '&lt;') !== false) {
     571                        OR strpos($x, '&lt;') !== false
     572                ) {
    502573                        $x = filtrer_entites($x);
    503                         foreach ($echappe_cdata as $n => $e)
     574                        foreach ($echappe_cdata as $n => $e) {
    504575                                $x = str_replace("@@@SPIP_CDATA$n@@@", $e, $x);
    505                 }
    506         }
    507 
    508         else if (is_array($x)) {
    509                 foreach($x as $k => &$v)
    510                         cdata_echappe_retour($v, $echappe_cdata);
    511         }
    512 }
     576                        }
     577                }
     578        } else {
     579                if (is_array($x)) {
     580                        foreach ($x as $k => &$v) {
     581                                cdata_echappe_retour($v, $echappe_cdata);
     582                        }
     583                }
     584        }
     585}
     586
    513587?>
  • _core_/plugins/sites/liens/implicite_site.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    15 function liens_implicite_site_dist($texte, $id, $type, $args, $ancre, $connect = ''){
    16         if (!$id = intval($id))
     17function liens_implicite_site_dist($texte, $id, $type, $args, $ancre, $connect = '') {
     18        if (!$id = intval($id)) {
    1719                return false;
    18         $url = sql_getfetsel('url_site', 'spip_syndic', "id_syndic=".intval($id),'','','','',$connect);
     20        }
     21        $url = sql_getfetsel('url_site', 'spip_syndic', "id_syndic=" . intval($id), '', '', '', '', $connect);
     22
    1923        return $url;
    2024}
  • _core_/plugins/sites/prive/objets/liste/syndic_articles_fonctions.php

    r79783 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
    1618 * Un test sur les articles syndiques
    1719 * pour "depublier les items qui ne figurent plsu dans le flux"
     20 *
    1821 * @global <type> $my_sites
    1922 * @param <type> $id
    2023 * @return <type>
    2124 */
    22 function filtre_test_syndic_article_miroir_dist($id){
    23         if (isset($GLOBALS['my_sites'][$id]['miroir']) AND $GLOBALS['my_sites'][$id]['miroir'] == 'oui')
     25function filtre_test_syndic_article_miroir_dist($id) {
     26        if (isset($GLOBALS['my_sites'][$id]['miroir']) AND $GLOBALS['my_sites'][$id]['miroir'] == 'oui') {
    2427                return ' ';
     28        }
     29
    2530        return '';
    2631}
  • _core_/plugins/sites/puce_statut/site.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined("_ECRIRE_INC_VERSION")) {
     14        return;
     15}
    1416
    1517
    1618// http://code.spip.net/@puce_statut_site_dist
    17 function puce_statut_site_dist($id, $statut, $id_rubrique, $type, $ajax = '', $menu_rapide = _ACTIVER_PUCE_RAPIDE){
     19function puce_statut_site_dist($id, $statut, $id_rubrique, $type, $ajax = '', $menu_rapide = _ACTIVER_PUCE_RAPIDE) {
    1820
    19         $t = sql_getfetsel("syndication", "spip_syndic", "id_syndic=".intval($id));
     21        $t = sql_getfetsel("syndication", "spip_syndic", "id_syndic=" . intval($id));
    2022
    2123        // cas particulier des sites en panne de syndic :
     
    3739                                break;
    3840                }
     41
    3942                return http_img_pack($puce, $title);
     43        } else {
     44                return puce_statut_changement_rapide($id, $statut, $id_rubrique, $type, $ajax, $menu_rapide);
    4045        }
    41         else
    42                 return puce_statut_changement_rapide($id,$statut,$id_rubrique,$type,$ajax,$menu_rapide);
    4346}
    4447
  • _core_/plugins/sites/sites_administrations.php

    r93092 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    1921 * @param string $version_cible
    2022 */
    21 function sites_upgrade($nom_meta_base_version, $version_cible){
     23function sites_upgrade($nom_meta_base_version, $version_cible) {
    2224        // cas particulier :
    2325        // si plugin pas installe mais que la table existe
    2426        // considerer que c'est un upgrade depuis v 1.0.0
    2527        // pour gerer l'historique des installations SPIP <=2.1
    26         if (!isset($GLOBALS['meta'][$nom_meta_base_version])){
    27                 $trouver_table = charger_fonction('trouver_table','base');
     28        if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
     29                $trouver_table = charger_fonction('trouver_table', 'base');
    2830                if ($desc = $trouver_table('spip_syndic')
    29                   AND isset($desc['exist']) AND $desc['exist']){
    30                         ecrire_meta($nom_meta_base_version,'1.0.0');
     31                        AND isset($desc['exist']) AND $desc['exist']
     32                ) {
     33                        ecrire_meta($nom_meta_base_version, '1.0.0');
    3134                }
    3235                // si pas de table en base, on fera une simple creation de base
     
    3538        $maj = array();
    3639        $maj['create'] = array(
    37                 array('maj_tables',array('spip_syndic','spip_syndic_articles')),
     40                array('maj_tables', array('spip_syndic', 'spip_syndic_articles')),
    3841        );
    3942
    4043        $maj['1.1.0'] = array(
    41                 array('sql_alter',"TABLE spip_syndic_articles DROP key url"),
    42                 array('sql_alter',"TABLE spip_syndic_articles CHANGE url url text DEFAULT '' NOT NULL"),
    43                 array('sql_alter',"TABLE spip_syndic_articles ADD INDEX url(url(255))")
     44                array('sql_alter', "TABLE spip_syndic_articles DROP key url"),
     45                array('sql_alter', "TABLE spip_syndic_articles CHANGE url url text DEFAULT '' NOT NULL"),
     46                array('sql_alter', "TABLE spip_syndic_articles ADD INDEX url(url(255))")
    4447        );
    4548
    4649        $maj['1.1.1'] = array(
    47                 array('maj_tables',array('spip_syndic_articles')),
     50                array('maj_tables', array('spip_syndic_articles')),
    4851        );
    4952
  • _core_/plugins/sites/sites_autoriser.php

    r93092 r93624  
    1212
    1313
    14 if (!defined('_ECRIRE_INC_VERSION')) return;
     14if (!defined('_ECRIRE_INC_VERSION')) {
     15        return;
     16}
    1517
    1618// fonction pour le pipeline
    17 function sites_autoriser() {}
     19function sites_autoriser() { }
    1820
    1921
    2022// bouton du bandeau
    21 function autoriser_sites_menu_dist($faire, $type = '', $id = 0, $qui = NULL, $opt = NULL){
     23function autoriser_sites_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
    2224        return
    2325                autoriser('voir', '_sites', $id, $qui, $opt);
    2426}
     27
    2528// Le bouton de création d'un site est présent si on peut en créer un.
    26 function autoriser_sitecreer_menu_dist($faire, $type, $id, $qui, $opt){
     29function autoriser_sitecreer_menu_dist($faire, $type, $id, $qui, $opt) {
    2730        return
    2831                autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
    2932}
    3033
    31 function autoriser_sites_voir_dist($faire, $type = '', $id = 0, $qui = NULL, $opt = NULL){
     34function autoriser_sites_voir_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
    3235        return
    3336                ($GLOBALS['meta']['activer_sites'] != 'non');
     
    4952
    5053
    51 function autoriser_controlersyndication_menu_dist($faire, $type, $id, $qui, $opt){
    52         return  ($qui['statut']=='0minirezo' AND sql_countsel('spip_syndic_articles'));
     54function autoriser_controlersyndication_menu_dist($faire, $type, $id, $qui, $opt) {
     55        return ($qui['statut'] == '0minirezo' AND sql_countsel('spip_syndic_articles'));
    5356}
    5457
    5558// Creer un nouveau site ?
    56 function autoriser_site_creer_dist($faire, $type, $id, $qui, $opt){
     59function autoriser_site_creer_dist($faire, $type, $id, $qui, $opt) {
    5760        return
    5861                ($GLOBALS['meta']["activer_sites"] != 'non'
    59                 AND verifier_table_non_vide()
    60                 AND (
    61                         $qui['statut']=='0minirezo'
    62                         OR ($GLOBALS['meta']['proposer_sites'] >=
    63                             ($qui['statut']=='1comite' ? 1 : 2))));
     62                        AND verifier_table_non_vide()
     63                        AND (
     64                                $qui['statut'] == '0minirezo'
     65                                OR ($GLOBALS['meta']['proposer_sites'] >=
     66                                        ($qui['statut'] == '1comite' ? 1 : 2))));
    6467}
    6568
     
    7174        return
    7275                $id
    73                 AND autoriser('voir','rubrique',$id)
     76                AND autoriser('voir', 'rubrique', $id)
    7477                AND autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
    7578}
     
    7982// http://code.spip.net/@autoriser_site_modifier_dist
    8083function autoriser_site_modifier_dist($faire, $type, $id, $qui, $opt) {
    81         if ($qui['statut'] == '0minirezo' AND !$qui['restreint'])
     84        if ($qui['statut'] == '0minirezo' AND !$qui['restreint']) {
    8285                return true;
     86        }
    8387
    84         $r = sql_fetsel("id_rubrique,statut", "spip_syndic", "id_syndic=".intval($id));
     88        $r = sql_fetsel("id_rubrique,statut", "spip_syndic", "id_syndic=" . intval($id));
     89
    8590        return ($r
    86                 AND autoriser('voir','rubrique',$r['id_rubrique'])
     91                AND autoriser('voir', 'rubrique', $r['id_rubrique'])
    8792                AND
    88                 ($r['statut'] == 'publie' OR (isset($opt['statut']) AND $opt['statut']=='publie'))
     93                ($r['statut'] == 'publie' OR (isset($opt['statut']) AND $opt['statut'] == 'publie'))
    8994                        ? autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
    9095                        : in_array($qui['statut'], array('0minirezo', '1comite'))
    9196        );
    9297}
     98
    9399// Autoriser a voir un site $id_syndic
    94100// http://code.spip.net/@autoriser_site_voir_dist
     
    109115                verifier_table_non_vide('spip_syndic');
    110116}
     117
    111118?>
  • _core_/plugins/sites/sites_fonctions.php

    r79783 r93624  
    1515 *
    1616 * @package SPIP\Sites\Compilateur
    17 **/
    18 if (!defined('_ECRIRE_INC_VERSION')) return;
     17 **/
     18if (!defined('_ECRIRE_INC_VERSION')) {
     19        return;
     20}
    1921
    2022/**
     
    2729 * @return string
    2830 *     Code PHP compilé de la boucle
    29 **/
     31 **/
    3032function boucle_SITES_dist($id_boucle, &$boucles) {
    3133        $boucle = &$boucles[$id_boucle];
    3234        $boucle->type_requete = 'syndication'; // pas sur que ce soit indispensable
    33         if (!function_exists($f='boucle_SYNDICATION') AND !function_exists($f=$f.'_dist'))
     35        if (!function_exists($f = 'boucle_SYNDICATION') AND !function_exists($f = $f . '_dist')) {
    3436                $f = 'calculer_boucle';
     37        }
     38
    3539        return $f($id_boucle, $boucles);
    3640}
  • _core_/plugins/sites/sites_ieconfig.php

    r57805 r93624  
    11<?php
    22
    3 if (!defined("_ECRIRE_INC_VERSION")) return;
     3if (!defined("_ECRIRE_INC_VERSION")) {
     4        return;
     5}
    46
    5 function sites_ieconfig_metas($table){
     7function sites_ieconfig_metas($table) {
    68        $table['sites']['titre'] = _T('sites:titre_referencement_sites');
    79        $table['sites']['icone'] = 'site-16.png';
    810        $table['sites']['metas_brutes'] = 'activer_sites,activer_syndic,proposer_sites,moderation_sites';
    9        
     11
    1012        return $table;
    1113}
  • _core_/plugins/sites/sites_pipelines.php

    r93171 r93624  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
    14 
    15 /**
    16  * Ajouter les sites et syndication a valider sur les rubriques
    17  *
    18  * @param array $flux
    19  * @return array
    20  */
    21 function sites_rubrique_encours($flux){
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
     16
     17/**
     18 * Ajouter les sites et syndication a valider sur les rubriques
     19 *
     20 * @param array $flux
     21 * @return array
     22 */
     23function sites_rubrique_encours($flux) {
    2224        if ($flux['args']['type'] == 'rubrique') {
    23                 $lister_objets = charger_fonction('lister_objets','inc');
     25                $lister_objets = charger_fonction('lister_objets', 'inc');
    2426
    2527                $id_rubrique = $flux['args']['id_objet'];
    26        
     28
    2729                //
    2830                // Les sites references a valider
    2931                //
    3032                if ($GLOBALS['meta']['activer_sites'] != 'non') {
    31                         $flux['data'] .= $lister_objets('sites',array('titre'=> _T('sites:info_site_valider') ,'statut'=>'prop','id_rubrique'=>$id_rubrique, 'par'=>'nom_site'));
     33                        $flux['data'] .= $lister_objets('sites', array(
     34                                'titre' => _T('sites:info_site_valider'),
     35                                'statut' => 'prop',
     36                                'id_rubrique' => $id_rubrique,
     37                                'par' => 'nom_site'
     38                        ));
    3239                }
    3340
     
    3643                //
    3744                if ($GLOBALS['meta']['activer_sites'] != 'non'
    38                 AND autoriser('publierdans','rubrique',$id_rubrique)) {
    39                         $flux['data'] .= $lister_objets('sites',array('titre'=> _T('sites:avis_sites_syndiques_probleme') ,'statut'=>'publie', 'syndication'=>array('off','sus'),'id_rubrique'=>$id_rubrique, 'par'=>'nom_site'));
     45                        AND autoriser('publierdans', 'rubrique', $id_rubrique)
     46                ) {
     47                        $flux['data'] .= $lister_objets('sites', array(
     48                                'titre' => _T('sites:avis_sites_syndiques_probleme'),
     49                                'statut' => 'publie',
     50                                'syndication' => array('off', 'sus'),
     51                                'id_rubrique' => $id_rubrique,
     52                                'par' => 'nom_site'
     53                        ));
    4054                }
    4155
    4256                // Les articles syndiques en attente de validation
    4357                if ($id_rubrique == 0
    44                 AND autoriser('publierdans','rubrique',$id_rubrique)) {
     58                        AND autoriser('publierdans', 'rubrique', $id_rubrique)
     59                ) {
    4560
    4661                        $cpt = sql_countsel("spip_syndic_articles", "statut='dispo'");
    47                         if ($cpt)
     62                        if ($cpt) {
    4863                                $flux['data'] .= "<br /><small><a href='" .
    4964                                        generer_url_ecrire("sites") .
     
    5570                                        _T('sites:info_liens_syndiques_2') .
    5671                                        "</a></small>";
    57                 }
    58         }
    59        
     72                        }
     73                }
     74        }
     75
    6076        return $flux;
    6177}
     
    6379/**
    6480 * Configuration des contenus
    65  * @param array $flux
    66  * @return array
    67  */
    68 function sites_affiche_milieu($flux){
     81 *
     82 * @param array $flux
     83 * @return array
     84 */
     85function sites_affiche_milieu($flux) {
    6986        if ($flux["args"]["exec"] == "configurer_contenu") {
    70                 $flux["data"] .=  recuperer_fond('prive/squelettes/inclure/configurer',array('configurer'=>'configurer_sites'));
    71         }
    72         return $flux;
    73 }
    74 
    75 /**
    76  * Ajouter les sites et syndication a valider sur la page d'accueil
    77  *
    78  * @param array $flux
    79  * @return array
    80  */
    81 function sites_accueil_encours($flux){
    82         $lister_objets = charger_fonction('lister_objets','inc');
    83        
     87                $flux["data"] .= recuperer_fond('prive/squelettes/inclure/configurer', array('configurer' => 'configurer_sites'));
     88        }
     89
     90        return $flux;
     91}
     92
     93/**
     94 * Ajouter les sites et syndication a valider sur la page d'accueil
     95 *
     96 * @param array $flux
     97 * @return array
     98 */
     99function sites_accueil_encours($flux) {
     100        $lister_objets = charger_fonction('lister_objets', 'inc');
     101
    84102        //
    85103        // Les sites references a valider
    86104        //
    87105        if ($GLOBALS['meta']['activer_sites'] != 'non') {
    88                 $flux .= $lister_objets('sites',array('titre'=>afficher_plus_info(generer_url_ecrire('sites')). _T('sites:info_site_valider') ,'statut'=>'prop', 'par'=>'nom_site'));
     106                $flux .= $lister_objets('sites', array(
     107                        'titre' => afficher_plus_info(generer_url_ecrire('sites')) . _T('sites:info_site_valider'),
     108                        'statut' => 'prop',
     109                        'par' => 'nom_site'
     110                ));
    89111        }
    90112
     
    94116                //
    95117                if ($GLOBALS['meta']['activer_sites'] != 'non') {
    96                         $flux .= $lister_objets('sites',array('titre'=>afficher_plus_info(generer_url_ecrire('sites')). _T('sites:avis_sites_syndiques_probleme') ,'statut'=>'publie', 'syndication'=>array('off','sus'), 'par'=>'nom_site'));
     118                        $flux .= $lister_objets('sites', array(
     119                                'titre' => afficher_plus_info(generer_url_ecrire('sites')) . _T('sites:avis_sites_syndiques_probleme'),
     120                                'statut' => 'publie',
     121                                'syndication' => array('off', 'sus'),
     122                                'par' => 'nom_site'
     123                        ));
    97124                }
    98125
    99126                // Les articles syndiques en attente de validation
    100127                $cpt = sql_countsel("spip_syndic_articles", "statut='dispo'");
    101                 if ($cpt)
     128                if ($cpt) {
    102129                        $flux .= "\n<br /><small><a href='"
    103                         . generer_url_ecrire("sites","")
    104                         . "' style='color: black;'>"
    105                         . $cpt
    106                         . " "
    107                         . _T('sites:info_liens_syndiques_1')
    108                         . " "
    109                         . _T('sites:info_liens_syndiques_2')
    110                         . "</a></small>";
    111 
    112         }
     130                                . generer_url_ecrire("sites", "")
     131                                . "' style='color: black;'>"
     132                                . $cpt
     133                                . " "
     134                                . _T('sites:info_liens_syndiques_1')
     135                                . " "
     136                                . _T('sites:info_liens_syndiques_2')
     137                                . "</a></small>";
     138                }
     139
     140        }
     141
    113142        return $flux;
    114143}
     
    123152function sites_affiche_enfants($flux) {
    124153        if (isset($flux['args']['exec'])
    125         AND $e = trouver_objet_exec($flux['args']['exec'])
    126         AND $e['type'] == 'rubrique'
    127         AND $e['edition'] == false) {
     154                AND $e = trouver_objet_exec($flux['args']['exec'])
     155                AND $e['type'] == 'rubrique'
     156                AND $e['edition'] == false
     157        ) {
    128158                $id_rubrique = $flux['args']['id_rubrique'];
    129  
     159
    130160                if ($GLOBALS['meta']["activer_sites"] == 'oui') {
    131                         $lister_objets = charger_fonction('lister_objets','inc');
     161                        $lister_objets = charger_fonction('lister_objets', 'inc');
    132162                        $bouton_sites = '';
    133                         if (autoriser('creersitedans','rubrique',$id_rubrique)) {
    134                                 $bouton_sites .= icone_verticale(_T('sites:info_sites_referencer'), generer_url_ecrire('site_edit', "id_rubrique=$id_rubrique"), "site-24.png", "new", 'right')
     163                        if (autoriser('creersitedans', 'rubrique', $id_rubrique)) {
     164                                $bouton_sites .= icone_verticale(_T('sites:info_sites_referencer'),
     165                                                generer_url_ecrire('site_edit', "id_rubrique=$id_rubrique"), "site-24.png", "new", 'right')
    135166                                        . "<br class='nettoyeur' />";
    136167                        }
    137                        
    138                         $flux['data'] .= $lister_objets('sites',array('titre'=>_T('sites:titre_sites_references_rubrique') ,'where'=>"statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus')", 'id_rubrique'=>$id_rubrique,'par'=>'nom_site'));
     168
     169                        $flux['data'] .= $lister_objets('sites', array(
     170                                'titre' => _T('sites:titre_sites_references_rubrique'),
     171                                'where' => "statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus')",
     172                                'id_rubrique' => $id_rubrique,
     173                                'par' => 'nom_site'
     174                        ));
    139175                        $flux['data'] .= $bouton_sites;
    140176                }
    141177        }
    142         return $flux;
    143 }
    144 
     178
     179        return $flux;
     180}
    145181
    146182
     
    151187 * @return array
    152188 */
    153 function sites_configurer_liste_metas($metas){
    154         $metas['activer_sites']    = 'non';
    155         $metas['proposer_sites']   = 0;
    156         $metas['activer_syndic']   = 'oui';
     189function sites_configurer_liste_metas($metas) {
     190        $metas['activer_sites'] = 'non';
     191        $metas['proposer_sites'] = 0;
     192        $metas['activer_syndic'] = 'oui';
    157193        $metas['moderation_sites'] = 'non';
     194
    158195        return $metas;
    159196}
    160197
    161198/**
    162  * Taches periodiques de syndication 
     199 * Taches periodiques de syndication
    163200 *
    164201 * @param array $taches_generales
    165202 * @return array
    166203 */
    167 function sites_taches_generales_cron($taches_generales){
     204function sites_taches_generales_cron($taches_generales) {
    168205
    169206        if (isset($GLOBALS['meta']["activer_syndic"])
    170         AND $GLOBALS['meta']["activer_syndic"] == "oui"
    171         AND isset($GLOBALS['meta']["activer_sites"])
    172         AND $GLOBALS['meta']["activer_sites"]  == "oui") {
    173                 $taches_generales['syndic'] = 90;
     207                AND $GLOBALS['meta']["activer_syndic"] == "oui"
     208                AND isset($GLOBALS['meta']["activer_sites"])
     209                AND $GLOBALS['meta']["activer_sites"] == "oui"
     210        ) {
     211                $taches_generales['syndic'] = 90;
    174212        }
    175213
     
    184222 * @return array
    185223 */
    186 function sites_optimiser_base_disparus($flux){
     224function sites_optimiser_base_disparus($flux) {
    187225        $n = &$flux['data'];
    188226        $mydate = $flux['args']['date'];
    189227
    190         sql_delete("spip_syndic", "maj<".sql_quote($mydate)." AND statut=".sql_quote("refuse"));
     228        sql_delete("spip_syndic", "maj<" . sql_quote($mydate) . " AND statut=" . sql_quote("refuse"));
    191229
    192230        # les articles syndiques appartenant a des sites effaces
    193231        $res = sql_select("S.id_syndic AS id",
    194                       "spip_syndic_articles AS S
     232                "spip_syndic_articles AS S
    195233                        LEFT JOIN spip_syndic AS syndic
    196234                          ON S.id_syndic=syndic.id_syndic",
    197                         "syndic.id_syndic IS NULL");
    198 
    199         $n+= optimiser_sansref('spip_syndic_articles', 'id_syndic', $res);
    200        
     235                "syndic.id_syndic IS NULL");
     236
     237        $n += optimiser_sansref('spip_syndic_articles', 'id_syndic', $res);
     238
    201239
    202240        return $flux;
     
    207245/**
    208246 * Publier et dater les rubriques qui ont un site publie
    209  * 
     247 *
    210248 * @param array $flux
    211249 * @return array
    212250 */
    213251function sites_calculer_rubriques($flux) {
    214        
     252
    215253        $r = sql_select(
    216254                "R.id_rubrique AS id, max(A.date) AS date_h",
    217255                "spip_rubriques AS R JOIN spip_syndic AS A ON R.id_rubrique = A.id_rubrique",
    218256                "A.date>R.date_tmp AND A.statut='publie' ", "R.id_rubrique");
    219         while ($row = sql_fetch($r))
    220                 sql_updateq('spip_rubriques', array('statut_tmp'=>'publie', 'date_tmp'=>$row['date_h']),"id_rubrique=".$row['id']);
     257        while ($row = sql_fetch($r)) {
     258                sql_updateq('spip_rubriques', array('statut_tmp' => 'publie', 'date_tmp' => $row['date_h']),
     259                        "id_rubrique=" . $row['id']);
     260        }
    221261
    222262        return $flux;
     
    225265/**
    226266 * Compter les sites dans une rubrique
    227  *
    228  * @param array $flux
    229  * @return array
    230  */
    231 function sites_objet_compte_enfants($flux){
    232         if ($flux['args']['objet']=='rubrique'
    233           AND $id_rubrique=intval($flux['args']['id_objet'])) {
     267 *
     268 * @param array $flux
     269 * @return array
     270 */
     271function sites_objet_compte_enfants($flux) {
     272        if ($flux['args']['objet'] == 'rubrique'
     273                AND $id_rubrique = intval($flux['args']['id_objet'])
     274        ) {
    234275                // juste les publies ?
    235276                if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
    236                         $flux['data']['site'] = sql_countsel('spip_syndic', "id_rubrique=".intval($id_rubrique)." AND (statut='publie')");
     277                        $flux['data']['site'] = sql_countsel('spip_syndic',
     278                                "id_rubrique=" . intval($id_rubrique) . " AND (statut='publie')");
    237279                } else {
    238                         $flux['data']['site'] = sql_countsel('spip_syndic', "id_rubrique=".intval($id_rubrique)." AND (statut='publie' OR statut='prop')");
    239                 }
    240         }
    241         return $flux;
    242 }
    243 
    244 
    245 function sites_trig_propager_les_secteurs($flux){
     280                        $flux['data']['site'] = sql_countsel('spip_syndic',
     281                                "id_rubrique=" . intval($id_rubrique) . " AND (statut='publie' OR statut='prop')");
     282                }
     283        }
     284
     285        return $flux;
     286}
     287
     288
     289function sites_trig_propager_les_secteurs($flux) {
    246290        // reparer les sites
    247         $r = sql_select("A.id_syndic AS id, R.id_secteur AS secteur", "spip_syndic AS A, spip_rubriques AS R", "A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur");
    248         while ($row = sql_fetch($r))
    249                 sql_update("spip_syndic", array("id_secteur" => $row['secteur']), "id_syndic=".$row['id']);
     291        $r = sql_select("A.id_syndic AS id, R.id_secteur AS secteur", "spip_syndic AS A, spip_rubriques AS R",
     292                "A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur");
     293        while ($row = sql_fetch($r)) {
     294                sql_update("spip_syndic", array("id_secteur" => $row['secteur']), "id_syndic=" . $row['id']);
     295        }
    250296
    251297        return $flux;
     
    258304 * @return array
    259305 */
    260 function sites_boite_infos($flux){
    261         if ($flux['args']['type']=='rubrique'
    262           AND $id_rubrique = $flux['args']['id']){
    263                 if ($nb = sql_countsel('spip_syndic',"statut='publie' AND id_rubrique=".intval($id_rubrique))){
    264                         $nb = "<div>". singulier_ou_pluriel($nb, "sites:info_1_site", "sites:info_nb_sites") . "</div>";
    265                         if ($p = strpos($flux['data'],"<!--nb_elements-->"))
    266                                 $flux['data'] = substr_replace($flux['data'],$nb,$p,0);
    267                 }
    268         }
     306function sites_boite_infos($flux) {
     307        if ($flux['args']['type'] == 'rubrique'
     308                AND $id_rubrique = $flux['args']['id']
     309        ) {
     310                if ($nb = sql_countsel('spip_syndic', "statut='publie' AND id_rubrique=" . intval($id_rubrique))) {
     311                        $nb = "<div>" . singulier_ou_pluriel($nb, "sites:info_1_site", "sites:info_nb_sites") . "</div>";
     312                        if ($p = strpos($flux['data'], "<!--nb_elements-->")) {
     313                                $flux['data'] = substr_replace($flux['data'], $nb, $p, 0);
     314                        }
     315                }
     316        }
     317
    269318        return $flux;
    270319}
Note: See TracChangeset for help on using the changeset viewer.