You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
277 lines
7.6 KiB
277 lines
7.6 KiB
<?php
|
|
// 第三方登录接口,安装与卸载
|
|
/**
|
|
**/
|
|
|
|
define('IN_ECS' ,true);
|
|
include_once(dirname(__FILE__) . '/includes/init.php');
|
|
define('WEBSITE' , true);
|
|
admin_priv('website');
|
|
|
|
if($_REQUEST['act'] == 'list')
|
|
{
|
|
|
|
|
|
$web = getWebsiteList();
|
|
$name = '';
|
|
foreach($web as $key=>$val)
|
|
{
|
|
$name .= $val['name'] .',';
|
|
}
|
|
|
|
$smarty->assign('warning' , $_LANG['warning']);
|
|
$smarty->assign('website_name' , $name); // 取回已有插件
|
|
$smarty->assign('action_link' , array('href' => 'website.php?act=init' , 'text' => $_LANG['init']));
|
|
$smarty->assign('ur_here' , $_LANG['ur_here']);
|
|
$smarty->assign('website' , $web);
|
|
assign_query_info();
|
|
$smarty->display('website.htm');
|
|
}
|
|
elseif($_REQUEST['act'] == 'batch')
|
|
{
|
|
$type = $_REQUEST['type'];
|
|
|
|
// 生成的类
|
|
$name = $_REQUEST['checkboxes'];
|
|
if(empty($name) || !is_array($name))
|
|
{
|
|
$link[0] = array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']);
|
|
sys_msg($_LANG['batch_yes'] , 0 , $link);
|
|
}
|
|
|
|
switch($type)
|
|
{
|
|
// 生成调用代码
|
|
case 'create':
|
|
$web = getWebsiteList();
|
|
$show_name = getInt('is_show_name');
|
|
$show_title = getInt('is_show_title');
|
|
$show_help = getInt('is_show_help');
|
|
$is_open = getInt('is_open');
|
|
|
|
$url = $ecs->url().'ss';
|
|
$url = dirname($url).'/';
|
|
|
|
|
|
foreach($web as $key=>$val)
|
|
{
|
|
$web[$val['type']] = $val;
|
|
}
|
|
|
|
$name = array();
|
|
$className = array();
|
|
$t = array();
|
|
$help = array();
|
|
foreach($_REQUEST['checkboxes'] as $val)
|
|
{
|
|
if(!empty($web[$val]))
|
|
{
|
|
if($web[$val]['install'] == 1)
|
|
{
|
|
if( $show_name )
|
|
{
|
|
$name[] = $web[$val]['name'];
|
|
}
|
|
|
|
if( $show_help )
|
|
{
|
|
$help[] = $web[$val]['name'] . $_LANG['login'];
|
|
}
|
|
|
|
$className[] = $web[$val]['className'];
|
|
$t[] = $web[$val]['type'];
|
|
}
|
|
}
|
|
}
|
|
|
|
$date = 'JnToo'.date('YmdHis');
|
|
|
|
|
|
$contents = 'new website( "'.$url.'" , "'.join('|' , $t).'" , "'.join( '|' , $className).'" , '.
|
|
($show_name ? '"'.join('|' , $name).'"' : 'false').' , '.($show_title ? '"'.$_LANG['qita'].'"' : 'false').','.
|
|
($show_help ? '"'.join('|' , $help).'"' : 'false').' , '.($is_open ? 'true' : 'false').' ,"{$back_act}", "'.$date.'" )';
|
|
|
|
$smarty->assign('evaljavascript' , $contents);
|
|
$smarty->assign('scriptsrc' , $url.'js/website.js');
|
|
assign_query_info();
|
|
|
|
$smarty->assign('action_link' , array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']));
|
|
$smarty->display('website_view.htm');
|
|
exit();
|
|
break;
|
|
case 'uninstall':
|
|
break;
|
|
}
|
|
$link[0] = array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']);
|
|
sys_msg($_LANG['batch_yes'] , 0 , $link);
|
|
}
|
|
elseif($_REQUEST['act'] == 'install' || $_REQUEST['act'] == 'view')
|
|
{
|
|
$view = $_REQUEST['act'] == 'view';
|
|
$type = getChar('type');
|
|
if(!$type) header('Location: website.php?act=list');
|
|
$filepath = ROOT_PATH . 'includes/website/';
|
|
|
|
if(file_exists($filepath .$type.'.php'))
|
|
{
|
|
include_once($filepath .$type.'.php');
|
|
$info = $web[$i];
|
|
|
|
}
|
|
|
|
if($view)
|
|
{
|
|
if(file_exists($filepath .'config/'.$type.'_config.php'))
|
|
{
|
|
include_once($filepath .'config/'.$type.'_config.php');
|
|
|
|
if(!empty($config))
|
|
{
|
|
$smarty->assign('config' , $config);
|
|
}
|
|
|
|
//$smarty->assign('app_key' , APP_KEY);
|
|
//$smarty->assign('app_secret',APP_SECRET);
|
|
$sql = 'SELECT rank_id,rank_name FROM '.$ecs->table('user_rank').' WHERE rank_id=\''.RANK_ID.'\'';
|
|
$smarty->Assign('rank' , $db->getRow($sql));
|
|
}
|
|
}
|
|
|
|
$smarty->assign('lang' ,$_LANG);
|
|
$smarty->assign('info' , $info);
|
|
$smarty->assign('ur_here' , $view ? $_LANG['ur_view'] : $_LANG['ur_install']);
|
|
$smarty->assign('action_link' , array('href'=>'website.php?act=list' , 'text' => $_LANG['webstte_list']));
|
|
$smarty->assign('type' , $type);
|
|
$smarty->assign('act' , $view ? 'update_website' : 'query_install');
|
|
assign_query_info();
|
|
$smarty->display('website_install.htm');
|
|
}
|
|
|
|
elseif($_REQUEST['act'] == 'query_install' || $_REQUEST['act'] == 'update_website')
|
|
{
|
|
|
|
$type = getChar('type');
|
|
|
|
//$app_key = getChar('app_key');
|
|
//$app_secret = getChar('app_secret');
|
|
|
|
$rank_name = getChar('rank_name');
|
|
$rank_id = getInt('rank_id');
|
|
$query = $_REQUEST['act'] == 'query_install';
|
|
$olb_rank_name = getChar('olb_rank_name');
|
|
if($query || !$rank_id)
|
|
{
|
|
$sql = 'INSERT INTO '.$ecs->table('user_rank').'(`rank_name` , `discount` , `special_rank`,`show_price`) VALUES'.
|
|
"('$rank_name' , '100' , '1','0')";
|
|
$db->query($sql);
|
|
$rank_id = $db->insert_id();
|
|
}
|
|
else
|
|
{
|
|
if($rank_name != $olb_rank_name && $rank_id)
|
|
{
|
|
$sql = 'UPDATE '.$ecs->table('user_rank').' SET `rank_name` = '."'$rank_name' WHERE `rank_id`='$rank_id'";
|
|
$db->query($sql);
|
|
}
|
|
}
|
|
|
|
$commnet = '<?php '.
|
|
"\r\n // 第三方插件登录信息---------------------\r\n".
|
|
"define('RANK_ID' , '$rank_id'); \r\n";
|
|
|
|
foreach($_POST['jntoo'] as $key => $val)
|
|
{
|
|
$commnet .= "define('$key' , '$val'); \r\n";
|
|
$commnet .= "\$config['$key'] = '$val'; \r\n";
|
|
}
|
|
|
|
|
|
|
|
$commnet .= '?>';
|
|
$filename = ROOT_PATH . 'includes/website/config/'.$type.'_config.php';
|
|
|
|
file_put_contents($filename , $commnet);
|
|
$link[0] = array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']);
|
|
assign_query_info();
|
|
|
|
sys_msg(($query ? $_LANG['yes_install'] : $_LANG['yes_update']) , 0 , $link);
|
|
}
|
|
elseif($_REQUEST['act'] == 'uninstall')
|
|
{
|
|
$type = getChar('type');
|
|
$filepath = ROOT_PATH . 'includes/website/';
|
|
$link[0] = array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']);
|
|
if(file_exists($filepath .'config/'.$type.'_config.php'))
|
|
{
|
|
include_once($filepath .'config/'.$type.'_config.php');
|
|
if(!defined(RANK_ID))
|
|
$db->query('DELETE FROM '.$ecs->table('user_rank').' WHERE `rank_id`=\''.RANK_ID.'\'');
|
|
@unlink($filepath .'config/'.$type.'_config.php');
|
|
assign_query_info();
|
|
sys_msg($_LANG['yes_uninstall'] , 0 , $link);
|
|
}
|
|
assign_query_info();
|
|
sys_msg($_LANG['no_uninstall'] , 1 , $link);
|
|
}
|
|
elseif($_REQUEST['act'] == 'init')
|
|
{
|
|
$fields = $db->getCol('DESC '.$ecs->table('users'));
|
|
$init = true;
|
|
foreach($fields as $val)
|
|
{
|
|
if($val == 'aite_id')
|
|
{
|
|
$init = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
$link[0] = array('href' => 'website.php?act=list' , 'text' => $_LANG['webstte_list']);
|
|
if($init)
|
|
{
|
|
$sql = 'ALTER TABLE '.$ecs->table('users').' ADD `aite_id` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `user_id`';
|
|
$db->query($sql);
|
|
}
|
|
assign_query_info();
|
|
sys_msg($_LANG['yes_init'] , 0 , $link);
|
|
}
|
|
|
|
|
|
function getInt($name , $def = 0)
|
|
{
|
|
return empty($_REQUEST[$name]) ? $def : intval($_REQUEST[$name]);
|
|
}
|
|
|
|
function getChar($name , $def = '')
|
|
{
|
|
return empty($_REQUEST[$name]) ? $def : htmlspecialchars(trim($_REQUEST[$name]));
|
|
}
|
|
|
|
function getWebsiteList()
|
|
{
|
|
$filepath = ROOT_PATH . 'includes/website/';
|
|
$openfn = opendir($filepath);
|
|
$name = '';
|
|
$web = array();
|
|
while($file = readdir($openfn))
|
|
{
|
|
if($file != '.' && $file != '..' && $file != 'jntoo.php' && $file != 'config' && $file != 'tb_callback.php' && $file != 'tb_index.php' && substr($file , strlen($file)-4) == '.php' && substr($file , 0 , 3) != 'cls')
|
|
{
|
|
include_once($filepath . $file);
|
|
|
|
if(file_exists($filepath.'config/'.$web[$i]['type'].'_config.php')) // 检查是否已经安装
|
|
{
|
|
$web[$i]['install'] = 1;
|
|
}
|
|
else
|
|
{
|
|
$web[$i]['install'] = 0;
|
|
}
|
|
$web[$i]['path'] = $filepath.$file;
|
|
$web[$i]['file'] = $file;
|
|
}
|
|
}
|
|
closedir($openfn);
|
|
return $web;
|
|
}
|
|
?>
|