src/AppBundle/Controller/RestfulController.php line 158

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Component\HttpFoundation\Request;
  5. //use AppBundle\Model\UserService;
  6. use AppBundle\Model\Restful;
  7. //use Pimcore\Model\User\Listing;
  8. use Pimcore\Model\DataObject;
  9. use AppBundle\Model\CustomObject;
  10. use Pimcore\Model\Asset;
  11. //use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  12. class RestfulController
  13. {
  14.     //private $userListing;
  15.     private $_apiKey;
  16.     //private $userService;
  17.     private $resfulModel;
  18.     public function __construct()
  19.     {
  20.         //$this->userListing = new Listing();
  21.         
  22.         //$this->userService = new UserService();
  23.         $this->resfulModel = new Restful();
  24.     }
  25.     /*
  26.         @param: id
  27.     */
  28.     public function getImageByAssetId(Request $request)
  29.     {
  30.         // Get api key
  31.         $this->_apiKey $request->get('apikey');
  32.         $assetId $request->get('id');
  33.         $ratio $request->get('ratio');
  34.         // Authen api key
  35.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  36.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  37.         $asset Asset::getById($assetId);
  38.         $paramOutputJson = array(
  39.             'status' => 'success',
  40.             'http_code' => 'ok'
  41.         );
  42.         if($asset === null)
  43.         {
  44.             $paramOutputJson['message'] = 'Image Not Found';
  45.             $paramOutputJson['data'] = array();
  46.         }
  47.         else
  48.         {
  49.             $paramOutputJson['message'] = 'OK';
  50.             $paramOutputJson['data'] = array(
  51.                 'asset_id' => $assetId,
  52.                 'url' => $this->resfulModel->getSiteUrlProtocal() . $request->server->get('HTTP_HOST') . $asset->getThumbnail($ratio)->getPath(),
  53.                 'ratio' => $ratio
  54.             );
  55.         }
  56.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  57.     }
  58.     public function getObjects(Request $request)
  59.     {
  60.         // Get api key
  61.         $this->_apiKey $request->get('apikey');
  62.         // Category name
  63.         $catName $request->get('category');
  64.         // Authen api key
  65.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  66.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  67.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  68.         $objectModel = new CustomObject('privilege');
  69.         $resDataArray $objectModel->getObjects($lang$catName);
  70.         $paramOutputJson = array(
  71.             'status' => 'success',
  72.             'message' => 'OK',
  73.             'http_code' => 'ok',
  74.             'data' => $resDataArray
  75.         );
  76.         
  77.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  78.     }
  79.     /*
  80.         @param: key, path, optional, lang
  81.     */
  82.     public function getObject(Request $request)
  83.     {
  84.         // Get api key
  85.         $this->_apiKey $request->get('apikey');
  86.         // Authen api key
  87.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  88.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  89.         $key $request->get('key');
  90.         $path $request->get('path');
  91.         $external_key $request->get('external_key');
  92.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  93.         $objectModel = new CustomObject('privilege');
  94.         $resDataArray $objectModel->getObject(
  95.             array(
  96.                 'key' => $key
  97.                 'path' => $path
  98.                 'external_key' => $external_key,
  99.                 'lang' => $lang
  100.             )
  101.         );
  102.         $paramOutputJson = array();
  103.         if( empty($resDataArray) )
  104.         {
  105.             $paramOutputJson['status'] = 'error';
  106.             $paramOutputJson['http_code'] = 'ok';
  107.             $paramOutputJson['message'] = 'Content Not Found';
  108.             $paramOutputJson['data'] = array();
  109.         }
  110.         else
  111.         {
  112.             $paramOutputJson['status'] = 'success';
  113.             $paramOutputJson['http_code'] = 'ok';
  114.             $paramOutputJson['message'] = 'OK';
  115.             $paramOutputJson['data'] = $resDataArray;
  116.         }
  117.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  118.     }
  119.     public function getContentKiosByContainer(Request $request)
  120.     {
  121.         // Get api key
  122.         $this->_apiKey $request->get('apikey');
  123.         // Authen api key
  124.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  125.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  126.         $container $request->get('container');
  127.         if( $container == null )
  128.         {
  129.             $paramOutputJson['status'] = 'error';
  130.             $paramOutputJson['http_code'] = 'unprocessable_entity';
  131.             $paramOutputJson['message'] = 'Parameter containers is require';
  132.             $paramOutputJson['data'] = array();
  133.             return $this->resfulModel->generateResponseJson($paramOutputJson);
  134.         }
  135.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  136.         $objectName 'KiosCMS';
  137.         $objectModel = new CustomObject($objectName);
  138.         $resDataArray $objectModel->getObjectKiosCMS(
  139.             array(
  140.                 'container' => $container,
  141.                 'objectName' => $objectName,
  142.                 'lang' => $lang
  143.             )
  144.         );
  145.         $paramOutputJson = array(
  146.             'status' => 'success',
  147.             'message' => 'OK',
  148.             'http_code' => 'ok',
  149.             'data' => $resDataArray
  150.         );
  151.         
  152.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  153.     }
  154.     /*
  155.         @param: key, path, optional, lang
  156.     */
  157.     public function getPromoKios(Request $request)
  158.     {
  159.         // Get api key
  160.         $this->_apiKey $request->get('apikey');
  161.         // Authen api key
  162.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  163.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  164.         $key $request->get('key');
  165.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  166.         if($key != ""){
  167.             $key_arr explode(",",$key);
  168.             $objectModel = new CustomObject('KiosPromotion');
  169.             $resDataArray $objectModel->getPromoKios($key_arr,$lang);
  170.             $paramOutputJson = array(
  171.                 'status' => 'success',
  172.                 'message' => 'OK',
  173.                 'http_code' => 'ok',
  174.                 'data' => $resDataArray
  175.             );
  176.         }
  177.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  178.     }
  179.     public function getPromoKiosLocation(Request $request)
  180.     {
  181.         // Get api key
  182.         $this->_apiKey $request->get('apikey');
  183.         // Authen api key
  184.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  185.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  186.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  187.         $branch $request->get('branch');
  188.         if($branch != ""){
  189.             $objectModel = new CustomObject('KiosPromotion');
  190.             $resDataArray $objectModel->getPromoKiosLocation($lang,$branch);
  191.             $paramOutputJson = array(
  192.                 'status' => 'success',
  193.                 'message' => 'OK',
  194.                 'http_code' => 'ok',
  195.                 'data' => $resDataArray
  196.             );
  197.         }
  198.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  199.     }
  200.     /*
  201.         @param: key, path, optional, lang
  202.     */
  203.     public function getPromoKiosByCate(Request $request)
  204.     {
  205.         // Get api key
  206.         $this->_apiKey $request->get('apikey');
  207.         // Authen api key
  208.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  209.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  210.         $cate $request->get('cate');
  211.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  212.         if($cate != ""){
  213.             $objectModel = new CustomObject('KiosPromotion');
  214.             $resDataArray $objectModel->getPromoKiosByCate($cate,$lang);
  215.             $paramOutputJson = array(
  216.                 'status' => 'success',
  217.                 'message' => 'OK',
  218.                 'http_code' => 'ok',
  219.                 'data' => $resDataArray
  220.             );
  221.         }
  222.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  223.     }
  224.     public function getCatePromokios(Request $request){
  225.         // Get api key
  226.         $this->_apiKey $request->get('apikey');
  227.         // Authen api key
  228.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  229.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  230.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  231.         $objectModel = new CustomObject('KiosCatePromotion');
  232.         $resDataArray $objectModel->getCatePromoKios($lang);
  233.         $paramOutputJson = array(
  234.             'status' => 'success',
  235.             'message' => 'OK',
  236.             'http_code' => 'ok',
  237.             'data' => $resDataArray
  238.         );
  239.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  240.     }
  241.     public function getAllBrandPromokios(Request $request){
  242.         // Get api key
  243.         $this->_apiKey $request->get('apikey');
  244.         // Authen api key
  245.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  246.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  247.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  248.         $objectModel = new CustomObject('KiosCatePromotion');
  249.         $resDataArray $objectModel->getAllBrandPromokios($lang);
  250.         $paramOutputJson = array(
  251.             'status' => 'success',
  252.             'message' => 'OK',
  253.             'http_code' => 'ok',
  254.             'data' => $resDataArray
  255.         );
  256.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  257.     }
  258.     public function getMediaByLocation(Request $request){
  259.         // Get api key
  260.         $this->_apiKey $request->get('apikey');
  261.         // Authen api key
  262.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  263.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  264.         $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  265.         $location $request->get('location');
  266.         if(!empty($location)) {
  267.             $app $request->get("app");
  268.             if($app == ""){
  269.                 $app '/Kios/';
  270.             }
  271.             $objectModel = new CustomObject('MediaByLocation');
  272.             $resDataArray $objectModel->getMediaLocation($location,$lang,$app);
  273.             $paramOutputJson = array(
  274.                 'status' => 'success',
  275.                 'message' => 'OK',
  276.                 'http_code' => 'ok',
  277.                 'data' => $resDataArray
  278.             );
  279.         }
  280.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  281.     }
  282.     public function getVersion(Request $request){
  283.             // Get api key
  284.             $this->_apiKey $request->get('apikey');
  285.             // Authen api key
  286.             $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  287.             if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  288.             $key $request->get('key');
  289.             $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  290.             $id  $request->get('id');
  291.                 $objectModel = new CustomObject('KiosPromotion');
  292.                 $resDataArray $objectModel->getVersion($id);
  293.                 $paramOutputJson = array(
  294.                     'status' => 'success',
  295.                     'message' => 'OK',
  296.                     'http_code' => 'ok',
  297.                     'data' => $resDataArray
  298.                 );
  299.             return $this->resfulModel->generateResponseJson($paramOutputJson);
  300.     }
  301.     public function getPromoCoupon(Request $request){
  302.         // Get api key
  303.         $this->_apiKey $request->get('apikey');
  304.         // Authen api key
  305.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  306.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  307.             $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  308.             $location = ($request->get('location')) ? $request->get('location') : '';
  309.             $campaign = ($request->get('campaign')) ? $request->get('campaign') : '';
  310.             $shop_name = ($request->get('shop_name')) ? $request->get('shop_name') : '';
  311.             $highlight = ($request->get('highlight')) ? $request->get('highlight') : '';
  312.             $promotion_code = ($request->get('promotion_code')) ? $request->get('promotion_code') : '';
  313.             $branch = ($request->get('branch')) ? $request->get('branch') : '';
  314.             $objectModel = new CustomObject('KiosPromoCoupon');
  315.             $resDataArray $objectModel->getKiosPromoCoupon($location,$lang,$campaign,$shop_name,$promotion_code,$branch,$highlight);
  316.             $paramOutputJson = array(
  317.                 'status' => 'success',
  318.                 'message' => 'OK',
  319.                 'http_code' => 'ok',
  320.                 'data' => $resDataArray
  321.             );
  322.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  323.     }
  324.     public function getPromoShop(Request $request){
  325.         // Get api key
  326.         $this->_apiKey $request->get('apikey');
  327.         // Authen api key
  328.         $authenResult $this->resfulModel->authenApiKeyUser($this->_apiKey);
  329.         if ( !$authenResult['valid'] ) { return $authenResult['response']; }
  330.             $lang = ($request->get('lang')) ? $request->get('lang') : 'en';
  331.             $branch = ($request->get('branch')) ? $request->get('branch') : '';
  332.             $objectModel = new CustomObject('KiosPromoCoupon');
  333.             $resDataArray $objectModel->getPromoShop($branch,$lang);
  334.             $paramOutputJson = array(
  335.                 'status' => 'success',
  336.                 'message' => 'OK',
  337.                 'http_code' => 'ok',
  338.                 'data' => $resDataArray
  339.             );
  340.         return $this->resfulModel->generateResponseJson($paramOutputJson);
  341.     }
  342. }