ACC SHELL

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

<?php

// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
	
class pageItemContent18 extends pageItemContent
{
	private $_pageItemType = 18;
	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;
		
		$htmlPageItem->isAdmin = $isAdmin;
		
		$limit = 4;
		$articlesPerLine = 1;
		$currentDate = date('Y-m-d');
		$il = 0;
		
		if ( $isAdmin == false )
		{
			$articleCategory = $this->_db->getItem( 'category', $pageItemContent['categoryID'] );
			
			
			$data->categoryTitle = $articleCategory['title'];
			$data->categoryURL = "/". $articleCategory['url'];
			
			$removeOutdatedItems_sql = "
					`visibilityStartDate`<='" . $currentDate . "' AND 
					( `visibilityEndDate` = '0000-00-00' OR `visibilityEndDate`>='" . $currentDate . "' )
			";
			$orderBy_sql = " ORDER BY `createdDateTimeOrder` DESC ";
	
			$articles = $this->_db->getAllItems( 'article', " WHERE `categoryID`='" . $articleCategory['ID'] . "' AND " . $removeOutdatedItems_sql . $orderBy_sql . " LIMIT " . $limit );
			$articlesCount = count( $articles );
			
			for ( $i = 0; $i < $limit; $i++ )
			{
				if ( isset( $articles[$i] ) )
				{
					$article = $articles[$i];
					
					$data->article[$i] = new stdClass();
					$data->article[$i]->ID = $article['ID'];
					$data->article[$i]->url = '/'.$articleCategory['url'].'/' . $article['url'];
					$data->article[$i]->title = htmlspecialchars( $article['title'] );
					$data->article[$i]->text = html_entity_decode( shortenText( strip_tags( $article['text'] ), 550 ), ENT_NOQUOTES, 'UTF-8' );	
					
					$data->article[$i]->imgSrc = '';
					if ( $article['image'] != '' )
					{
						$data->article[$i]->imgSrc = '/data/article/mainImages/medium/' . $article['image'];
					}
					else
					{
						if ( $article['videoURL1'] != '' )
							$data->article[$ii]->imgSrc = getImageForYouTube( $article['videoURL1'] );
					}
					
					$datetime = date_create( $article['createdDateTimeOrder'] );
					$data->article[$i]->date = date_format( $datetime, "d.m.Y" );
					
					$il++;
					if ( $il == $articlesPerLine )
					{
						$il = 0;
						$data->article[$i]->separator = true;
					}
					else
					{
						$data->article[$i]->separator = false;				
					}
				}
			}
			
			switch ( $articleCategory['type'] )
			{
				case '3':
						return sprintt( $data, 'parts/articleList3.html' );		
					break;
					
				case '2':
						return sprintt( $data, 'parts/articleList2.html' );		
					break;
					
				case '1':
				default:
						return sprintt( $data, 'parts/articleList.html' );
					break;
			}
			
		}
		else
		{
			$category = $this->_db->getItem( 'category', $pageItemContent['categoryID'] );
			
			$htmlPageItem->title = $category['title'];
		}
		
		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->categoryID = $pageItemContent['categoryID'];
		
		$categories = $this->_db->getAllItems( 'category', " WHERE `categoryType`='article' || `categoryType`='photogallery' ORDER BY `title` ASC " );
		if ( count( $categories ) > 0 )
		{
			$pi = 1;
			foreach ( $categories as $category )
			{
				$htmlPageItem->category[ $pi ]->ID = $category['ID'];
				$htmlPageItem->category[ $pi ]->title = $category['title'];
				
				$pi++;
			}
		}
		
		// 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(
			'categoryID' => $_POST['categoryID']
		) );
		
		return 1;
	}
}

?>

ACC SHELL 2018