function install_uc_server() { global $db, $dbhost, $dbuser, $dbpw, $dbname, $tablepre, $username, $password, $email; $ucsql = file_get_contents(ROOT_PATH . './uc_server/install/uc.sql'); $uctablepre = $tablepre . 'ucenter_'; $ucsql = str_replace(' uc_', ' ' . $uctablepre, $ucsql); $ucsql && runucquery($ucsql, $uctablepre); $appauthkey = _generate_key(); $ucdbhost = $dbhost; $ucdbname = $dbname; $ucdbuser = $dbuser; $ucdbpw = $dbpw; $ucdbcharset = DBCHARSET; $uccharset = CHARSET; $pathinfo = pathinfo($_SERVER['PHP_SELF']); $pathinfo['dirname'] = substr($pathinfo['dirname'], 0, -8); $appurl = 'http://' . preg_replace("/\\:\\d+/", '', $_SERVER['HTTP_HOST']) . ($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 ? ':' . $_SERVER['SERVER_PORT'] : '') . $pathinfo['dirname']; $ucapi = $appurl . '/uc_server'; $ucip = ''; $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']); $db->query("INSERT INTO {$uctablepre}applications SET name='Discuz! Board', url='{$appurl}', ip='{$ucip}', authkey='{$appauthkey}', synlogin='******', charset='{$charset}', dbcharset='{$dbcharset}', type='DISCUZX', recvnote='1', tagtemplates='{$apptagtemplates}'", $link); $appid = $db->insert_id($link); $db->query("ALTER TABLE {$uctablepre}notelist ADD COLUMN app{$appid} tinyint NOT NULL"); $config = array($appauthkey, $appid, $ucdbhost, $ucdbname, $ucdbuser, $ucdbpw, $ucdbcharset, $uctablepre, $uccharset, $ucapi, $ucip); save_uc_config($config, ROOT_PATH . './config/config_ucenter.php'); $salt = substr(uniqid(rand()), -6); $passwordmd5 = md5(md5($password) . $salt); $db->query("INSERT INTO {$uctablepre}members SET {$sqladd} username='******', password='******', email='{$email}', regip='hidden', regdate='" . time() . "', salt='{$salt}'"); $uid = $db->insert_id(); $db->query("INSERT INTO {$uctablepre}memberfields SET uid='{$uid}'"); $db->query("INSERT INTO {$uctablepre}admins SET\r\n\t\tuid='{$uid}',\r\n\t\tusername='******',\r\n\t\tallowadminsetting='1',\r\n\t\tallowadminapp='1',\r\n\t\tallowadminuser='******',\r\n\t\tallowadminbadword='1',\r\n\t\tallowadmincredits='1',\r\n\t\tallowadmintag='1',\r\n\t\tallowadminpm='1',\r\n\t\tallowadmindomain='1',\r\n\t\tallowadmindb='1',\r\n\t\tallowadminnote='1',\r\n\t\tallowadmincache='1',\r\n\t\tallowadminlog='1'"); uc_write_config($config, ROOT_PATH . './uc_server/data/config.inc.php', $password); //vot @unlink(ROOT_PATH.'./uc_server/install/index.php'); @unlink(ROOT_PATH . './uc_server/data/cache/settings.php'); @touch(ROOT_PATH . './uc_server/data/upgrade.lock'); @touch(ROOT_PATH . './uc_server/data/install.lock'); dir_clear(ROOT_PATH . './uc_server/data/cache'); dir_clear(ROOT_PATH . './uc_server/data/view'); }
$error_admin['email'] = 'admin_email_invalid'; } else { $salt = substr(uniqid(rand()), -6); $password = md5(md5($password1) . $salt); $db->query("INSERT INTO {$uctablepre}members SET {$sqladd} username='******', password='******', email='{$email}', regip='hidden', regdate='" . time() . "', salt='{$salt}'"); $uid = $db->insert_id(); $db->query("INSERT INTO {$uctablepre}memberfields SET uid='{$uid}'"); } } else { empty($username) && ($error_admin['username'] = 1); empty($email) && ($error_admin['email'] = 1); empty($password1) && ($error_admin['password1'] = 1); $password1 != $password2 && ($error_admin['password2'] = 1); } $db->query("INSERT INTO {$uctablepre}admins SET\r\n\t\t\t\tuid='{$uid}',\r\n\t\t\t\tusername='******',\r\n\t\t\t\tallowadminsetting='1',\r\n\t\t\t\tallowadminapp='1',\r\n\t\t\t\tallowadminuser='******',\r\n\t\t\t\tallowadminbadword='1',\r\n\t\t\t\tallowadmincredits='1',\r\n\t\t\t\tallowadmintag='1',\r\n\t\t\t\tallowadminpm='1',\r\n\t\t\t\tallowadmindomain='1',\r\n\t\t\t\tallowadmindb='1',\r\n\t\t\t\tallowadminnote='1',\r\n\t\t\t\tallowadmincache='1',\r\n\t\t\t\tallowadminlog='1'"); uc_write_config($config, DISCUZ_ROOT . './uc_server/data/config.inc.php', $password1); @unlink(DISCUZ_ROOT . './uc_server/data/cache/settings.php'); } if (!$error_config && !$error_admin) { $step++; redirect("{$self}?step={$step}&uid={$uid}&username="******"&email=" . rawurlencode($email) . "&password=" . md5($password1)); } } else { $email = '*****@*****.**'; $username = '******'; $password = $password2 = ''; } if (!$error_config) { show_tips('tips_db_config'); } else { show_error('tips_db_config', $error_config);