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()); } }