Changeset 45 for branches/lang_editor

Show
Ignore:
Timestamp:
02/14/09 11:18:08 (3 years ago)
Author:
daris
Message:

adding go_to_page extension

Location:
branches/lang_editor
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/lang_editor/admin/lang_editor.php

    r32 r45  
    131131                message('Your server does not support Zip Archive'); 
    132132         
    133         // Get version 
    134         $version = get_extension_version($ext); 
    135  
    136         $exclude_langs = isset($_GET['exclude']) ? explode(',', $_GET['exclude']) : array(); 
     133 
     134        $exclude = isset($_GET['exclude']) ? explode(',', $_GET['exclude']) : array(); 
    137135 
    138136        if ($ext) 
    139                 $filename = $ext.'_'.$version; 
     137                $filename = $ext.'_'.get_extension_version($ext); 
    140138        elseif ($lang) 
    141139                $filename = $lang; 
     
    144142         
    145143        if (file_exists($archive)) 
    146                 @unlink($arcive); 
     144                @unlink($archive); 
    147145         
    148146        $zip = new ZipArchive(); 
     
    152150                        add_dir_to_archive(FORUM_ROOT.'extensions/', $ext); 
    153151                elseif ($lang) 
    154                         add_dir_to_archive(FORUM_ROOT.'lang/', $lang); 
     152                { 
     153                        exec('rm -rf '.EXT_ROOT.'cache/export', $res); 
     154                        @mkdir(EXT_ROOT.'cache/export'); 
     155                        @mkdir(EXT_ROOT.'cache/export/extensions'); 
     156                        @mkdir(EXT_ROOT.'cache/export/lang'); 
     157                        @mkdir(EXT_ROOT.'cache/export/lang/'.$lang); 
     158 
     159                        $extensions_dir = FORUM_ROOT.'extensions'; 
     160                        $d = dir($extensions_dir); 
     161                        while ($f = $d->read()) 
     162                        { 
     163                                if (substr($f, 0, 1) != '.' && !preg_match('#.diff$#', $f)) 
     164                                { 
     165                                        // it's extension dir 
     166                                        $ext_dir = $extensions_dir.'/'.$f; 
     167                                        if (substr($f, 0, 4) == 'pun_' && is_dir($ext_dir) && file_exists($ext_dir.'/lang/'.$lang) && is_dir($ext_dir.'/lang/'.$lang)) 
     168                                        { 
     169                                                @mkdir(EXT_ROOT.'cache/export/extensions/'.$f); 
     170                                                @mkdir(EXT_ROOT.'cache/export/extensions/'.$f.'/lang/'); 
     171                                                copy_dir($ext_dir.'/lang/'.$lang, EXT_ROOT.'cache/export/extensions/'.$f.'/lang/'.$lang); 
     172                                        } 
     173                                } 
     174                        } 
     175                         
     176                        copy_dir(FORUM_ROOT.'/lang/'.$lang, EXT_ROOT.'cache/export/lang/'.$lang); 
     177 
     178                        add_dir_to_archive(EXT_ROOT.'cache/export', 'extensions'); 
     179                        add_dir_to_archive(EXT_ROOT.'cache/export', 'lang'); 
     180                        $zip->addFile(FORUM_ROOT.'Readme.txt', 'Readme.txt'); 
     181                } 
    155182                 
    156183                $zip->close(); 
    157                  
    158184                header('Location: '.$archive); 
    159185        }  
  • branches/lang_editor/include/functions.php

    r32 r45  
    154154function add_dir_to_archive($directory, $subdir = '') 
    155155{ 
    156         global $zip, $exclude_langs; 
     156        global $zip, $exclude; 
    157157         
    158158        $dir = dir($directory.'/'.$subdir); 
     
    161161                if (substr($file, 0, 1) != '.' && !preg_match('#.diff$#', $file)) 
    162162                { 
    163                         if (is_dir($directory.'/'.$subdir.'/'.$file) && !in_array($file, $exclude_langs)) 
     163                        if (is_dir($directory.'/'.$subdir.'/'.$file) && !in_array($file, $exclude)) 
    164164                        { 
    165165                                $zip->addEmptyDir($subdir.'/'.$file); 
     
    171171        } 
    172172} 
     173 
     174 
     175function copy_dir($source, $dest) 
     176{ 
     177        if (!file_exists($dest)) 
     178                mkdir($dest); 
     179 
     180        $d = dir($source); 
     181        while ($f = $d->read()) 
     182        { 
     183                if (substr($f, 0, 1) != '.' && !preg_match('#.diff$#', $f)) 
     184                { 
     185                        if (!is_dir($source.'/'.$f)) 
     186                                copy($source.'/'.$f, $dest.'/'.$f); 
     187                        else 
     188                                copy_dir($source.'/'.$f, $dest.'/'.$f); 
     189                } 
     190        } 
     191}