Ignore:
Timestamp:
Jun 9, 2014, 7:20:43 PM (10 years ago)
Author:
mistic100
Message:

feature 3076: Enhance plugin update system

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/include/plugins.class.php

    r28169 r28651  
    5656    }
    5757  }
     58  function update($old_version, $new_version, &$errors=array()) {}
    5859}
    5960
     
    8687  private static function build_maintain_class($plugin_id)
    8788  {
    88     $file_to_include = PHPWG_PLUGINS_PATH . $plugin_id . '/maintain.inc.php';
     89    $file_to_include = PHPWG_PLUGINS_PATH . $plugin_id . '/maintain';
    8990    $classname = $plugin_id.'_maintain';
    9091
    91     if (file_exists($file_to_include))
    92     {
    93       include_once($file_to_include);
     92    if (file_exists($file_to_include.'.class.php'))
     93    {
     94      include_once($file_to_include.'.class.php');
     95      return new $classname($plugin_id);
     96    }
     97
     98    if (file_exists($file_to_include.'.inc.php'))
     99    {
     100      include_once($file_to_include.'.inc.php');
    94101
    95102      if (class_exists($classname))
    96103      {
    97         $plugin_maintain = new $classname($plugin_id);
    98       }
    99       else
    100       {
    101         $plugin_maintain = new DummyPlugin_maintain($plugin_id);
    102       }
    103     }
    104     else
    105     {
    106       $plugin_maintain = new DummyPlugin_maintain($plugin_id);
    107     }
    108 
    109     return $plugin_maintain;
     104        return new $classname($plugin_id);
     105      }
     106    }
     107
     108    return new DummyPlugin_maintain($plugin_id);
    110109  }
    111110
     
    122121      $crt_db_plugin = $this->db_plugins_by_id[$plugin_id];
    123122    }
    124    
     123
    125124    $plugin_maintain = self::build_maintain_class($plugin_id);
    126125
     
    188187;';
    189188        pwg_query($query);
    190        
     189
    191190        $plugin_maintain->deactivate();
    192191        break;
     
    207206;';
    208207        pwg_query($query);
    209        
     208
    210209        $plugin_maintain->uninstall();
    211210        break;
     
    236235  /**
    237236   * Get plugins defined in the plugin directory
    238    */ 
     237   */
    239238  function get_fs_plugins()
    240239  {
     
    257256              'author'=>'',
    258257            );
    259           $plg_data = implode( '', file($path.'/main.inc.php') );
     258          $plg_data = file_get_contents($path.'/main.inc.php', null, null, 0, 2048);
    260259
    261260          if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) )
     
    327326  {
    328327    global $conf;
    329    
     328
    330329    $versions_to_check = array();
    331330    $url = PEM_URL . '/api/get_version_list.php?category_id='. $conf['pem_plugins_category'] .'&format=php';
     
    424423      return false;
    425424    }
    426    
     425
    427426    global $conf;
    428427
     
    478477    return false;
    479478  }
    480  
     479
    481480  /**
    482481   * Sort $server_plugins
Note: See TracChangeset for help on using the changeset viewer.