ACC SHELL
<?php
// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
class pageItemContent20 extends pageItemContent
{
private $_pageItemType = 20;
protected $_db;
private $_pageID;
private $_pathPage;
// --------------------------------------------------------------------------------
public function __construct( $db, $pageID, $_pathPage )
{
$this->_db = $db;
$this->_pageID = $pageID;
$this->_pathPage = '..' . $_pathPage . '/';
}
// --------------------------------------------------------------------------------
public function insert( $position )
{
$return = array();
if ( $this->_db->insertItem( 'pageItem', array( 'pageID'=>$this->_pageID, 'type'=>$this->_pageItemType, 'position'=>$position ) ) )
{
$newPageItemID = $this->_db->getLastID();
if ( $this->_db->insertItem( 'pageItemContent'.$this->_pageItemType, array() ) )
{
$newPageItemContentID = $this->_db->getLastID();
$this->_db->setItem( 'pageItem', $newPageItemID, array( 'pageItemContentID'=>$newPageItemContentID ) );
$return['statusOK'] = 'Změny byly uloženy.';
}
else
{
$this->_db->deleteItem( 'pageItem', $newPageItemID );
$return['statusError'] = 'Při ukládání dat(položky) vznikla chyba.';
}
}
else
{
$return['statusError'] = 'Při ukládání dat vznikla chyba.';
}
return $return;
}
// --------------------------------------------------------------------------------
public function delete( $pageItemID )
{
$return = array();
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
if ( isset( $pageItem['ID'] ) && isset( $pageItemContent['ID'] ) )
{
if ( $this->_db->deleteItem( 'pageItem', $pageItem['ID'] ) &&
$this->_db->deleteItem( 'pageItemContent'.$this->_pageItemType, $pageItemContent['ID'] ) )
{
$return['statusOK'] = 'Položka byla smazána.';
}
else
{
$return['statusError'] = 'Při mazání dat vznikla chyba.';
}
}
else
{
$return['statusError'] = 'Při pokuse o mazání dat vznikla chyba.';
}
return $return;
}
// --------------------------------------------------------------------------------
public function show( $pageItemID, $serverFullPath = '', $isAdmin = false )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
$htmlPageItem = new stdClass();
$htmlPageItem->pageItemID = $pageItemID;
// vybrat posledne pridane clanky, ktore su viditelne a aktualne
$currentDate = date('Y-m-d');
$removeOutdatedItems_sql = "
`visibilityStartDate`<='" . $currentDate . "' AND
( `visibilityEndDate` = '0000-00-00' OR `visibilityEndDate`>='" . $currentDate . "' )
";
$orderBy_sql = " ORDER BY `createdDateTimeOrder` DESC ";
$limit_sql = " LIMIT 20 ";
$articles = $this->_db->getAllItems( 'article', " WHERE " . $removeOutdatedItems_sql . $orderBy_sql . $limit_sql );
$articlesCount = count( $articles );
for ( $i = 0; $i < min(7, $articlesCount); $i++ )
{
if ( isset( $articles[$i] ) )
{
$article = $articles[$i];
$articleCategory = $this->_db->getItem( 'category', $article['categoryID'] );
$htmlPageItem->article[$i] = new stdClass();
$htmlPageItem->article[$i]->i = $i + 1;
$htmlPageItem->article[$i]->ID = $article['ID'];
$htmlPageItem->article[$i]->url = '/'.$articleCategory['url'].'/' . $article['url'];
$htmlPageItem->article[$i]->title = htmlspecialchars( $article['title'] );
$htmlPageItem->article[$i]->text = html_entity_decode( shortenText( strip_tags( $article['text'] ), 550 ), ENT_NOQUOTES, 'UTF-8' );
$htmlPageItem->article[$i]->imgSrc = '';
if ( $article['image'] != '' )
{
$htmlPageItem->article[$i]->imgSrc = '/data/article/mainImages/medium/' . $article['image'];
}
else
{
if ( $article['videoURL1'] != '' )
$htmlPageItem->article[$i]->imgSrc = getVideoImage( $article['videoURL1'] );
}
$datetime = date_create( $article['createdDateTimeOrder'] );
$htmlPageItem->article[$i]->date = date_format( $datetime, "d.m.Y" );
}
}
return sprintt( $htmlPageItem, $serverFullPath . 'class.pageItemContent' . $this->_pageItemType . '-show.html' );
}
// --------------------------------------------------------------------------------
public function edit( $pageItemID )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
$htmlPageItem = new stdClass();
$htmlPageItem->pageID = $this->_pageID;
$htmlPageItem->pageItemID = $pageItemID;
$htmlPageItem->pageItemType = $this->_pageItemType;
//
return sprintt( $htmlPageItem, 'page/class.pageItemContent' . $this->_pageItemType . '-edit.html' );
}
// --------------------------------------------------------------------------------
public function save( $pageItemID )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
// save data
//$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(
// 'productID' => $_POST['productID']
//) );
return 1;
}
}
?>
ACC SHELL 2018