ACC SHELL
<?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