<?php /** * eSales Media oxVoucher for Contao Open Source CMS * * Copyright (c) 2015 eSales Media * * @author Benjamin Roth [benjamin@esales-media.de] * @license proprietary */ namespace eSM_oxVoucher; class ModuleTicketSelect extends ModuleVoucher { /** * Template * @var string */ protected $strTemplate = 'mod_oxticket_select'; /** * Parse the template * @return string */ public function generate() { if (TL_MODE == 'BE') { /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_wildcard'); $objTemplate->wildcard = '### ' . utf8_strtoupper($GLOBALS['TL_LANG']['FMD']['oxticket_select'][0]) . ' ###'; $objTemplate->title = $this->headline; $objTemplate->id = $this->id; $objTemplate->link = $this->name; $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; return $objTemplate->parse(); } $this->importOxDbInstance(); return parent::generate(); } /** * Compile the current element */ protected function compile() { $arrTickets = array(); if ($this->oxticket_category) { $objStatement = $this->oxDB->prepare("SELECT a.OXID, a.OXTITLE, a.OXVARSELECT, a.OXPARENTID, pa.OXTITLE AS PARENTTITLE FROM oxv_oxarticles_de a JOIN oxobject2category ac ON a.OXID = ac.OXOBJECTID OR a.OXPARENTID = ac.OXOBJECTID LEFT JOIN oxv_oxarticles_de AS pa ON pa.OXID = a.OXPARENTID AND a.OXPARENTID != '' WHERE ac.OXCATNID = ? AND (a.OXACTIVE = '1' OR (a.OXACTIVETO IS NOT NULL AND a.OXACTIVETO != '0000-00-00 00:00:00' AND a.OXACTIVETO >= ?)) AND ((a.OXPARENTID = '' AND (SELECT COUNT(sa.OXID) FROM oxarticles sa WHERE sa.OXPARENTID = a.OXID) < 1) OR a.OXPARENTID != '') ORDER BY a.OXTITLE, PARENTTITLE, a.OXVARSELECT "); $objResult = $objStatement->execute($this->oxticket_category,date('Y-m-d H:i:s')); if ($objResult->numRows) { $arrTickets = $objResult->fetchAllAssoc(); } } $this->Template->selectOptions = $arrTickets; $this->Template->selectLabel = $GLOBALS['TL_LANG']['MSC']['oxTicket']['selectLabel']; $this->Template->submitLabel = $GLOBALS['TL_LANG']['MSC']['oxTicket']['submitLabel']; } }