Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }