ACC SHELL

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

<?php

// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
	
class pageItemContent1 extends pageItemContent
{
	private $_pageItemType = 1;
	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'] ) )
			{
				for ( $ii = 1; $ii <= 18; $ii++ )
				{
					$imageLabel = 'image' . $ii;
					if ( $pageItemContent[ $imageLabel ] != '' )
						@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ] );
				}
					
				$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 showFullWidth( $pageItemID )
	{
		$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
		$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
		
		return $pageItemContent[ 'fullWidth' ];
	}
	
	// --------------------------------------------------------------------------------
	
	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;
		
		$imagesCount = 0;

		for ( $ii = 1, $ig = 1, $igi = 1; $ii <= 18; $ii++ )
		{
			$imageLabel = 'image' . $ii;
			//if ( $pageItemContent[ $imageLabel ] != '' )
			//{
				if ( $pageItemContent[ $imageLabel ] != '' )
				{
					$htmlPageItem->imageGroup[ $ig ]->image[ $igi ] = new stdClass();
					
					$path_parts = pathinfo( $pageItemContent[ $imageLabel ] );
					if ( strtolower( $path_parts['extension'] ) != 'flv' )
					{
						$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
						$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->url = $pageItemContent[ 'url'.$ii ];
					}
					else
					{
						$htmlPageItem->imageGroup[ $ig ]->video[ $igi ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
						$htmlPageItem->imageGroup[ $ig ]->video[ $igi ]->url = $pageItemContent[ 'url'.$ii ];
					}
					
					$imagesCount++;
					if ( $imagesCount == 1 )
					{
						$path_parts = pathinfo( $pageItemContent[ $imageLabel ] );
						if ( strtolower( $path_parts['extension'] ) != 'flv' )
						{
							$htmlPageItem->imageSrc = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
							$htmlPageItem->videoSrc = '';
						}
						else
						{
							$htmlPageItem->imageSrc = '';
							$htmlPageItem->videoSrc = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
						}
						$htmlPageItem->url = $pageItemContent[ 'url'.$ii ];
					}

				}
				/*else
				{
					$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->src = '';
				}*/
			//}
			
			$igi++;
			if ( $igi == 7 )
			{
				$igi = 1;
				$ig++;
			}
		}
		
		if ( $imagesCount > 1 )
			$htmlPageItem->showSlideshow = true;
		else
			$htmlPageItem->showSlideshow = false;

		
		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;
		
		for ( $ii = 1; $ii <= 18; $ii++ )
		{
			$imageLabel = 'image' . $ii;
			//if ( $pageItemContent[ $imageLabel ] != '' )
			{
				$htmlPageItem->image[ $ii ]->number = $ii;
				
				$htmlPageItem->image[ $ii ]->url = $pageItemContent[ 'url'.$ii ];
				
				if ( $pageItemContent[ $imageLabel ] != '' )
				{
					$path_parts = pathinfo( $pageItemContent[ $imageLabel ] );
					if ( strtolower( $path_parts['extension'] ) != 'flv' )
					{
						$htmlPageItem->image[ $ii ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
					}
					else
					{
						$htmlPageItem->image[ $ii ]->src = 'flv';
					}
				}
				else
				{
					$htmlPageItem->image[ $ii ]->src = '';
				}
					
			}
		}
		
		$htmlPageItem->fullWidth = $pageItemContent[ 'fullWidth' ];
		
		// 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 image
		$imageFileName = '';
		foreach ( $_FILES as $imageN => $file )
		{
			$imageFileName = basename( $file['name'] );
			if ( $imageFileName != '' )
			{
				$pathInfo = pathinfo( $imageFileName );
				$imageFileName = friendly_url( $pathInfo['filename'] ) . '-' . $this->_pageItemType . '-' . $pageItem['pageItemContentID'] . '-' . str_replace( 'image', '', $imageN ) . '.' . $pathInfo['extension'];
				$sourceImageFileName = $this->_pathPage . $pageItem['pageID'] . '/' . $imageFileName;
				
				if ( move_uploaded_file( $file['tmp_name'], $sourceImageFileName ) )
				{
					$path_parts = pathinfo( $imageFileName );
					if ( strtolower( $path_parts['extension'] ) != 'flv' )
					{
						createThumbnailMin( $sourceImageFileName, $sourceImageFileName, 980, 410 );
					}
					
					// delete old image + thumb
					if ( $pageItemContent[ $imageN ] != $imageFileName )
					{
						@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageN ] );
					}
					
					$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(			
						$imageN => $imageFileName
					) );
					
				}									
			}
		}
		
		for ( $ii = 1; $ii <= 18; $ii++ )
		{
			$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(			
						('url'.$ii) => $_POST['url'.$ii]
					) );
		}
		
		$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(			
						'fullWidth' => $_POST['fullWidth']
					) );
		
		// delete image
		for ( $ii = 1; $ii <= 18; $ii++ )
		{
			$imageLabel = 'image' . $ii;
			if ( isset( $_POST['imageDelete'.$ii] ) && ( $_POST['imageDelete'.$ii] == 'on' ) )
			{
				@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ] );
				$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(	$imageLabel => '' ) );
			}
		}
		
		return 1;
	}
}

?>

ACC SHELL 2018