Changeset 11462


Ignore:
Timestamp:
06/21/11 13:54:46 (8 years ago)
Author:
cljosse
Message:

[extensions] set_plugins save/restore list to file

Location:
extensions/set_plugins
Files:
4 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/set_plugins/include/affiche.php

    r11385 r11462  
    99global $nb,$liste,$state,$list_visible,$add_plugins; 
    1010if (isset($conf['set_plugins'])) $set_plugins_parametres =  unserialize($conf['set_plugins']); 
    11   $nb=set_plugins_controler::set_var('nb','10'); 
    12   $liste = set_plugins_controler::set_var('list',array());  
    13   $state=set_plugins_controler::set_var('state',"active");  
    14   $list_visible=set_plugins_controler::set_var('list_visible',"on,on,on,on");  
    15   $add_plugins=set_plugins_controler::set_var('add_plugins',"");  
     11  $nb=set_plugins::set_var('nb','10'); 
     12 
     13  $liste = set_plugins::set_var('list',array());  
     14   if (isset($liste[0]) && is_array($liste[0])) 
     15            $liste = array(); 
     16   $liste= array_unique($liste); 
     17 
     18  $state=set_plugins::set_var('state',"active");  
     19  $list_visible=set_plugins::set_var('list_visible',"on,on,on,on");  
     20  $add_plugins=set_plugins::set_var('add_plugins',"");  
    1621   
    1722global $set; 
     23 
    1824if ( isset($_POST)) { 
    1925      $set="true"; 
     
    2228} 
    2329 
    24 if(isset($_POST)) 
     30$dir=realpath('./local/plugins/set_plugins'); 
     31 if (!is_dir($dir)){     
     32    $dir= realpath('./local/plugins'). "\\set_plugins"; 
     33    $umask = umask(0); 
     34    $mkd = @mkdir($dir, 0755, true ); 
     35    umask($umask); 
     36    if ($mkd==false){ 
     37      fatal_error( "$dir ".l10n('no write access'));        
     38    }  
     39    $file = $dir.'\\.htaccess'; 
     40    @file_put_contents( $file, 'allow from all' ); 
     41 }    
     42$dir=realpath('./local/plugins/set_plugins'); 
     43if(!isset($edited_file) || $edited_file=="")  
     44 $edited_file=$dir."/config.txt"; 
     45 $edited_file=str_replace("\\","/", $edited_file); 
     46 
     47 if (isset($_POST['submit']) && $_POST['submit']==l10n('save_file')){ 
     48    if (file_exists($edited_file)){ 
     49        copy($edited_file, substr_replace($edited_file, '.bak', strrpos($edited_file , '.'), 0) ); 
     50        
     51    
     52      } 
     53     if ($file = @fopen($edited_file , "w")) { 
     54          $liste= array_unique($liste); 
     55          @fwrite($file , serialize($liste)); 
     56          @fclose($file); 
     57          $infos_message.=l10n("save config").set_plugins::memo_var($liste); 
     58          $infos_message.=set_plugins::memo_var($liste); 
     59          $infos_message.=set_plugins::memo_var($_POST); 
     60          unset($_POST['submit']); 
     61      } 
     62 
     63 } 
     64 
     65///================================================================   
     66if (isset($_POST['restore'])){  
     67  $content_file = file_get_contents(substr_replace($edited_file, '.bak', strrpos($edited_file , '.'), 0)); 
     68  $file =array(); 
     69  $liste= array_unique(unserialize($content_file)); 
     70  unset($_POST['restore']); 
     71} 
     72 
    2573 
    2674if(isset($_POST['add_plugins']) && $add_plugins!="" ){  
     
    3785 
    3886if ( $set=="true"){     
    39     set_plugins_controler::save_config(); 
     87    set_plugins::save_config(); 
    4088    unset($_POST['list_visible']); 
    4189    unset($_POST['nb']); 
    4290 } 
     91  
     92  
     93                 
     94  $plugins = new plugins(); 
     95  $plugins->sort_fs_plugins('name'); 
     96  //$plugins->get_incompatible_plugins(); 
     97  $redirect_url = get_root_url().'admin.php?page='.$_GET['page']; 
     98  $base_url = get_root_url().'admin.php?page='.$page['page']; 
     99  $action_url = $base_url.'&plugin='.'%s'.'&pwg_token='.get_pwg_token(); 
     100 //======================================================= 
    43101 
    44   $template->assign( array(    
     102 if($liste)  $liste_plugins = array_combine($liste,$liste); 
     103 else $liste_plugins =array(); 
     104//========================================================== 
     105$plugin_ids = array_intersect(array_keys($plugins->db_plugins_by_id), 
     106  array_keys($liste_plugins)   
     107  ); 
     108$liste_tpl=array(); 
     109foreach($plugins->fs_plugins as $plugin_id => $fs_plugin) {    
     110//==== test si $plugin_id fait partie de $liste_plugins ==============   
     111    $key = array_search($plugin_id, $liste_plugins,false);  
     112    if ($key!== false){ 
     113    if(isset( $plugins->db_plugins_by_id[$plugin_id])){ 
     114      $tpl_plugin = array( 
     115        'NAME' => $fs_plugin['name'], 
     116        'U_ACTION' => sprintf($action_url, $plugin_id),         
     117        'STATE' => $plugins->db_plugins_by_id[$plugin_id]['state'] 
     118      ); 
     119      $liste_tpl[$plugin_id]=  $tpl_plugin ;    
     120      }  
     121       
     122  } 
     123   
     124}            
     125$template->assign( array(  'liste_plugins' => $liste_tpl));        
     126 
     127 $template->assign( array(   'PHPWG_VERSION' =>  PHPWG_VERSION , 
    45128                    'cl_plugins' => $cl_set_plugins_plugin , 
    46129                    'cl_version' => $cl_set_plugins_plugin['version'] , 
     
    48131                    'Version_pwg' => PHPWG_VERSION, 
    49132                    'SET_PLUGINS_PATH' => SET_PLUGINS_PATH, 
     133                    'SET_PLUGINS_PATH_ABS' => SET_PLUGINS_PATH_ABS, 
    50134                    'set' => $set , 
    51                     'nb' => $nb, 
     135                    'nb' => ($nb>0)?$nb:1, 
    52136                    'state' => $state , 
    53137                    'list_visible' => $list_visible, 
    54138                    'add_plugins' => $add_plugins, 
    55139                    'nb_list' => count($liste), 
    56                     //'action' => '' 
     140                    'nb_plugins' => count($plugins->db_plugins_by_id) , 
     141                    'restore' => false , 
     142                    'edited_file' => $edited_file 
    57143                                                                                        ) 
    58                                                                         );                
    59                    
    60   $plugins = new plugins(); 
    61   $plugins->sort_fs_plugins('name'); 
    62   $plugins->get_incompatible_plugins(); 
    63   $redirect_url = get_root_url().'admin.php?page='.$_GET['page']; 
    64   $base_url = get_root_url().'admin.php?page='.$page['page']; 
    65   $action_url = $base_url.'&plugin='.'%s'.'&pwg_token='.get_pwg_token(); 
    66  //======================================================= 
    67   $liste_plugins = array(); 
    68   foreach($liste as $liste_id => $liste_plugin) {  
    69   $liste_plugins[]=    $liste_plugin; 
    70  
    71   } 
    72 //========================================================== 
    73 $liste_tpl=array(); 
    74 foreach($plugins->fs_plugins as $plugin_id => $fs_plugin) {    
    75 //==== test si $plugin_id fait partie de $liste_plugins ==============   
    76     $key = array_search($plugin_id, $liste_plugins,false);  
    77     if ($key!== false){ 
    78       $tpl_plugin = array( 
    79         'NAME' => $fs_plugin['name'], 
    80         'U_ACTION' => sprintf($action_url, $plugin_id),         
    81         'STATE' => $plugins->db_plugins_by_id[$plugin_id]['state'] 
    82       ); 
    83       $liste_tpl[]=  $tpl_plugin ; 
    84   } 
    85 }            
    86 $template->assign( array(  'liste_plugins' => $liste_tpl));           
    87   
     144                                                                        );                   
     145                     
    88146 
    89147?> 
  • extensions/set_plugins/js/field_set.js

    r11385 r11462  
    33 // jQuery("#form_set_plugins").submit(); 
    44} 
     5 
     6 
     7jQuery().ready(function () { 
     8  jQuery('.cluetip').tipTip({  maxWidth:'600px' ,'delay': 0, 'fadeIn': 200, 'fadeOut': 200 });   
     9  jQuery('.cluetip0').cluetip({  
     10    width: 300, 
     11    splitTitle: '|'    , 
     12    clickThrough: true 
     13  }); 
     14 
     15 
     16 
     17 
     18}); 
     19 
     20 
    521 
    622 
     
    3450      liste = liste_visible.split(reg); 
    3551      reg = new RegExp("['off']", "g"); 
     52      h_min = jQuery("fieldset legend").height(); 
     53      h_min = 0; 
    3654      jQuery("fieldset").each( 
    3755        function (i) { 
     
    4866            liste[i] = "off"; 
    4967 
    50             h_min = jQuery("#" + this.id + ' legend').height(); 
     68 
    5169            jQuery(this).height(h_min + 0); 
    5270 
     
    129147    } // fielset 
    130148    //==================================================================== 
     149 
     150    jQuery("input").each( 
     151        function (i) { 
     152          jQuery(this).click(function (event) { 
     153            jQuery(this).css("color", "red"); 
     154            jQuery('#set').val("true"); 
     155            jQuery.ajax({ 
     156              type: "POST", 
     157              async: true, 
     158              data: { 
     159                set: "true" 
     160              } 
     161           , 
     162              success: function (data) { 
     163                //  jQuery("#form_set_plugins").submit(); 
     164 
     165              } 
     166            }); 
     167          }); // click 
     168 
     169        }); //each 
    131170    jQuery(".pluginBox a").click(function (event) { 
    132171      var link = event.target.href; 
     
    142181          async: true, 
    143182          data: { add_plugins: query.plugin, 
    144            set: "true", 
    145            list_visible: val 
    146             } 
     183            set: "true", 
     184            list_visible: val 
     185          } 
    147186           , 
    148187          success: function (data) { 
    149           //  jQuery("#form_set_plugins").submit(); 
     188            //  jQuery("#form_set_plugins").submit(); 
    150189 
    151190          } 
     
    157196 
    158197  }); // load 
    159 });                                                               //ready            
     198});                                                                //ready            
    160199            
  • extensions/set_plugins/language/fr_FR/plugin.lang.php

    r11100 r11462  
    11<?php 
     2 
    23$lang['set_plugins']="active / déactive les plugins"; 
    34$lang['command']="commande"; 
    45 
    56$lang['Last ']="Derniers"; 
     7$lang['s_pl_title']="Gestion"; 
     8$lang['s_pl_action']="Gère la liste des extensions mémorisées"; 
     9  
     10$lang['s_pl_action1']="Nombre d'extensions mémorisées"; 
     11  
     12$lang['s_pl_action2']="Nombre d'extensions installées"; 
     13  
     14$lang['s_pl_action3']="Total des extensions"; 
     15$lang['s_pl_action4']="Déactive n extensions"  ; 
     16$lang['s_pl_action5']="Active n extensions"  ; 
     17 
     18$lang['s_pl_action6']="Nombre d'extensions à modifier."; 
     19$lang['s_pl_action7']="Mémorisation des extensions actives"; 
     20$lang['s_pl_action8']="Sauvegarde de la liste des extensions installées"; 
     21$lang['s_pl_action9']="Restitue la liste des extensions mémorisées"; 
     22 
     23$lang['store']="Mémorisation"; 
     24 
     25$lang['restore'] = 'Charger le fichier de sauvegarde'; 
     26$lang['save_file'] = 'Enregistrer le fichier'; 
     27$lang['restore_confirm'] = 'Souhaitez-vous charger le fichier sauvegardé?'; 
     28 
    629?> 
  • extensions/set_plugins/main.inc.php

    r11385 r11462  
    1313// Define the path to our plugin. 
    1414define('SET_PLUGINS_PATH', PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
     15 
     16//$SET_PLUGINS_PATH_ABS = str_replace('\\','/',dirname(__FILE__) ); 
     17if (!defined('SET_PLUGINS_PATH_ABS'))  
     18define( 
     19  'SET_PLUGINS_PATH_ABS',   realpath(SET_PLUGINS_PATH)."\\" 
     20); 
     21 
    1522load_language('plugin.lang', SET_PLUGINS_PATH); 
    1623// Hook on to an event to show the administration page. 
     
    2027 
    2128include_once(SET_PLUGINS_PATH.'set_plugins_class.php');   
    22 $set_plugins_controler = new set_plugins_controler();      
     29$set_plugins = new set_plugins();      
    2330     $infos_message = ""; 
    2431     $erreur_message = ""; 
    2532     $infos_warning = ""; 
    2633// Add an entry to the 'Plugins' menu. 
    27 add_event_handler('get_admin_plugin_menu_links', array(&$set_plugins_controler,'set_plugins_admin_menu')  ); 
    28 add_event_handler('loc_end_admin', array(&$set_plugins_controler,'cl_affiche_messages_admin')); 
    29 add_event_handler('loc_end_page_header',array(&$set_plugins_controler,'set_plugins_add'));  
     34add_event_handler('get_admin_plugin_menu_links', array(&$set_plugins,'set_plugins_admin_menu')  ); 
     35add_event_handler('loc_end_admin', array(&$set_plugins,'cl_affiche_messages_admin')); 
     36add_event_handler('loc_end_page_header',array(&$set_plugins,'set_plugins_add'));  
    3037 
    3138 //======================================================= 
  • extensions/set_plugins/maintain.inc.php

    r11093 r11462  
    3030   if ( !isset($conf['set_plugins']) ){ 
    3131    plugin_uninstall() ; 
    32        $my_para['nb']="5"; 
    33     $my_para['list']=array(); 
    34     $my_para['state']="---"; 
     32 
     33    include_once(SET_PLUGINS_PATH.'set_plugins_class.php');   
     34$set_plugins = new set_plugins();    
     35 
     36$nb=set_plugins::set_var('nb','10'); 
     37$liste = set_plugins::set_var('list',array());  
     38$state=set_plugins::set_var('state',"active");  
     39$list_visible=set_plugins::set_var('list_visible',"on,on,on,on");  
     40$add_plugins=set_plugins::set_var('add_plugins',"");  
     41set_plugins::save_config(); 
    3542  
    36     $set_plugins_values=  pwg_db_real_escape_string(serialize($my_para)); 
    37  //   conf_update_param('set_plugins', pwg_db_real_escape_string(serialize($config))); 
    38  
    39     $query = 'INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
    40     VALUES ("set_plugins", "'.$set_plugins_values.'" ,"Parametres du plugin set_plugins");'; 
    41     pwg_query($query); 
    4243  } 
    4344} 
  • extensions/set_plugins/set_plugins_class.php

    r11386 r11462  
    11<?php 
    22/***************************************************************************/ 
    3 class set_plugins_controler  { 
     3class set_plugins  { 
    44  //============================================================================= 
    55  function set_plugins_admin_menu($menu) { 
     
    2323              case 'plugins_list': 
    2424              if(!isset($template)) return ; 
    25                 set_plugins_controler::Affiche_set_plugins(); 
     25                set_plugins::Affiche_set_plugins(); 
    2626              break; 
    2727          case 'plugins': 
    2828            if (!isset($page['tab'])) return; 
    2929            if ($page['tab']!="installed") return ; 
    30               set_plugins_controler::Affiche_set_plugins(); 
     30              set_plugins::Affiche_set_plugins(); 
    3131              break; 
    3232            } 
     
    3434  } 
    3535//============================================================================ 
    36   function cl_affiche_messages_admin() 
    37   { 
     36  function cl_affiche_messages_admin(){ 
    3837    global $template,$page, $template, $pwg_loaded_plugins,$infos_message,$erreur_message,$infos_warning; 
     38    
    3939    if ( (isset($_GET['page']) AND $_GET['page'] == 'plugins_list') ) { 
     40    if (!isset($page['infos'])) $page['infos']=array(); 
    4041        if  ($infos_message != "")  { 
    4142            array_push($page['infos'],  $infos_message); 
    4243            $infos_message=""; 
    43         } 
     44       
     45        }         
     46        if (count($page['infos']) != 0){ 
     47          $template->assign('infos', $page['infos']); 
     48        } 
     49        if (!isset($page['errors'])) $page['errors']=array(); 
    4450        if  ($erreur_message != "")  { 
    4551            array_push($page['errors'], $erreur_message); 
    4652            $erreur_message=""; 
    47         } 
     53        }         
     54        if (count($page['errors']) != 0){ 
     55          $template->assign('errors', $page['errors']); 
     56        } 
     57 
     58        if (!isset($page['warnings'])) $page['warnings']=array(); 
    4859        if  ($infos_warning!= "")  { 
    4960            array_push($page['warnings'], $infos_warning); 
    5061            $infos_warning= ""; 
    51         } 
    52         if (count($page['errors']) != 0){ 
    53           $template->assign('errors', $page['errors']); 
    54         } 
    55         if (count($page['infos']) != 0){ 
    56           $template->assign('infos', $page['infos']); 
    57         } 
     62        }        
    5863        if (count($page['warnings']) != 0){ 
    5964          $template->assign('warnings', $page['warnings']); 
     
    8489                  'nb' =>$nb 
    8590              ); 
    86         // $infos_warning .="save_config" . set_plugins_controler::memo_var($conf['set_plugins'] ); 
     91        // $infos_warning .="save_config" . set_plugins::memo_var($conf['set_plugins'] ); 
    8792         $conf['set_plugins']= (serialize($config)); 
    8893         conf_update_param('set_plugins', $conf['set_plugins']); 
    89  
     94        
    9095 
    9196      } 
     
    101106  } 
    102107  //=================================================================== 
    103    function Affiche_set_plugins(){ 
     108function Affiche_set_plugins(){ 
    104109  include_once(SET_PLUGINS_PATH."include/constants.php"); 
    105110  include(SET_PLUGINS_PATH.'include/affiche.php'); 
     
    165170      } 
    166171      $nb=count($liste_plugins); 
    167     } 
     172 
     173    }  
     174     
     175 
     176 
    168177   if(isset($result) && $result==true){ 
    169178      $redirect_url = get_root_url().'admin.php?page='.$_GET['page']; 
    170179      //$infos_message .="-----> Mise à jour : " . $nb."<br />"; 
    171       //$infos_message .="Liste Avant: " . set_plugins_controler::memo_var($liste); 
    172       set_plugins_controler::save_config(); 
     180      //$infos_message .="Liste Avant: " . set_plugins::memo_var($liste); 
     181      set_plugins::save_config(); 
    173182 
    174183      $_POST['set']=""; 
     
    183192  } 
    184193  $template->set_filenames( 
    185     array(    'cl_plugin' => dirname(__FILE__).'/admin.tpl'  ) 
     194    array(    'cl_plugin' => SET_PLUGINS_PATH_ABS.'template/admin.tpl'  ) 
    186195  ); 
    187  
     196    
     197    
    188198  //=========================================================== 
    189199  $header_1='<div id="titrePage"> 
     
    191201  </div>'; 
    192202  $bpplus=$header_1.$template->parse('cl_plugin', true); 
     203     
    193204  $template-> assign('ADMIN_CONTENT',$bpplus); 
    194205  $bpplus=$template->parse('plugins', true); 
Note: See TracChangeset for help on using the changeset viewer.