| Current Path : /home/megadansyp/www/components/com_eventgallery/library/ |
| Current File : /home/megadansyp/www/components/com_eventgallery/library/imagelineitem.php |
<?php
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
class EventgalleryLibraryImagelineitem extends EventgalleryLibraryLineitem
{
/**
* @var EventgalleryLibraryFile
*/
protected $_file = null;
/**
* @var EventgalleryLibraryImagetype
*/
protected $_imagetype = null;
/**
* @var string
*/
protected $_lineitem_table = 'Imagelineitem';
protected $_ls_caption = NULL;
protected $_ls_title = NULL;
/**
* creates the lineitem object. The given $lineitem can be an stdClass object or a id of a line item.
* This is necessary since a lineitemcontainer can already preload it's line items with a single query.
*
* @param $lineitem
*/
function __construct($lineitem)
{
parent::__construct($lineitem);
$this->_ls_title = new EventgalleryLibraryDatabaseLocalizablestring($this->_lineitem->original_filetitle);
$this->_ls_caption = new EventgalleryLibraryDatabaseLocalizablestring($this->_lineitem->original_filecaption);
}
/**
* @return string
*/
public function getMiniCartThumb()
{
return $this->getFile()->getMiniCartThumb($this);
}
/**
* @return string
*/
public function getCartThumb()
{
if ($this->getFile() != null) {
return $this->getFile()->getCartThumb($this);
}
return "";
}
/**
* @return string
*/
public function getOrderThumb()
{
if ($this->getFile() != null) {
return $this->getFile()->getOrderThumb($this);
}
return "";
}
/**
* @return string
*/
public function getMailThumbUrl()
{
if ($this->getFile() != null) {
return $this->getFile()->getMailThumbUrl($this);
}
return "";
}
/**
* @return EventgalleryLibraryFile|null
*/
public function getFile()
{
if ($this->_file == null) {
/**
* @var EventgalleryLibraryFactoryFile $fileFactory
*/
$fileFactory = EventgalleryLibraryFactoryFile::getInstance();
try {
$this->_file = $fileFactory->getFile($this->_lineitem->folder, $this->_lineitem->file);
} catch (InvalidArgumentException $e) {
}
}
return $this->_file;
}
/**
* @return string
*/
public function getFileName()
{
return $this->_lineitem->file;
}
/**
* @return string
*/
public function getFolderName()
{
return $this->_lineitem->folder;
}
/**
* @return EventgalleryLibraryImagetype|null
*/
public function getImageType()
{
/**
* @var EventgalleryLibraryFactoryImagetype $imagetypeMgr
*/
$imagetypeMgr = EventgalleryLibraryFactoryImagetype::getInstance();
if ($this->_imagetype == null) {
$this->_imagetype = $imagetypeMgr->getImagetypeById($this->_lineitem->imagetypeid);
}
return $this->_imagetype;
}
/**
* @return string
*/
public function getBuyerNote()
{
return $this->_lineitem->buyernote;
}
/**
* @param string $note
*/
public function setBuyerNote($note)
{
$this->_lineitem->buyernote = $note;
$this->_store();
}
/**
* @return string
*/
public function getSellerNote()
{
return $this->_lineitem->sellernote;
}
/**
* @param int $imagetypeid
*
* @throws Exception
*/
public function setImageType($imagetypeid)
{
$newImageType = $this->getFile()->getImageTypeSet()->getImageType($imagetypeid);
/* @var $newImageType EventgalleryLibraryImagetype */
if ($newImageType == null) {
$newImageType = $this->getFile()->getImageTypeSet()->getDefaultImageType();
}
$this->_lineitem->imagetypeid = $newImageType->getId();
$this->_lineitem->singleprice = $newImageType->getPrice()->getAmount();
$this->_lineitem->currency = $newImageType->getPrice()->getCurrency();
$this->_store();
$this->_imagetype = null;
}
public function getOriginalFilename() {
return $this->_lineitem->original_filename;
}
/**
* Returns the title of the image
*
* @param string $languageTag
* @return string
*/
public function getFileTitle($languageTag = null) {
if (null == $this->_ls_title) {
return "";
}
return $this->_ls_title->get($languageTag);
}
/**
* Returns the title of the image
*
* @param string $languageTag
* @return string
*/
public function getFileCaption($languageTag = null) {
if ($this->_ls_caption == null) {
return "";
}
return $this->_ls_caption->get($languageTag);
}
/**
* Return true if the price of that item is included in the price of another line item.
*
* @return bool
*/
public function isPriceIncluded() {
return $this->_lineitem->priceincluded == 1;
}
/**
* @param $isIncluded bool
*/
public function setPriceIncluded($isIncluded) {
$isIncluded?$this->_lineitem->priceincluded=1:$this->_lineitem->priceincluded=0;
$this->_store();
}
}