Changeset 31 for branches

Show
Ignore:
Timestamp:
02/10/09 18:48:39 (3 years ago)
Author:
daris
Message:

lang_editor: some changes

Files:
1 modified

Legend:

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

    r30 r31  
    5151 
    5252$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 
     57if ($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 
     69elseif ($ext && file_exists(FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php')) 
     70        $edit_file = FORUM_ROOT.'extensions/'.$ext.'/lang/'.$lang.'.php'; 
    7071 
    7172 
     
    8182} 
    8283 
    83 if (isset($act) && $act == 'create') 
     84if ($act && $act == 'create') 
    8485{        
    8586        if (isset($_GET['ext'])) 
     
    124125 
    125126 
    126 if (isset($act) && $act == 'export' && isset($ext)) 
     127if ($act && $ext && $act == 'export') 
    127128{ 
    128129        if (!class_exists('ZipArchive')) 
     
    152153} 
    153154 
    154  
    155 if (!isset($lang)) 
     155// Display language list 
     156if (!$lang) 
    156157{ 
    157158        // Setup breadcrumbs 
     
    174175                        <h2 class="hn"><span><?php echo $lang_le['Lang editor'] ?></span></h2> 
    175176                </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> 
    183180<?php 
    184181        $d = dir(FORUM_ROOT.'lang/'); 
     
    190187 
    191188?> 
    192                                 </ul> 
    193                         </div> 
    194  
    195                 </form> 
     189                        </ul> 
     190                </div> 
    196191        </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 
     198elseif ($edit_file && is_file($edit_file)) 
    204199{ 
    205200 
     
    210205                array($lang_le['Lang editor'], EXT_FILE), 
    211206                array(forum_htmlencode($lang), EXT_FILE.'?lang='.$lang), 
    212                 forum_htmlencode(isset($ext) ? ucfirst(str_replace('_', ' ', $ext)) : basename($file)) 
    213207        ); 
     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 
    214215         
    215216        define('FORUM_PAGE_SECTION', 'management'); 
     
    228229                                <input type="hidden" name="csrf_token" value="<?php echo generate_form_token(EXT_FILE) ?>" /> 
    229230                                <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 ?>" /> 
    231232                        </div> 
    232233                        <div class="ct-box info-box"> 
     
    235236        $compare_lang = 'English'; 
    236237 
    237         $result = read_lang($file, str_replace($lang, 'English', $file)); 
     238        $result = read_lang($edit_file, str_replace($lang, 'English', $edit_file)); 
    238239        $string_list = $result[0]; 
    239240         
     
    258259        foreach ($string_list as $key => $value) 
    259260        { 
    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; 
    262266?> 
    263267                                        <tr> 
     
    278282        } 
    279283 
    280          
    281284?> 
    282285                                </table> 
     
    285288                                <span class="submit"><input type="submit" name="save" value="<?php echo $lang_le['Save'] ?>" /></span> 
    286289                        </div> 
    287 <?php 
    288          
    289 ?> 
    290290                </form> 
    291291        </div> 
    292 </div> 
    293 <?php 
    294  
    295  
    296  
    297 } 
     292 
     293<?php 
     294 
     295 
     296 
     297} 
     298 
     299// Display files and extension list 
     300else 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 
    298348else  
    299349{ 
     
    318368                        <h2 class="hn"><span><?php echo $lang_le['Lang editor'] ?></span></h2> 
    319369                </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.'/' : ''); 
    330376        $d = dir(FORUM_ROOT.'lang/'.$lang.$add_dir); 
    331377        while ($f = $d->read()) 
     
    338384 
    339385?> 
    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> 
    345391<?php 
    346392        $dir = FORUM_ROOT.'extensions/'; 
     
    353399                         
    354400                        $export = ' [ <a href="'.EXT_FILE.'?act=export&amp;lang='.$lang.'&amp;ext='.$f.'">Export</a> ]'; 
     401                         
    355402                        // if translated lang exists 
    356403                        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&amp;lang='.$lang.'&ext='.$f.'" style="color: red'; 
     409                         
    358410                        else 
    359                                 echo '<li><a href="'.EXT_FILE.'?act=create&amp;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 
    360415                } 
    361416        } 
    362417 
    363418?> 
    364                                 </ul> 
    365                         </div> 
    366                 </form> 
     419                        </ul> 
     420                </div> 
    367421        </div> 
    368 </div> 
     422 
    369423<?php 
    370424