Пример #1
0
 public static function getVersion($force = false)
 {
     iFS::mkdir(PATCH_DIR);
     $tFilePath = PATCH_DIR . 'version.json';
     //临时文件夹
     if (iFS::ex($tFilePath) && time() - iFS::mtime($tFilePath) < 3600 && !$force) {
         $FileData = iFS::read($tFilePath);
     } else {
         $url = PATCH_URL . '/version.' . iPHP_APP . '.' . iCMS_VER . '.patch.' . iCMS_RELEASE . '?t=' . time();
         $FileData = iFS::remote($url);
         iFS::write($tFilePath, $FileData);
     }
     return json_decode($FileData);
     //版本列表
 }
Пример #2
0
function pinyin($str, $split = "", $pn = true)
{
    if (!isset($GLOBALS["iPHP.PY"])) {
        $GLOBALS["iPHP.PY"] = unserialize(gzuncompress(iFS::read(iPHP_PATH . '/pinyin.table')));
    }
    preg_match_all('/[\\x01-\\x7f]|[\\xc2-\\xdf][\\x80-\\xbf]|[\\xe0-\\xef][\\x80-\\xbf]{2}|[\\xf0-\\xff][\\x80-\\xbf]{3}/', trim($str), $match);
    $s = $match[0];
    $c = count($s);
    for ($i = 0; $i < $c; $i++) {
        $uni = strtoupper(dechex(utf2uni($s[$i])));
        if (strlen($uni) > 2) {
            $pyArr = $GLOBALS["iPHP.PY"][$uni];
            $py = is_array($pyArr) ? $pyArr[0] : $pyArr;
            $pn && ($py = str_replace(array('1', '2', '3', '4', '5'), '', $py));
            $zh && $split && ($R[] = $split);
            $R[] = strtolower($py);
            $zh = true;
            $az09 = false;
        } else {
            if (preg_match("/[a-z0-9]/i", $s[$i])) {
                $zh && $i != 0 && !$az09 && $split && ($R[] = $split);
                $R[] = $s[$i];
                $zh = true;
                $az09 = true;
            } else {
                $sp = true;
                if ($split) {
                    if ($s[$i] == ' ') {
                        $R[] = $sp ? '' : $split;
                        $sp = false;
                    } else {
                        $R[] = $sp ? $split : '';
                        $sp = true;
                    }
                } else {
                    $R[] = '';
                }
                $zh = false;
                $az09 = false;
            }
        }
    }
    return str_replace(array('Üe', 'Üan', 'Ün', 'lÜ', 'nÜ'), array('ue', 'uan', 'un', 'lv', 'nv'), implode('', (array) $R));
}
Пример #3
0
 $content = preg_replace("/define\\(\\'iPHP_DB_USER\\',\\'.*?\\'\\)/is", "define('iPHP_DB_USER','" . iPHP_DB_USER . "')", $content);
 $content = preg_replace("/define\\(\\'iPHP_DB_PASSWORD\\',\\'.*?\\'\\)/is", "define('iPHP_DB_PASSWORD','" . iPHP_DB_PASSWORD . "')", $content);
 $content = preg_replace("/define\\(\\'iPHP_DB_NAME\\',\\'.*?\\'\\)/is", "define('iPHP_DB_NAME','" . iPHP_DB_NAME . "')", $content);
 $content = preg_replace("/define\\(\\'iPHP_DB_PREFIX\\',\\'.*?\\'\\)/is", "define('iPHP_DB_PREFIX','" . iPHP_DB_PREFIX . "')", $content);
 $content = preg_replace("/define\\(\\'iPHP_KEY\\',\\'.*?\\'\\)/is", "define('iPHP_KEY','" . random(32) . "')", $content);
 $parse_url = parse_url($router_url);
 $host = $parse_url['host'];
 $COOKIE_DOMAIN = '.' . iPHP::domain($host);
 preg_match("/^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\$/", $host) && ($COOKIE_DOMAIN = '');
 $content = preg_replace("/define\\(\\'iPHP_COOKIE_DOMAIN\\',\\s*\\'.*?\\'\\)/is", "define('iPHP_COOKIE_DOMAIN','{$COOKIE_DOMAIN}')", $content);
 iFS::write($config, $content, false);
 //开始安装 数据库
 $sql_file = dirname(strtr(__FILE__, '\\', '/')) . '/iCMS.V6.sql';
 is_readable($sql_file) or iPHP::alert('数据库文件不存在或者读取失败', 'js:top.callback();');
 //require_once ($config);
 $sql = iFS::read($sql_file);
 // $sql = str_replace('#iCMS@__',$db_prefix,$sql);
 //
 //
 run_query($sql);
 //设置超级管理员
 $admin_password = md5($admin_password);
 iDB::query("\n\t\tUPDATE `#iCMS@__members`\n\t\tSET `username` = '{$admin_name}', `password` = '{$admin_password}'\n\t\tWHERE `uid` = '1';\n\t");
 //配置程序
 $result = iDB::all("SELECT * FROM `#iCMS@__config` WHERE `appid`='0'");
 foreach ($result as $key => $c) {
     $value = $c['value'];
     strstr($c['value'], 'a:') && ($value = unserialize($c['value']));
     $setting[$c['name']] = $value;
 }
 $setting['router']['URL'] = $router_url;