📄 d60to70.php
字号:
$ucapi = preg_replace("/\/$/", '', trim($ucapi));
if(empty($ucapi)) {
instmsg('uc_url_empty');
} elseif(!preg_match("/^(http:\/\/)/i", $ucapi)) {
instmsg('uc_url_invalid');
}
if(!$ucip) {
parse_url($ucapi);
$matches = parse_url($ucapi);
$host = $matches['host'];
$port = !empty($matches['port']) ? $matches['port'] : 80;
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $host)) {
$ucip = gethostbyname($host);
$ucip = $ucip == $host ? '' : $ucip;
} else {
$ucip = $host;
}
}
$connect_error = false;
$pw_error = false;
if(!$ucip) {
$uciperror = $msglang['uc_ip_invalid'];
} else {
$app_tagtemplates = 'apptagtemplates[template]='.urlencode('<a href="{url}" target="_blank">{subject}</a>').'&'.
'apptagtemplates[fields][subject]='.urlencode($lang['tagtemplates_subject']).'&'.
'apptagtemplates[fields][uid]='.urlencode($lang['tagtemplates_uid']).'&'.
'apptagtemplates[fields][username]='.urlencode($lang['tagtemplates_username']).'&'.
'apptagtemplates[fields][dateline]='.urlencode($lang['tagtemplates_dateline']).'&'.
'apptagtemplates[fields][url]='.urlencode($lang['tagtemplates_url']);
$postdata = "m=app&a=add&release=20081212&ucfounderpw=".urlencode($ucfounderpw)."&apptype=".urlencode(APP_TYPE)."&appname=".urlencode(APP_NAME)."&appurl=".urlencode(APP_URL)."&appip=&appcharset=".APP_CHARSET.'&appdbcharset='.APP_DBCHARSET.'&'.$app_tagtemplates;
$s = dfopen($ucapi.'/index.php', 0, $postdata, '', 1, $ucip);
if(empty($s)) {
$connect_error = true;
$uciperror = $msglang['uc_ip_invalid'];
//instmsg($lang['uc_connent_invalid1'].$ucapi.' ('.$ucip.')'.$lang['uc_connent_invalid2']);
} elseif($s == '-1') {
$pw_error = $msglang['uc_admin_invalid'];
} else {
list($appauthkey, $appid, $ucdbhost, $ucdbname, $ucdbuser, $ucdbpw, $ucdbcharset, $uctablepre, $uccharset) = explode('|', $s);
if(empty($appauthkey) || empty($appid)) {
$connect_error = true;
$uciperror = $msglang['uc_ip_invalid'];
//instmsg('uc_data_invalid');
} else {
$discuzconfig = DISCUZ_ROOT.'./config.inc.php';
$link = mysql_connect($ucdbhost, $ucdbuser, $ucdbpw, 1);
$uc_connnect = $link && mysql_select_db($ucdbname, $link) ? 'mysql' : '';
$s = file_get_contents($discuzconfig);
$s = trim($s);
$s = substr($s, -2) == '?>' ? substr($s, 0, -2) : $s;
$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');");
$uctablepre = preg_replace("/(.+?\.)/", '', $uctablepre);
$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, "/define\('UC_LINK',\s*'?.*?'?\);/i", "define('UC_LINK', ".($samelink ? 'TRUE' : 'FALSE').");");
if(!($fp = @fopen($discuzconfig, 'w'))) {
instmsg('配置文件写入失败,请返回检查 ./config.inc.php 的权限是否为0777 ');
}
@fwrite($fp, $s);
@fclose($fp);
instmsg($lang['uc_appreg'].APP_NAME.$lang['uc_appreg_succeed'].'<form action="'.APP_NEXTSTEP.'" method="post">'.$apphidden.'</form><br /><a href="javascript:document.forms[0].submit();">'.$lang['uc_continue'].'</a><script type="text/javascript">setTimeout("document.forms[0].submit()", 1000);</script>');
}
}
}
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>?step=ucapi">
<table width="80%" cellspacing="1" bgcolor="#000000" border="0" align="center">
<tr bgcolor="#3A4273"><td style="color: #FFFFFF; padding-left: 10px" colspan="2"><?=$lang['uc_title_ucenter']?></td></tr>
<tr>
<td class="altbg1"><?=$lang['uc_url']?>:</td>
<td class="altbg2"><input class="txt" type="text" name="ucapi" id="ucapi" value="<?=$ucapi?>" size="60"></td>
</tr>
<?
if($uciperror || $connect_error) {
?>
<tr>
<td class="altbg1"><?=$lang['uc_ip']?>:</td>
<td class="altbg2"><input class="txt" type="text" name="ucip" value="<?=$ucip?>" size="60"><?=$uciperror?></td>
</tr>
<?
}
?>
<tr>
<td class="altbg1"><?=$lang['uc_adminpw']?>:</td>
<td class="altbg2"><input class="txt" type="password" name="ucfounderpw" id="ucfounderpw" size="30"><?=$pw_error?></td>
</tr>
</table>
<input type="hidden" name="apptype" value="<?=APP_TYPE?>">
<center>
<input type="button" name="ucsubmit" value=" <?=$lang['old_step']?> " style="height: 25" onclick="history.back()">
<input type="submit" name="ucsubmit" value=" <?=$lang['new_step']?> " style="height: 25"></center>
</center>
</form>
<?
instfooter();
exit;
} elseif($step == 'uc') {
if(!is_dir(DISCUZ_ROOT.'./uc_server')) {
instmsg('请上传uc_server的程序到论坛根目录的uc_server目录下,之后在执行本程序');
}
if(!is_writable(DISCUZ_ROOT.'./uc_server/data')) {
instmsg('请将论坛下 ./uc_server/data 目录以及下属目录属性设置为可写(777)');
}
if(!is_writable(DISCUZ_ROOT.'./uc_client/data')) {
instmsg('请将论坛下 ./uc_client/data 目录以及下属目录属性设置为可写(777)');
}
if(!empty($_GET['restart'])) {
@unlink(DISCUZ_ROOT.'forumdata/upgrademaxuid.log');
@unlink(DISCUZ_ROOT.'forumdata/upgrade.log');
@unlink(DISCUZ_ROOT.'forumdata/repeatuser.log');
}
$query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='bbname'");
$bbname = $db->result($query, 0);
define('APP_NAME', $bbname ? $bbname : $lang['uc_appname']);
define('APP_TYPE', 'DISCUZ');
define('APP_CHARSET', $charset);
define('APP_DBCHARSET', $dbcharset ? $dbcharset : (in_array(strtolower($charset), array('gbk', 'big5', 'utf-8')) ? str_replace('-', '', $charset) : 'gbk'));
define('APP_URL', strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/'))).'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')));
define('APP_NEXTSTEP', $_SERVER['PHP_SELF'].'?step=2');
$ucip = $ucapi = $uciperror = '';
if(!empty($_POST['ucsubmit'])) {
$username = getgpc('username', 'P');
$ucfounderpw = getgpc('ucfounderpw', 'P');
if(!$query = $db->query("SELECT * FROM {$tablepre}members WHERE username='".addslashes($username)."'")) {
instmsg('该用户不存在,请返回重填');
} else {
$admin = $db->fetch_array($query);
if($admin['password'] != md5($ucfounderpw)) {
instmsg('管理员账号错误,请返回修改');
}
}
$ucapi = APP_URL.'/uc_server';
if(empty($ucapi)) {
instmsg('uc_url_empty');
} elseif(!preg_match("/^(http:\/\/)/i", $ucapi)) {
instmsg('uc_url_invalid');
}
if(!$ucip) {
parse_url($ucapi);
$matches = parse_url($ucapi);
$host = $matches['host'];
$port = !empty($matches['port']) ? $matches['port'] : 80;
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $host)) {
$ucip = gethostbyname($host);
$ucip = $ucip == $host ? '' : $ucip;
} else {
$ucip = $host;
}
}
$connect_error = false;
$pw_error = false;
if(!$ucip) {
$uciperror = $msglang['uc_ip_invalid'];
} else {
$ucinstallsql = file_get_contents(DISCUZ_ROOT.'./uc_server/install/uc.sql');
$uctablepre = $tablepre.'uc_';
$ucinstallsql = str_replace(' uc_', ' '.$uctablepre, $ucinstallsql);
uc_config_edit();
runquery($ucinstallsql);
$app_tagtemplates = 'apptagtemplates[template]='.urlencode('<a href="{url}" target="_blank">{subject}</a>').'&'.
'apptagtemplates[fields][subject]='.urlencode($lang['tagtemplates_subject']).'&'.
'apptagtemplates[fields][uid]='.urlencode($lang['tagtemplates_uid']).'&'.
'apptagtemplates[fields][username]='.urlencode($lang['tagtemplates_username']).'&'.
'apptagtemplates[fields][dateline]='.urlencode($lang['tagtemplates_dateline']).'&'.
'apptagtemplates[fields][url]='.urlencode($lang['tagtemplates_url']);
$postdata = "m=app&a=add&release=20081212&ucfounderpw=".urlencode($ucfounderpw)."&apptype=".urlencode(APP_TYPE)."&appname=".urlencode(APP_NAME)."&appurl=".urlencode(APP_URL)."&appip=&appcharset=".APP_CHARSET.'&appdbcharset='.APP_DBCHARSET.'&'.$app_tagtemplates;
$s = dfopen($ucapi.'/index.php', 0, $postdata, '', 1, $ucip);
if(empty($s)) {
$connect_error = true;
$uciperror = $msglang['uc_ip_invalid'];
//instmsg($lang['uc_connent_invalid1'].$ucapi.' ('.$ucip.')'.$lang['uc_connent_invalid2']);
} elseif($s == '-1') {
$pw_error = $msglang['uc_admin_invalid'];
} else {
list($appauthkey, $appid, $ucdbhost, $ucdbname, $ucdbuser, $ucdbpw, $ucdbcharset, $uctablepre, $uccharset) = explode('|', $s);
if(empty($appauthkey) || empty($appid)) {
$connect_error = true;
$uciperror = $msglang['uc_ip_invalid'];
//instmsg('uc_data_invalid');
} else {
$s = file_get_contents(DISCUZ_ROOT.'./config.inc.php');
$s = trim($s);
$s = substr($s, -2) == '?>' ? substr($s, 0, -2) : $s;
$s = insertconfig($s, "/define\('UC_CONNECT',\s*'.*?'\);/i", "define('UC_CONNECT', 'mysql');");
$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');");
$uctablepre = preg_replace("/(.+?\.)/", '', $uctablepre);
$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');");
if(!($fp = @fopen(DISCUZ_ROOT.'./config.inc.php', 'w'))) {
instmsg('配置文件写入失败,请返回检查 ./config.inc.php 的权限是否为0777 ');
}
@fwrite($fp, $s);
@fclose($fp);
@touch(DISCUZ_ROOT.'./uc_server/data/install.lock');
instmsg("创建配置文件完毕", '?step=2&urladd='.$urladd);
}
}
}
}
?>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>?step=uc">
<table width="80%" cellspacing="1" bgcolor="#000000" border="0" align="center">
<tr bgcolor="#3A4273"><td style="color: #FFFFFF; padding-left: 10px" colspan="3">请输入您的管理员账号</td></tr>
<tr>
<td class="altbg1">管理员账号:</td>
<td class="altbg2"><input class="txt" type="text" name="username" id="username" value="" size="60"></td>
<td class="altbg1"></td>
</tr>
<tr>
<td class="altbg1">管理员密码:</td>
<td class="altbg2"><input class="txt" type="password" name="ucfounderpw" id="ucfounderpw" size="60"></td>
<td class="altbg1">此密码同时会作为 UCenter 的创始人密码</td>
</tr>
</table><br />
<center>
<input type="submit" name="ucsubmit" value="提交" style="height: 25">
</center>
</form>
<?
instfooter();
exit;
} elseif($step == 2) {
echo "<h4>用户数据导入到 UCenter</h4>";
$ucdb = new dbstuff();
$ucdb->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, 0, FALSE, UC_DBCHARSET);
$db->select_db($dbname);
if(empty($_POST['ucsubmit']) && getgpc('start') === NULL) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -