Changeset 99379 in spip-zone for _plugins_/elearning


Ignore:
Timestamp:
Sep 4, 2016, 8:50:23 PM (3 years ago)
Author:
rastapopoulos@…
Message:

Formattage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/elearning/trunk/inc/elearning_zones.php

    r99366 r99379  
    1818// Met à jour les accès restreint lorsque l'on modifie la configuration CFG du plugin E-Learning
    1919function elearning_mettre_a_jour_les_zones($id_nouvelle_rubrique){
    20 
    2120        $id_nouvelle_rubrique = intval($id_nouvelle_rubrique);
    2221        $id_zone = elearning_verifier_la_zone();
     
    2524        // ou si la nouvelle rubrique est différente de celle de la config
    2625        // alors il faut nettoyer
    27         if (!elearning_verifier_le_lien($id_nouvelle_rubrique, $id_zone)
    28         or $id_nouvelle_rubrique != intval(lire_config('elearning/rubrique_elearning')))
     26        if (
     27                !elearning_verifier_le_lien($id_nouvelle_rubrique, $id_zone)
     28                or $id_nouvelle_rubrique != intval(lire_config('elearning/rubrique_elearning'))
     29        ) {
    2930                elearning_nettoyer_les_zones_modules();
     31        }
    3032       
    3133        // On peut maintenant définir la nouvelle rubrique comme celle du e-learning
     
    3335       
    3436        return _T('elearning:configuration_ok');
    35 
    3637}
    3738
     
    3940// Vérifie qu'il y a une zone dédiée au e-learning et la crée si nécessaire
    4041// Retourne l'id_zone
    41 function elearning_verifier_la_zone(){
    42 
     42function elearning_verifier_la_zone() {
    4343        find_in_path('abstract_sql.php', 'base/', true);
    4444       
     
    4747       
    4848        // Si oui, on vérifie qu'elle existe toujours
    49         if ($id_zone)
     49        if ($id_zone) {
    5050                $id_zone = intval(sql_getfetsel(
    5151                        'id_zone',
     
    5353                        'id_zone = '.$id_zone
    5454                ));
     55        }
    5556       
    5657        // Si elle n'existe pas, on la crée
    5758        if (!$id_zone){
    58        
    5959                $id_zone = sql_insertq(
    6060                        'spip_zones',
     
    6767                );
    6868                ecrire_config('elearning/zone_elearning',$id_zone);
    69        
    7069        }
    7170       
    7271        return $id_zone;
    73 
    7472}
    7573
     
    7876// dont on considère qu'elle ne doit contenir qu'une rubrique
    7977// Retourne si vrai ou pas
    80 function elearning_verifier_le_lien($id_nouvelle_rubrique, $id_zone){
    81 
     78function elearning_verifier_le_lien($id_nouvelle_rubrique, $id_zone) {
    8279        find_in_path('abstract_sql.php', 'base/', true);
    8380       
     
    9188        ));
    9289       
    93         if (!$id_rubrique_test or $id_rubrique_test != $id_nouvelle_rubrique)
     90        if (!$id_rubrique_test or $id_rubrique_test != $id_nouvelle_rubrique) {
    9491                return false;
    95         else
     92        }
     93        else {
    9694                return true;
    97 
     95        }
    9896}
    9997
     
    103101// - crée une zone pour chaque sous-rubrique c-à-d chaque module
    104102// - lie chaque module à sa zone
    105 function elearning_definir_la_rubrique_elearning($id_rubrique){
    106 
     103function elearning_definir_la_rubrique_elearning($id_rubrique) {
    107104        // On vérifie le paramètre
    108         if (!$id_rubrique or $id_rubrique <= 0)
     105        if (!$id_rubrique or $id_rubrique <= 0) {
    109106                return false;
     107        }
    110108       
    111109        find_in_path('abstract_sql.php', 'base/', true);
     
    134132        // On crée une zone pour chaque module et on les lie ensemble
    135133        while ($module = sql_fetch($modules)){
    136 
    137134                // Création de la zone
    138135                $id_zone_module = sql_insertq(
     
    157154                // Enregistrement de la zone dans la config de la rubrique, pour accès rapide
    158155                ecrire_config('tablepack::rubrique@extra:'.intval($module['id_rubrique']).'/elearning/zone',$id_zone_module);
    159 
    160156        }
    161157       
    162158        return true;
    163 
    164159}
    165160
    166161
    167162// Nettoie les zones de modules créées automatiquement par le plugin, ainsi que tous les liens qui vont avec
    168 function elearning_nettoyer_les_zones_modules(){
    169 
     163function elearning_nettoyer_les_zones_modules() {
    170164        find_in_path('abstract_sql.php', 'base/', true);
    171165       
     
    194188        // Seulement s'il y a bien des modules
    195189        if (count($modules) > 0){
    196        
    197190                // On récupère toutes les zones afférentes
    198191                $zones_modules = sql_allfetsel(
     
    205198                // Seulement s'il y a des zones
    206199                if (count($zones_modules) > 0){
    207                
    208200                        // On supprime toutes ces zones
    209201                        sql_delete(
     
    223215                                'id_zone IN ('.join(', ', $zones_modules).')'
    224216                        );*/
    225                
    226217                }
    227        
    228         }
    229 
     218        }
    230219}
    231220
     
    234223function elearning_liste_zones_autorisees($zones='', $id_auteur=NULL) {
    235224        $id = NULL;
    236         if (!is_null($id_auteur))
     225        if (!is_null($id_auteur)) {
    237226                $id = $id_auteur;
     227        }
    238228       
    239229        $new = elearning_liste_zones_autorisees_auteur($id);
     
    251241
    252242// Renvoie un tableau listant les zones de module autorisées pour un auteur
    253 function elearning_liste_zones_autorisees_auteur($id_auteur=null){
    254 
     243function elearning_liste_zones_autorisees_auteur($id_auteur=null) {
    255244        // On va remplir petit à petit ce tableau
    256245        $zones_modules = array();
     
    285274        // Si la personne est au moins rédacteur elle accède à tous les modules
    286275        if ($auteur['statut'] <= '1comite'){
    287        
    288276                // On récupère les zones de chaque modules
    289277                foreach ($modules as $module){
    290        
    291278                        $module = intval($module);
    292279                        $zones_modules[] = intval(lire_config('tablepack::rubrique@extra:'.$module.'/elearning/zone'));
    293        
    294280                }
    295        
    296281        }
    297282        // Sinon on teste les résultats des jeux associés aux rubriques
    298283        else{
    299        
    300284                foreach ($modules as $module){
    301                
    302285                        $module = intval($module);
    303286                        $jeu = intval(lire_config('tablepack::rubrique@extra:'.$module.'/elearning/jeu'));
     
    308291                                $zones_modules[] = intval(lire_config('tablepack::rubrique@extra:'.$module.'/elearning/zone'));
    309292                        else{
    310                        
    311293                                // On récupère le dernier résultat de jeu de la personne
    312294                                $resultat = sql_fetsel(
     
    333315                       
    334316                        }
    335                
    336317                }
    337        
    338318        }
    339319       
    340320        return $zones_modules;
    341 
    342 }
     321}
Note: See TracChangeset for help on using the changeset viewer.