Changeset 45 for branches/lang_editor
- Timestamp:
- 02/14/09 11:18:08 (3 years ago)
- Location:
- branches/lang_editor
- Files:
-
- 2 modified
-
admin/lang_editor.php (modified) (3 diffs)
-
include/functions.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/lang_editor/admin/lang_editor.php
r32 r45 131 131 message('Your server does not support Zip Archive'); 132 132 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(); 137 135 138 136 if ($ext) 139 $filename = $ext.'_'. $version;137 $filename = $ext.'_'.get_extension_version($ext); 140 138 elseif ($lang) 141 139 $filename = $lang; … … 144 142 145 143 if (file_exists($archive)) 146 @unlink($arc ive);144 @unlink($archive); 147 145 148 146 $zip = new ZipArchive(); … … 152 150 add_dir_to_archive(FORUM_ROOT.'extensions/', $ext); 153 151 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 } 155 182 156 183 $zip->close(); 157 158 184 header('Location: '.$archive); 159 185 } -
branches/lang_editor/include/functions.php
r32 r45 154 154 function add_dir_to_archive($directory, $subdir = '') 155 155 { 156 global $zip, $exclude _langs;156 global $zip, $exclude; 157 157 158 158 $dir = dir($directory.'/'.$subdir); … … 161 161 if (substr($file, 0, 1) != '.' && !preg_match('#.diff$#', $file)) 162 162 { 163 if (is_dir($directory.'/'.$subdir.'/'.$file) && !in_array($file, $exclude _langs))163 if (is_dir($directory.'/'.$subdir.'/'.$file) && !in_array($file, $exclude)) 164 164 { 165 165 $zip->addEmptyDir($subdir.'/'.$file); … … 171 171 } 172 172 } 173 174 175 function 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 }