Changeset 10128


Ignore:
Timestamp:
04/07/11 11:11:11 (9 years ago)
Author:
patdenice
Message:

feature:2250
Add expire parameter.
Clean code.

Location:
trunk
Files:
3 edited

Legend:

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

    r10098 r10128  
    372372  } 
    373373 
    374   function get_incompatible_plugins() 
    375   { 
    376     if (isset($_SESSION['incompatible_plugins'])) 
     374  function get_incompatible_plugins($actualize=false) 
     375  { 
     376    if (isset($_SESSION['incompatible_plugins']) and !$actualize 
     377      and $_SESSION['incompatible_plugins']['~~expire~~'] > time()) 
    377378    { 
    378379      return $_SESSION['incompatible_plugins']; 
    379380    } 
    380381 
    381     $_SESSION['incompatible_plugins'] = array(); 
     382    $_SESSION['incompatible_plugins'] = array('~~expire~~' => time() + 300); 
    382383 
    383384    $versions_to_check = $this->get_versions_to_check(); 
     
    559560  function get_merged_extensions($version=PHPWG_VERSION) 
    560561  { 
    561     if (!isset($_SESSION['merged_extensions'])) 
    562     { 
    563       $_SESSION['merged_extensions'] = array(); 
    564       if (fetchRemote(MERGED_EXTENSIONS_URL, $result)) 
    565       { 
    566         $rows = explode("\n", $result); 
    567         foreach ($rows as $row) 
    568         { 
    569           if (preg_match('/^(\d+\.\d+): *(.*)$/', $row, $match)) 
    570           { 
    571             if (version_compare($version, $match[1], '>=')) 
    572             { 
    573               $extensions = explode(',', trim($match[2])); 
    574               $_SESSION['merged_extensions'] = array_merge($_SESSION['merged_extensions'], $extensions); 
    575             } 
    576           } 
    577         } 
    578       } 
    579     } 
     562    if (isset($_SESSION['merged_extensions']) and $_SESSION['merged_extensions']['~~expire~~'] > time()) 
     563    { 
     564      return $_SESSION['merged_extensions']; 
     565    } 
     566 
     567    $_SESSION['merged_extensions'] = array('~~expire~~' => time() + 600); 
     568 
     569    if (fetchRemote(PHPWG_URL.'/download/merged_extensions.txt', $result)) 
     570    { 
     571      $rows = explode("\n", $result); 
     572      foreach ($rows as $row) 
     573      { 
     574        if (preg_match('/^(\d+\.\d+): *(.*)$/', $row, $match)) 
     575        { 
     576          if (version_compare($version, $match[1], '>=')) 
     577          { 
     578            $extensions = explode(',', trim($match[2])); 
     579            $_SESSION['merged_extensions'] = array_merge($_SESSION['merged_extensions'], $extensions); 
     580          } 
     581        } 
     582      } 
     583    } 
     584 
    580585    return $_SESSION['merged_extensions']; 
    581586  } 
  • trunk/admin/plugins_list.php

    r10101 r10128  
    7878  { 
    7979    // Incompatible plugins must be reinitilized 
    80     unset($_SESSION['incompatible_plugins']); 
    81     $plugins->get_incompatible_plugins(); 
     80    $plugins->get_incompatible_plugins(true); 
    8281  } 
    8382 
  • trunk/include/common.inc.php

    r10098 r10128  
    157157  define('PEM_URL', 'http://'.PHPWG_DOMAIN.'/ext'); 
    158158} 
    159 define('MERGED_EXTENSIONS_URL', 'http://'.PHPWG_DOMAIN.'/download/merged_extensions.txt'); 
    160  
    161159 
    162160// language files 
Note: See TracChangeset for help on using the changeset viewer.