ACC SHELL
<?php
// functions
require_once( $serverFullPath.'functions.php' );
// ETS
require_once( $serverFullPath.'ets.php' );
class pageItemContent16 extends pageItemContent
{
private $_pageItemType = 16;
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['image'] != '' )
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image'] );
if ( $pageItemContent['imageThumb'] != '' )
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['imageThumb'] );*/
for ( $ii = 1; $ii <= 6; $ii++ )
{
$imageLabel = 'image' . $ii;
if ( $pageItemContent[ $imageLabel ] != '' )
{
@unlink( $this->_pathPage . $pageItem['pageID'] . '/thumb-' . $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 = '' )
{
$pageItem = $this->_db->getItem( 'pageItem', $pageItemID );
$pageItemContent = $this->_db->getItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'] );
$htmlPageItem = new stdClass();
$htmlPageItem->pageItemID = $pageItemID;
$htmlPageItem->layoutType = $pageItemContent['layoutType'];
$htmlPageItem->layoutColor = $pageItemContent['layoutColor'];
$htmlPageItem->layoutWidth = $pageItemContent['layoutWidth'];
$htmlPageItem->topTitle = $pageItemContent['topTitle'];
$htmlPageItem->title = $pageItemContent['title'];
//if ( $pageItemContent['imageThumb'] != '' )
// $htmlPageItem->imgSrc = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['imageThumb'];
//else
// $htmlPageItem->imgSrc = '';
$imagesCount = 0;
for ( $ii = 1, $ig = 1, $igi = 1; $ii <= 6; $ii++ )
{
$imageLabel = 'image' . $ii;
if ( $pageItemContent[ $imageLabel ] != '' )
{
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ] = new stdClass();
if ( $pageItemContent[ $imageLabel ] != '' )
{
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->srcThumb = $this->_pathPage . $pageItem['pageID'] . '/thumb-' . $pageItemContent[ $imageLabel ];
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->url = $pageItemContent[ 'url'.$ii ];
$imagesCount++;
if ( $imagesCount == 1 )
{
$htmlPageItem->imageSrc = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
}
}
else
{
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->src = '';
$htmlPageItem->imageGroup[ $ig ]->image[ $igi ]->srcThumb = '';
}
}
$igi++;
if ( $igi == 7 )
{
$igi = 1;
$ig++;
}
}
if ( $imagesCount > 1 )
$htmlPageItem->showSlideshow = true;
else
$htmlPageItem->showSlideshow = false;
$htmlPageItem->text = fuckOffHTMLspecialChars( stripcslashes( ( fuckOffOrphans($pageItemContent['text']) ) ) );
$htmlPageItem->url = $pageItemContent['url'];
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->title = $pageItemContent['title'];
//$htmlPageItem->imgSrc = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['imageThumb'];
$htmlPageItem->text = stripcslashes( $pageItemContent['text'] );
$htmlPageItem->url = $pageItemContent['url'];
for ( $ii = 1; $ii <= 6; $ii++ )
{
$imageLabel = 'image' . $ii;
//if ( $pageItemContent[ $imageLabel ] != '' )
{
$htmlPageItem->image[ $ii ]->number = $ii;
$htmlPageItem->image[ $ii ]->url = $pageItemContent[ 'url'.$ii ];
if ( $pageItemContent[ $imageLabel ] != '' )
$htmlPageItem->image[ $ii ]->src = $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ];
else
$htmlPageItem->image[ $ii ]->src = '';
}
}
// 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'],
'title' => $_POST['title'],
'url' => $_POST['url'],
'text' => $_POST['text']
) );
// 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;
$sourceThumbImageFileName = $this->_pathPage . $pageItem['pageID'] . '/thumb-' . $imageFileName;
if ( move_uploaded_file( $file['tmp_name'], $sourceImageFileName ) )
{
// delete old image + thumb
if ( $imageFileName != $pageItemContent[ $imageN ] )
{
@unlink( $this->_pathPage . $pageItem['pageID'] . '/thumb-' . $pageItemContent[ $imageN ] );
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageN ] );
}
createThumbnailMin( $sourceImageFileName, $sourceImageFileName, 400, 400 );
createThumbnailMin( $sourceImageFileName, $sourceThumbImageFileName, 88, 88 );
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(
$imageN => $imageFileName
) );
}
}
}
for ( $ii = 1; $ii <= 6; $ii++ )
{
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(
('url'.$ii) => $_POST['url'.$ii]
) );
}
// 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'] . '/thumb-' . $pageItemContent[ $imageLabel ] );
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent[ $imageLabel ] );
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array( $imageLabel => '' ) );
}
}
/*
// save image
$imageFileName = '';
foreach ( $_FILES as $file )
{
$imageFileName = basename( $file['name'] );
if ( $imageFileName != '' )
{
$imageFileName = $this->_pageItemType . '-' . $pageItem['pageItemContentID'] . '-' . $imageFileName;
$thumbFileName = $this->_pageItemType . '-' . $pageItem['pageItemContentID'] . '-thumb-' . $imageFileName;
$sourceImageFileName = $this->_pathPage . $pageItem['pageID'] . '/' . $imageFileName;
$thumbImageFileName = $this->_pathPage . $pageItem['pageID'] . '/' . $thumbFileName;
if ( move_uploaded_file( $file['tmp_name'], $sourceImageFileName ) )
{
createThumbnailMin( $sourceImageFileName, $thumbImageFileName, 190, 190 );
// delete old image + thumb
if ( $imageFileName != $pageItemContent['image'] )
{
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image'] );
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['imageThumb'] );
}
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array(
'image' => $imageFileName,
'imageThumb' => $thumbFileName
) );
}
}
break;
}
// delete image
if ( isset( $_POST['imageDelete'] ) && ( $_POST['imageDelete'] == 'on' ) )
{
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['image'] );
@unlink( $this->_pathPage . $pageItem['pageID'] . '/' . $pageItemContent['imageThumb'] );
$this->_db->setItem( 'pageItemContent'.$this->_pageItemType, $pageItem['pageItemContentID'], array( 'image' => '', 'imageThumb' => '' ) );
}*/
return 1;
}
}
?>
ACC SHELL 2018