public function QueryFile($token, $type, $fname) { $token_c = new \lib\Token_Core(); $ret_h = new \proto\RetHead(array('ret' => 4, 'msg' => 'query file [' . $fname . '] token invalid!')); if ($token_c->is_token($token)) { $Bucket_name = self::_get_bucket_name_by_ftype($type); $host = CEPH_HOST; $aws_key = session('user_key'); $aws_secret_key = session('user_secret_key'); $conn = new cephService($host, $aws_key, $aws_secret_key); $ret = $conn->queryFile($Bucket_name, $fname); $arr_ret = array('objid' => $fname, 'filesize' => '', 'lastModified' => '', 'ftype' => $type); if ($ret['status'] === 0) { $arr_ret['filesize'] = $ret['filesize']; $arr_ret['lastModified'] = is_numeric($ret['lasttime']) ? (int) $ret['lasttime'] : 0; $ret_h->ret = $ret['status']; $ret_h->msg = ''; } else { $ret_h->ret = $ret['status']; $ret_h->msg = $ret['msg']; } $fileinfo = new FileInfo($arr_ret); } $ret = array('result' => $ret_h, 'finfo' => isset($fileinfo) ? $fileinfo : new FileInfo()); $QF_ret = new QueryFResult($ret); return $QF_ret; }
public function delObj($token, $oid, $type) { $ret = array('ret' => 1, 'msg' => 'delete object token invalid!'); $token_c = new \lib\Token_Core(); if ($token_c->is_token($token)) { if (in_array($type, self::_get_user_all_ftype())) { $Bucket_name = self::_get_bucket_name_by_ftype($type); $host = CEPH_HOST; $aws_key = session('user_key'); $aws_secret_key = session('user_secret_key'); $conn = new cephService($host, $aws_key, $aws_secret_key); $q_ret = $conn->queryFile($Bucket_name, $oid); if ($conn->deleteObject($Bucket_name, $oid)) { $ret = array('ret' => 0, 'msg' => ''); try { $user = new UserService(); if ($q_ret['status'] === 0) { $filesize = $q_ret['filesize']; $user_space = $user->querySpace(session('userid')); $user->updateUserUspace(session('userid'), $user_space['uspace'] - intval($filesize)); } } catch (Exception $e) { } } else { $ret = array('ret' => 2, 'msg' => 'delete object failed!'); } } else { $ret = array('ret' => 3, 'msg' => 'delete object error,INVAILD_PARAMETER!'); } } $ret_h = new \proto\RetHead($ret); return $ret_h; }