ACC SHELL

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

<?php
	
	$htmlPage = new stdClass();
	
	$htmlPage->statusError = '';
	$htmlPage->statusOK = '';
	
	// add new page
	if ( isset( $_POST['addPageTitle'] ) && isset( $_POST['addPageURL'] ) && isset( $_POST['addPageVisibility'] ) )
	{
		$_addPageTitle = trim( $_POST['addPageTitle'] );
		$_addPageURL = trim( $_POST['addPageURL'] );
		$_addPageVisibility = trim( $_POST['addPageVisibility'] );
		
		if ( $_addPageTitle != '' )
		{
			// check for duplicity
			$url = $_addPageURL;
			if ( $url == '' )
				$url =  friendly_url( $_addPageTitle );
			$newURL = $url;
			$content = $db->getItemWhere( 'page', " WHERE `url`='" . $newURL . "' " );
			while ( isset( $content['ID'] ) )
			{
				$newURL .= "-1";
				$content = $db->getItemWhere( 'page', " WHERE `url`='" . $newURL . "' " );
			}
			$_addPageURL = $newURL;
		
			if ( $db->insertItem( 'page', array( 'title'=>$_addPageTitle, 'url'=>$_addPageURL, 'visibility'=>$_addPageVisibility ) ) )
			{
				$newPageID = $db->getLastID();
				mkdir( '..' . $_pathPage . '/' . $newPageID );
				$htmlPage->statusOK = 'Stránka byla vytvořena.';
				
				$url_pageID = $newPageID;
			}
			else
			{
				$htmlPage->statusError = 'Při ukládání dat vznikla chyba.';
			}
		}
		else
		{
			$htmlPage->statusError = 'Zadejte název pro novou stránku.';
		}
	}
	// add new page end
	
	// delete page
	if ( isset( $_POST['deletePage'] ) && ( $_POST['deletePage'] == 'deletePage' ) && isset( $_POST['pageID'] ) )
	{
		$deletePage = $db->getItem( 'page', $_POST['pageID'] );
		if ( isset( $deletePage['ID'] ) )
		{
			include_once( 'class.pageItemContent.php' );
			
			///
			$deletePageItems = $db->getAllItems( 'pageItem', " WHERE `pageID`=" . $deletePage['ID'] );
			if ( count( $deletePageItems ) > 0 )
			{
				foreach ( $deletePageItems as $deletePageItem )
				{
					// delete pageItem + pageItemContent
					include_once( 'class.pageItemContent' . $deletePageItem['type'] . '.php' );
					$pageItemContentClassName = 'pageItemContent'.$deletePageItem['type'] ;
					$pageItemContentClass = new $pageItemContentClassName( $db, $deletePage['ID'], $_pathPage );
					$pageItemContentClassReturn = $pageItemContentClass->delete( $deletePageItem['ID'] );			
				}
			}
			
			// delete page
			$db->deleteItem( 'page', $deletePage['ID'] );
			deleteDirectory( '../../' . $_pathPage . '/' . $deletePage['ID'] );
			///
			
			// delete subPage
			$subPages = $db->getAllItems( 'page', " WHERE `parentID`=" . $deletePage['ID'] . " ORDER BY `title` ASC " );
			$subPagesCount = count( $subPages );
			if ( $subPagesCount > 0 )
			{
				foreach ( $subPages as $subPage )
				{
					$deleteSubPageItems = $db->getAllItems( 'pageItem', " WHERE `pageID`=" . $subPage['ID'] );
					if ( count( $deleteSubPageItems ) > 0 )
					{
						foreach ( $deleteSubPageItems as $deleteSubPageItem )
						{
							// delete subPageItem + subPageItemContent
							include_once( 'class.pageItemContent' . $deleteSubPageItem['type'] . '.php' );
							$pageItemContentClassName = 'pageItemContent'.$deleteSubPageItem['type'] ;
							$pageItemContentClass = new $pageItemContentClassName( $db, $subPage['ID'], $_pathPage );
							$pageItemContentClassReturn = $pageItemContentClass->delete( $deleteSubPageItem['ID'] );			
						}
					}
					
					// delete subPage
					$db->deleteItem( 'page', $subPage['ID'] );
					deleteDirectory( '../../' . $_pathPage . '/' . $subPage['ID'] );
				}
			}
			
			//
			
			$htmlPage->statusOK = 'Stránka byla smazána.';
			$url_pageID = '';
		}
		else
		{
			$htmlPage->statusError = 'Při mazání dat vznikla chyba.';
		}
	}
	// delete page end
	
	// list
	$pages = $db->getAllItems( 'page', " WHERE `parentID`=0 ORDER BY `title` ASC " );
	$pagesCount = count( $pages );
	// no pages?
	if ( $pagesCount == 0 )
	{
		$htmlPage->noPages = true;
	}
	else
	{
		$htmlPage->noPages = false;
		
		$i = 1;
		foreach ( $pages as $page )
		{
			$htmlPage->listItem[ $i ] = new stdClass();
			
			$htmlPage->listItem[ $i ]->ID = $page['ID'];
			$htmlPage->listItem[ $i ]->title = $page['title'];
			
			$i++;
			
			$subPages = $db->getAllItems( 'page', " WHERE `parentID`=" . $page['ID'] . " ORDER BY `title` ASC " );
			$subPagesCount = count( $subPages );
			if ( $subPagesCount > 0 )
			{
				foreach ( $subPages as $subPage )
				{
					if ( !isset( $htmlPage->listItem[ $i ] ) )
						$htmlPage->listItem[ $i ] = new stdClass();
					$htmlPage->listItem[ $i ]->ID = $subPage['ID'];
					$htmlPage->listItem[ $i ]->title = $page['title'] . ' -> ' . $subPage['title'];
					
					$i++;
				}
			}
			
		}
	}
	
	$htmlPage->formActionURL = '/admin/admin.php?action=listPages2';
	$htmlPage->pageID = $url_pageID;
	
	printt( $htmlPage, 'page/admin-list-pages.html' );

?>

ACC SHELL 2018