ACC SHELL

Path : /srv/www/vhosts/marevva/crossroadsfoundation/admin/page/
File Upload :
Current File : /srv/www/vhosts/marevva/crossroadsfoundation/admin/page/class.pageItemContent14.php

<?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