public function deleteObject($bucket_name, $object_name) { $Connection = isset($this->ceph_conn) ? $this->ceph_conn : $this->connectionCeph(); $user = new UserService(); $fileinfo = self::queryFile($bucket_name, ${$object_name}); if ($Connection->if_object_exists($bucket_name, $object_name)) { $res = $Connection->delete_object($bucket_name, $object_name); if (!$res->isOK()) { return false; } } elseif ($Connection->if_object_exists($bucket_name, $object_name . '~')) { $upload = $user->queryUserUploadId(session('userid'), $object_name); $Connection->abort_multipart_upload($bucket_name, $object_name . '~', $upload['uploadid']); $res = $Connection->delete_object($bucket_name, $object_name . '~'); if (!$res->isOK()) { return false; } } $user->deleteUserUploadMarker(session('userid'), $object_name); $part_file_path = session('user_upload_path') . DIRECTORY_SEPARATOR . $object_name . '~' . DIRECTORY_SEPARATOR; removeFile($part_file_path); if ($fileinfo['status'] == 0) { $filesize = $fileinfo['filesize']; $user_space = $user->querySpace(session('userid')); $user->updateUserUspace(session('userid'), $user_space['uspace'] - intval($filesize)); } return true; }
public function querusage($token, $type) { $ret = array('ret' => 4, 'msg' => 'query usage token invalid!'); $token_c = new \lib\Token_Core(); $usage = 0; if ($token_c->is_token($token)) { if ($type == 5) { $host = CEPH_HOST; $aws_key = session('user_key'); $aws_secret_key = session('user_secret_key'); $conn = new cephService($host, $aws_key, $aws_secret_key); $Buckets = array(); $userTypes = self::_get_user_all_ftype(); foreach ($userTypes as $type) { $Buckets[] = self::_get_bucket_name_by_ftype($type); } $usage = $conn->queryusage($Buckets); $ret = array('ret' => 0, 'msg' => 'query usage successfully!'); $user = new UserService(); $user->updateUserUspace(session("userid"), $usage); } else { $ret = array('ret' => 3, 'msg' => 'query usage ftype invalid!'); } } $ret_h = new \proto\RetHead($ret); $ret_fee = new \proto\UsageResult(array('result' => $ret_h, 'capacity' => session('space'), 'usage' => $usage)); return $ret_fee; }
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; }