Changeset 31 for branches/lang_editor
- Timestamp:
- 02/10/09 18:48:39 (3 years ago)
- Files:
-
- 1 modified
-
branches/lang_editor/admin/lang_editor.php (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/lang_editor/admin/lang_editor.php
r30 r31 51 51 52 52 $lang = (isset($_GET['lang']) && file_exists(FORUM_ROOT.'lang/'.$_GET['lang'])) ? basename($_GET['lang']) : null; 53 $file = null; 54 55 if (isset($_GET['file']) && file_exists(FORUM_ROOT.'lang/'.$lang.'/'.basename($_GET['file']))) 56 $file = FORUM_ROOT.'lang/'.$lang.'/'.basename($_GET['file']); 57 58 elseif (isset($ext) && file_exists(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang)) 59 { 60 $dir = FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang; 61 $d = dir($dir); 62 while ($f = $d->read()) 63 { 64 if (substr($f, 0, 1) != '.' && $file == null && substr($f, strlen($f)-3) == 'php') 65 $file = $dir.'/'.$f; 66 } 67 } 68 elseif (isset($ext) && file_exists(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php')) 69 $file = FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php'; 53 $file = isset($_GET['file']) ? basename($_GET['file']) : null; 54 55 $edit_file = null; 56 57 if ($file) 58 { 59 // If file exists in language directory 60 if (file_exists(FORUM_ROOT.'lang/'.$lang.'/'.basename($_GET['file']))) 61 $edit_file = FORUM_ROOT.'lang/'.$lang.'/'.basename($_GET['file']); 62 63 // If file exists in extension directory 64 elseif (isset($ext) && file_exists(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'/'.$file)) 65 $edit_file = FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'/'.$file; 66 } 67 68 69 elseif ($ext && file_exists(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php')) 70 $edit_file = FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php'; 70 71 71 72 … … 81 82 } 82 83 83 if ( isset($act)&& $act == 'create')84 if ($act && $act == 'create') 84 85 { 85 86 if (isset($_GET['ext'])) … … 124 125 125 126 126 if ( isset($act) && $act == 'export' && isset($ext))127 if ($act && $ext && $act == 'export') 127 128 { 128 129 if (!class_exists('ZipArchive')) … … 152 153 } 153 154 154 155 if (! isset($lang))155 // Display language list 156 if (!$lang) 156 157 { 157 158 // Setup breadcrumbs … … 174 175 <h2 class="hn"><span><?php echo $lang_le['Lang editor'] ?></span></h2> 175 176 </div> 176 <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo EXT_FILE ?>"> 177 <div class="hidden"> 178 <input type="hidden" name="csrf_token" value="<?php echo generate_form_token(EXT_FILE) ?>" /> 179 </div> 180 <div class="ct-box info-box"> 181 <h3 class="ct-legend hn"><span><?php echo $lang_le['Language list'] ?></span></h3> 182 <ul> 177 <div class="ct-box info-box"> 178 <h3 class="ct-legend hn"><span><?php echo $lang_le['Language list'] ?></span></h3> 179 <ul> 183 180 <?php 184 181 $d = dir(FORUM_ROOT.'lang/'); … … 190 187 191 188 ?> 192 </ul> 193 </div> 194 195 </form> 189 </ul> 190 </div> 196 191 </div> 197 < /div>198 <?php 199 200 201 } 202 203 elseif ( isset($file) && is_file($file))192 <?php 193 194 195 } 196 197 // Editing file 198 elseif ($edit_file && is_file($edit_file)) 204 199 { 205 200 … … 210 205 array($lang_le['Lang editor'], EXT_FILE), 211 206 array(forum_htmlencode($lang), EXT_FILE.'?lang='.$lang), 212 forum_htmlencode(isset($ext) ? ucfirst(str_replace('_', ' ', $ext)) : basename($file))213 207 ); 208 209 if ($ext) 210 $forum_page['crumbs'][] = array(forum_htmlencode($ext), EXT_FILE.'?lang='.$lang.'&ext='.$ext); 211 212 if ($file) 213 $forum_page['crumbs'][] = array(forum_htmlencode($file), EXT_FILE.'?lang='.$lang.'&ext='.$ext.'&file='.$file); 214 214 215 215 216 define('FORUM_PAGE_SECTION', 'management'); … … 228 229 <input type="hidden" name="csrf_token" value="<?php echo generate_form_token(EXT_FILE) ?>" /> 229 230 <input type="hidden" name="lang" value="<?php echo $lang ?>" /> 230 <input type="hidden" name="file" value="<?php echo $ file ?>" />231 <input type="hidden" name="file" value="<?php echo $edit_file ?>" /> 231 232 </div> 232 233 <div class="ct-box info-box"> … … 235 236 $compare_lang = 'English'; 236 237 237 $result = read_lang($ file, str_replace($lang, 'English', $file));238 $result = read_lang($edit_file, str_replace($lang, 'English', $edit_file)); 238 239 $string_list = $result[0]; 239 240 … … 258 259 foreach ($string_list as $key => $value) 259 260 { 260 $strlen = (isset($value[1]) ? strlen($value[1]) : strlen($value[0])); 261 $rows = round($strlen / 60) + 1; 261 if (isset($value[0]) && isset($value[1])) 262 $strlen = max(strlen($value[1]), strlen($value[0])); 263 else 264 $strlen = (isset($value[1]) ? strlen($value[1]) : strlen($value[0])); 265 $rows = round($strlen / 50) + 1; 262 266 ?> 263 267 <tr> … … 278 282 } 279 283 280 281 284 ?> 282 285 </table> … … 285 288 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_le['Save'] ?>" /></span> 286 289 </div> 287 <?php288 289 ?>290 290 </form> 291 291 </div> 292 </div> 293 <?php 294 295 296 297 } 292 293 <?php 294 295 296 297 } 298 299 // Display files and extension list 300 else if ($ext && $lang && !$file) 301 { 302 // Setup breadcrumbs 303 $forum_page['crumbs'] = array( 304 array($forum_config['o_board_title'], forum_link($forum_url['index'])), 305 array($lang_admin_common['Forum administration'], forum_link($forum_url['admin_index'])), 306 array($lang_le['Lang editor'], EXT_FILE), 307 array(forum_htmlencode($lang), EXT_FILE.'?lang='.$lang), 308 array(forum_htmlencode($ext), EXT_FILE.'?lang='.$lang.'&ext='.$ext), 309 ); 310 311 312 define('FORUM_PAGE_SECTION', 'management'); 313 define('FORUM_PAGE', 'admin-lang-editor'); 314 define('FORUM_PAGE_TYPE', 'sectioned'); 315 require FORUM_ROOT.'header.php'; 316 317 ob_start(); 318 ?> 319 <div class="main-content main-frm"> 320 <div class="content-head"> 321 <h2 class="hn"><span><?php echo $lang_le['Lang editor'] ?></span></h2> 322 </div> 323 324 <div class="ct-box info-box"> 325 <h3 class="ct-legend hn"><span><?php echo $lang_le['File list'] ?></span></h3> 326 <ul> 327 <?php 328 $d = dir(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang); 329 while ($f = $d->read()) 330 { 331 if (substr($f, 0, 1) != '.' && !is_dir(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$f) && substr($f, strlen($f) - 4, 4) == '.php') 332 { 333 echo '<li><a href="'.EXT_FILE.'?lang='.$lang.'&ext='.$ext.'&file='.$f.'">'.$f.'</a></li>'; 334 } 335 } 336 337 ?> 338 </ul> 339 </div> 340 </div> 341 342 <?php 343 344 } 345 346 347 // Display files and extension list 298 348 else 299 349 { … … 318 368 <h2 class="hn"><span><?php echo $lang_le['Lang editor'] ?></span></h2> 319 369 </div> 320 <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo EXT_FILE ?>"> 321 <div class="hidden"> 322 <input type="hidden" name="csrf_token" value="<?php echo generate_form_token(EXT_FILE) ?>" /> 323 <input type="hidden" name="file" value="<?php echo 'lang/'.$lang.'/'.$file ?>" /> 324 </div> 325 <div class="ct-box info-box"> 326 <h3 class="ct-legend hn"><span><?php echo $lang_le['File list'] ?></span></h3> 327 <ul> 328 <?php 329 $add_dir = (isset($file) && is_dir(FORUM_ROOT.'lang/'.$lang.'/'.$file) ? '/'.$file.'/' : ''); 370 371 <div class="ct-box info-box"> 372 <h3 class="ct-legend hn"><span><?php echo $lang_le['File list'] ?></span></h3> 373 <ul> 374 <?php 375 $add_dir = (isset($edit_file) && is_dir(FORUM_ROOT.'lang/'.$lang.'/'.$edit_file) ? '/'.$edit_file.'/' : ''); 330 376 $d = dir(FORUM_ROOT.'lang/'.$lang.$add_dir); 331 377 while ($f = $d->read()) … … 338 384 339 385 ?> 340 </ul>341 </div>342 <div class="ct-box info-box">343 <h3 class="ct-legend hn"><span><?php echo $lang_le['Extension list'] ?></span></h3>344 <ul>386 </ul> 387 </div> 388 <div class="ct-box info-box"> 389 <h3 class="ct-legend hn"><span><?php echo $lang_le['Extension list'] ?></span></h3> 390 <ul> 345 391 <?php 346 392 $dir = FORUM_ROOT.'extensions/'; … … 353 399 354 400 $export = ' [ <a href="'.EXT_FILE.'?act=export&lang='.$lang.'&ext='.$f.'">Export</a> ]'; 401 355 402 // if translated lang exists 356 403 if (file_exists($dir.$f.'/lang/'.$lang) || file_exists($dir.$f.'/lang/'.$lang.'.php')) 357 echo '<li><a href="'.EXT_FILE.'?lang='.$lang.'&ext='.$f.'">'.$name.'</a>'.$export.'</li>'; 404 $url = '?lang='.$lang.'&ext='.$f; 405 406 // if extension has english file 407 elseif (file_exists($dir.$f.'/lang/English') || file_exists($dir.$f.'/lang/English.php')) 408 $url = '?act=create&lang='.$lang.'&ext='.$f.'" style="color: red'; 409 358 410 else 359 echo '<li><a href="'.EXT_FILE.'?act=create&lang='.$lang.'&ext='.$f.'" style="color: red">'.$name.'</a>'.$export.'</li>'; 411 $url = null; 412 413 echo '<li>'.($url ? '<a href="'.EXT_FILE.$url.'">' : '').$name.($url ? '</a>' : '').$export.'</li>'; 414 360 415 } 361 416 } 362 417 363 418 ?> 364 </ul> 365 </div> 366 </form> 419 </ul> 420 </div> 367 421 </div> 368 </div> 422 369 423 <?php 370 424