Dotclear

Changeset 1513


Ignore:
Timestamp:
09/25/09 13:36:52 (14 years ago)
Author:
xave
Message:

v1.1: global code cleanup

Location:
plugins/mkcompat
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • plugins/mkcompat/_define.php

    r1508 r1513  
    1717     /* Description*/                "Eases upgrades to Dotclear 2.1.6", 
    1818     /* Author */                    "xave", 
    19      /* Version */                   '1', 
     19     /* Version */                   '1.1', 
    2020     /* Permissions */               'usage' 
    2121); 
  • plugins/mkcompat/class.dc.mkcompat216.php

    r1512 r1513  
    1717     public static function themeNeedUpgrade ($theme_path) 
    1818     { 
    19           $oldTags = array( 
    20                'MetaData','MetaDataHeader','MetaDataFooter','MetaID','MetaPercent', 
    21                'MetaRoundPercent','MetaURL','MetaAllURL','EntryMetaData' 
    22                ); 
    23            
    24            
    2519          if (!is_dir($theme_path.'/tpl')) 
    2620               return false; 
     
    2822          $dir_contents = files::getDirList($theme_path.'/tpl'); 
    2923          foreach ($dir_contents['files'] as $file) 
    30           { 
    31                if (basename($file) == '404.html' && 
    32                     strpos(file_get_contents($file), 
    33                          'The document you are looking for does not exists.') != false) 
     24               if (self::checkFile($file)) 
    3425                    return true; 
    35                if (files::getExtension($file) == 'html') 
    36                { 
    37                     $contents = file_get_contents($file); 
    38                     foreach ($oldTags as $tag) 
    39                     { 
    40                          if (strpos($contents,'tpl:'.$tag) != false) 
    41                               return true; 
    42                     } 
    43                } 
    44           } 
    4526           
    4627          return false; 
    4728     } 
    4829      
    49      public static function themeUpgrade ($theme_path) 
     30     public static function pluginNeedUpgrade ($theme_path) 
    5031     { 
    5132          $dir_contents = files::getDirList($theme_path); 
    52           foreach ($dir_contents['files'] as $file) self::themeFileUpdate($file);     
     33           
     34          foreach ($dir_contents['files'] as $file) 
     35               if (self::checkFile($file)) 
     36                    return true; 
     37           
     38          return false; 
    5339     } 
    5440      
    55      public static function themeFileUpdate($filename) 
     41     public static function moduleUpgrade ($plugin_path) 
     42     { 
     43          $dir_contents = files::getDirList($plugin_path); 
     44          foreach ($dir_contents['files'] as $file) 
     45               self::updateFile($file); 
     46     } 
     47      
     48     public static function checkFile_html ($filename) 
     49     { 
     50          $oldTags = array( 
     51               'MetaData','MetaDataHeader','MetaDataFooter','MetaID','MetaPercent', 
     52               'MetaRoundPercent','MetaURL','MetaAllURL','EntryMetaData' 
     53          ); 
     54           
     55          if (basename($filename) == '404.html' && 
     56               strpos(file_get_contents($filename), 
     57                    'The document you are looking for does not exists.') != false) 
     58               return true; 
     59                     
     60          $contents = file_get_contents($filename); 
     61          foreach ($oldTags as $tag) 
     62          { 
     63               if (strpos($contents,'tpl:'.$tag) != false) 
     64                    return true; 
     65          } 
     66          return false; 
     67     } 
     68      
     69     public static function checkFile_php ($filename) 
     70     { 
     71          $pattern = '/(<script[^>]*>(?(?!script).)*)\[@(.*?<\/script>)/s'; 
     72           
     73          if (strpos($contents = file_get_contents($filename),'[@') != false) 
     74               if (preg_match_all($pattern,$contents,$scripts)) 
     75                    return true; 
     76     } 
     77      
     78     public static function checkFile_js ($filename) 
     79     { 
     80          if (strpos(file_get_contents($filename),'[@') != false) 
     81               return true; 
     82          return false; 
     83     } 
     84      
     85     public static function updateFile_html ($filename) 
    5686     { 
    5787          $oldTags = array( 
     
    73103     } 
    74104      
    75      public static function pluginNeedUpgrade ($theme_path) 
    76      { 
    77           $pattern = '/(<script[^>]*>(?(?!script).)*)\[@(.*?<\/script>)/s'; 
    78            
    79           $oldTags = array( 
    80                'MetaData','MetaDataHeader','MetaDataFooter','MetaID','MetaPercent', 
    81                'MetaRoundPercent','MetaURL','MetaAllURL','EntryMetaData' 
    82                ); 
    83            
    84           $dir_contents = files::getDirList($theme_path); 
    85           foreach ($dir_contents['files'] as $file) 
    86           { 
    87                if (files::getExtension($file) == 'js') 
    88                     if (strpos(file_get_contents($file),'[@') != false) 
    89                          return true; 
    90                if (files::getExtension($file) == 'php') 
    91                     if (strpos($contents = file_get_contents($file),'[@') != false) 
    92                          if (preg_match_all($pattern,$contents,$scripts)) 
    93                               return true; 
    94                if (files::getExtension($file) == 'html') 
    95                { 
    96                     $contents = file_get_contents($file); 
    97                     foreach ($oldTags as $tag) 
    98                     { 
    99                          if (strpos($contents,'tpl:'.$tag) != false) 
    100                               return true; 
    101                     } 
    102                } 
    103           } 
    104           return false; 
    105      } 
    106       
    107      public static function pluginUpgrade ($plugin_path) 
    108      { 
    109           $dir_contents = files::getDirList($plugin_path); 
    110           foreach ($dir_contents['files'] as $file) 
    111           { 
    112                if (files::getExtension($file) == 'js') self::pluginFileUpdateJS($file); 
    113                if (files::getExtension($file) == 'php') self::pluginFileUpdatePHP($file); 
    114                if (files::getExtension($file) == 'html') self::themeFileUpdate($file); 
    115           } 
    116      } 
    117       
    118      public static function pluginFileUpdateJS($filename) 
    119      { 
    120           if (!$contents = file_get_contents  ($filename)) 
    121                throw new exception (__('cannot read file: ').$filename); 
    122            
    123           $newcontents = str_replace('[@','[',$contents,$count); 
    124           if ($count > 0) files::putContent($filename,$newcontents); 
    125      } 
    126       
    127      public static function pluginFileUpdatePHP($filename) 
     105     public static function updateFile_php ($filename) 
    128106     { 
    129107          $pattern = '/(<script[^>]*>(?(?!script).)*)\[@(.*?<\/script>)/s'; 
     
    140118          } 
    141119     } 
     120      
     121     public static function updateFile_js ($filename) 
     122     { 
     123          if (!$contents = file_get_contents  ($filename)) 
     124               throw new exception (__('cannot read file: ').$filename); 
     125           
     126          $newcontents = str_replace('[@','[',$contents,$count); 
     127          if ($count > 0) files::putContent($filename,$newcontents); 
     128} 
     129      
     130     public static function checkFile ($filename) 
     131     { 
     132          $file_ext = files::getExtension($filename); 
     133           
     134          if (method_exists(get_class(),'checkFile_'.$file_ext)) 
     135          { 
     136               return call_user_func(array(get_class(),'checkFile_'.$file_ext),$filename); 
     137          } 
     138          else 
     139          { 
     140               return false; 
     141          }          
     142     } 
     143      
     144     public static function updateFile ($filename) 
     145     { 
     146          $file_ext = files::getExtension($filename); 
     147           
     148          if (method_exists(get_class(),'updateFile_'.$file_ext)) 
     149               call_user_func(array(get_class(),'updateFile_'.$file_ext),$filename); 
     150     } 
    142151} 
    143152?> 
  • plugins/mkcompat/index.php

    r1507 r1513  
    1313if (!defined('DC_CONTEXT_ADMIN')) { return; } 
    1414 
    15 if (!empty($_POST)) { 
    16      if ($_POST['type'] == 'theme') 
    17           mkcompat::themeUpgrade($_POST['root']); 
    18      if ($_POST['type'] == 'plugin') 
    19           mkcompat::pluginUpgrade($_POST['root']); 
    20      http::redirect($p_url.'&upd=1&type='.$_POST['type'].'&name='.$_POST['name']); 
     15if (!empty($_POST) && is_dir ($_POST['root'])) 
     16{ 
     17          mkcompat::moduleUpgrade($_POST['root']); 
     18          http::redirect($p_url.'&upd=1&type='.$_POST['type'].'&name='.$_POST['name']); 
    2119} 
    2220?> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map