ACC SHELL

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

<?php

// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
	
class pageItemContent21 extends pageItemContent
{
	private $_pageItemType = 21;
	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;
		
		if ( $isAdmin == false )
		{
			$currentDate = date('Y-m-d');
			
			$article = $this->_db->getItem( 'article', $pageItemContent['articleID'] );
			$articles = removeOutdatedItems( array( $article ), $currentDate );
			
			if ( count( $articles ) > 0 )
			{
				$article = $articles[0];
				
				// date
				if ( $article['visibilityStartDate'] > $article['createdDateTime'] )
				{
					$datetime = date_create( $article['visibilityStartDate'] );
					$datetime = date_format( $datetime, "d.m.Y" );
				}
				else
				{
					$datetime = date_create( $article['createdDateTime'] );
					$datetime = date_format( $datetime, "d.m.Y" );
				}
				
				$page = new stdClass();
				// article fields
				$htmlPageItem->title = htmlspecialchars( $article['title'] );
				$htmlPageItem->text = html_entity_decode( $article['text'], ENT_NOQUOTES, 'UTF-8' );
				
				$htmlPageItem->youtubeVideo = '';
				$videoURL1 = getVideoEmbed( $article['videoURL1'], 360, 240 );
				if ( $videoURL1 != '' )
					$htmlPageItem->youtubeVideo .= '<div class="cleaner10"></div>' . $videoURL1;
					
				$videoURL2 = getVideoEmbed( $article['videoURL2'], 360, 240 );
				if ( $videoURL2 != '' )
					$htmlPageItem->youtubeVideo .= '<div class="cleaner10"></div>' . $videoURL2;
					
				$videoURL3 = getVideoEmbed( $article['videoURL3'], 360, 240 );
				if ( $videoURL3 != '' )
					$htmlPageItem->youtubeVideo .= '<div class="cleaner10"></div>' . $videoURL3;
				
				$htmlPageItem->date = $datetime;
				
				//$htmlPageItem->categoryTitle = $articleCategory['title'];
				//$htmlPageItem->categoryURL = '/' . $articleCategory['url'];
				
				$htmlPageItem->imgSrc = '';
				$htmlPageItem->imgSrcFull = '';
				if ( $article['image'] != '' )
				{
					$htmlPageItem->imgSrc = '/data/article/mainImages/medium/' . $article['image'];
					$htmlPageItem->imgSrcFull = '/data/article/mainImages/full/' . $article['image'];
				}
				else
				{
					if ( $article['videoURL1'] != '' )
					{
						$htmlPageItem->imgSrc = getVideoImage( $article['videoURL1'] );
						$htmlPageItem->imgSrcFull = $htmlPageItem->imgSrc;
					}
				}
				
				$images = $this->_db->getAllItems( 'mediaItem2', " WHERE `ownerID`=" . $article['ID'] . " ORDER BY `position` ASC " );
				$imagesCount = count( $images );
				for ( $i = 0; $i < $imagesCount; $i++ )
				{
					$image = $images[ $i ];
					$htmlPageItem->images[ $i ]->imgSrc = '/data/article/images/' . $article['ID'] . '/thumbs/' . $image['fileName'];
					$htmlPageItem->images[ $i ]->imgSrcFull = '/data/article/images/' . $article['ID'] . '/' . $image['fileName'];
				}		
				
				// html title
				//$titleHTML .= $htmlPageItem->title . ' | ';
			
				// FB like button
				/*$htmlPageItem->facebookLikeButtonVisible = $settings['facebookLikeButtonVisible'];
				if ( $settings['facebookLikeButtonVisible'] )
				{
					$facebookHTMLheader = '
											<meta property="og:title" content="' . $article['title'] . '" />
											<meta property="og:type" content="article" />
											<meta property="og:url" content="' . 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '" />
											<meta property="og:description" content="' . shortenText( fuckOffHTMLspecialChars( strip_tags( $article['text'] ) ), 200 ) . '" />
											';
					if ( $article['image'] != '' )
					{
						$facebookHTMLheader .= '
									<meta property="og:image" content="http://' . $_SERVER['HTTP_HOST'] . '/data/product/mainImages/medium/' . $article['image'] . '" />
									';
					}
				}*/
				
				$htmlPageItem->content = sprintt( $htmlPageItem, 'parts/articleDetail.html' );
			}
			///
			
		}
		else
		{
			$article = $this->_db->getItem( 'article', $pageItemContent['articleID'] );
			
			$htmlPageItem->title = $article['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->articleID = $pageItemContent['articleID'];
		
		//$article = $this->_db->getItemWhere( 'article', " WHERE `url`='" . $url_submenu . "' " );
		
		$articles = $this->_db->getAllItems( 'article', " ORDER BY `title` ASC " );
		if ( count( $articles ) > 0 )
		{
			$pi = 1;
			foreach ( $articles as $article )
			{
				$htmlPageItem->article[ $pi ]->ID = $article['ID'];
				$htmlPageItem->article[ $pi ]->title = $article['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(
			'articleID' => $_POST['articleID']
		) );
		
		return 1;
	}
}

?>

ACC SHELL 2018