Ignore:
Timestamp:
2012-07-27T09:17:42+02:00 (2 years ago)
Author:
moo
Message:

refactor: move htdocs, bin, lib for easier installation

Location:
trunk/htdocs/common
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/htdocs/common/common.php

    r1052 r1053  
    11<?php 
    22 
     3class Cycle 
     4{ 
     5    var $values; 
     6    var $i; 
     7    var $count; 
     8 
     9    function Cycle($v) 
     10    { 
     11        $this->values = func_get_args(); 
     12        $this->i = -1; 
     13        $this->count = count($this->values); 
     14    } 
     15 
     16    function next() 
     17    { 
     18        $this->i = ($this->i + 1) % $this->count; 
     19        return $this->values[$this->i]; 
     20    } 
     21 
     22    function cur() 
     23    { 
     24        return $this->values[$this->i]; 
     25    } 
     26 
     27    function reset() 
     28    { 
     29        $this->i = -1; 
     30    } 
     31} 
     32 
     33function switcher($name, $options) 
     34{ 
     35    $n = isset($_GET[$name]) ? $_GET[$name] : null; 
     36    $html = array(); 
     37    foreach ($options as $k => $v) { 
     38        $html[] = sprintf('<a href="?%s=%s"%s>%s</a>', $name, $k, $k == $n ? ' class="active"' : '', $v); 
     39    } 
     40    return implode('', $html); 
     41} 
     42 
     43function moduleswitcher() 
     44{ 
     45    global $module, $modules; 
     46    $html = array(); 
     47    foreach ($modules as $k => $v) { 
     48        $html[] = sprintf('<a href="../%s/"%s>%s</a>', $k, $k == $module ? ' class="active"' : '', $v); 
     49    } 
     50    return implode('', $html); 
     51} 
     52 
     53function th($name, $attrs = null) 
     54{ 
     55    $translated = __($name); 
     56    if ($translated == $name) { 
     57        $translated = "$name|$name"; 
     58    } 
     59    list($text, $title) = explode('|', $translated, 2); 
     60    return sprintf('%s<th%s id="%s" title="%s"><a href="javascript:" onclick="resort(this); return false">%s</a></th>%s' 
     61            , "\t" 
     62            , $attrs ? " $attrs" : "" 
     63            , $name, htmlspecialchars(trim($title)), trim($text) 
     64            , "\n"); 
     65} 
     66 
    367function xcache_validateFileName($name) 
    468{ 
     
    670} 
    771 
    8 function get_language_file_ex($name, $l, $s) 
    9 { 
    10     static $lmap = array( 
     72function get_language_file_ex($name, $lang) 
     73{ 
     74    static $langMap = array( 
    1175            'zh'    => 'zh-simplified', 
    1276            'zh-hk' => 'zh-traditional', 
    1377            'zh-tw' => 'zh-traditional', 
    1478            ); 
    15     static $smap = array( 
    16             'gbk'     => 'gb2312', 
    17             'gb18030' => 'gb2312', 
    18             ); 
    19  
    20     if (isset($lmap[$l])) { 
    21         $l = $lmap[$l]; 
    22     } 
    23     $file = "$name-$l-$s.lang.php"; 
     79 
     80    if (isset($langMap[$lang])) { 
     81        $lang = $langMap[$lang]; 
     82    } 
     83    $file = "$name-$lang.lang.php"; 
    2484    if (xcache_validateFileName($file) && file_exists($file)) { 
    2585        return $file; 
    2686    } 
    27     if (isset($smap[$s])) { 
    28         $s = $smap[$s]; 
    29         $file = "$name-$l-$s.lang.php"; 
    30         if (xcache_validateFileName($file) && file_exists($file)) { 
    31             return $file; 
    32         } 
    33     } 
    34     $file = "$name-$l.lang.php"; 
    35     if (xcache_validateFileName($file) && file_exists($file)) { 
    36         return $file; 
    37     } 
    3887    return null; 
    3988} 
     
    4291{ 
    4392    global $config; 
    44     $s = strtolower($config['charset']); 
    4593    if (!empty($config['lang'])) { 
    46         $l = strtolower($config['lang']); 
    47         $file = get_language_file_ex($name, $l, $s); 
     94        $lang = strtolower($config['lang']); 
     95        $file = get_language_file_ex($name, $lang); 
    4896        if (!isset($file)) { 
    49             $l = strtok($l, ':-'); 
    50             $file = get_language_file_ex($name, $l, $s); 
     97            $lang = strtok($lang, ':-'); 
     98            $file = get_language_file_ex($name, $lang); 
    5199        } 
    52100    } 
    53101    else if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { 
    54         foreach (explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $l) { 
    55             $l = strtok($l, ':;'); 
    56             $file = get_language_file_ex($name, $l, $s); 
     102        foreach (explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $lang) { 
     103            $lang = strtok($lang, ':;'); 
     104            $file = get_language_file_ex($name, $lang); 
    57105            if (isset($file)) { 
    58                 $config['lang'] = $l; 
     106                $config['lang'] = $lang; 
    59107                break; 
    60108            } 
    61             if (strpos($l, '-') !== false) { 
    62                 $ll = strtok($l, ':-'); 
    63                 $file = get_language_file_ex($name, $ll, $s); 
     109            if (strpos($lang, '-') !== false) { 
     110                $file = get_language_file_ex($name, strtok($lang, ':-')); 
    64111                if (isset($file)) { 
    65                     $config['lang'] = $l; 
     112                    $config['lang'] = $lang; 
    66113                    break; 
    67114                } 
     
    91138{ 
    92139    return $str; 
     140} 
     141 
     142function number_formats($a, $keys) 
     143{ 
     144    foreach ($keys as $k) { 
     145        $a[$k] = number_format($a[$k]); 
     146    } 
     147    return $a; 
     148} 
     149 
     150function size($size) 
     151{ 
     152    $size = (int) $size; 
     153    if ($size < 1024) 
     154        return number_format($size, 2) . ' b'; 
     155 
     156    if ($size < 1048576) 
     157        return number_format($size / 1024, 2) . ' K'; 
     158 
     159    return number_format($size / 1048576, 2) . ' M'; 
     160} 
     161 
     162function age($time) 
     163{ 
     164    if (!$time) return ''; 
     165    $delta = REQUEST_TIME - $time; 
     166 
     167    if ($delta < 0) { 
     168        $delta = -$delta; 
     169    } 
     170     
     171    static $seconds = array(1, 60, 3600, 86400, 604800, 2678400, 31536000); 
     172    static $name = array('s', 'm', 'h', 'd', 'w', 'M', 'Y'); 
     173 
     174    for ($i = 6; $i >= 0; $i --) { 
     175        if ($delta >= $seconds[$i]) { 
     176            $ret = (int) ($delta / $seconds[$i]); 
     177            return $ret . ' ' . $name[$i]; 
     178        } 
     179    } 
     180 
     181    return '0 s'; 
    93182} 
    94183 
     
    121210    return $list_html; 
    122211} 
    123  
    124212 
    125213error_reporting(E_ALL); 
     
    137225 
    138226$config = array(); 
    139 include("./config.default.php"); 
     227if (file_exists("./config.default.php")) { 
     228    include("./config.default.php"); 
     229} 
     230include("../config.default.php"); 
     231if (file_exists("../config.php")) { 
     232    include("../config.php"); 
     233} 
    140234if (file_exists("./config.php")) { 
    141235    include("./config.php"); 
     
    143237 
    144238include(get_language_file("common")); 
    145 if (empty($config['lang'])) { 
    146     $config['lang'] = 'en-us'; 
    147 } 
    148  
     239 
     240$modules = array(); 
     241if (file_exists("../cacher/index.php")) { 
     242    $modules["cacher"] = _("Cacher"); 
     243} 
     244if (file_exists("../coverager/index.php")) { 
     245    $modules["coverager"] = _("Coverager"); 
     246} 
    149247header("Cache-Control: no-cache, must-revalidate"); 
    150248header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 
Note: See TracChangeset for help on using the changeset viewer.