function save_uc_config($config) { global $db, $ecs; $success = false; list($appauthkey, $appid, $ucdbhost, $ucdbname, $ucdbuser, $ucdbpw, $ucdbcharset, $uctablepre, $uccharset, $ucapi, $ucip) = explode('|', $config); $config_file = ROOT_PATH . 'data/config.php'; $s = file_get_contents($config_file); $s = insertconfig($s, "/\\?\\>/", ""); $link = mysql_connect($ucdbhost, $ucdbuser, $ucdbpw, 1); $uc_connnect = $link && mysql_select_db($ucdbname, $link) ? 'mysql' : 'post'; $s = insertconfig($s, "/define\\('EC_CHARSET',\\s*'.*?'\\);/i", "define('EC_CHARSET', '" . EC_CHARSET . "');"); $s = insertconfig($s, "/\\/\\*\\=*UCenter\\=*\\*\\//", "/*=================UCenter=======================*/"); $s = insertconfig($s, "/define\\('UC_CONNECT',\\s*'.*?'\\);/i", "define('UC_CONNECT', '{$uc_connnect}');"); $s = insertconfig($s, "/define\\('UC_DBHOST',\\s*'.*?'\\);/i", "define('UC_DBHOST', '{$ucdbhost}');"); $s = insertconfig($s, "/define\\('UC_DBUSER',\\s*'.*?'\\);/i", "define('UC_DBUSER', '{$ucdbuser}');"); $s = insertconfig($s, "/define\\('UC_DBPW',\\s*'.*?'\\);/i", "define('UC_DBPW', '{$ucdbpw}');"); $s = insertconfig($s, "/define\\('UC_DBNAME',\\s*'.*?'\\);/i", "define('UC_DBNAME', '{$ucdbname}');"); $s = insertconfig($s, "/define\\('UC_DBCHARSET',\\s*'.*?'\\);/i", "define('UC_DBCHARSET', '{$ucdbcharset}');"); $s = insertconfig($s, "/define\\('UC_DBTABLEPRE',\\s*'.*?'\\);/i", "define('UC_DBTABLEPRE', '`{$ucdbname}`.{$uctablepre}');"); $s = insertconfig($s, "/define\\('UC_DBCONNECT',\\s*'.*?'\\);/i", "define('UC_DBCONNECT', '0');"); $s = insertconfig($s, "/define\\('UC_KEY',\\s*'.*?'\\);/i", "define('UC_KEY', '{$appauthkey}');"); $s = insertconfig($s, "/define\\('UC_API',\\s*'.*?'\\);/i", "define('UC_API', '{$ucapi}');"); $s = insertconfig($s, "/define\\('UC_CHARSET',\\s*'.*?'\\);/i", "define('UC_CHARSET', '{$uccharset}');"); $s = insertconfig($s, "/define\\('UC_IP',\\s*'.*?'\\);/i", "define('UC_IP', '{$ucip}');"); $s = insertconfig($s, "/define\\('UC_APPID',\\s*'?.*?'?\\);/i", "define('UC_APPID', '{$appid}');"); $s = insertconfig($s, "/define\\('UC_PPP',\\s*'?.*?'?\\);/i", "define('UC_PPP', '20');"); $s = insertconfig($s, "/\\?\\>/", "?>"); return file_put_contents($config_file, $s); }
function save_uc_config($config, $file) { $success = false; list($appauthkey, $appid, $ucdbhost, $ucdbname, $ucdbuser, $ucdbpw, $ucdbcharset, $uctablepre, $uccharset, $ucapi, $ucip) = explode('|', $config); if ($content = file_get_contents($file)) { $content = trim($content); $content = substr($content, -2) == '?>' ? substr($content, 0, -2) : $content; $link = mysql_connect($ucdbhost, $ucdbuser, $ucdbpw, 1); $uc_connnect = $link && mysql_select_db($ucdbname, $link) ? 'mysql' : ''; $content = insertconfig($content, "/define\\('UC_CONNECT',\\s*'.*?'\\);/i", "define('UC_CONNECT', '{$uc_connnect}');"); $content = insertconfig($content, "/define\\('UC_DBHOST',\\s*'.*?'\\);/i", "define('UC_DBHOST', '{$ucdbhost}');"); $content = insertconfig($content, "/define\\('UC_DBUSER',\\s*'.*?'\\);/i", "define('UC_DBUSER', '{$ucdbuser}');"); $content = insertconfig($content, "/define\\('UC_DBPW',\\s*'.*?'\\);/i", "define('UC_DBPW', '{$ucdbpw}');"); $content = insertconfig($content, "/define\\('UC_DBNAME',\\s*'.*?'\\);/i", "define('UC_DBNAME', '{$ucdbname}');"); $content = insertconfig($content, "/define\\('UC_DBCHARSET',\\s*'.*?'\\);/i", "define('UC_DBCHARSET', '{$ucdbcharset}');"); $content = insertconfig($content, "/define\\('UC_DBTABLEPRE',\\s*'.*?'\\);/i", "define('UC_DBTABLEPRE', '`{$ucdbname}`.{$uctablepre}');"); $content = insertconfig($content, "/define\\('UC_DBCONNECT',\\s*'.*?'\\);/i", "define('UC_DBCONNECT', '0');"); $content = insertconfig($content, "/define\\('UC_KEY',\\s*'.*?'\\);/i", "define('UC_KEY', '{$appauthkey}');"); $content = insertconfig($content, "/define\\('UC_API',\\s*'.*?'\\);/i", "define('UC_API', '{$ucapi}');"); $content = insertconfig($content, "/define\\('UC_CHARSET',\\s*'.*?'\\);/i", "define('UC_CHARSET', '{$uccharset}');"); $content = insertconfig($content, "/define\\('UC_IP',\\s*'.*?'\\);/i", "define('UC_IP', '{$ucip}');"); $content = insertconfig($content, "/define\\('UC_APPID',\\s*'?.*?'?\\);/i", "define('UC_APPID', '{$appid}');"); $content = insertconfig($content, "/define\\('UC_PPP',\\s*'?.*?'?\\);/i", "define('UC_PPP', '20');"); if (@file_put_contents($file, $content)) { $success = true; } } return $success; }
<input type="button" name="exit" value="<?php echo $lang['exit']; ?> " style="height: 25" onClick="javascript: window.close();"> </form> </td> </tr> <?php } } elseif ($action == 'environment') { $dbname = $_POST['type'] == 1 ? $_POST['dbname'] : $_POST['dbnameselect']; $dbname = setconfig($dbname); $configfile = file_get_contents(CYASK_ROOT . '/config.inc.php'); $configfile = trim($configfile); $configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile; $configfile = insertconfig($configfile, "/[\$]dbname\\s*\\=\\s*[\"'].*?[\"'];/is", "\$dbname = '{$dbname}';"); file_put_contents(CYASK_ROOT . '/config.inc.php', $configfile); include CYASK_ROOT . '/config.inc.php'; include CYASK_ROOT . '/include/db_' . $database . '.php'; $db = new db_sql(); $db->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect); $msg = ''; $quit = FALSE; $curr_os = PHP_OS; if (version_compare(PHP_VERSION, '4.3.5') == -1) { $msg .= "<font color=\"#FF0000\">{$lang['php_version_435']}</font>\t"; $quit = TRUE; } if (@ini_get(file_uploads)) { $max_size = @ini_get(upload_max_filesize); $curr_upload_status = $lang['attach_enabled'] . $max_size;
require './config.inc.php'; $connect = 'mysql'; $samelink = $dbhost == $settingsnew['uc']['dbhost'] && $dbuser == $settingsnew['uc']['dbuser'] && $dbpw == $ucdbpassnew; $samecharset = !($dbcharset == 'gbk' && UC_DBCHARSET == 'latin1' || $dbcharset == 'latin1' && UC_DBCHARSET == 'gbk'); $configfile = insertconfig($configfile, "/define\\('UC_DBHOST',\\s*'.*?'\\);/i", "define('UC_DBHOST', '" . $settingsnew['uc']['dbhost'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_DBUSER',\\s*'.*?'\\);/i", "define('UC_DBUSER', '" . $settingsnew['uc']['dbuser'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_DBPW',\\s*'.*?'\\);/i", "define('UC_DBPW', '" . $ucdbpassnew . "');"); $configfile = insertconfig($configfile, "/define\\('UC_DBNAME',\\s*'.*?'\\);/i", "define('UC_DBNAME', '" . $settingsnew['uc']['dbname'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_DBTABLEPRE',\\s*'.*?'\\);/i", "define('UC_DBTABLEPRE', '`" . $settingsnew['uc']['dbname'] . '`.' . $settingsnew['uc']['dbtablepre'] . "');"); //$configfile = insertconfig($configfile, "/define\('UC_LINK',\s*'?.*?'?\);/i", "define('UC_LINK', ".($samelink && $samecharset ? 'TRUE' : 'FALSE').");"); } $configfile = insertconfig($configfile, "/define\\('UC_CONNECT',\\s*'.*?'\\);/i", "define('UC_CONNECT', '{$connect}');"); $configfile = insertconfig($configfile, "/define\\('UC_KEY',\\s*'.*?'\\);/i", "define('UC_KEY', '" . $settingsnew['uc']['key'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_API',\\s*'.*?'\\);/i", "define('UC_API', '" . $settingsnew['uc']['api'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_IP',\\s*'.*?'\\);/i", "define('UC_IP', '" . $settingsnew['uc']['ip'] . "');"); $configfile = insertconfig($configfile, "/define\\('UC_APPID',\\s*'?.*?'?\\);/i", "define('UC_APPID', '" . $settingsnew['uc']['appid'] . "');"); $fp = fopen('./config.inc.php', 'w'); if (!($fp = @fopen('./config.inc.php', 'w'))) { cpmsg('uc_config_write_error', '', 'error'); } @fwrite($fp, trim($configfile)); @fclose($fp); } $nohtmlarray = array('bbname', 'regname', 'reglinkname', 'icp', 'sitemessage'); foreach ($nohtmlarray as $k) { if (isset($settingsnew[$k])) { $settingsnew[$k] = dhtmlspecialchars($settingsnew[$k]); } } if (isset($settingsnew['censoruser'])) { $settingsnew['censoruser'] = trim(preg_replace("/\\s*(\r\n|\n\r|\n|\r)\\s*/", "\r\n", $settingsnew['censoruser']));
function write_basic_config($file) { $fp = fopen($file, 'r'); $configfile = fread($fp, filesize($file)); $configfile = trim($configfile); $configfile = substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) : $configfile; fclose($fp); $configfile = insertconfig($configfile, '.*', 'include_once("webim/config.php");'); $fp = fopen($file, 'w'); if (!($fp = @fopen($file, 'w'))) { show_msg('请确认文件 config.inc.php 可写'); } @fwrite($fp, trim($configfile)); @fclose($fp); }