Changeset 62566 in spip-zone


Ignore:
Timestamp:
Jun 15, 2012, 10:34:34 AM (7 years ago)
Author:
kent1@…
Message:

On continue à perfectionner en vue de SPIP 3.0

Plus besoin de CFG en SPIP 3.0, le formulaire de configuration est accessible depuis la page des plugins

On passe par le pipeline formulaire_verifier pour vérifier la configuration

Version 0.5.0

Location:
_plugins_/spip_piwik/spip_piwik_2_0
Files:
3 added
1 deleted
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/spip_piwik/spip_piwik_2_0/fonds/cfg_piwik.html

    r38927 r62566  
    88
    99<div class="ajax">
    10 #FORMULAIRE_CONFIG_PIWIK
     10#FORMULAIRE_CONFIGURER_PIWIK
    1111</div>
    1212
  • _plugins_/spip_piwik/spip_piwik_2_0/formulaires/configurer_piwik.html

    r62561 r62566  
    9797                <p class="boutons">
    9898                        <input type="submit" name="_cfg_ok" value="<:bouton_valider:>" class="submit" />
    99                         <input type="submit" name="_cfg_delete" value="<:cfg:bouton_effacer:>" class="submit" />
    10099                </p>
    101100        </div></form>
  • _plugins_/spip_piwik/spip_piwik_2_0/paquet.xml

    r55290 r62566  
    22        prefix="piwik"
    33        categorie="statistique"
    4         version="0.4.6"
     4        version="0.5.0"
    55        etat="stable"
    66        compatibilite="[2.0.8;3.0.99]"
     
    1414
    1515        <auteur>jsb</auteur>
    16         <auteur>[kent1->http://www.kent1.info]</auteur>
     16        <auteur lien="http://www.kent1.info" mail="kent1@arscenic.info">kent1</auteur>
    1717
    1818        <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GNU/GPL</licence>
     
    2222        <pipeline nom="insert_head" inclure="piwik_pipelines.php" />
    2323        <pipeline nom="header_prive" inclure="piwik_pipelines.php" />
     24        <pipeline nom="formulaire_verifier" inclure="piwik_pipelines.php" />
    2425
    25         <necessite nom="cfg" compatibilite="[1.13.0;[" />
    2626        <necessite nom="saisies" compatibilite="[1.1;[" />
    2727</paquet>
  • _plugins_/spip_piwik/spip_piwik_2_0/piwik_pipelines.php

    r52786 r62566  
    8181        return $ret;
    8282}
     83
     84/**
     85 * Insertion dans le pipeline formulaire_verifier (SPIP)
     86 * On vérifie les valeurs des champs fournis
     87 *
     88 * @param array $flux
     89 *              Le contexte du pipeline
     90 * @return array $flux
     91 *              Le contexte du pipeline modifié auquel on a ajouté nos erreurs potentielles
     92 */
     93function piwik_formulaire_verifier($flux){
     94        if($flux['args']['form'] == 'configurer_piwik'){
     95                $obligatoires = array('token','user','urlpiwik');
     96                foreach($obligatoires as $obligatoire){
     97                        if(!_request($obligatoire)){
     98                                $flux['data'][$obligatoire] = _T('info_obligatoire');
     99                        }
     100                }
     101               
     102                $piwik_token = _request('token');
     103                if (!$flux['data']['token'] && !preg_match('/^[a-f0-9]{32}$/i',$piwik_token)) {
     104                        $flux['data']['token'] = _T('piwik:cfg_erreur_token');
     105                        return $flux;
     106                }
     107                $piwik_url = 'http://'._request('urlpiwik').'/';
     108               
     109                $piwik_recuperer_data = charger_fonction('piwik_recuperer_data','inc');
     110               
     111                /**
     112                 * Vérifier la correspondance nom d'utilisateur/ token
     113                 * Qui nous permettra par la suite de définir d'autres choses
     114                 */
     115                $method_verif_user = 'UsersManager.getUser';
     116                $options_user = array('userLogin'=>_request('user'));
     117                $datas_user = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user,'PHP',$options_user);
     118                if(is_array($datas_user = unserialize($datas_user))){
     119                        if(!$flux['data']['user'] && $flux['data']['result'] == 'error'){
     120                                $flux['data']['user'] = _T('piwik:cfg_erreur_user_token');
     121                        }
     122                        /**
     123                         * Vérifier que ce token est un token admin
     124                         * Si non : mettre une meta comme quoi il n'est pas admin pour créer des sites
     125                         */
     126                        $method_verif_user_bis = 'UsersManager.getUsers';
     127                        $datas_user_bis = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method_verif_user_bis,'PHP');
     128                        $datas_user_bis = unserialize($datas_user_bis);
     129                        if(is_array($datas_user_bis) && ($datas_user_bis['result'] == 'error')){
     130                                ecrire_meta('piwik_admin', 'non');
     131                        }else{
     132                                ecrire_meta('piwik_admin', 'oui');
     133                                unset($flux['data']['user']);
     134                        }
     135                }
     136       
     137                /**
     138                 * Récupération de la liste des sites où cet utilisateur
     139                 * a les droits d'admin
     140                 */
     141                $method = 'SitesManager.getSitesWithAdminAccess';
     142                $datas = $piwik_recuperer_data($piwik_url,$piwik_token,'',$method,'PHP');
     143                if(!$flux['data']['urlpiwik'] && !is_array(unserialize($datas))){
     144                        $flux['data']['urlpiwik'] = _T('piwik:cfg_erreur_recuperation_data');
     145                }else{
     146                        ecrire_meta('piwik_sites_dispo', $datas);       
     147                }
     148        }
     149        return $flux;
     150}
    83151?>
  • _plugins_/spip_piwik/spip_piwik_2_0/plugin.xml

    r62563 r62566  
    33        <slogan>Interfacer Spip et Piwik</slogan>
    44        <auteur>jsb, kent1</auteur>
    5         <version>0.4.6</version>
     5        <version>0.5.0</version>
    66        <licence>GNU/GPL</licence>
    77        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.