ACC SHELL

Path : /srv/www/vhosts/marevva/crossroadsfoundation/admin/page/
File Upload :
Current File : /srv/www/vhosts/marevva/crossroadsfoundation/admin/page/admin-page-list-items.php

<?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&amp;pageID=' . $url_pageID;
	
	printt( $htmlPage, 'page/admin-page-list-items.html' );
	
?>

ACC SHELL 2018