Esempio n. 1
0
 public function rentVideo()
 {
     $video_id = (int) $_REQUEST['video_id'];
     $price = $_REQUEST['price'];
     $user = User::getInstance(Stb::getInstance()->id);
     $response = array();
     try {
         $package = $user->getPackageByVideoId($video_id);
         if (empty($package)) {
             throw new Exception(_('Server error'));
         }
         if ($price === '0') {
             $oss_result = true;
         } else {
             $oss_result = $user->subscribeToPackage($package['id']);
         }
         $response['result'] = $oss_result;
         $response['rent_duration'] = $package['rent_duration'];
         $response['package_id'] = $package['id'];
         $rent_session_id = $user->rentVideo($video_id, $price);
         $response['rent_info'] = Mysql::getInstance()->from('video_rent')->where(array('id' => $rent_session_id))->get()->first();
         $response['rent_info']['expires_in'] = User::humanDateDiff($response['rent_info']['rent_end_date'], $response['rent_info']['rent_date']);
     } catch (OssDeny $e) {
         $response['message'] = $e->getMessage();
         Stb::logOssError($e);
     } catch (OssException $e) {
         $response['message'] = _('This operation is temporarily unavailable.');
         Stb::logOssError($e);
     } catch (Exception $e) {
         $response['message'] = $e->getMessage();
         Stb::logOssError($e);
     }
     return $response;
 }
Esempio n. 2
0
 public function getInfoFromOSS()
 {
     try {
         return OssWrapper::getWrapper()->getUserInfo($this);
     } catch (OssException $e) {
         Stb::logOssError($e);
         return array('status' => 0);
     }
 }