ACC SHELL
<?php
$htmlPage = new stdClass();
$htmlPage->statusError = '';
$htmlPage->statusOK = '';
$url_itemID = '';
if ( isset( $_GET['itemID'] ) ) $url_itemID = $_GET['itemID'];
$url_move = '';
if ( isset( $_GET['move'] ) ) $url_move = $_GET['move'];
// add new page item
if ( isset( $_POST['addPageItemType'] ) )
{
$_addPageItemType = trim( $_POST['addPageItemType'] );
$sql = $db->query( " SELECT MAX(`position`) AS `max` FROM `" . $db->getPrefix() . "pageItem` WHERE `pageID`=" . $url_pageID );
$result = $sql->fetch_array( MYSQLI_ASSOC );
$sql->close();
$position = $result['max'] + 1;
if ( is_numeric( $_addPageItemType ) )
{
include_once( 'page/class.pageItemContent.php' );
include_once( 'page/class.pageItemContent' . $_addPageItemType . '.php' );
$pageItemContentClassName = 'pageItemContent'.$_addPageItemType;
$pageItemContentClass = new $pageItemContentClassName( $db, $url_pageID, $_pathPage );
$pageItemContentClassReturn = $pageItemContentClass->insert( $position );
if ( isset( $pageItemContentClassReturn['statusOK'] ) )
{
$htmlPage->statusOK = $pageItemContentClassReturn['statusOK'];
}
if ( isset( $pageItemContentClassReturn['statusError'] ) )
{
$htmlPage->statusError = $pageItemContentClassReturn['statusError'];
}
}
else
{
$htmlPage->statusError = 'Při ukládání dat vznikla chyba(chybný typ).';
}
}
// add new page item end
// delete page item
if ( isset( $_POST['deletePageItem'] ) && isset( $_POST['pageItemID'] ) )
{
$_pageItemID = trim( $_POST['pageItemID'] );
$pageItem = $db->getItem( 'pageItem', $_pageItemID );
if ( isset( $pageItem['ID'] ) )
{
include_once( 'page/class.pageItemContent.php' );
include_once( 'page/class.pageItemContent' . $pageItem['type'] . '.php' );
$pageItemContentClassName = 'pageItemContent'.$pageItem['type'];
$pageItemContentClass = new $pageItemContentClassName( $db, $url_pageID, $_pathPage );
$pageItemContentClassReturn = $pageItemContentClass->delete( $pageItem['ID'] );
if ( isset( $pageItemContentClassReturn['statusOK'] ) )
{
$htmlPage->statusOK = $pageItemContentClassReturn['statusOK'];
}
if ( isset( $pageItemContentClassReturn['statusError'] ) )
{
$htmlPage->statusError = $pageItemContentClassReturn['statusError'];
}
}
else
{
$htmlPage->statusError = 'Při mazání dat vznikla chyba(chybný typ).';
}
}
// delete page item end
// move
if ( ( $url_move != '' ) && is_numeric( $url_pageID ) && is_numeric( $url_pageItemID ) )
{
$pageItems = $db->getAllItemsEx( 'pageItem', " WHERE `pageID`=" . $url_pageID . " ORDER BY `position` ASC ", " `ID`, `pageID`, `position` " );
$pageItemsCount = count( $pageItems );
if ( ( $url_move == 'up' ) || ( $url_move == 'down' ) )
{
for ( $i = 0; $i < $pageItemsCount; $i++ )
{
$pageItem = $pageItems[ $i ];
if ( $pageItem['ID'] == $url_pageItemID )
{
if ( $url_move == 'up' )
$pageItem_ = $pageItems[ $i - 1 ];
else if ( $url_move == 'down' )
$pageItem_ = $pageItems[ $i + 1 ];
if ( isset( $pageItem_['ID'] ) )
{
if ( $db->setItem( 'pageItem', $pageItem['ID'], array( 'position'=>$pageItem_['position'] ) ) &&
$db->setItem( 'pageItem', $pageItem_['ID'], array( 'position'=>$pageItem['position'] ) ) )
{
$htmlPage->statusOK = 'Změny byly uloženy.';
}
else
{
$htmlPage->statusError = 'Při ukládání dat vznikla chyba.';
}
}
else
{
$htmlPage->statusError = 'Při ukládání dat vznikla chyba.';
}
}
}
}
if ( ( $url_move == 'top' ) || ( $url_move == 'bottom' ) )
{
$pageItemFirst = $pageItems[ 0 ];
for ( $i = 0; $i < $pageItemsCount; $i++ )
{
$pageItem = $pageItems[ $i ];
if ( $pageItem['ID'] == $url_pageItemID )
{
if ( $url_move == 'top' )
{
$pageItems[ $i ]['position'] = $pageItems[ 0 ]['position'] - 1;
}
if ( $url_move == 'bottom' )
{
$pageItems[ $i ]['position'] = $pageItems[ $pageItemsCount-1 ]['position'] + 1;
}
}
}
$pageItems = array_sort( $pageItems, 'position', 'SORT_ASC' );
for ( $i = 0; $i < $pageItemsCount; $i++ )
{
$db->setItem( 'pageItem', $pageItems[ $i ]['ID'], array( 'position'=>($i+1) ) );
}
$htmlPage->statusOK = 'Změny byly uloženy.';
}
}
// move end
// list
$pageItems = $db->getAllItems( 'pageItem', " WHERE `pageID`=" . $url_pageID . " ORDER BY `position` ASC " );
$pageItemsCount = count( $pageItems );
// no page items?
if ( $pageItemsCount == 0 )
{
$htmlPage->noPageItems = true;
}
else
{
$htmlPage->noPageItems = false;
$i = 1;
foreach ( $pageItems as $pageItem )
{
$htmlPage->pageItemListItem[ $i ] = new stdClass();
$htmlPage->pageItemListItem[ $i ]->itemID = $pageItem['ID'];
$htmlPage->pageItemListItem[ $i ]->itemType = $pageItem['type'];
$htmlPage->pageItemListItem[ $i ]->position = $pageItem['position'];
// show content
include_once( 'page/class.pageItemContent.php' );
include_once( 'page/class.pageItemContent' . $pageItem['type'] . '.php' );
$pageItemContentClassName = 'pageItemContent'.$pageItem['type'];
$pageItemContentClass = new $pageItemContentClassName( $db, $url_pageID, $_pathPage );
$htmlPage->pageItemListItem[ $i ]->content = $pageItemContentClass->show( $pageItem['ID'], $serverFullPath . 'admin/page/', true );
// can move up?
if ( $i == 1 )
$htmlPage->pageItemListItem[ $i ]->canMoveUp = false;
else
$htmlPage->pageItemListItem[ $i ]->canMoveUp = true;
// can move up?
if ( $i <= 2 )
$htmlPage->pageItemListItem[ $i ]->canMoveTop = false;
else
$htmlPage->pageItemListItem[ $i ]->canMoveTop = true;
// can move down?
if ( $i == $pageItemsCount )
$htmlPage->pageItemListItem[ $i ]->canMoveDown = false;
else
$htmlPage->pageItemListItem[ $i ]->canMoveDown = true;
// can move bottom?
if ( $i > $pageItemsCount - 2 )
$htmlPage->pageItemListItem[ $i ]->canMoveBottom = false;
else
$htmlPage->pageItemListItem[ $i ]->canMoveBottom = true;
$i++;
}
}
$htmlPage->pageID = $url_pageID;
$htmlPage->addPageItemFormActionURL = '/admin/admin.php?action=listPages2&pageID=' . $url_pageID;
printt( $htmlPage, 'page/admin-page-list-items.html' );
?>
ACC SHELL 2018