src/Controller/Trainings/TrainingController.php line 500

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Trainings;
  3. use Pimcore\Controller\FrontendController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Pimcore\Localization\LocaleServiceInterface;
  8. use Pimcore\Model\DataObject\ClassDefinition\Service;
  9. use Pimcore\Model;
  10. use Pimcore\Model\DataObject\Trainings;
  11. use Pimcore\Model\DataObject\TrainingsCategory;
  12. use Pimcore\Model\DataObject\TrainingsFeatured;
  13. use Pimcore\Model\DataObject\TrainingsSpotlight;
  14. use Pimcore\Model\DataObject\Trainingstrending;
  15. use Pimcore\Model\DataObject\Userloyaltyprogram;
  16. use Pimcore\Model\DataObject\Events;
  17. use Pimcore\Model\DataObject\Slider;
  18. use Pimcore\Db;
  19. use Pimcore\Model\DataObject\TrainingsReview;
  20. use Pimcore\Model\DataObject;
  21. use Pimcore\Model\DataObject\ChefSpecial;
  22. use CustomerManagementFrameworkBundle\CustomerProvider\CustomerProviderInterface;
  23. use CustomerManagementFrameworkBundle\ActivityManager\ActivityManagerInterface;
  24. use Pimcore\Bundle\EcommerceFrameworkBundle\Factory;
  25. use App\Model\CustomerManagementFramework\Activity\TrainingActivity;
  26. use App\Helper\VideoHelper;
  27. use Pimcore\Model\User\Role;
  28. class TrainingController extends FrontendController
  29. {
  30.     protected $factory;
  31.      public function __construct(Factory $factory)
  32.     {
  33.         $this->factory $factory;
  34.     }
  35.   /**
  36.   * @Route("/maintraining", name="maintraining")
  37.  */
  38.     public function trainingActionRequest $request )
  39.     {
  40.             
  41.             $categories = new TrainingsCategory\Listing();
  42.             $categories->load();
  43.           
  44.             $featuredTraining = new Trainings\Listing();
  45.             $featuredTraining->setCondition('is_featured = ?'true);
  46.             $featuredTraining->setLimit('1');
  47.             $featuredTraining->load();
  48.             
  49.             $ftid 0;
  50.             foreach($featuredTraining as $FeaturedTraining){
  51.                 $ftid $FeaturedTraining->getId();
  52.                 break;}
  53.             $trending_training = new Trainingstrending\Listing();
  54.             $trending_training->setLimit('1');
  55.             $trending_training->load();
  56.            
  57.               $Ttid 0;
  58.                foreach($trending_training as $Trending_training){
  59.                    $Ttid $Trending_training->getId();
  60.                    $TrainingId $Trending_training->getTrending_training()[0]->getId();
  61.                    break;}
  62.                   
  63.                    $uid $this->get('session')->get('loginUID');
  64.                    $LikedTrending_Training = new Userloyaltyprogram\Listing();
  65.                    $LikedTrending_Training->setCondition("op_name = ? and u_id = ? and obj_data__id = ?",['Like',$uid,$TrainingId]);
  66.                    $LikedTrending_Training->load();
  67.                    //dd($LikedTrending_Training);
  68.                
  69.         
  70.             $MostpopularId = [];
  71.             $mostpopular = new Trainings\Listing();
  72.             $mostpopular->setCondition("o_id != ? and o_id != ?",[$ftid,$Ttid]);
  73.             $mostpopular->load();
  74.             foreach($mostpopular as $Mostpopular){
  75.                 $MostpopularId[] = $Mostpopular->getId();
  76.                
  77.                 }
  78.                 $uid $this->get('session')->get('loginUID');
  79.                 $LikedPopular_Training = new Userloyaltyprogram\Listing();
  80.                 $LikedPopular_Training->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$MostpopularId]);
  81.                 $LikedPopular_Training->load();
  82.                 $LikedPopular_TrainingId = [];
  83.                 foreach($LikedPopular_Training as $likedPopular_Training){
  84.                     $LikedPopular_TrainingId[] = $likedPopular_Training->getObj_id();
  85.                 }
  86.     
  87.             $trainingsSpotlight = new TrainingsSpotlight\Listing();
  88.             $trainingsSpotlight->load();      
  89.             
  90.             $chefVideo = new Trainings\Listing();
  91.             $chefVideo->setCondition("chef_recomended = ?",['1']);
  92.             $chefVideo->load();
  93.            
  94.           
  95.             
  96.             $chefIds = [];
  97.             foreach($chefVideo as $ChefVideo){
  98.                 $chefIds[]=$ChefVideo->getId();
  99.             } 
  100.           
  101.             $uid $this->get('session')->get('loginUID');
  102.             $LikedChef_Training = new Userloyaltyprogram\Listing();
  103.             $LikedChef_Training->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$chefIds]);
  104.             $LikedChef_Training->load(); 
  105.             $LikedChef_TrainingId =[];
  106.                 foreach($LikedChef_Training as $likedChef_Training){
  107.                     $LikedChef_TrainingId[] = $likedChef_Training->getObj_id();
  108.                 }
  109.                
  110.             $randomVideo = new Trainings\Listing();
  111.             $randomVideo->load();
  112.             $ulimit $randomVideo->getCount()-1;
  113.             $num rand(0, (int)$ulimit );
  114.             $roles = new Role\Listing();
  115.             $roles->setOrderKey('name');
  116.             $roles->setOrder("ASC");
  117.             $roles->load();
  118.             $featured_events = new Events\Listing();
  119.             $featured_events->setCondition('featured IN (?)','1');
  120.            // $featured_events->addConditionParam('date_time >= ?',time());
  121.             $featured_events->setLimit(1);
  122.             $featured_events->load();
  123.             $F_event_id 0;
  124.             foreach($featured_events as $Featured_events){
  125.                 $F_event_id=$Featured_events->getId();
  126.                 break;}
  127.                // dd($F_event_id);
  128.                 $uid $this->get('session')->get('loginUID');
  129.                 $LikedEventfeature = new Userloyaltyprogram\Listing();
  130.                 $LikedEventfeature->setCondition("op_name = ? and u_id = ? and obj_data__id = ?",['Like',$uid,$F_event_id]);
  131.                 $LikedEventfeature->load();
  132.                 //dd(count($LikedEventfeature));
  133.                 //dd($LikedEventfeature);
  134.                 
  135.             return $this->render('Trainings/training.html.twig',
  136.                 [
  137.                     //'videos' => $video,
  138.                    // 'videoPop' => $videoPop,
  139.                     'categories' => $categories,
  140.                     'featuredTraining' => $FeaturedTraining,
  141.                     'mostpopular' => $mostpopular,
  142.                     'trending' => $Trending_training,
  143.                     'trainingsSpotlight' => $trainingsSpotlight,
  144.                     'chef_pick' => $chefVideo,
  145.                     'titleVideo'  =>  $randomVideo->getData()[$num],
  146.                     'roles'  =>  $roles,
  147.                     'Featured_events'  =>  $Featured_events,
  148.                     'LikedEventfeature'  =>  $LikedEventfeature,
  149.                     'LikedTrending_Training'  =>  $LikedTrending_Training,
  150.                     'LikedChef_TrainingId'  =>  $LikedChef_TrainingId,
  151.                     'LikedPopular_TrainingId'  =>  $LikedPopular_TrainingId,
  152.                 ]
  153.             );
  154.     }
  155.     /**
  156.      * @Route("/training_detail", name="training_detail")
  157.     */
  158.     public function trainingDetailAction(
  159.         Request $request,
  160.         CustomerProviderInterface $customerProvider,
  161.         ActivityManagerInterface $activityManager
  162.         )
  163.     {
  164.         $locate $request->getLocale();
  165.         $url =  $request->get('turl');
  166.         //$url = "/" . $url; 
  167.         $ref $request->server->get('REDIRECT_URL');
  168.         $this->get('session')->set('refURL'$ref);
  169.         
  170.         //$prd = Db::get()->fetchAll("SELECT * FROM `object_url_slugs` WHERE slug = '" . $url . "'");
  171.        // $slug_id = $prd[0]['objectId'];
  172.         $email $this->get('session')->get('loginUserId');
  173.         if(!empty($email)){
  174.             $activeCustomer $customerProvider->getActiveCustomerByEmail($email);
  175.             $video = new Trainings\Listing();
  176.             $video->setCondition("turl = ?""$url");
  177.             $video->setLimit('1');
  178.             $video->load();
  179.             $id1 0;
  180.             foreach($video as $tr){
  181.                 $id1 $tr->getId();
  182.                 break;
  183.             }
  184.             $uid $this->get('session')->get('loginUID');
  185.             $Liked_training_detail_2 = new Userloyaltyprogram\Listing();
  186.             $Liked_training_detail_2->setCondition("op_name = ? and u_id = ? and obj_data__id = ?",['Like',$uid,$id1]);
  187.             $Liked_training_detail_2->load();
  188.             
  189.             $training_detail_2_id=0;
  190.             $training_detail_2_rel_course_id =[];
  191.             foreach($video as $videos){
  192.                $training_detail_2_id=  $videos->getO_id();
  193.                $total_training_detail_2_rel_course count($videos->getRelated_courses());
  194.                for($i =0$i<$total_training_detail_2_rel_course$i++){
  195.                 $training_detail_2_rel_course_id[] = $videos->getRelated_courses()[$i]->getId();
  196.                
  197.                }
  198.                break;
  199.             }
  200.            // dd($training_detail_2_rel_course_id);
  201.             $uid $this->get('session')->get('loginUID');
  202.             $Liked_training_detail_2_rel_course = new Userloyaltyprogram\Listing();
  203.             $Liked_training_detail_2_rel_course->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$training_detail_2_rel_course_id]);
  204.             $Liked_training_detail_2_rel_course->load(); 
  205.            // dd($Liked_training_detail_2_rel_course);
  206.             $Liked_training_detail_2_rel_course_id = [];
  207.                  foreach($Liked_training_detail_2_rel_course as $liked_training_detail_2_rel_course){
  208.                     $Liked_training_detail_2_rel_course_id[] = $liked_training_detail_2_rel_course->getObj_id();
  209.                 }
  210.             //dd(count($Liked_training_detail_2_rel_course_id));
  211.             $chefVideo = new Trainings\Listing();
  212.             $chefVideo->setCondition("chef_recomended = ?",['1']);
  213.             $chefVideo->load();
  214.             $chef_training_ids = [];
  215.             foreach($chefVideo as $hef_training){
  216.                 $chef_training_ids[] = $hef_training->getId();
  217.             }
  218.             //dd($chef_training_ids);
  219.             $uid $this->get('session')->get('loginUID');
  220.             $Liked_training_detail_2_chef_training = new Userloyaltyprogram\Listing();
  221.             $Liked_training_detail_2_chef_training->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$chef_training_ids]);
  222.             $Liked_training_detail_2_chef_training->load(); 
  223.             //dd($Liked_training_detail_1_chef_training);
  224.             $Liked_training_detail_2_chef_training_ids = [];
  225.                  foreach($Liked_training_detail_2_chef_training as $liked_training_detail_2_chef_training){
  226.                     $Liked_training_detail_2_chef_training_ids[] = $liked_training_detail_2_chef_training->getObj_id();
  227.                 }
  228.             $tc_id=$tr->getId();
  229.             $training Trainings::getById($id1);
  230.             $trainings_reviews = new TrainingsReview\Listing();
  231.             $trainings_reviews->setCondition('training_id__id IN (?)'$tc_id);
  232.                // Pagination
  233.                $limit 5;
  234.                if($request->get('page')){
  235.                    $page $request->get('page');            
  236.                }else{
  237.                    $page 0;
  238.                }
  239.                $start = ($page)*$limit;
  240.                $end $limit;
  241.                
  242.                $trainings_reviews->setOffset($start);
  243.                $trainings_reviews->setLimit($end);
  244.                $trainings_reviews->load();  
  245.             
  246.             $activityManager->trackActivity(new TrainingActivity($activeCustomer$training));           
  247.             if ($request->isXmlHttpRequest()) {                                 
  248.                 return $this->loadMoreComments($trainings_reviews);
  249.             } 
  250.             return $this->render('Trainings/training_detail2.html.twig',
  251.                 [
  252.                     'tr' => $tr,
  253.                     'chef_pick' => $chefVideo,
  254.                     'trainingcomments' => $trainings_reviews,
  255.                     'Liked_training_detail_2'=>$Liked_training_detail_2,
  256.                     'Liked_training_detail_2_rel_course_id'=> $Liked_training_detail_2_rel_course_id,
  257.                     'Liked_training_detail_2_chef_training_ids'=>$Liked_training_detail_2_chef_training_ids,
  258.                     
  259.                     
  260.                 ]
  261.             );
  262.         } else {
  263.             return $this->redirect('/en/signin');
  264.         }
  265.     }
  266.     /**
  267.      * @Route("/training_reviews", name="training_reviews")
  268.     */
  269.     public function trainingReviewsAction(Request $request)
  270.     {
  271.         $success false;
  272.         $trainingurl $request->get('training_url');
  273.         //$trainings  = new Trainings\Listing();
  274.         $trainings Trainings::getById($request->get('training_id'));
  275.         $Review = new TrainingsReview();
  276.         $Review->setKey(strtotime(date('Y-m-d H:i:s')));
  277.         $Review->setParent(DataObject\Folder::getByPath('/Trainings_Reviews/'));
  278.         $Review->setName($request->get('name'));
  279.         $Review->setEmail($request->get('email'));
  280.         $Review->setComment($request->get('comments'));
  281.         $Review->setRating($request->get('addreviewrating'));
  282.         $Review->setTraining_id($trainings);
  283.         $Review->setMydate(date('Y-m-d'));
  284.         $Review->setPublished(false);
  285.         $d $Review->save();
  286.         if($d){
  287.             $success true;
  288.         }
  289.         //return $this->json(array('success' =>$success));
  290.         return $this->redirect('/'.$request->get('training_id').'/training_detail/'.$trainingurl301);
  291.     }
  292.     /**
  293.      * @Route("/training_list", name="training_list")
  294.     */
  295.     public function trainingListAction(Request $request)
  296.     {
  297.         $videos = new Trainings\Listing();
  298.         $videos->load();
  299.         $training_list_all_ids = [];
  300.         foreach($videos as $Videos){
  301.             $training_list_all_ids[]= $Videos->getId();
  302.         }
  303.         $uid $this->get('session')->get('loginUID');
  304.             $Liked_training_list = new Userloyaltyprogram\Listing();
  305.             $Liked_training_list->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$training_list_all_ids]);
  306.             $Liked_training_list->load(); 
  307.            // dd($Liked_training_list);
  308.             $Liked_training_list_Ids =[];
  309.                 foreach($Liked_training_list as $liked_training_list){
  310.                     $Liked_training_list_Ids[] = $liked_training_list->getObj_id();
  311.                 }
  312.        // dd($training_list_ids);
  313.         $chefs = new ChefSpecial\Listing();
  314.         $chefs->load();
  315.         $train_cat = new TrainingsCategory\Listing();
  316.         $train_cat->load();
  317.         $childList = array();
  318.         
  319.         foreach ($videos as $video) {            
  320.             if($video->getChildren()){
  321.                 $parent_id $video->getParentId();
  322.                 if($parent_id 198){
  323.                     $childList[] = $video->getChildren();
  324.                 }
  325.             }else{
  326.                 $childList[] = $video;
  327.             }            
  328.         }                
  329.         $get_param $request->query->all();
  330.         $category_ids   '';
  331.         $chef_ids      '';
  332.         $query          '';
  333.         $new_type   '';
  334.         if(!empty($get_param)){
  335.             foreach($get_param as $key => $value){
  336.                 if($key == 'category_id'){
  337.                     $category_ids .= str_replace('_',','$value);
  338.                 }               
  339.                 if($key == 'query'){
  340.                     $query $value;
  341.                 }
  342.                 if($key == 'chef'){
  343.                     $chef_ids .= str_replace('_',','$value);
  344.                 }
  345.                 if($key == 'type'){
  346.                     $new_type .= str_replace('_',','$value);
  347.                 }
  348.             }
  349.         }
  350.         
  351.         if(!empty($category_ids)){
  352.             $category_ids $category_ids;
  353.         }
  354.         
  355.         if(!empty($chef_ids)){
  356.             $chef_ids =  array_map('intval',explode(',',$chef_ids));
  357.         }   
  358.         
  359.         if(!empty($new_type)){
  360.             $new_type =  explode(',',$new_type);
  361.         }
  362.         
  363.         $strTraining $request->get('srchTrain');
  364.         $trainings = new Trainings\Listing();        
  365.         $trainings->setCondition("videoName LIKE ?", ["%$strTraining%"]);
  366.         if(!empty($category_ids)){            
  367.             $trainings->addConditionParam("trainingCategoryRelation__id REGEXP CONCAT('(^|,)(', REPLACE('$category_ids',',', '|'), ')(,|$)')");
  368.             $training_list_ids = [];
  369.             foreach($trainings as $Trainings){
  370.                 $training_list_ids[]= $Trainings->getId();
  371.             }
  372.             //dd($training_list_ids);
  373.         }
  374.         if(!empty($chef_ids)){
  375.             $trainings->addConditionParam("chef_relation__id IN (?)", [$chef_ids]);
  376.             $training_list_ids = [];
  377.             foreach($trainings as $Trainings){
  378.                 $training_list_ids[]= $Trainings->getId();
  379.             }
  380.             //dd($training_list_ids);
  381.         }
  382.         if(!empty($query)){
  383.             $trainings->addConditionParam("videoName LIKE " $chefs->quote("%$query%"));
  384.             $training_list_ids = [];
  385.             foreach($trainings as $Trainings){
  386.                 $training_list_ids[]= $Trainings->getId();
  387.             }
  388.            // dd($training_list_ids);
  389.         }
  390.         if(!empty($new_type)){
  391.             // $trainings->addConditionParam("meal_type IN (?)", [$new_type]);
  392.         }
  393.         
  394.         // Pagination
  395.         $limit 12;
  396.         if($request->get('page')){
  397.             $page $request->get('page');            
  398.         }else{
  399.             $page 0;
  400.         }
  401.         $start = ($page)*$limit;
  402.         $end $limit;
  403.         
  404.         $trainings->setOffset($start);
  405.         $trainings->setLimit($end);
  406.         $trainings->load();        
  407.         $filters = array(
  408.             'category_ids'      => $category_ids,
  409.             'chef_ids'          => $chef_ids,
  410.             'query'             => $query,
  411.             'new_type'          => $new_type,
  412.         );
  413.         if ($request->isXmlHttpRequest()) {
  414.             return $this->loadMoreProduct($trainings);
  415.         }
  416.         $loyalty_banner = new Slider\Listing();
  417.         $loyalty_banner->setCondition("o_id = 206");
  418.         $loyalty_banner->load();
  419.         foreach($loyalty_banner as $loyaltybanner){
  420.             break;
  421.         }
  422.         return $this->render('Trainings/training_listing.html.twig',
  423.             [
  424.                 'videos' => $trainings,
  425.                 'chefs' => $chefs,
  426.                 'trainCat' => $train_cat,
  427.                 'filters'  => $filters,
  428.                 'Liked_training_list_Ids' =>$Liked_training_list_Ids,
  429.                 'loyaltybanner' =>$loyaltybanner,
  430.             ]
  431.         );
  432.     }
  433.     /**
  434.      * @Route("/training_detail1", name="training_detail1")
  435.     */
  436.     public function trainingDetail1Action(Request $request
  437.             CustomerProviderInterface $customerProvider,
  438.             ActivityManagerInterface $activityManager
  439.         )
  440.     {
  441.         $url =  $request->get('turl');
  442.         $ref $request->server->get('REDIRECT_URL');
  443.         $this->get('session')->set('refURL'$ref);
  444.         //$url = "/" . $url; 
  445.         $locate $request->getLocale();
  446.         //dd($locate);
  447.         $link $request->server->get('HTTP_REFERER');
  448.         //$brlink = explode("//", $link);
  449.         //$nlnk = explode('/', $brlink[1]);
  450.         $locale '';
  451.         // if($nlnk[1]==$locate){
  452.         //     $locale = $locate;
  453.         // } else {
  454.         //     $locale = $nlnk[1];
  455.         // }
  456.         
  457.        //$prd = Db::get()->fetchAll("SELECT * FROM `object_url_slugs` WHERE slug = '" . $url . "'");
  458.        // $slug_id = $prd[0]['objectId'];
  459.         $email $this->get('session')->get('loginUserId');
  460.         if(!empty($email)){
  461.             $activeCustomer $customerProvider->getActiveCustomerByEmail($email);
  462.             $video = new Trainings\Listing();
  463.             $video->setCondition("turl = ?""$url");
  464.             $video->setLimit('1');
  465.             $video->load();
  466.            
  467.             $training_detail_1_id=0;
  468.             $training_detail_1_rel_course_id =[];
  469.             foreach($video as $videos){
  470.                $training_detail_1_id=  $videos->getO_id();
  471.                $total_training_detail_1_rel_course count($videos->getRelated_courses());
  472.                for($i =0$i<$total_training_detail_1_rel_course$i++){
  473.                 $training_detail_1_rel_course_id[] = $videos->getRelated_courses()[$i]->getId();
  474.                
  475.                }
  476.                break;
  477.             }
  478.            // dd($training_detail_1_rel_course_id);
  479.             $uid $this->get('session')->get('loginUID');
  480.             $Liked_training_detail_1_rel_course = new Userloyaltyprogram\Listing();
  481.             $Liked_training_detail_1_rel_course->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$training_detail_1_rel_course_id]);
  482.             $Liked_training_detail_1_rel_course->load(); 
  483.             $Liked_training_detail_1_rel_course_id = [];
  484.                  foreach($Liked_training_detail_1_rel_course as $liked_training_detail_1_rel_course){
  485.                     $Liked_training_detail_1_rel_course_id[] = $liked_training_detail_1_rel_course->getObj_id();
  486.                 }
  487.                  
  488.            //dd($Liked_training_detail_1_rel_course_id);
  489.             $uid $this->get('session')->get('loginUID');
  490.             $Liked_training_detail_1 = new Userloyaltyprogram\Listing();
  491.             $Liked_training_detail_1->setCondition("op_name = ? and u_id = ? and obj_data__id = ?",['Like',$uid,$training_detail_1_id]);
  492.             $Liked_training_detail_1->load(); 
  493.           
  494.         
  495.             $training Trainings::getById($training_detail_1_id);  
  496.            
  497.             
  498.             $chefVideo = new Trainings\Listing();
  499.             $chefVideo->setCondition("chef_recomended = ?",['1']);
  500.             $chefVideo->load();
  501.             $chef_training_ids = [];
  502.             foreach($chefVideo as $hef_training){
  503.                 $chef_training_ids[] = $hef_training->getId();
  504.             }
  505.             //dd($chef_training_ids);
  506.             $uid $this->get('session')->get('loginUID');
  507.             $Liked_training_detail_1_chef_training = new Userloyaltyprogram\Listing();
  508.             $Liked_training_detail_1_chef_training->setCondition("op_name = ? and u_id = ? and obj_data__id IN (?)",['Like',$uid,$chef_training_ids]);
  509.             $Liked_training_detail_1_chef_training->load(); 
  510.             //dd($Liked_training_detail_1_chef_training);
  511.             $Liked_training_detail_1_chef_training_ids = [];
  512.                  foreach($Liked_training_detail_1_chef_training as $liked_training_detail_1_chef_training){
  513.                     $Liked_training_detail_1_chef_training_ids[] = $liked_training_detail_1_chef_training->getObj_id();
  514.                 }
  515.                 //dd($Liked_training_detail_1_chef_training_ids);
  516.             
  517.             $activityManager->trackActivity(new TrainingActivity($activeCustomer$training));
  518.             return $this->render('Trainings/training_detail1.html.twig',
  519.                 [
  520.                     'tr' => $videos,
  521.                     'chef_pick' => $chefVideo,
  522.                     'Liked_training_detail_1' =>$Liked_training_detail_1,
  523.                     'Liked_training_detail_1_rel_course_id'=>$Liked_training_detail_1_rel_course_id,
  524.                     'Liked_training_detail_1_chef_training_ids'=>$Liked_training_detail_1_chef_training_ids,
  525.                 ]
  526.             );
  527.         } else {
  528.             return $this->redirect('/' $locate .'/signin');
  529.         }
  530.     }
  531.     /**
  532.      * @Route("products/{}/loadmore", name="loadmore")
  533.     */
  534.     public function loadMoreProduct($childList){
  535.         $more_product '';
  536.         foreach($childList as $training){
  537.             if($training->getVideos()[0]['title_img']->getData()){
  538.                 $image $training->getVideos()[0]['title_img']->getData();
  539.             } else{
  540.                 $image '';
  541.             }
  542.             $lessonCount = ($training->getLesson_count()==1)? $training->getLesson_count() . ' Lesson' $training->getLesson_count() . ' Lessons';
  543.             
  544.             $vh  = new VideoHelper;
  545.             $showTime $vh->seconds2humanTimes($training->getVideos()[0]['training_vid']->getData()->getData()->getCustomSettings()['duration']);
  546.             $duration $showTime->getContent();
  547.             
  548.             if($training->getTurl()){
  549.                // $url = $training->getTurl()[0]->getSlug();
  550.                 $url $training->getTurl();
  551.             } else{
  552.                 $url '';
  553.             }
  554.             $more_product .= '           
  555.                         <div class="slide-holder">
  556.                           <figure class="slide-img">
  557.                             <img src="' $image '" alt="' $training->getVideoName() .'">
  558.                           </figure>
  559.                           <div class="slide-content all-training-content">
  560.                             <div class="
  561.                                 course-hour-box-content
  562.                                 slide-content-feature
  563.                               ">
  564.                               <div class="
  565.                                   course-hour-box-content-lesson
  566.                                   slide-content-feature-lesson
  567.                                 ">
  568.                                 <span><img src="/bundles/static/assets/images/book.svg" alt="book"></span>
  569.                                 <span>' $lessonCount  .'</span>
  570.                               </div>
  571.                               <div class="
  572.                                   course-hour-box-content-clock
  573.                                   slide-content-feature-clock
  574.                                 ">
  575.                                 <span><img src="/bundles/static/assets/images/feather-clock.svg" alt="feather clock"></span>
  576.                                     <span>
  577.                                   ' $duration '                                
  578.                                 </span>
  579.                               </div>
  580.                             </div>
  581.                             <div class="frecipes-box all-training-frecipes">
  582.                               <h3>' $training->getVideoName() .'</h3>
  583.                               <p>
  584.                               ' $training->getDetails() .'
  585.                               </p>
  586.                             </div>
  587.                             <ul class="
  588.                                 list-unstyled
  589.                                 recipe-info
  590.                                 all-training-social
  591.                               ">
  592.                               <li class="share">Share</li>
  593.                               <li class="like">Like</li>
  594.                               <li class="save">Save</li>
  595.                             </ul>
  596.                           </div>
  597.                         </div>
  598.                 ';
  599.         }
  600.         return $this->json(array('success' => $more_product));        
  601.     }
  602.      /**
  603.      * @Route("products/{}/loadmore", name="loadmore")
  604.     */
  605.     public function loadMoreComments($reviews){
  606.         $more_reviews '';
  607.         foreach($reviews as $training){                  
  608.             $more_reviews .= ' <div class="col-12 col-xl-6">
  609.             <div class="comment-list-box">
  610.             <div class="comment-list-box-header">
  611.               <figure class="person-img">
  612.                 <img src="/bundles/static/assets/images/comment-01.jpg" alt="comment">
  613.               </figure>
  614.               <h5>' .  $training->getName() . '</h5>
  615.               <div class="rating">' $training->getRating() .'</div>
  616.             </div>
  617.             <p>
  618.             ' $training->getComment() .'
  619.             </p>
  620.             <div class="date">' date'd/m/Y' ,strtotime($training->getMydate())) .'</div>
  621.           </div>
  622.           </div>
  623.           ';
  624.         }
  625.         return $this->json(array('success' => $more_reviews));        
  626.     }
  627. }
  628. ?>