<?php
namespace App\Controller\Resources;
use Pimcore\Controller\FrontendController;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Routing\Annotation\Route;
use Pimcore\Localization\LocaleServiceInterface;
use Pimcore\Model\DataObject\ClassDefinition\Service;
use App\Model\Product\AbstractProduct;
use Pimcore\Bundle\EcommerceFrameworkBundle\Factory;
use Pimcore\Model\DataObject\Slider;
use Pimcore\Model\DataObject\Resourcecategory;
use Pimcore\Model\DataObject\Resources;
use Pimcore\Model\DataObject\Userloyaltyprogram;
use Pimcore\Model\DataObject\NewsLetterHeader;
class resourcedetailController extends FrontendController
{
public function resourcedetailAction(Request $request){
$url = $request->get('url');
$resources = new Resources\Listing();
$resources->setCondition("url IN (?)", [[$url]]);
$resources->load();
$id = 0;
foreach($resources as $resource){
$id= $resource->getId(); }
$uid = $this->get('session')->get('loginUID');
$Liked_detail_article = new Userloyaltyprogram\Listing();
$Liked_detail_article->setCondition("op_name = ? and u_id = ? and obj_mod_name = ? and obj_data__id = ?",['Like',$uid,'Article',$id]);
$Liked_detail_article->load();
$related_article_Ids=[];
foreach($resources as $resource){
$id= $resource->getId();
for($i = 0; $i<(count($resource->getRelated_article())); $i++){
$related_article_Ids[] = $resource->getRelated_article()[$i]->getId();
}
}
$Liked_related_article = new Userloyaltyprogram\Listing();
$Liked_related_article->setCondition("op_name = ? and u_id = ? and obj_mod_name = ? and obj_data__id IN (?)",['Like',$uid,'Article',$related_article_Ids]);
$Liked_related_article->load();
$Liked_related_article_Ids = [];
foreach($Liked_related_article as $liked_related_article){
$Liked_related_article_Ids[]= $liked_related_article->getObj_id();
}
// More Topics
$more_topics = new Resourcecategory\Listing();
$more_topics->setCondition("o_parentId = 269");
$more_topics->load();
$newsletter = NewsLetterHeader::getByPath("/NewsLetterHead/Newsletter");
//latestPdf
$newsletterLatest = new NewsLetterHeader\Listing();
$newsletterLatest->setCondition('o_id NOT IN (?)',[$newsletter->getId()]);
$newsletterLatest->setOrderKey("oo_id");
$newsletterLatest->setOrder("desc");
$newsletterLatest->setLimit('1');
$newsletterLatest->load();
$newsletterLatest= $newsletterLatest->current() ?? null;
$pdf = "";
if ($newsletterLatest) {
$pdf = $newsletterLatest->getPdf();
}else{
$pdf = $newsletter->getPdf();
}
return $this->render('Resources/resource_detail.html.twig', [
'resource' => $resource,
'more_topics' => $more_topics,
'Liked_detail_article'=>$Liked_detail_article,
'Liked_related_article_Ids'=>$Liked_related_article_Ids,
'newsletter' => $newsletter,
'newsletterPdf' => $pdf,
]);
}
/**
* @Route("/{locale}/resource", name="resource")
*/
public function redirectresourceDetailAction(Request $request)
{
$weblink = $request->get('locale');
return $this->redirect('/'.$weblink.'/resources',301);
}
}
?>