📄 ftpmodel.php
字号:
<?php
/*
秀影6.0FTP链接控制器
Serv-u防盗控制
*/
class FtpModel {
private $DB;
public function __construct( $dblink = null){
if ( is_null( $dblink ) === false ){
$this->DB = $dblink;
}else{
$this->DB = $GLOBALS['DB'];
}
$license = $GLOBALS['license'];
if ($license['edition'] == 'Free'){
//exit;
}
}
/*public function set($username, $password, $usergroup, $url, $directory=null, $homedir=null){
$username = substr(md5($username), 8, 16);
if ( is_null($homedir) ){
$homedir = 'c:\\';
}
if ($usergroup){
$Group = new GroupModel();
$this->group = $Group->getRow( intval($usergroup) ); //组下载控制信息
}else{
echo '组未设置';
}
$pathinfo = parse_url($url);
$newurl = $pathinfo['scheme'] .'://'.$username.':'.$password.'@'.$pathinfo['host'].
(isset($pathinfo['port']) ? ':'.$pathinfo['port'] : '').'/'.$directory.$pathinfo['path'];
//echo $newurl;
$row = $this->DB->fetRow('select userid from ftpusers where userid=\''.addslashes($username).'\'');
$array = array();
$array['userid'] = $username;
$array['passwd'] = $password;
$array['homedir'] = $homedir;
$array['lockhome'] = 0;
$array['welcome'] = ROOT.'webcome.txt';
$array['maxsession'] = '2';
$array['maxip'] = (int)$this->group['maxip'];
$array['maxupload'] = 0;
$array['maxdownload'] = (int)$this->group['downspeed']*1024;
$array['timeout'] = 30;
if ($this->group['limitdata'] && intval($this->group['maxdata'])){
$array['quotetype'] = 4;
$array['uploads'] = 1;
$array['quotasize'] = 4; //启用流量控制
$array['downs'] = (int)$this->group['maxdata']*1024*1000; //限额
}
$array['deltime'] = date('Y-m-d H:i:s', strtotime('+2 DAYS'));
$array['sortindex'] = 1;
if (!$row['userid']){ //用户不存在时添加用户并且清理其他表记录
//$this->DB->delete('ftpuserip', )
$this->DB->insert('ftpusers', $array);
}else{ //否则用户已存在则更新表中的记录
$this->DB->update('ftpusers', $array, array('userid'=>$username));
}
unset($row);
$access = $directory.'|RP';
$this->DB->delete('ftpaccess', array('userid'=>$username, 'access'=>$access));
$this->DB->insert('ftpaccess', array('userid'=>$username, 'access'=>$access));
if ($this->group['lockip']){
$access = 'A|'.$_SERVER['REMOTE_ADDR'];
$this->DB->delete('ftpuserip', array('userid'=>$username));
$this->DB->insert('ftpuserip', array('userid'=>$username, 'access'=>$access));
}
return $newurl;
}*/
public function set($username, $password, $usergroup, $url, $directory=null, $homedir=null){
if ( is_null($homedir) ){
$homedir = 'c:\\';
}
if (!$usergroup){
$usergroup = 1;
}
$Group = new GroupModel();
$this->group = $Group->getAll(); //组下载控制信息
foreach ($this->group as $row){
$array = array();
$array['userid'] = $row['id'];
$array['passwd'] = md5($row['id']);
$array['homedir'] = $homedir;
$array['lockhome'] = 0;
$array['welcome'] = ROOT.'webcome.txt';
$array['maxsession'] = '2';
$array['maxip'] = $row['maxip'];
echo $array['maxip'];
print_R($row);
$array['maxupload'] = 0;
$array['maxdownload'] = (int)$row['downspeed']*1024;
$array['timeout'] = 30;
if ($row['limitdata'] && intval($row['maxdata'])){
$array['quotetype'] = 4;
$array['uploads'] = 1;
$array['quotasize'] = 4; //启用流量控制
$array['downs'] = (int)$row['maxdata']*1024*1000; //限额
}
$array['deltime'] = date('Y-m-d', time()+86400);
$array['sortindex'] = 1;
$rs = $this->DB->fetRow('select userid from ftpusers where userid=\''.$row['id'].'\'');
if ($rs['userid']){
$this->DB->update('ftpusers', $array, array('userid'=>$row['id']));
}else{
$this->DB->insert('ftpusers', $array);
}
if ($row['lockip']){ //控制锁定IP
$access = 'A|'.$_SERVER['REMOTE_ADDR'];
$deltime = time()-86400; //删除过期的绑定IP时间
$this->DB->delete('ftpuserip', 'deltime<'.$deltime);
$this->DB->insert('ftpuserip', array('userid'=>$row['id'], 'access'=>$access, 'deltime'=> time()+86400));
}
}
$pathinfo = parse_url($url);
$newurl = $pathinfo['scheme'] .'://'.$usergroup.':'.md5($usergroup).'@'.$pathinfo['host'].
(isset($pathinfo['port']) ? ':'.$pathinfo['port'] : '').$pathinfo['path'];
return $newurl;
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -