108 lines
3.1 KiB
PHP
Executable File
108 lines
3.1 KiB
PHP
Executable File
<?php
|
||
/*
|
||
* @link http://kodcloud.com/
|
||
* @author warlee | e-mail:kodcloud@qq.com
|
||
* @copyright warlee 2014.(Shanghai)Co.,Ltd
|
||
* @license http://kodcloud.com/tools/license/license.txt
|
||
*/
|
||
class userShare extends Controller{
|
||
private $sql;
|
||
function __construct(){
|
||
parent::__construct();
|
||
$this->sql=new FileCache(USER.'data/share.php');
|
||
}
|
||
/**
|
||
* 获取
|
||
*/
|
||
public function get() {
|
||
$list = $this->sql->get();
|
||
foreach($list as $key=>&$val){
|
||
//unset($val['sharePassword']);
|
||
}
|
||
return $list;
|
||
}
|
||
|
||
//检测该目录是否已被共享
|
||
public function checkByPath(){
|
||
$this->in['path'] = _DIR_CLEAR($this->in['path']);
|
||
$shareInfo = $this->sql->get('path',$this->in['path']);
|
||
if (!$shareInfo) {
|
||
show_json('',false);//没有找到
|
||
}else{
|
||
show_json($shareInfo,true,$this->get());
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 编辑
|
||
*/
|
||
public function set(){
|
||
if (!$this->in['name'] || !$this->in['path'] || !$this->in['type']){
|
||
show_json(LNG('data_not_full'),false);
|
||
}
|
||
$shareInfo = array(
|
||
'mtime' => time(),//更新则记录最后时间
|
||
'sid' => isset($this->in['sid'])?$this->in['sid']:'',
|
||
'type' => $this->in['type'],
|
||
'path' => _DIR_CLEAR($this->in['path']),
|
||
'name' => $this->in['name'],
|
||
'showName' => isset($this->in['showName'])?$this->in['showName']:$this->in['name'],
|
||
'timeTo' => isset($this->in['timeTo'])?$this->in['timeTo']:'',
|
||
'sharePassword' => isset($this->in['sharePassword'])?$this->in['sharePassword']:'',
|
||
'codeRead' => isset($this->in['codeRead'])?$this->in['codeRead']:'',
|
||
'canUpload' => isset($this->in['canUpload'])?$this->in['canUpload']:'',
|
||
'notDownload' => isset($this->in['notDownload'])?$this->in['notDownload']:''
|
||
);
|
||
if(substr($shareInfo['path'],0,1) == '{'){//用户只能分享自己的目录;
|
||
show_json(LNG('path_can_not_action'),false);
|
||
}
|
||
|
||
$name = $shareInfo['name'];
|
||
$search = $this->sql->get('name',$name);
|
||
$i = 0;
|
||
while($i>200 || $search && $search['sid']!=$shareInfo['sid']){
|
||
$name = $shareInfo['name'].'('.$i.')';
|
||
$search = $this->sql->get('name',$name);
|
||
$i++;
|
||
}
|
||
if($i !=0){
|
||
$shareInfo['name'] = $name;
|
||
}
|
||
|
||
//含有sid则为更新,否则为插入
|
||
if (isset($this->in['sid']) && strlen($this->in['sid']) == 8) {
|
||
$infoNew = $this->sql->get($this->in['sid']);
|
||
foreach ($shareInfo as $key=>$val) {//只更新指定key
|
||
$infoNew[$key] = $val;
|
||
}
|
||
if($this->sql->set($this->in['sid'],$infoNew)){
|
||
show_json($infoNew,true,$this->get());
|
||
}
|
||
show_json(LNG('error'),false);
|
||
}else{//插入
|
||
$shareList = $this->sql->get();
|
||
$newId = rand_string(8);
|
||
while (isset($shareList[$newId])) {
|
||
$newId = rand_string(8);
|
||
}
|
||
$shareInfo['sid'] = $newId;
|
||
if($this->sql->set($newId,$shareInfo)){
|
||
show_json($shareInfo,true,$this->get());
|
||
}
|
||
show_json(LNG('error'),false);
|
||
}
|
||
show_json(LNG('error'),false);
|
||
}
|
||
|
||
/**
|
||
* 删除
|
||
*/
|
||
public function del() {
|
||
$list = json_decode($this->in['dataArr'],true);
|
||
foreach ($list as $val) {
|
||
$this->sql->remove($val['path']);
|
||
}
|
||
show_json(LNG('success'),true,$this->get());
|
||
}
|
||
}
|