ACC SHELL
<?php
// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
class pageItemContent14 extends pageItemContent
{
private $_pageItemType = 14;
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->isAdmin = $isAdmin;
$htmlPageItem->pageItemID = $pageItemID;
if ( $isAdmin )
{
$htmlPageItem->newsCount = $pageItemContent['newsCount'];
}
else
{
$news = $this->_db->getAllItems( 'news', " ORDER BY `date` DESC LIMIT " . $pageItemContent['newsCount'] );
if ( count( $news ) > 0 )
{
$_news = array();
$columnsCount = 3;
$newsPerColumn = ceil( (float)count( $news ) / (float)$columnsCount );
for ( $li = 1; $li <= $columnsCount; $li++ )
{
$htmlPageItem->newsColumn[ $li ] = new stdClass();
for ( $ni = 1; $ni <= $newsPerColumn; $ni++ )
{
$nai = $li + ( ($ni-1) * $columnsCount ) - 1;
if ( isset($news[ $nai ]) )
{
$newsItem = $news[ $nai ];
if ( isset($newsItem['ID']) )
{
$htmlPageItem->newsColumn[ $li ]->classPlace = '';
if ( $li == 1 ) $htmlPageItem->newsColumn[ $li ]->classPlace = 'first';
if ( $li == 2 ) $htmlPageItem->newsColumn[ $li ]->classPlace = 'second';
if ( $li == 3 ) $htmlPageItem->newsColumn[ $li ]->classPlace = 'third';
$htmlPageItem->newsColumn[ $li ]->news[ $ni ] = new stdClass();
$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->title = $newsItem['title'];
//$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->categoryText = $newsItem['categoryText'];
$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->text1 = html_entity_decode( shortenText( strip_tags( $newsItem['text1'] ), 250 ), ENT_NOQUOTES, 'UTF-8' );
$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->url = $newsItem['url'];
//$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->classColor = $newsItem['cssClass'];
$datetime = date_create( $newsItem['date'] );
//$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->date = cesky_mesic(date_format( $datetime, "n" )) . ' ' . date_format( $datetime, "Y" );
$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->date = date_format( $datetime, "d.m.Y" );
$htmlPageItem->newsColumn[ $li ]->news[ $ni ]->imgSrc = '/data/news/images/medium/' . $newsItem['image'];
}
}
}
}
}
}
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;
$htmlPageItem->newsCount = $pageItemContent['newsCount'];
// fixed save buttons
$htmlPageItem->fixedSaveButtons = $this->fixedSaveButtonsBeforeEdit();
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(
'newsCount' => $_POST['newsCount']
) );
return 1;
}
}
?>
ACC SHELL 2018