Changeset 96468 in spip-zone


Ignore:
Timestamp:
Apr 5, 2016, 1:11:26 PM (4 years ago)
Author:
teddy.spip@…
Message:

Du formatage de code

Location:
_plugins_/rss_commits/trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rss_commits/trunk/action/maj_commits_projet.php

    r84743 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    1919 * @param null|int $id
    2020 *     `id` : son identifiant. En absence de `id` utilise l'argument de l'action sécurisée.
    21 **/
    22 function action_maj_commits_projet_dist($id = null)
    23 {
    24     if (is_null($id)) {
    25         $securiser_action = charger_fonction('securiser_action', 'inc');
    26         $id = $securiser_action();
    27     }
     21 *
     22 * @return bool
     23 */
     24function action_maj_commits_projet_dist($id = null) {
     25        if (is_null($id)) {
     26                $securiser_action = charger_fonction('securiser_action', 'inc');
     27                $id = $securiser_action();
     28        }
    2829
    29     $id_projet = intval($id);
    30     $import_auto = lire_config('rss_commits/import_auto', 'non');
     30        $id_projet = intval($id);
     31        $import_auto = lire_config('rss_commits/import_auto', 'non');
    3132
    32     if ($id_projet and $import_auto == 'oui') {
    33         include_spip('rss_commits_fonctions');
    34         include_spip('base/abstract_sql');
    35         $log = array();
    36         $log[] = "\n----------\n"
    37         . date_format(date_create(), 'Y-m-d H:i:s')
    38         . ' : on lance '
    39         . __FUNCTION__
    40         . ' pour le projet n#'
    41         . $id_projet;
    42         $commits_anciens = array();
    43         $commits_nouveaux = array();
    44         $commits_en_bdd  = sql_allfetsel(
    45             'id_projet,url_revision',
    46             'spip_commits',
    47             "url_revision !='' AND id_projet=$id_projet"
    48         );
    49         if (count($commits_en_bdd) > 0) {
    50             foreach ($commits_en_bdd as $key => $value) {
    51                 $commits_anciens[] = $value['id_projet'] . '|' . $value['url_revision'];
    52             }
    53         }
     33        if ($id_projet and $import_auto == 'oui') {
     34                include_spip('rss_commits_fonctions');
     35                include_spip('base/abstract_sql');
     36                $log = array();
     37                $log[] = "\n----------\n"
     38                        . date_format(date_create(), 'Y-m-d H:i:s')
     39                        . ' : on lance '
     40                        . __FUNCTION__
     41                        . ' pour le projet n#'
     42                        . $id_projet;
     43                $commits_anciens = array();
     44                $commits_nouveaux = array();
     45                $commits_en_bdd = sql_allfetsel(
     46                        'id_projet,url_revision',
     47                        'spip_commits',
     48                        "url_revision !='' AND id_projet=$id_projet"
     49                );
     50                if (count($commits_en_bdd) > 0) {
     51                        foreach ($commits_en_bdd as $key => $value) {
     52                                $commits_anciens[] = $value['id_projet'] . '|' . $value['url_revision'];
     53                        }
     54                }
    5455
    55         $commits = lister_rss_commits($id_projet);
    56         if (count($commits) > 0) {
    57             foreach ($commits as $key => $value) {
    58                 if (!in_array($value['id_projet'] . '|' . $value['url_revision'], $commits_anciens)) {
    59                     // On stocke dans le tableau, les nouveaux commits qui doivent être ajoutés en BDD.
    60                     $commits_nouveaux[] = $value;
    61                     $log[] = 'Le commit '
    62                     . $value['url_revision']
    63                     . ' va être enregistré pour le projet n#'
    64                     . $value['id_projet'];
    65                 } else {
    66                     $log[] = 'Le commit '
    67                     . $value['url_revision']
    68                     . ' est déjà enregistré pour le projet n#'
    69                     . $value['id_projet'];
    70                 }
    71             }
    72             // On insère par lot les nouveaux commits pour éviter un débordement de mémoire
    73             // cf. http://programmer.spip.net/sql_insertq_multi,591
    74             if (count($commits_nouveaux) > 0) {
    75                 sql_insertq_multi('spip_commits', $commits_nouveaux);
    76             } else {
    77                 $log[] = 'Pas d\'ajout de nouveaux commits dans la BDD';
    78             }
    79         } else {
    80             $log[] = 'Il n\'y a pas de nouveaux commits';
    81         }
    82         $log[] = date_format(date_create(), 'Y-m-d H:i:s')
    83         . ' : '
    84         . __FUNCTION__
    85         . ' a fini son travail'
    86         . ' pour le projet n#'
    87         . $id_projet
    88         . "\n----------\n";
     56                $commits = lister_rss_commits($id_projet);
     57                if (count($commits) > 0) {
     58                        foreach ($commits as $key => $value) {
     59                                if (!in_array($value['id_projet'] . '|' . $value['url_revision'], $commits_anciens)) {
     60                                        // On stocke dans le tableau, les nouveaux commits qui doivent être ajoutés en BDD.
     61                                        $commits_nouveaux[] = $value;
     62                                        $log[] = 'Le commit '
     63                                                . $value['url_revision']
     64                                                . ' va être enregistré pour le projet n#'
     65                                                . $value['id_projet'];
     66                                } else {
     67                                        $log[] = 'Le commit '
     68                                                . $value['url_revision']
     69                                                . ' est déjà enregistré pour le projet n#'
     70                                                . $value['id_projet'];
     71                                }
     72                        }
     73                        // On insère par lot les nouveaux commits pour éviter un débordement de mémoire
     74                        // cf. http://programmer.spip.net/sql_insertq_multi,591
     75                        if (count($commits_nouveaux) > 0) {
     76                                sql_insertq_multi('spip_commits', $commits_nouveaux);
     77                        } else {
     78                                $log[] = 'Pas d\'ajout de nouveaux commits dans la BDD';
     79                        }
     80                } else {
     81                        $log[] = 'Il n\'y a pas de nouveaux commits';
     82                }
     83                $log[] = date_format(date_create(), 'Y-m-d H:i:s')
     84                        . ' : '
     85                        . __FUNCTION__
     86                        . ' a fini son travail'
     87                        . ' pour le projet n#'
     88                        . $id_projet
     89                        . "\n----------\n";
    8990
    90         spip_log(implode("\n", $log), 'rss_commits');
     91                spip_log(implode("\n", $log), 'rss_commits');
    9192
    92     } else {
    93         if ($import_auto == 'non') {
    94             spip_log(__FUNCTION__ . " / L'import automatique est désactivée.", 'rss_commits');
    95         } else {
    96             spip_log(__FUNCTION__ . " / $id pas compris", 'rss_commits');
    97         }
    98     }
     93        } else {
     94                if ($import_auto == 'non') {
     95                        spip_log(__FUNCTION__ . " / L'import automatique est désactivée.", 'rss_commits');
     96                } else {
     97                        spip_log(__FUNCTION__ . " / $id pas compris", 'rss_commits');
     98                }
     99        }
    99100
    100     return true;
     101        return true;
    101102}
    102103
    103 ?>
  • _plugins_/rss_commits/trunk/base/projets_depots.php

    r84419 r96468  
    22// On va créer les champs extras pour spip_projets
    33
    4 function rss_commits_declarer_champs_extras($champs = array())
    5 {
    6     $champs['spip_projets']['versioning_path'] = array(
    7         'saisie' => 'input',//Type du champ (voir plugin Saisies)
    8         'options' => array(
    9             'nom' => 'versioning_path',
    10             'label' => _T('commit:champ_versioning_path_label'),
    11             'sql' => "varchar(255) NOT NULL DEFAULT ''",
    12             'defaut' => '',// Valeur par défaut
    13             'restrictions'=>array('voir' => array('auteur' => ''),//Tout le monde peut voir
    14             'modifier' => array('auteur' => '0minirezo')),//Seuls les administrateurs peuvent modifier
    15         ),
    16     );
    17     $champs['spip_projets']['versioning_trac'] = array(
    18         'saisie' => 'input',//Type du champ (voir plugin Saisies)
    19         'options' => array(
    20             'nom' => 'versioning_trac',
    21             'label' => _T('commit:champ_versioning_trac_label'),
    22             'sql' => "varchar(255) NOT NULL DEFAULT ''",
    23             'defaut' => '',// Valeur par défaut
    24             'restrictions'=>array('voir' => array('auteur' => ''),//Tout le monde peut voir
    25             'modifier' => array('auteur' => '0minirezo')),//Seuls les administrateurs peuvent modifier
    26         ),
    27     );
    28     $champs['spip_projets']['versioning_type'] = array(
    29         'saisie' => 'input',//Type du champ (voir plugin Saisies)
    30         'options' => array(
    31             'nom' => 'versioning_type',
    32             'label' => _T('commit:champ_versioning_type_label'),
    33             'sql' => "varchar(255) NOT NULL DEFAULT ''",
    34             'defaut' => '',// Valeur par défaut
    35             'restrictions'=>array('voir' => array('auteur' => ''),//Tout le monde peut voir
    36             'modifier' => array('auteur' => '0minirezo')),//Seuls les administrateurs peuvent modifier
    37         ),
    38     );
    39     $champs['spip_projets']['versioning_rss'] = array(
    40         'saisie' => 'input',//Type du champ (voir plugin Saisies)
    41         'options' => array(
    42             'nom' => 'versioning_rss',
    43             'label' => _T('commit:champ_versioning_rss_label'),
    44             'sql' => "varchar(255) NOT NULL DEFAULT ''",
    45             'defaut' => '',// Valeur par défaut
    46             'restrictions'=>array('voir' => array('auteur' => ''),//Tout le monde peut voir
    47             'modifier' => array('auteur' => '0minirezo')),//Seuls les administrateurs peuvent modifier
    48         ),
    49     );
    50     return $champs;
     4function rss_commits_declarer_champs_extras($champs = array()) {
     5        $champs['spip_projets']['versioning_path'] = array(
     6                'saisie' => 'input',
     7                //Type du champ (voir plugin Saisies)
     8                'options' => array(
     9                        'nom' => 'versioning_path',
     10                        'label' => _T('commit:champ_versioning_path_label'),
     11                        'sql' => "varchar(255) NOT NULL DEFAULT ''",
     12                        'defaut' => '',
     13                        // Valeur par défaut
     14                        'restrictions' => array(
     15                                'voir' => array('auteur' => ''),
     16                                //Tout le monde peut voir
     17                                'modifier' => array('auteur' => '0minirezo'),
     18                        ),
     19                        //Seuls les administrateurs peuvent modifier
     20                ),
     21        );
     22        $champs['spip_projets']['versioning_trac'] = array(
     23                'saisie' => 'input',
     24                //Type du champ (voir plugin Saisies)
     25                'options' => array(
     26                        'nom' => 'versioning_trac',
     27                        'label' => _T('commit:champ_versioning_trac_label'),
     28                        'sql' => "varchar(255) NOT NULL DEFAULT ''",
     29                        'defaut' => '',
     30                        // Valeur par défaut
     31                        'restrictions' => array(
     32                                'voir' => array('auteur' => ''),
     33                                //Tout le monde peut voir
     34                                'modifier' => array('auteur' => '0minirezo'),
     35                        ),
     36                        //Seuls les administrateurs peuvent modifier
     37                ),
     38        );
     39        $champs['spip_projets']['versioning_type'] = array(
     40                'saisie' => 'input',
     41                //Type du champ (voir plugin Saisies)
     42                'options' => array(
     43                        'nom' => 'versioning_type',
     44                        'label' => _T('commit:champ_versioning_type_label'),
     45                        'sql' => "varchar(255) NOT NULL DEFAULT ''",
     46                        'defaut' => '',
     47                        // Valeur par défaut
     48                        'restrictions' => array(
     49                                'voir' => array('auteur' => ''),
     50                                //Tout le monde peut voir
     51                                'modifier' => array('auteur' => '0minirezo'),
     52                        ),
     53                        //Seuls les administrateurs peuvent modifier
     54                ),
     55        );
     56        $champs['spip_projets']['versioning_rss'] = array(
     57                'saisie' => 'input',
     58                //Type du champ (voir plugin Saisies)
     59                'options' => array(
     60                        'nom' => 'versioning_rss',
     61                        'label' => _T('commit:champ_versioning_rss_label'),
     62                        'sql' => "varchar(255) NOT NULL DEFAULT ''",
     63                        'defaut' => '',
     64                        // Valeur par défaut
     65                        'restrictions' => array(
     66                                'voir' => array('auteur' => ''),
     67                                //Tout le monde peut voir
     68                                'modifier' => array('auteur' => '0minirezo'),
     69                        ),
     70                        //Seuls les administrateurs peuvent modifier
     71                ),
     72        );
     73
     74        return $champs;
    5175}
    5276
    53 ?>
  • _plugins_/rss_commits/trunk/base/rss_commits.php

    r84428 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    1919 *
    2020 * @pipeline declarer_tables_interfaces
     21 *
    2122 * @param array $interfaces
    2223 *     Déclarations d'interface pour le compilateur
     24 *
    2325 * @return array
    2426 *     Déclarations d'interface pour le compilateur
    2527 */
    26 function rss_commits_declarer_tables_interfaces($interfaces)
    27 {
     28function rss_commits_declarer_tables_interfaces($interfaces) {
    2829
    29     $interfaces['table_des_tables']['commits'] = 'commits';
     30        $interfaces['table_des_tables']['commits'] = 'commits';
    3031
    31     return $interfaces;
     32        return $interfaces;
    3233}
    3334
     
    3738 *
    3839 * @pipeline declarer_tables_objets_sql
     40 *
    3941 * @param array $tables
    4042 *     Description des tables
     43 *
    4144 * @return array
    4245 *     Description complétée des tables
    4346 */
    44 function rss_commits_declarer_tables_objets_sql($tables)
    45 {
     47function rss_commits_declarer_tables_objets_sql($tables) {
    4648
    47     $tables['spip_commits'] = array(
    48         'type' => 'commit',
    49         'principale' => "oui",
    50         'field'=> array(
    51             "id_commit"          => "bigint(21) NOT NULL",
    52             "titre"              => "text NOT NULL DEFAULT ''",
    53             "descriptif"         => "text NOT NULL DEFAULT ''",
    54             "texte"              => "text NOT NULL DEFAULT ''",
    55             "auteur"             => "varchar(255) NOT NULL DEFAULT ''",
    56             "url_revision"       => "text NOT NULL DEFAULT ''",
    57             "guid"               => "text NOT NULL DEFAULT ''",
    58             "id_projet"          => "bigint(21) NOT NULL DEFAULT 0",
    59             "date_creation"      => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
    60             "maj"                => "TIMESTAMP"
    61         ),
    62         'key' => array(
    63             "PRIMARY KEY"        => "id_commit",
    64             "KEY id_projet"      => "id_projet"
    65         ),
    66         'titre' => "titre AS titre, '' AS lang",
    67         'date' => "date_creation",
    68         'champs_editables'  => array('titre', 'descriptif', 'texte', 'auteur', 'url_revision', 'guid', 'id_projet'),
    69         'champs_versionnes' => array('titre', 'descriptif', 'texte', 'auteur', 'url_revision', 'guid', 'id_projet'),
    70         'rechercher_champs' => array("titre" => 6, "descriptif" => 7, "texte" => 7, "auteur" => 8, "url_revision" => 5),
    71         'tables_jointures'  => array(),
     49        $tables['spip_commits'] = array(
     50                'type' => 'commit',
     51                'principale' => "oui",
     52                'field' => array(
     53                        "id_commit" => "bigint(21) NOT NULL",
     54                        "titre" => "text NOT NULL DEFAULT ''",
     55                        "descriptif" => "text NOT NULL DEFAULT ''",
     56                        "texte" => "text NOT NULL DEFAULT ''",
     57                        "auteur" => "varchar(255) NOT NULL DEFAULT ''",
     58                        "url_revision" => "text NOT NULL DEFAULT ''",
     59                        "guid" => "text NOT NULL DEFAULT ''",
     60                        "id_projet" => "bigint(21) NOT NULL DEFAULT 0",
     61                        "date_creation" => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
     62                        "maj" => "TIMESTAMP",
     63                ),
     64                'key' => array(
     65                        "PRIMARY KEY" => "id_commit",
     66                        "KEY id_projet" => "id_projet",
     67                ),
     68                'titre' => "titre AS titre, '' AS lang",
     69                'date' => "date_creation",
     70                'champs_editables' => array(
     71                        'titre',
     72                        'descriptif',
     73                        'texte',
     74                        'auteur',
     75                        'url_revision',
     76                        'guid',
     77                        'id_projet',
     78                ),
     79                'champs_versionnes' => array(
     80                        'titre',
     81                        'descriptif',
     82                        'texte',
     83                        'auteur',
     84                        'url_revision',
     85                        'guid',
     86                        'id_projet',
     87                ),
     88                'rechercher_champs' => array(
     89                        "titre" => 6,
     90                        "descriptif" => 7,
     91                        "texte" => 7,
     92                        "auteur" => 8,
     93                        "url_revision" => 5,
     94                ),
     95                'tables_jointures' => array(),
    7296
    7397
    74     );
     98        );
    7599
    76     return $tables;
     100        return $tables;
    77101}
    78102
    79 
    80 
    81 ?>
  • _plugins_/rss_commits/trunk/formulaires/editer_commit.php

    r84421 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1010 */
    1111
    12 if (!defined('_ECRIRE_INC_VERSION')) return;
     12if (!defined('_ECRIRE_INC_VERSION')) {
     13        return;
     14}
    1315
    1416include_spip('inc/actions');
     
    2022 * @param int|string $id_commit
    2123 *     Identifiant du commit. 'new' pour un nouveau commit.
    22  * @param string $retour
     24 * @param string     $retour
    2325 *     URL de redirection après le traitement
    24  * @param int $lier_trad
     26 * @param int        $lier_trad
    2527 *     Identifiant éventuel d'un commit source d'une traduction
    26  * @param string $config_fonc
     28 * @param string     $config_fonc
    2729 *     Nom de la fonction ajoutant des configurations particulières au formulaire
    28  * @param array $row
     30 * @param array      $row
    2931 *     Valeurs de la ligne SQL du commit, si connu
    30  * @param string $hidden
     32 * @param string     $hidden
    3133 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     34 *
    3235 * @return string
    3336 *     Hash du formulaire
    3437 */
    35 function formulaires_editer_commit_identifier_dist($id_commit='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
     38function formulaires_editer_commit_identifier_dist(
     39        $id_commit = 'new',
     40        $retour = '',
     41        $lier_trad = 0,
     42        $config_fonc = '',
     43        $row = array(),
     44        $hidden = ''
     45) {
    3646        return serialize(array(intval($id_commit)));
    3747}
     
    4656 * @param int|string $id_commit
    4757 *     Identifiant du commit. 'new' pour un nouveau commit.
    48  * @param string $retour
     58 * @param string     $retour
    4959 *     URL de redirection après le traitement
    50  * @param int $lier_trad
     60 * @param int        $lier_trad
    5161 *     Identifiant éventuel d'un commit source d'une traduction
    52  * @param string $config_fonc
     62 * @param string     $config_fonc
    5363 *     Nom de la fonction ajoutant des configurations particulières au formulaire
    54  * @param array $row
     64 * @param array      $row
    5565 *     Valeurs de la ligne SQL du commit, si connu
    56  * @param string $hidden
     66 * @param string     $hidden
    5767 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     68 *
    5869 * @return array
    5970 *     Environnement du formulaire
    6071 */
    61 function formulaires_editer_commit_charger_dist($id_commit='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    62         $valeurs = formulaires_editer_objet_charger('commit',$id_commit,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
     72function formulaires_editer_commit_charger_dist(
     73        $id_commit = 'new',
     74        $retour = '',
     75        $lier_trad = 0,
     76        $config_fonc = '',
     77        $row = array(),
     78        $hidden = ''
     79) {
     80        $valeurs = formulaires_editer_objet_charger('commit', $id_commit, '', $lier_trad, $retour, $config_fonc, $row,
     81                $hidden);
     82
    6383        return $valeurs;
    6484}
     
    7393 * @param int|string $id_commit
    7494 *     Identifiant du commit. 'new' pour un nouveau commit.
    75  * @param string $retour
     95 * @param string     $retour
    7696 *     URL de redirection après le traitement
    77  * @param int $lier_trad
     97 * @param int        $lier_trad
    7898 *     Identifiant éventuel d'un commit source d'une traduction
    79  * @param string $config_fonc
     99 * @param string     $config_fonc
    80100 *     Nom de la fonction ajoutant des configurations particulières au formulaire
    81  * @param array $row
     101 * @param array      $row
    82102 *     Valeurs de la ligne SQL du commit, si connu
    83  * @param string $hidden
     103 * @param string     $hidden
    84104 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     105 *
    85106 * @return array
    86107 *     Tableau des erreurs
    87108 */
    88 function formulaires_editer_commit_verifier_dist($id_commit='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
     109function formulaires_editer_commit_verifier_dist(
     110        $id_commit = 'new',
     111        $retour = '',
     112        $lier_trad = 0,
     113        $config_fonc = '',
     114        $row = array(),
     115        $hidden = ''
     116) {
    89117
    90         return formulaires_editer_objet_verifier('commit',$id_commit);
     118        return formulaires_editer_objet_verifier('commit', $id_commit);
    91119
    92120}
     
    101129 * @param int|string $id_commit
    102130 *     Identifiant du commit. 'new' pour un nouveau commit.
    103  * @param string $retour
     131 * @param string     $retour
    104132 *     URL de redirection après le traitement
    105  * @param int $lier_trad
     133 * @param int        $lier_trad
    106134 *     Identifiant éventuel d'un commit source d'une traduction
    107  * @param string $config_fonc
     135 * @param string     $config_fonc
    108136 *     Nom de la fonction ajoutant des configurations particulières au formulaire
    109  * @param array $row
     137 * @param array      $row
    110138 *     Valeurs de la ligne SQL du commit, si connu
    111  * @param string $hidden
     139 * @param string     $hidden
    112140 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
     141 *
    113142 * @return array
    114143 *     Retours des traitements
    115144 */
    116 function formulaires_editer_commit_traiter_dist($id_commit='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    117         return formulaires_editer_objet_traiter('commit',$id_commit,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
     145function formulaires_editer_commit_traiter_dist(
     146        $id_commit = 'new',
     147        $retour = '',
     148        $lier_trad = 0,
     149        $config_fonc = '',
     150        $row = array(),
     151        $hidden = ''
     152) {
     153        return formulaires_editer_objet_traiter('commit', $id_commit, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
    118154}
    119155
    120 
    121 ?>
  • _plugins_/rss_commits/trunk/genie/import_commits.php

    r84521 r96468  
    11<?php
     2
     3if (!defined("_ECRIRE_INC_VERSION")) {
     4        return;
     5}
    26
    37include_spip('rss_commits_fonctions');
    48include_spip('base/abstract_sql');
    59
    6 function genie_import_commits_dist ($t)
    7 {
    8     $log = array();
    9     $log[] = "\n ----------" . date_format(date_create(), 'Y-m-d H:i:s') . ' : on lance ' . __FUNCTION__ ;
    10     $commits_anciens = array();
    11     $commits_nouveaux = array();
    12     $commits_en_bdd   = sql_allfetsel('id_projet,url_revision', 'spip_commits', "url_revision !=''");
    13     if (count($commits_en_bdd) > 0) {
    14         foreach ($commits_en_bdd as $key => $value) {
    15             $commits_anciens[] = $value['id_projet'] . '|' . $value['url_revision'];
    16         }
    17     }
    18     $commits = lister_rss_commits();
    19     if (count($commits) > 0) {
    20         foreach ($commits as $key => $value) {
    21             if (!in_array($value['id_projet'] . '|' . $value['url_revision'], $commits_anciens)) {
    22                 // On stocke dans le tableau, les nouveaux commits qui doivent être ajoutés en BDD.
    23                 $commits_nouveaux[] = $value;
    24                 $log[] = 'Le commit ' . $value['url_revision'] . ' va être enregistré pour le projet n#' . $value['id_projet'];
    25             } else {
    26                 $log[] = 'Le commit ' . $value['url_revision'] . ' est déjà enregistré pour le projet n#' . $value['id_projet'];
    27             }
    28         }
    29         // On insère par lot les nouveaux commits pour éviter un débordement de mémoire
    30         // cf. http://programmer.spip.net/sql_insertq_multi,591
    31         if (count($commits_nouveaux) > 0) {
    32             sql_insertq_multi('spip_commits', $commits_nouveaux);
    33         } else {
    34             $log[] = 'Pas d\'ajout de nouveaux commits dans la BDD';
    35         }
    36     } else {
    37         $log[] = 'Il n\'y a pas de nouveaux commits';
    38     }
    39     $log[] = date_format(date_create(), 'Y-m-d H:i:s') . ' : ' . __FUNCTION__ . ' a fini son travail' . "\n ----------";
     10function genie_import_commits_dist($t) {
     11        $log = array();
     12        $log[] = "\n ----------" . date_format(date_create(), 'Y-m-d H:i:s') . ' : on lance ' . __FUNCTION__;
     13        $commits_anciens = array();
     14        $commits_nouveaux = array();
     15        $commits_en_bdd = sql_allfetsel('id_projet,url_revision', 'spip_commits', "url_revision !=''");
     16        if (count($commits_en_bdd) > 0) {
     17                foreach ($commits_en_bdd as $key => $value) {
     18                        $commits_anciens[] = $value['id_projet'] . '|' . $value['url_revision'];
     19                }
     20        }
     21        $commits = lister_rss_commits();
     22        if (count($commits) > 0) {
     23                foreach ($commits as $key => $value) {
     24                        if (!in_array($value['id_projet'] . '|' . $value['url_revision'], $commits_anciens)) {
     25                                // On stocke dans le tableau, les nouveaux commits qui doivent être ajoutés en BDD.
     26                                $commits_nouveaux[] = $value;
     27                                $log[] = 'Le commit ' . $value['url_revision'] . ' va être enregistré pour le projet n#' . $value['id_projet'];
     28                        } else {
     29                                $log[] = 'Le commit ' . $value['url_revision'] . ' est déjà enregistré pour le projet n#' . $value['id_projet'];
     30                        }
     31                }
     32                // On insère par lot les nouveaux commits pour éviter un débordement de mémoire
     33                // cf. http://programmer.spip.net/sql_insertq_multi,591
     34                if (count($commits_nouveaux) > 0) {
     35                        sql_insertq_multi('spip_commits', $commits_nouveaux);
     36                } else {
     37                        $log[] = 'Pas d\'ajout de nouveaux commits dans la BDD';
     38                }
     39        } else {
     40                $log[] = 'Il n\'y a pas de nouveaux commits';
     41        }
     42        $log[] = date_format(date_create(), 'Y-m-d H:i:s') . ' : ' . __FUNCTION__ . ' a fini son travail' . "\n ----------";
    4043
    41     spip_log(implode("\n", $log), 'rss_commits');
     44        spip_log(implode("\n", $log), 'rss_commits');
    4245}
    43 ?>
     46
  • _plugins_/rss_commits/trunk/inc/analyser_rss_commits.php

    r84479 r96468  
    22
    33if (!defined("_ECRIRE_INC_VERSION")) {
    4     return;
     4        return;
    55}
    66
    7 function inc_analyser_rss_commits_dist($url)
    8 {
    9     include_spip('iterateur/data');
    10     include_spip('inc/distant');
    11     $recuperer_rss_commits = charger_fonction('recuperer_rss_commits', 'inc');
    12     // $convertir             = charger_fonction('xml_to_array', 'inc');
     7function inc_analyser_rss_commits_dist($url) {
     8        include_spip('iterateur/data');
     9        include_spip('inc/distant');
     10        $recuperer_rss_commits = charger_fonction('recuperer_rss_commits', 'inc');
     11        // $convertir = charger_fonction('xml_to_array', 'inc');
    1312
    14     $valeurs = array();
    15     $xml = false;
     13        $valeurs = array();
     14        $xml = false;
    1615
    17     $valeurs  = array();
    18     $page      = $recuperer_rss_commits($url);
    19     // $xml       = $convertir($page['content']);
     16        $valeurs = array();
     17        $page = $recuperer_rss_commits($url);
     18        // $xml       = $convertir($page['content']);
    2019
    21     if (!is_null($page)) {
    22         // $page = preg_replace("/\<\?(.*)\?\>/", "", $page);
    23         // Transformer les <dc:creator> en faveur de <author>
    24         $page = preg_replace("/dc:creator\>/", "author>", $page['content']);
    25         // Transformer les <content:encoded> du rss de Git en faveur de <texte>
    26         $page = preg_replace("/content:encoded\>/", "texte>", $page);
    27         // Merci _Eric_ pour ce code.
    28         // var_dump($page);
    29         $xml = json_decode(json_encode(simplexml_load_string($page, null, LIBXML_NOCDATA)), true);
    30     }
     20        if (!is_null($page)) {
     21                // $page = preg_replace("/\<\?(.*)\?\>/", "", $page);
     22                // Transformer les <dc:creator> en faveur de <author>
     23                $page = preg_replace("/dc:creator\>/", "author>", $page['content']);
     24                // Transformer les <content:encoded> du rss de Git en faveur de <texte>
     25                $page = preg_replace("/content:encoded\>/", "texte>", $page);
     26                // Merci _Eric_ pour ce code.
     27                // var_dump($page);
     28                $xml = json_decode(json_encode(simplexml_load_string($page, null, LIBXML_NOCDATA)), true);
     29        }
    3130
    32     return $xml;
     31        return $xml;
    3332}
    34 ?>
  • _plugins_/rss_commits/trunk/inc/recuperer_rss_commits.php

    r84677 r96468  
    11<?php
     2
     3if (!defined("_ECRIRE_INC_VERSION")) {
     4        return;
     5}
    26
    37/**
     
    711 *
    812 * @param string $url URL de la page à récupérer
     13 *
    914 * @return array
    1015 */
    11 function inc_recuperer_rss_commits_dist ($url, $login = '', $password = '')
    12 {
    13     include_spip('inc/config');
    14     $header   = array();
     16function inc_recuperer_rss_commits_dist($url, $login = '', $password = '') {
     17        include_spip('inc/config');
     18        $header = array();
    1519
    16     // On teste si CURL est présent ou pas.
    17     // Sinon on passe par recuperer_page()
    18     if (function_exists('curl_init')) {
    19         // code adapté du script issu de cette page :
    20         // http://stackoverflow.com/a/14953910
    21         $options  = array(
    22             CURLOPT_CUSTOMREQUEST  => "GET",    // set request type post or get
    23             CURLOPT_POST           => false,    // set to GET
    24             CURLOPT_RETURNTRANSFER => true,     // return web page
    25             CURLOPT_HEADER         => false,    // don't return headers
    26             CURLOPT_FOLLOWLOCATION => true,     // follow redirects
    27             CURLOPT_AUTOREFERER    => true,     // set referer on redirect
    28             CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
    29             CURLOPT_TIMEOUT        => 120,      // timeout on response
    30             CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
    31             CURLOPT_SSL_VERIFYPEER => false,    // stop after 10 redirects
    32         );
     20        // On teste si CURL est présent ou pas.
     21        // Sinon on passe par recuperer_page()
     22        if (function_exists('curl_init')) {
     23                // code adapté du script issu de cette page :
     24                // http://stackoverflow.com/a/14953910
     25                $options = array(
     26                        CURLOPT_CUSTOMREQUEST => "GET",
     27                        // set request type post or get
     28                        CURLOPT_POST => false,
     29                        // set to GET
     30                        CURLOPT_RETURNTRANSFER => true,
     31                        // return web page
     32                        CURLOPT_HEADER => false,
     33                        // don't return headers
     34                        CURLOPT_FOLLOWLOCATION => true,
     35                        // follow redirects
     36                        CURLOPT_AUTOREFERER => true,
     37                        // set referer on redirect
     38                        CURLOPT_CONNECTTIMEOUT => 120,
     39                        // timeout on connect
     40                        CURLOPT_TIMEOUT => 120,
     41                        // timeout on response
     42                        CURLOPT_MAXREDIRS => 10,
     43                        // stop after 10 redirects
     44                        CURLOPT_SSL_VERIFYPEER => false,
     45                        // stop after 10 redirects
     46                );
    3347
    34         if (isset($login) and $login != '') {
    35             $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
    36             spip_log($login . ' ' . $password, 'rss_commits');
    37         } else {
    38             $login    = lire_config('rss_commits/login');
    39             $password = lire_config('rss_commits/password');
    40             $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
    41             spip_log($login . ' ' . $password, 'rss_commits');
    42         }
     48                if (isset($login) and $login != '') {
     49                        $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
     50                        spip_log($login . ' ' . $password, 'rss_commits');
     51                } else {
     52                        $login = lire_config('rss_commits/login');
     53                        $password = lire_config('rss_commits/password');
     54                        $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
     55                        spip_log($login . ' ' . $password, 'rss_commits');
     56                }
    4357
    44         $ch      = curl_init($url);
    45         curl_setopt_array($ch, $options);
    46         $content = curl_exec($ch);
    47         $err    = curl_errno($ch);
    48         $errmsg = curl_error($ch);
    49         $header = curl_getinfo($ch);
    50         curl_close($ch);
     58                $ch = curl_init($url);
     59                curl_setopt_array($ch, $options);
     60                $content = curl_exec($ch);
     61                $err = curl_errno($ch);
     62                $errmsg = curl_error($ch);
     63                $header = curl_getinfo($ch);
     64                curl_close($ch);
    5165
    52         $header['errno']  = $err;
    53         $header['errmsg'] = $errmsg;
    54         $header['content'] = $content;
     66                $header['errno'] = $err;
     67                $header['errmsg'] = $errmsg;
     68                $header['content'] = $content;
    5569
    56     } else {
    57         $header['content'] = recuperer_page($url);
    58     }
     70        } else {
     71                $header['content'] = recuperer_page($url);
     72        }
    5973
    60     return $header;
     74        return $header;
    6175}
    62 ?>
     76
  • _plugins_/rss_commits/trunk/lang/commit_fr.php

    r84677 r96468  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) {
    5     return;
     5        return;
    66}
    7 
    87
    98$GLOBALS[$GLOBALS['idx_lang']] = array(
    109
    11     // A
    12     'ajouter_lien_commit' => 'Ajouter ce commit',
    13     'aucun_commit' => 'Aucun commit',
    14     'aucun_commit_auteur' => 'Aucun commit pour cet auteur',
    15     'aucun_commit_auteur_identifie' => 'Vous n\'avez aucun commit',
    16     'aucun_commit_projet' => 'Aucun commit pour ce projet',
     10        // A
     11        'ajouter_lien_commit' => 'Ajouter ce commit',
     12        'aucun_commit' => 'Aucun commit',
     13        'aucun_commit_auteur' => 'Aucun commit pour cet auteur',
     14        'aucun_commit_auteur_identifie' => 'Vous n\'avez aucun commit',
     15        'aucun_commit_projet' => 'Aucun commit pour ce projet',
    1716
    18     // C
    19     'champ_auteur_label' => 'Auteur',
    20     'champ_date_creation_label' => 'Date de commit',
    21     'champ_descriptif_label' => 'Descriptif',
    22     'champ_guid_label' => 'GUID',
    23     'champ_id_commit_label' => 'Identifiant du commit',
    24     'champ_id_projet_label' => 'Identifiant du projet',
    25     'champ_maj' => 'Date de mise à jour',
    26     'champ_texte_label' => 'Texte',
    27     'champ_titre_label' => 'Titre',
    28     'champ_url_revision_label' => 'Lien vers la révision',
    29     'champ_versioning_path_label' => 'Chemin du dépôt',
    30     'champ_versioning_rss_label' => 'RSS des commits du dépôt',
    31     'champ_versioning_trac_label' => 'Trac du dépôt',
    32     'champ_versioning_type_label' => 'Type de versioning',
    33     'confirmer_maj_commits_projet' => 'Veuillez confirmer la demande de mise à jour des commits de ce projet.',
    34     'curl_actif' => 'L\'extension cURL de PHP est actif. De ce fait, vous pourrez en profiter dans ce plugin.',
    35     'curl_inactif' => 'L\'extension cURL de PHP n\'est pas actif. De ce fait, la fonction <em>recuperer_page</em> sera utilisée pour récupérer le contenu des flux RSS des commits.',
     17        // C
     18        'champ_auteur_label' => 'Auteur',
     19        'champ_date_creation_label' => 'Date de commit',
     20        'champ_descriptif_label' => 'Descriptif',
     21        'champ_guid_label' => 'GUID',
     22        'champ_id_commit_label' => 'Identifiant du commit',
     23        'champ_id_projet_label' => 'Identifiant du projet',
     24        'champ_maj' => 'Date de mise à jour',
     25        'champ_texte_label' => 'Texte',
     26        'champ_titre_label' => 'Titre',
     27        'champ_url_revision_label' => 'Lien vers la révision',
     28        'champ_versioning_path_label' => 'Chemin du dépôt',
     29        'champ_versioning_rss_label' => 'RSS des commits du dépôt',
     30        'champ_versioning_trac_label' => 'Trac du dépôt',
     31        'champ_versioning_type_label' => 'Type de versioning',
     32        'confirmer_maj_commits_projet' => 'Veuillez confirmer la demande de mise à jour des commits de ce projet.',
     33        'curl_actif' => 'L\'extension cURL de PHP est actif. De ce fait, vous pourrez en profiter dans ce plugin.',
     34        'curl_inactif' => 'L\'extension cURL de PHP n\'est pas actif. De ce fait, la fonction <em>recuperer_page</em> sera utilisée pour récupérer le contenu des flux RSS des commits.',
    3635
    37     // I
    38     'icone_creer_commit' => 'Créer un commit',
    39     'icone_modifier_commit' => 'Modifier ce commit',
    40     'info_1_commit' => 'Un commit',
    41     'info_aucun_commit' => 'Aucun commit',
    42     'info_commits_auteur' => 'Les commits de cet auteur',
    43     'info_commits_projet' => 'Les commits de ce projet',
    44     'info_nb_commits' => '@nb@ commits',
     36        // I
     37        'icone_creer_commit' => 'Créer un commit',
     38        'icone_modifier_commit' => 'Modifier ce commit',
     39        'info_1_commit' => 'Un commit',
     40        'info_aucun_commit' => 'Aucun commit',
     41        'info_commits_auteur' => 'Les commits de cet auteur',
     42        'info_commits_projet' => 'Les commits de ce projet',
     43        'info_nb_commits' => '@nb@ commits',
    4544
    46     // M
    47     'maj_commits_projet' => 'Mettre à jour les commits',
     45        // M
     46        'maj_commits_projet' => 'Mettre à jour les commits',
    4847
    49     // R
    50     'retirer_lien_commit' => 'Retirer ce commit',
    51     'retirer_tous_liens_commits' => 'Retirer tous les commits',
     48        // R
     49        'retirer_lien_commit' => 'Retirer ce commit',
     50        'retirer_tous_liens_commits' => 'Retirer tous les commits',
    5251
    53     // T
    54     'texte_ajouter_commit' => 'Ajouter un commit',
    55     'texte_changer_statut_commit' => 'Ce commit est :',
    56     'texte_creer_associer_commit' => 'Créer et associer un commit',
    57     'titre_commit' => 'Commit',
    58     'titre_commits' => 'Commits',
    59     'titre_commits_projet' => 'Commits du projet',
    60     'titre_commits_rubrique' => 'Commits de la rubrique',
    61     'titre_langue_commit' => 'Langue de ce commit',
    62     'titre_logo_commit' => 'Logo de ce commit',
     52        // T
     53        'texte_ajouter_commit' => 'Ajouter un commit',
     54        'texte_changer_statut_commit' => 'Ce commit est :',
     55        'texte_creer_associer_commit' => 'Créer et associer un commit',
     56        'titre_commit' => 'Commit',
     57        'titre_commits' => 'Commits',
     58        'titre_commits_projet' => 'Commits du projet',
     59        'titre_commits_rubrique' => 'Commits de la rubrique',
     60        'titre_langue_commit' => 'Langue de ce commit',
     61        'titre_logo_commit' => 'Logo de ce commit',
    6362
    64     // V
    65     'vos_commits' => 'Vos commits',
     63        // V
     64        'vos_commits' => 'Vos commits',
    6665);
    6766
    68 ?>
  • _plugins_/rss_commits/trunk/lang/commits_fr.php

    r84743 r96468  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) {
    5     return;
     5        return;
    66}
    77
    88$GLOBALS[$GLOBALS['idx_lang']] = array(
    99
    10     // C
    11     'commits_titre' => 'Commits de projet',
    12     'cfg_exemple' => 'Exemple',
    13     'cfg_exemple_explication' => 'Explication de cet exemple',
    14     'cfg_titre_parametrages' => 'Paramétrages',
     10        // C
     11        'commits_titre' => 'Commits de projet',
     12        'cfg_exemple' => 'Exemple',
     13        'cfg_exemple_explication' => 'Explication de cet exemple',
     14        'cfg_titre_parametrages' => 'Paramétrages',
    1515
    16     // E
    17     'explication_curl' => 'Veuillez indiquer le login et le mot de passe utilisés pour se connecter sur les pages du webservice. Ces informations seront utilisées avec la fonction CURL de PHP si elle est présente sur votre site.',
    18     'explication_import_auto' => 'Il peut s\'avérer parfois très volumineux d\'importer les commits de tous les projets dans la base de données. De ce fait, vous pouvez désactiver cette option selon vos besoins et/ou envie. Par défaut, cette option est désactivée.',
    19     'alerte_import_auto_desactive' => 'Attention, l\'importation automatique des commits dans la base de données a été désactivée. Les remontées de nouveaux commits se feront par le biais des flux RSS indiqués sur les projets.',
     16        // E
     17        'explication_curl' => 'Veuillez indiquer le login et le mot de passe utilisés pour se connecter sur les pages du webservice. Ces informations seront utilisées avec la fonction CURL de PHP si elle est présente sur votre site.',
     18        'explication_import_auto' => 'Il peut s\'avérer parfois très volumineux d\'importer les commits de tous les projets dans la base de données. De ce fait, vous pouvez désactiver cette option selon vos besoins et/ou envie. Par défaut, cette option est désactivée.',
     19        'alerte_import_auto_desactive' => 'Attention, l\'importation automatique des commits dans la base de données a été désactivée. Les remontées de nouveaux commits se feront par le biais des flux RSS indiqués sur les projets.',
    2020
    21     // L
    22     'label_login' => 'Login',
    23     'label_password' => 'Mot de passe',
    24     'label_import_auto' => 'Importation automatique',
     21        // L
     22        'label_login' => 'Login',
     23        'label_password' => 'Mot de passe',
     24        'label_import_auto' => 'Importation automatique',
    2525
    26     // N
    27     'non' => 'Non',
     26        // N
     27        'non' => 'Non',
    2828
    29     // O
    30     'oui' => 'Oui',
    31     // T
    32     'titre_page_configurer_commits' => 'Régler vos commits',
     29        // O
     30        'oui' => 'Oui',
     31        // T
     32        'titre_page_configurer_commits' => 'Régler vos commits',
    3333);
    3434
    35 ?>
  • _plugins_/rss_commits/trunk/lang/paquet-rss_commits_fr.php

    r84467 r96468  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) {
    5     return;
     5        return;
    66}
    77
    88$GLOBALS[$GLOBALS['idx_lang']] = array(
    99
    10     // C
    11     'rss_commits_description' => 'Enregistrer les commits de votre système de versions (SVN, Git, etc.) issus d\'un flux RSS. Vous pourrez ainsi les consulter depuis votre site.',
    12     'rss_commits_nom' => 'Commits de projet',
    13     'rss_commits_slogan' => 'Consulter les commits d\'un projet',
     10        // C
     11        'rss_commits_description' => 'Enregistrer les commits de votre système de versions (SVN, Git, etc.) issus d\'un flux RSS. Vous pourrez ainsi les consulter depuis votre site.',
     12        'rss_commits_nom' => 'Commits de projet',
     13        'rss_commits_slogan' => 'Consulter les commits d\'un projet',
    1414);
    15 
    16 ?>
  • _plugins_/rss_commits/trunk/lang/projet_fr.php

    r84697 r96468  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) {
    5     return;
     5        return;
    66}
    77
     
    99$GLOBALS[$GLOBALS['idx_lang']] = array(
    1010
    11     // E
    12     'explication_versioning_path' => '-',
    13     'explication_versioning_rss' => '-',
    14     'explication_versioning_trac' => '-',
    15     'explication_versioning_type' => '-',
     11        // E
     12        'explication_versioning_path' => '-',
     13        'explication_versioning_rss' => '-',
     14        'explication_versioning_trac' => '-',
     15        'explication_versioning_type' => '-',
    1616
    17     // L
    18     'label_versioning_path' => 'Chemin du dépôt',
    19     'label_versioning_rss' => 'RSS des commits du dépôt',
    20     'label_versioning_trac' => 'Trac du dépôt',
    21     'label_versioning_type' => 'Type de versioning',
     17        // L
     18        'label_versioning_path' => 'Chemin du dépôt',
     19        'label_versioning_rss' => 'RSS des commits du dépôt',
     20        'label_versioning_trac' => 'Trac du dépôt',
     21        'label_versioning_type' => 'Type de versioning',
    2222
    2323);
    2424
    25 ?>
  • _plugins_/rss_commits/trunk/rss_commits_administrations.php

    r84421 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    2525 * @param string $version_cible
    2626 *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
     27 *
    2728 * @return void
    28 **/
    29 function rss_commits_upgrade($nom_meta_base_version, $version_cible)
    30 {
    31     $maj = array();
     29 **/
     30function rss_commits_upgrade($nom_meta_base_version, $version_cible) {
     31        $maj = array();
    3232
    33     $maj['create'] = array(array('maj_tables', array('spip_commits')));
    34     cextras_api_upgrade(rss_commits_declarer_champs_extras(), $maj['create']);
     33        $maj['create'] = array(
     34                array(
     35                        'maj_tables',
     36                        array('spip_commits'),
     37                ),
     38        );
     39        cextras_api_upgrade(rss_commits_declarer_champs_extras(), $maj['create']);
    3540
    36     include_spip('base/upgrade');
    37     maj_plugin($nom_meta_base_version, $version_cible, $maj);
     41        include_spip('base/upgrade');
     42        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    3843}
    3944
     
    4449 * @param string $nom_meta_base_version
    4550 *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     51 *
    4652 * @return void
    47 **/
    48 function rss_commits_vider_tables($nom_meta_base_version)
    49 {
     53 **/
     54function rss_commits_vider_tables($nom_meta_base_version) {
    5055
    51     sql_drop_table("spip_commits");
    52     cextras_api_vider_tables(rss_commits_declarer_champs_extras());
     56        sql_drop_table("spip_commits");
     57        cextras_api_vider_tables(rss_commits_declarer_champs_extras());
    5358
    54     # Nettoyer les versionnages et forums
    55     sql_delete("spip_versions", sql_in("objet", array('commit')));
    56     sql_delete("spip_versions_fragments", sql_in("objet", array('commit')));
    57     sql_delete("spip_forum", sql_in("objet", array('commit')));
     59        # Nettoyer les versionnages et forums
     60        sql_delete("spip_versions", sql_in("objet", array('commit')));
     61        sql_delete("spip_versions_fragments", sql_in("objet", array('commit')));
     62        sql_delete("spip_forum", sql_in("objet", array('commit')));
    5863
    59     effacer_meta($nom_meta_base_version);
     64        effacer_meta($nom_meta_base_version);
    6065}
    6166
    62 ?>
  • _plugins_/rss_commits/trunk/rss_commits_autorisations.php

    r84545 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    1717/**
    1818 * Fonction d'appel pour le pipeline
    19  * @pipeline autoriser */
    20 function rss_commits_autoriser()
    21 {
     19 *
     20 * @pipeline autoriser
     21 */
     22function rss_commits_autoriser() {
    2223}
    2324
     
    3536 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    3637 * @param  array  $opt   Options de cette autorisation
     38 *
    3739 * @return bool          true s'il a le droit, false sinon
    38 **/
    39 function autoriser_rss_commits_menu_dist($faire, $type, $id, $qui, $opt)
    40 {
    41     return true;
     40 **/
     41function autoriser_rss_commits_menu_dist($faire, $type, $id, $qui, $opt) {
     42        return true;
    4243}
    4344
     
    5152 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    5253 * @param  array  $opt   Options de cette autorisation
     54 *
    5355 * @return bool          true s'il a le droit, false sinon
    54 **/
    55 function autoriser_commitcreer_menu_dist($faire, $type, $id, $qui, $opt)
    56 {
    57     return autoriser('creer', 'commit', '', $qui, $opt);
     56 **/
     57function autoriser_commitcreer_menu_dist($faire, $type, $id, $qui, $opt) {
     58        return autoriser('creer', 'commit', '', $qui, $opt);
    5859}
    5960
     
    6667 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    6768 * @param  array  $opt   Options de cette autorisation
     69 *
    6870 * @return bool          true s'il a le droit, false sinon
    69 **/
    70 function autoriser_commit_creer_dist($faire, $type, $id, $qui, $opt)
    71 {
    72     return false;
     71 **/
     72function autoriser_commit_creer_dist($faire, $type, $id, $qui, $opt) {
     73        return false;
    7374}
    7475
     
    8182 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    8283 * @param  array  $opt   Options de cette autorisation
     84 *
    8385 * @return bool          true s'il a le droit, false sinon
    84 **/
    85 function autoriser_commit_voir_dist($faire, $type, $id, $qui, $opt)
    86 {
    87     return true;
     86 **/
     87function autoriser_commit_voir_dist($faire, $type, $id, $qui, $opt) {
     88        return true;
    8889}
    8990
     
    9697 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    9798 * @param  array  $opt   Options de cette autorisation
     99 *
    98100 * @return bool          true s'il a le droit, false sinon
    99 **/
    100 function autoriser_commit_modifier_dist($faire, $type, $id, $qui, $opt)
    101 {
    102     return false;
     101 **/
     102function autoriser_commit_modifier_dist($faire, $type, $id, $qui, $opt) {
     103        return false;
    103104}
    104105
     
    111112 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    112113 * @param  array  $opt   Options de cette autorisation
     114 *
    113115 * @return bool          true s'il a le droit, false sinon
    114 **/
    115 function autoriser_commit_supprimer_dist($faire, $type, $id, $qui, $opt)
    116 {
    117     return $qui['statut'] == '0minirezo' and !$qui['restreint'];
     116 **/
     117function autoriser_commit_supprimer_dist($faire, $type, $id, $qui, $opt) {
     118        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
    118119}
    119120
     
    126127 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    127128 * @param  array  $opt   Options de cette autorisation
     129 *
    128130 * @return bool          true s'il a le droit, false sinon
    129 **/
    130 function autoriser_commits_configurer_dist($faire, $type, $id, $qui, $opt)
    131 {
    132     return $qui['statut'] == '0minirezo' and !$qui['restreint'];
     131 **/
     132function autoriser_commits_configurer_dist($faire, $type, $id, $qui, $opt) {
     133        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
    133134}
    134135
     
    141142 * @param  array  $qui   Description de l'auteur demandant l'autorisation
    142143 * @param  array  $opt   Options de cette autorisation
     144 *
    143145 * @return bool          true s'il a le droit, false sinon
    144 **/
    145 function autoriser_commits_maj_dist($faire, $type, $id, $qui, $opt)
    146 {
    147     return $qui['statut'] == '0minirezo' and !$qui['restreint'];
     146 **/
     147function autoriser_commits_maj_dist($faire, $type, $id, $qui, $opt) {
     148        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
    148149}
    149150
    150 
    151 
    152 
    153 ?>
  • _plugins_/rss_commits/trunk/rss_commits_fonctions.php

    r87519 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    1717include_spip('inc/filtres');
    1818
    19 function lister_rss_commits($id_projet = null, $force = true)
    20 {
    21     $rss_items = array();
    22     $items = array();
    23     $where = "versioning_rss !=''";
    24     if (!is_null($id_projet) and $id_projet = intval($id_projet)) {
    25         $where = "versioning_rss !='' AND id_projet=$id_projet";
    26     }
    27     if ($force == true) {
    28         $where = "versioning_rss !=''";
    29     }
     19function lister_rss_commits($id_projet = null, $force = true) {
     20        $rss_items = array();
     21        $items = array();
     22        $where = "versioning_rss !=''";
     23        if (!is_null($id_projet) and $id_projet = intval($id_projet)) {
     24                $where = "versioning_rss !='' AND id_projet=$id_projet";
     25        }
     26        if ($force == true) {
     27                $where = "versioning_rss !=''";
     28        }
    3029
    31     $projet_rss = sql_allfetsel('versioning_rss,id_projet', 'spip_projets', $where);
     30        $projet_rss = sql_allfetsel('versioning_rss,id_projet', 'spip_projets', $where);
    3231
    33     $analyser_rss_commits = charger_fonction('analyser_rss_commits', 'inc');
    34     if (count($projet_rss) >0) {
    35         foreach ($projet_rss as $key_rss => $value_rss) {
    36             $contenu_rss = $analyser_rss_commits($value_rss["versioning_rss"]);
    37             if (count($contenu_rss) > 0) {
    38                 foreach ($contenu_rss['channel']['item'] as $key => $value) {
    39                         $items[$key]['titre']        = echapper_tags($value['title']);
    40                         $items[$key]['descriptif']    = $value['description'];
    41                         $items[$key]['texte']        = trim($value['texte']);
    42                         $items[$key]['auteur']        = echapper_tags($value['author']);
    43                         $items[$key]['url_revision'] = $value['link'];
    44                         $items[$key]['guid']          = $value['guid'];
    45                         $items[$key]['id_projet']    = $value_rss['id_projet'];
    46                         $items[$key]['date_creation'] = strftime(
    47                             "%Y-%m-%d %H:%M:%S",
    48                             strtotime($value['pubDate'])
    49                         );
    50                 }
    51                 $rss_items = array_merge($rss_items, $items);
    52             }
    53         } // end foreach $projet_rss
    54     }
     32        $analyser_rss_commits = charger_fonction('analyser_rss_commits', 'inc');
     33        if (count($projet_rss) > 0) {
     34                foreach ($projet_rss as $key_rss => $value_rss) {
     35                        $contenu_rss = $analyser_rss_commits($value_rss["versioning_rss"]);
     36                        if (count($contenu_rss) > 0) {
     37                                foreach ($contenu_rss['channel']['item'] as $key => $value) {
     38                                        $items[$key]['titre'] = echapper_tags($value['title']);
     39                                        $items[$key]['descriptif'] = $value['description'];
     40                                        $items[$key]['texte'] = trim($value['texte']);
     41                                        $items[$key]['auteur'] = echapper_tags($value['author']);
     42                                        $items[$key]['url_revision'] = $value['link'];
     43                                        $items[$key]['guid'] = $value['guid'];
     44                                        $items[$key]['id_projet'] = $value_rss['id_projet'];
     45                                        $items[$key]['date_creation'] = strftime(
     46                                                "%Y-%m-%d %H:%M:%S",
     47                                                strtotime($value['pubDate'])
     48                                        );
     49                                }
     50                                $rss_items = array_merge($rss_items, $items);
     51                        }
     52                } // end foreach $projet_rss
     53        }
    5554
    56     return $rss_items;
     55        return $rss_items;
    5756}
    5857
    59 ?>
  • _plugins_/rss_commits/trunk/rss_commits_options.php

    r84421 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
    16 
    17 ?>
  • _plugins_/rss_commits/trunk/rss_commits_pipelines.php

    r96061 r96468  
    44 *
    55 * @plugin     Commits de projet
    6  * @copyright  2014
     6 * @copyright  2014-2016
    77 * @author     Teddy Payet
    88 * @licence    GNU/GPL
     
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) {
    13     return;
     13        return;
    1414}
    1515
     
    1717 * Ajouter les tâches de CRON du plugin RSS Commits
    1818 *
    19  * @param  array  $taches Tableau des tâches et leur périodicité en seconde
     19 * @param  array $taches Tableau des tâches et leur périodicité en seconde
     20 *
    2021 * @return array         Tableau des tâches et leur périodicité en seconde
    2122 */
    22 function rss_commits_taches_generales_cron($taches)
    23 {
    24     $import_auto = lire_config('rss_commits/import_auto', 'non');
    25     if ($import_auto == 'oui') {
    26         $taches['import_commits'] = 1*3600; // toutes les heures
    27     }
    28     return $taches;
     23function rss_commits_taches_generales_cron($taches) {
     24        $import_auto = lire_config('rss_commits/import_auto', 'non');
     25        if ($import_auto == 'oui') {
     26                $taches['import_commits'] = 1 * 3600; // toutes les heures
     27        }
     28
     29        return $taches;
    2930}
    3031
     
    3435 *
    3536 * @pipeline affiche_enfants
     37 *
    3638 * @param  array $flux Données du pipeline
     39 *
    3740 * @return array       Données du pipeline
    3841 */
    39 function rss_commits_affiche_enfants($flux)
    40 {
    41     $e = trouver_objet_exec($flux['args']['exec']);
    42     $lister_objets = charger_fonction('lister_objets', 'inc');
    43 
    44     // commits sur les projets
    45     if (!$e['edition'] and in_array($e['type'], array('projet'))) {
    46         $id_projet = $flux['args']['id_projet'];
    47         $flux['data'] .= $lister_objets(
    48             'commits',
    49             array(
    50                 'sinon'=>_T('commit:aucun_commit_projet'),
    51                 'id_projet'=>$id_projet,
    52                 'par'=>'date_creation'
    53             )
    54         );
    55     }
    56 
    57     return $flux;
     42function rss_commits_affiche_enfants($flux) {
     43        $e = trouver_objet_exec($flux['args']['exec']);
     44        $lister_objets = charger_fonction('lister_objets', 'inc');
     45
     46        // commits sur les projets
     47        if (!$e['edition'] and in_array($e['type'], array('projet'))) {
     48                $id_projet = $flux['args']['id_projet'];
     49                $flux['data'] .= $lister_objets(
     50                        'commits',
     51                        array(
     52                                'sinon' => _T('commit:aucun_commit_projet'),
     53                                'id_projet' => $id_projet,
     54                                'par' => 'date_creation',
     55                        )
     56                );
     57        }
     58
     59        return $flux;
    5860}
    5961
     
    6264 *
    6365 * @pipeline afficher_complement_objet
     66 *
    6467 * @param  array $flux Données du pipeline
     68 *
    6569 * @return array       Données du pipeline
    6670 */
    67 function rss_commits_afficher_complement_objet($flux)
    68 {
    69     $texte = "";
    70     $e = $flux['args'];
    71     $import_auto = lire_config('rss_commits/import_auto', 'non');
    72 
    73     // commits sur les projets
    74     if (in_array($e['type'], array('projet'))
    75         and $import_auto == 'non') {
    76         $id_projet = $e['id'];
    77         $flux['data'] .= recuperer_fond(
    78             'prive/objets/liste/rss_commits',
    79             array(
    80                 'sinon' => _T('commit:aucun_commit_projet'),
    81                 'id_projet'=> $id_projet,
    82                 'force' => false,
    83                 'par' => 'date_creation'
    84             )
    85         );
    86     }
    87 
    88     return $flux;
     71function rss_commits_afficher_complement_objet($flux) {
     72        $texte = "";
     73        $e = $flux['args'];
     74        $import_auto = lire_config('rss_commits/import_auto', 'non');
     75
     76        // commits sur les projets
     77        if (in_array($e['type'], array('projet'))
     78                and $import_auto == 'non'
     79        ) {
     80                $id_projet = $e['id'];
     81                $flux['data'] .= recuperer_fond(
     82                        'prive/objets/liste/rss_commits',
     83                        array(
     84                                'sinon' => _T('commit:aucun_commit_projet'),
     85                                'id_projet' => $id_projet,
     86                                'force' => false,
     87                                'par' => 'date_creation',
     88                        )
     89                );
     90        }
     91
     92        return $flux;
    8993}
    9094
     
    9498 *
    9599 * @param array $flux
     100 *
    96101 * @return array
    97102 */
    98 function rss_commits_affiche_auteurs_interventions($flux)
    99 {
    100     if ($id_auteur = intval($flux['args']['id_auteur'])) {
    101         $auteur = sql_fetsel('email', 'spip_auteurs', 'id_auteur=' . $id_auteur);
    102         $auteur = explode('@', $auteur['email']);
    103         $auteur_commit = $auteur[0];
    104         $flux['data'] .= recuperer_fond(
    105             'prive/objets/liste/commits',
    106             array(
    107                 'par'=>'date_creation',
    108                 'where' => "commits.auteur LIKE '%" . $auteur_commit . "%'"
    109             )
    110         );
    111     }
    112 
    113     return $flux;
     103function rss_commits_affiche_auteurs_interventions($flux) {
     104        if ($id_auteur = intval($flux['args']['id_auteur'])) {
     105                $auteur = sql_fetsel('email', 'spip_auteurs', 'id_auteur=' . $id_auteur);
     106                $auteur = explode('@', $auteur['email']);
     107                $auteur_commit = $auteur[0];
     108                $flux['data'] .= recuperer_fond(
     109                        'prive/objets/liste/commits',
     110                        array(
     111                                'par' => 'date_creation',
     112                                'where' => "commits.auteur LIKE '%" . $auteur_commit . "%'",
     113                        )
     114                );
     115        }
     116
     117        return $flux;
    114118}
    115119
     
    118122 *
    119123 * @param array $flux
     124 *
    120125 * @return array
    121126 */
    122 function rss_commits_boite_infos($flux)
    123 {
    124     // Dans le $flux de la boite infos, on a un array :
    125     // 'data' => contient toutes les données, textes du bloc d'infos
    126     // 'args' => 'type' => le type d'objet
    127     // 'args' => 'id' => l'id de l'objet
    128 
    129     if ($flux['args']['type'] == 'projet'
    130         and $id_projet = $flux['args']['id']) {
    131         $flux['data'] .= recuperer_fond(
    132             'prive/objets/infos/projet_commits',
    133             array(
    134                 'id_projet'=>$id_projet
    135             )
    136         );
    137     }
    138 
    139     return $flux;
     127function rss_commits_boite_infos($flux) {
     128        // Dans le $flux de la boite infos, on a un array :
     129        // 'data' => contient toutes les données, textes du bloc d'infos
     130        // 'args' => 'type' => le type d'objet
     131        // 'args' => 'id' => l'id de l'objet
     132
     133        if ($flux['args']['type'] == 'projet'
     134                and $id_projet = $flux['args']['id']
     135        ) {
     136                $flux['data'] .= recuperer_fond(
     137                        'prive/objets/infos/projet_commits',
     138                        array(
     139                                'id_projet' => $id_projet,
     140                        )
     141                );
     142        }
     143
     144        return $flux;
    140145}
    141146
     
    144149 *
    145150 * @param string $flux
     151 *
    146152 * @return string
    147153 */
    148 function rss_commits_header_prive($flux)
    149 {
    150     $flux .= "\n";
    151     $flux .= '<script type="application/javascript" src="' . _DIR_PLUGIN_RSS_COMMITS . 'js/prive_rss_commits.js"></script>';
    152     $flux .= "\n";
    153 
    154     return $flux;
     154function rss_commits_header_prive($flux) {
     155        $flux .= "\n";
     156        $flux .= '<script type="application/javascript" src="' . _DIR_PLUGIN_RSS_COMMITS . 'js/prive_rss_commits.js"></script>';
     157        $flux .= "\n";
     158
     159        return $flux;
    155160}
    156161
     
    159164 *
    160165 * @param array $flux
     166 *
    161167 * @return array
    162168 */
    163 function rss_commits_afficher_fiche_objet($flux)
    164 {
    165     $import_auto = lire_config('rss_config/import_auto', 'non');
    166     if (in_array($type = $flux['args']['type'], array('projet'))) {
    167         $id = $flux['args']['id'];
    168         $table = table_objet($type);
    169         $id_table_objet = id_table_objet($type);
    170         /**
    171          * On va désactiver le listind des commits par rss… Ça fait ramer la page projet…
    172          * Il faudra trouver une autre solution…
    173          *
    174         if ($import_auto == 'non') {
    175             $flux['data'] .= recuperer_fond(
    176                 'prive/objets/liste/rss_commits',
    177                 array(
    178                     'sinon' => _T('commit:aucun_commit_projet'),
    179                     'id_projet' => $id,
    180                     'force' => false,
    181                     'par' => 'date_creation'
    182                 )
    183             );
    184         }
    185         **/
    186         $flux['data'] .= recuperer_fond(
    187             'prive/objets/liste/commits',
    188             array(
    189                 'sinon' => _T('commit:aucun_commit_projet'),
    190                 'id_projet' => $id,
    191                 'par' => 'date_creation'
    192             )
    193         );
    194     }
    195 
    196     return $flux;
    197 }
    198 ?>
     169function rss_commits_afficher_fiche_objet($flux) {
     170        $import_auto = lire_config('rss_config/import_auto', 'non');
     171        if (in_array($type = $flux['args']['type'], array('projet'))) {
     172                $id = $flux['args']['id'];
     173                $table = table_objet($type);
     174                $id_table_objet = id_table_objet($type);
     175                /**
     176                 * On va désactiver le listind des commits par rss… Ça fait ramer la page projet…
     177                 * Il faudra trouver une autre solution…
     178                 *
     179                 * if ($import_auto == 'non') {
     180                 * $flux['data'] .= recuperer_fond(
     181                 * 'prive/objets/liste/rss_commits',
     182                 * array(
     183                 * 'sinon' => _T('commit:aucun_commit_projet'),
     184                 * 'id_projet' => $id,
     185                 * 'force' => false,
     186                 * 'par' => 'date_creation'
     187                 * )
     188                 * );
     189                 * }
     190                 **/
     191                $flux['data'] .= recuperer_fond(
     192                        'prive/objets/liste/commits',
     193                        array(
     194                                'sinon' => _T('commit:aucun_commit_projet'),
     195                                'id_projet' => $id,
     196                                'par' => 'date_creation',
     197                        )
     198                );
     199        }
     200
     201        return $flux;
     202}
     203
Note: See TracChangeset for help on using the changeset viewer.