ACC SHELL

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

<?php

// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
	
class pageItemContent6 extends pageItemContent
{
	private $_pageItemType = 6;
	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'] ) )
			{
				if ( $pageItemContent['image1'] != '' )
					@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image1'] );
				if ( $pageItemContent['image2'] != '' )
					@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image2'] );
				if ( $pageItemContent['image3'] != '' )
					@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image3'] );
				if ( $pageItemContent['image4'] != '' )
					@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image4'] );
					
				$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 = '' )
	{		
		$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
		$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
		
		$htmlPageItem = new stdClass();
		
		$htmlPageItem->pageItemID = $pageItemID;
		
		$htmlPageItem->topTitle = $pageItemContent['topTitle'];
		
		$textLength = 1000;
				
		$htmlPageItem->layoutType = $pageItemContent['layoutType'];
		$htmlPageItem->layoutColor = $pageItemContent['layoutColor'];
		$htmlPageItem->layoutWidth = $pageItemContent['layoutWidth'];
		
		$htmlPageItem->title1 = $pageItemContent['title1'];
		
		$htmlPageItem->imgSrc1 = '';
		if ( $pageItemContent['image1'] != '' )		
			$htmlPageItem->imgSrc1 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image1'];
		$htmlPageItem->text1 = fuckOffHTMLspecialChars( stripcslashes( ( shortenText( fuckOffOrphans($pageItemContent['text1']), $textLength ) ) ) );
		$htmlPageItem->url1 = $pageItemContent['url1'];
		
		$htmlPageItem->title2 = $pageItemContent['title2'];
		
		$htmlPageItem->imgSrc2 = '';
		if ( $pageItemContent['image2'] != '' )		
			$htmlPageItem->imgSrc2 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image2'];
		$htmlPageItem->text2 = fuckOffHTMLspecialChars( stripcslashes( ( shortenText( fuckOffOrphans($pageItemContent['text2']), $textLength ) ) ) );
		$htmlPageItem->url2 = $pageItemContent['url2'];
		
		$htmlPageItem->title3 = $pageItemContent['title3'];
		
		$htmlPageItem->imgSrc3 = '';
		if ( $pageItemContent['image3'] != '' )		
			$htmlPageItem->imgSrc3 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image3'];
		$htmlPageItem->text3 = fuckOffHTMLspecialChars( stripcslashes( ( shortenText( fuckOffOrphans($pageItemContent['text3']), $textLength ) ) ) );
		$htmlPageItem->url3 = $pageItemContent['url3'];
		
		$htmlPageItem->title4 = $pageItemContent['title4'];
		
		$htmlPageItem->imgSrc4 = '';
		if ( $pageItemContent['image4'] != '' )		
			$htmlPageItem->imgSrc4 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image4'];
		$htmlPageItem->text4 = fuckOffHTMLspecialChars( stripcslashes( ( shortenText( fuckOffOrphans($pageItemContent['text4']), $textLength ) ) ) );
		$htmlPageItem->url4 = $pageItemContent['url4'];
		
		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'];
		
		$htmlPageItem->topTitle = $pageItemContent['topTitle'];
		
		$htmlPageItem->title1 = $pageItemContent['title1'];
		$htmlPageItem->imgSrc1 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image1'];
		$htmlPageItem->text1 = stripcslashes( $pageItemContent['text1'] );
		$htmlPageItem->url1 = $pageItemContent['url1'];
		
		$htmlPageItem->title2 = $pageItemContent['title2'];
		$htmlPageItem->imgSrc2 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image2'];
		$htmlPageItem->text2 = stripcslashes( $pageItemContent['text2'] );
		$htmlPageItem->url2 = $pageItemContent['url2'];
		
		$htmlPageItem->title3 = $pageItemContent['title3'];
		$htmlPageItem->imgSrc3 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image3'];
		$htmlPageItem->text3 = stripcslashes( $pageItemContent['text3'] );
		$htmlPageItem->url3 = $pageItemContent['url3'];
		
		$htmlPageItem->title4 = $pageItemContent['title4'];
		$htmlPageItem->imgSrc4 = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image4'];
		$htmlPageItem->text4 = stripcslashes( $pageItemContent['text4'] );
		$htmlPageItem->url4 = $pageItemContent['url4'];
		
		// 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'], 
			'topTitle' => $_POST['topTitle'],
			'title1' => $_POST['title1'], 'url1' => $_POST['url1'], 'text1' => $_POST['text1'],
			'title2' => $_POST['title2'], 'url2' => $_POST['url2'], 'text2' => $_POST['text2'],
			'title3' => $_POST['title3'], 'url3' => $_POST['url3'], 'text3' => $_POST['text3'],
			'title4' => $_POST['title4'], 'url4' => $_POST['url4'], 'text4' => $_POST['text4']
		) );
		
		// 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 ) )
				{
					createThumbnailMin( $sourceImageFileName, $sourceImageFileName, 400, 400 );
					
					// delete old image + thumb
					if ( $imageFileName != $pageItemContent[ $imageN ] )
					{
						@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageN ] );
					}
					
					$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(			
						$imageN => $imageFileName
					) );
				}									
			}
		}
		
		// delete image
		if ( isset( $_POST['imageDelete1'] ) && ( $_POST['imageDelete1'] == 'on' ) )
		{
			@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image1'] );
			$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(	'image1' => '' ) );
		}
		if ( isset( $_POST['imageDelete2'] ) && ( $_POST['imageDelete2'] == 'on' ) )
		{
			@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image2'] );
			$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(	'image2' => '' ) );
		}
		if ( isset( $_POST['imageDelete3'] ) && ( $_POST['imageDelete3'] == 'on' ) )
		{
			@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image3'] );
			$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(	'image3' => '' ) );
		}
		if ( isset( $_POST['imageDelete4'] ) && ( $_POST['imageDelete4'] == 'on' ) )
		{
			@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image4'] );
			$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(	'image4' => '' ) );
		}
		
		return 1;
	}
}

?>

ACC SHELL 2018