ACC SHELL

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

<?php

// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
	
class pageItemContent15 extends pageItemContent
{
	private $_pageItemType = 15;
	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 <= 8; $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 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;
		
		$htmlPageItem->layoutType = $pageItemContent['layoutType'];
		$htmlPageItem->layoutColor = $pageItemContent['layoutColor'];
		$htmlPageItem->layoutWidth = $pageItemContent['layoutWidth'];
		
		$il = 0;
		
		for ( $ii = 1; $ii <= 6; $ii++ )
		{
			$imageLabel = 'image' . $ii;
			if ( $pageItemContent[ $imageLabel ] != '' )
			{
				$htmlPageItem->image[ $ii ] = new stdClass();
				
				if ( $pageItemContent[ $imageLabel ] != '' )
				{
					$htmlPageItem->image[ $ii ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
				}
				else
				{
					$htmlPageItem->image[ $ii ]->src = '';
				}
			}
			
			$htmlPageItem->image[ $ii ]->title = $pageItemContent[ 'title' . $ii ];
			$htmlPageItem->image[ $ii ]->url = $pageItemContent[ 'url' . $ii ];
			
			$il++;
			if ( $il == 6 )
			{
				$il = 0;
				$htmlPageItem->image[ $ii ]->separator = true;
			}
			else
			{
				$htmlPageItem->image[ $ii ]->separator = false;				
			}
			
			if ( $ii == 1 )
				$htmlPageItem->image[ $ii ]->first = true;
			else
				$htmlPageItem->image[ $ii ]->first = false;
			if ( $ii == 6 )
				$htmlPageItem->image[ $ii ]->last = true;
			else
				$htmlPageItem->image[ $ii ]->last = 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;
		
		$htmlPageItem->layoutType = $pageItemContent['layoutType'];
		$htmlPageItem->layoutColor = $pageItemContent['layoutColor'];
		$htmlPageItem->layoutWidth = $pageItemContent['layoutWidth'];
		
		for ( $ii = 1; $ii <= 6; $ii++ )
		{
			$imageLabel = 'image' . $ii;
			//if ( $pageItemContent[ $imageLabel ] != '' )
			{
				$htmlPageItem->image[ $ii ]->number = $ii;
				
				if ( $pageItemContent[ $imageLabel ] != '' )
					$htmlPageItem->image[ $ii ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
				else
					$htmlPageItem->image[ $ii ]->src = '';
			}
			
			$htmlPageItem->image[ $ii ]->title = $pageItemContent[ 'title' . $ii ];
			$htmlPageItem->image[ $ii ]->url = $pageItemContent[ 'url' . $ii ];
		}
		
		// 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(
			'layoutType' => $_POST['layoutType'], 'layoutColor' => $_POST['layoutColor'], 'layoutWidth' => $_POST['layoutWidth'], 
			'title1' => $_POST['title1'], 'url1' => $_POST['url1'], 
			'title2' => $_POST['title2'], 'url2' => $_POST['url2'], 
			'title3' => $_POST['title3'], 'url3' => $_POST['url3'], 
			'title4' => $_POST['title4'], 'url4' => $_POST['url4'],
			'title5' => $_POST['title5'], 'url5' => $_POST['url5'], 
			'title6' => $_POST['title6'], 'url6' => $_POST['url6'], 
			//'title7' => $_POST['title7'], 'url7' => $_POST['url7'], 
			//'title8' => $_POST['title8'], 'url8' => $_POST['url8']
		) );
		
		// 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 ) )
				{
					// delete old image + thumb
					if ( $imageFileName != $pageItemContent[ $imageN ] )
					{
						@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageN ] );
					}
					
					createThumbnailMin( $sourceImageFileName, $sourceImageFileName, 400, 400 );
					
					$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(			
						$imageN => $imageFileName
					) );
				}									
			}
		} 
		
		// delete image
		for ( $ii = 1; $ii <= 6; $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