Ignore:
Timestamp:
Jun 22, 2011, 3:51:47 PM (13 years ago)
Author:
cljosse
Message:

[extensions] set_plugins fix bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/set_plugins/set_plugins_class.php

    r11462 r11484  
    1414  }
    1515  //============================================================================
     16  function begin_admin() {
     17  global $erreur_message,$liste_des_plugins,$liste_active_plugins,$page; 
     18      //========= Liste des plugins actifs =================
     19     
     20
     21if (!isset($page['body_id'])) return;
     22if($page['body_id']!='theAdminPage' ) return ;
     23if($page['page']=='plugins_list' || $page['page']=='plugins'){
     24         
     25         
     26
     27      $plugins = new plugins();
     28      $plugins->sort_fs_plugins('name');
     29      $liste_des_plugins = array();
     30  foreach ($plugins->fs_plugins as $plugin_id => $fs_plugin){
     31      if(isset( $plugins->db_plugins_by_id[$plugin_id])){
     32        $State_id=$plugins->db_plugins_by_id[$plugin_id]['state'] ;
     33        if($State_id=="active" && $plugin_id!="set_plugins")
     34          array_push($liste_des_plugins,$plugin_id);
     35     }     
     36  }
     37
     38if (isset($_GET['liste_des_plugins'])){ 
     39 array_push($liste_des_plugins,$_GET);
     40    echo json_encode($liste_des_plugins);
     41   exit;
     42}
     43$liste_active_plugins=$liste_des_plugins;
     44   }
     45  }
     46  //============================================================================
    1647  function set_plugins_add() {
    17     global $user, $template, $val,$page,$conf;
     48    global $user, $template, $val,$page,$conf,$erreur_message,$infos_message;
     49    global $liste_des_plugins,$liste_active_plugins;
    1850    if (!isset($page['body_id'])) return;
    19     if (!isset($page['body_id'])) return;
     51
    2052    switch($page['body_id']){
    2153        case  'theAdminPage':
    2254        switch($page['page']){
    23               case 'plugins_list':
     55           case 'plugins_list':
    2456              if(!isset($template)) return ;
    2557                set_plugins::Affiche_set_plugins();
     
    3466  }
    3567//============================================================================
    36   function cl_affiche_messages_admin(){
     68  function messages_admin(){
    3769    global $template,$page, $template, $pwg_loaded_plugins,$infos_message,$erreur_message,$infos_warning;
    3870   
     
    86118                  'list_visible' => $list_visible,
    87119                  'state' => $state,
    88                   'list'=>$liste,
     120                  'liste'=>$liste,
    89121                  'nb' =>$nb
    90122              );
     
    107139  //===================================================================
    108140function Affiche_set_plugins(){
     141global $infos_message,$liste_des_plugins,$erreur_message ;
     142
    109143  include_once(SET_PLUGINS_PATH."include/constants.php");
    110   include(SET_PLUGINS_PATH.'include/affiche.php');
    111   $all_tpl_vars = $template->get_template_vars('plugins');
     144   include(SET_PLUGINS_PATH.'include/affiche.php');
     145   $all_tpl_vars = $template->get_template_vars('plugins');
    112146  if(!$all_tpl_vars)  return;
    113   if( $set=="true" ){
     147
     148  if( $set=="true" ){     
    114149    $state="";
    115150    if(isset($_POST['unset_plugins'])  )
     
    122157      else
    123158          $sens="ASC";
     159            $infos_message .="-----> $state $sens<br />";
    124160      //============================
    125161      $query = 'SELECT *
     
    172208
    173209    }
    174    
    175 
    176 
    177210   if(isset($result) && $result==true){
    178       $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];
    179       //$infos_message .="-----> Mise à jour : " . $nb."<br />";
    180       //$infos_message .="Liste Avant: " . set_plugins::memo_var($liste);
     211      $redirect_url = get_root_url().'admin.php?page='.$_GET['page'];   
    181212      set_plugins::save_config();
    182 
    183213      $_POST['set']="";
    184214      $set="";
    185215      include(SET_PLUGINS_PATH.'include/affiche.php');
    186 
    187216     // redirect($redirect_url);
    188217    }
    189       //
    190 
    191 
     218     
    192219  }
    193220  $template->set_filenames(
    194221    array(    'cl_plugin' => SET_PLUGINS_PATH_ABS.'template/admin.tpl'  )
    195222  );
    196    
    197    
     223
    198224  //===========================================================
    199225  $header_1='<div id="titrePage">
     
    208234}
    209235
     236//========================================
     237function save_to_file($liste){
     238global $infos_message;
     239$edited_file=set_plugins::get_file_name();
     240  if (file_exists($edited_file)){
     241        copy($edited_file, substr_replace($edited_file, '.bak', strrpos($edited_file , '.'), 0) );
     242   }
     243     if ($file = @fopen($edited_file , "w")) {
     244          $liste= array_unique($liste);
     245          @fwrite($file , serialize($liste));
     246          @fclose($file);
     247          $infos_message.=l10n("save config").set_plugins::memo_var($edited_file);         
     248          unset($_POST['submit']);
     249      }
     250}
     251//==============================================
     252function restore_from_file(){
     253  global $infos_message;
     254  $edited_file=set_plugins::get_file_name();
     255  $content_file = file_get_contents($edited_file);
     256  $file =array();
     257  $liste= array_unique(unserialize($content_file));
     258  unset($_POST['restore']);
     259}
     260//===============================================
     261function get_file_name(){
     262global  $edited_file;
     263  $dir=realpath('./local/plugins/set_plugins');
     264  if (!is_dir($dir)){   
     265    $dir= realpath('./local/plugins'). "\\set_plugins";
     266    $umask = umask(0);
     267    $mkd = @mkdir($dir, 0755, true );
     268    umask($umask);
     269    if ($mkd==false){
     270      fatal_error( "$dir ".l10n('no write access'));       
     271    }
     272    $file = $dir.'\\.htaccess';
     273    @file_put_contents( $file, 'allow from all' );
     274  }   
     275  $dir=realpath('./local/plugins/set_plugins');
     276  if(!isset($edited_file) || $edited_file=="")
     277  $edited_file=$dir."/config.txt";
     278  $edited_file=str_replace("\\","/", $edited_file);
     279  return $edited_file ;
     280}
     281
    210282
    211283}// fin classe
Note: See TracChangeset for help on using the changeset viewer.