Changeset 11462


Ignore:
Timestamp:
Jun 21, 2011, 1:54:46 PM (13 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.