ACC SHELL

Path : /srv/www/vhosts/petrikov/admin/pages/admin/
File Upload :
Current File : /srv/www/vhosts/petrikov/admin/pages/admin/actuals.php

<?php
	$make = select( "make", "view" );

	/*
	 * Vypsání seznamu aktualit s možností jejich zobrazení, editace či smazání. Také je zde možnost
	 * přidání nové aktuality
	 */
	if ( $make == "view" ) {
		/*
		 * Vypsání zprávy o úspěčně dokončené akci - přidání, smazání či editování aktuality.
		 * Probíhá zde také akce mazání aktuality (kůli výpisu názvu aktuality)
		 */

		$do = select( "do", "empty" );

		if ( $do != "empty" )
		{
			$title = "";
			$id = select( "id", -1 );
			$find = FALSE;
			
			/*
			 * Získání názvu aktuality - pokud není v databázi nalezen, nepřiřadí se do proměné $title nic,
			 * a název aktuality se v tom případě nevypíše.
			 */
			if ( $id != -1 )
			{
				$query = "SELECT title FROM `newsreel` WHERE ID = $id";
			 
				$result = @mysql_query( $query, $dbc );

				if ( @mysql_num_rows( $result ) > 0 )
				{
					$row = mysql_fetch_row( $result );
					$title = " <strong>\"". $row[0]. "\"</strong>";
					$find = TRUE;
				}
			}

			if ( $do == "saved" )
			{
				message( "Aktualita$title byla úspěčně uložena" );
			}
			elseif ( $do == "updated" )
			{
				message( "Aktualita$title byla úpěšně editována" );
			}
			elseif ( $do == "deleted" )
			{
				/*
				 * Pokud byla aktualita nalezena, je smazána, pokud nebyla, není provedeno nic.
				 */
				if ( $find ) {
					$query = "DELETE FROM `newsreel` WHERE ID = $id";
					
					$result = mysql_query( $query, $dbc );
					
					if ( $result )
					{
						message( "Aktualita$title byla úpěšně smazána" );
					}
					else
					{
						message( "system_error", TRUE );
						write_log( "\nSoubor: ". __FILE__. "\nŘádek : ". __LINE__. "\nChyba : ". mysql_error() );
					}
				}
			}
		}
		
		$query = "SELECT * FROM `newsreel` ORDER BY date DESC";
			 
		$result = mysql_query( $query, $dbc );

		$table = array();
		$i = -1;

		if ( mysql_num_rows( $result ) > 0 )
		{
			while ( $row = mysql_fetch_row( $result ) )
			{
				$i++;
				$table[ $i ][ 'id' ] = $row[ 0 ];
				$table[ $i ][ 'title' ] = $row[ 1 ];
				$table[ $i ][ 'display' ] = $row[ 4 ];
			}

			$smarty->assign( 'table', $table );
		}
		
		$smarty->display( 'admin/actuals_view.tpl' );			
	}
	/*
	 * Vypsání obsahu aktuality bez možnosti přímé editace, ale s možností jejího smazání. Zde je
	 * aktualita "read-only".
	 */
	elseif ( $make == "viewact" )
	{
		$id = select( "id", -1 );

		if ( $id != -1 ) {
			$query = "SELECT * FROM `newsreel` WHERE ID = $id";
			 
			$result = @mysql_query( $query, $dbc );

			if ( @mysql_num_rows( $result ) > 0 ) {
				$row = mysql_fetch_row( $result );
				
				$smarty->assign( "ID", $row[ 0 ] );
				$smarty->assign( "title", $row[ 1 ] );
				$smarty->assign( "content", $row[ 2 ] );
				$smarty->display( "admin/actuals_qview.tpl" );
			} else {
				message( "id_not_exist", TRUE );
			}
		} else {
			message( "Nebylo zadáno ID aktuality kterou chcete zobrazit" );
		}
	}
	/*
	 * Přidání nové aktuality.
	 */
	elseif ( $make == "add" )
	{
		/*
		 * Zpracování odeslaného formuláře.
		 */
		if ( isset( $_POST[ "submit" ] ) )
		{

			$correct = TRUE;
			$message = "";

			if ( empty( $_POST[ "title" ] ) ) {
				$correct = FALSE;
				$message .= "<p>Nebyl zadán nadpis aktuality!</p>\n";
			}


			if ( empty( $_POST[ "content" ] ) ) {
				$correct = FALSE;
				$message .= "<p>Nebyl zadán obsah aktuality!</p>\n";
			}


			if ( $correct ) {
				$title = htmlspecialchars( $_POST[ "title" ] );
				$content = $_POST[ "content" ];
				$show = ( $_POST[ "show"] == "on" )?1:0;
				$query = "INSERT INTO `newsreel` (ID, title, content, date, display) VALUES (0, '$title', '$content', NOW(), $show)";
			 
				$result = @mysql_query( $query, $dbc );
				if ( $result) {
					$res = @mysql_query( "SELECT ID FROM `newsreel` ORDER BY date DESC LIMIT 0,1", $dbc );
					$row = mysql_fetch_array( $res );
					header ( "Location: index.php?action=actuals&make=view&do=saved&id=$row[0]" );
				} else {
					echo "chyba:". mysql_error();
				}
			} else {
				echo "\n". $message. "<p>Zkuste to znovu..</p>\n";
			}
		}
		
		$smarty->assign( "title", $title );
		$smarty->assign( "content", $_POST[ "content" ] );
		
		/*
		 * Pokud byl přepínaš už zapnut, a nebo pokud je stránka načtená poprvé tak přepínač
		 * zapnout.
		 */
		if ( $_POST[ "show"] == "on" || !isset( $_POST[ "submit" ] ) )
		{
			$smarty->assign( 'show', 'on' );
		}
		
		$smarty->display( "admin/actuals_add.tpl" );
	}
	elseif ( $make == "edit" )
	{
		$id = select( "id", -1 );

		if ( isset( $_POST[ "submit" ] ) )
		{
			$correct = TRUE;
			$message = "";

			if ( empty( $_POST[ "title" ] ) )
			{
				$correct = FALSE;
				$message .= "<p>Nebyl zadán nadpis aktuality!</p>\n";
			}


			if ( empty( $_POST[ "content" ] ) )
			{
				$correct = FALSE;
				$message .= "<p>Nebyl zadán obsah aktuality!</p>\n";
			}

			if ( $correct )
			{
				$title = htmlspecialchars( $_POST[ "title" ] );
				$content = $_POST[ "content" ];
				$show = ( $_POST[ "show"] == "on" )?1:0;
				$query = "UPDATE `newsreel` SET `title` = '$title', `content` = '$content', `display` = $show WHERE ID = $id";
			 
				$result = @mysql_query( $query, $dbc );
				if ( $result)
				{
					header ( "Location: index.php?action=actuals&make=view&do=updated&id=$id" );
				}
				else
				{
					message( "system_error", TRUE );
					write_log( "\nSoubor: ". __FILE__. "\nŘádek : ". __LINE__. "\nChyba : ". mysql_error() );
				}
			}
			else
			{
				echo "\n". $message. "<p>Zkuste to znovu..</p>\n";
			}
		}
		
		if ( $id != -1 )
		{
			$query = "SELECT * FROM `newsreel` WHERE ID = $id";
			 
			$result = mysql_query( $query, $dbc );

			if ( mysql_num_rows( $result ) > 0 ) {
				$row = mysql_fetch_row( $result );

				if ( !isset( $_POST[ "submit" ] ) )
				{
					$title = $row[ 1 ];
					$content = $row[ 2 ];
				}
				else
				{
					$title = $_POST[ "title" ];
					$content = $_POST[ "content" ];
				}

				$smarty->assign( 'title', $title );
				$smarty->assign( 'content', $content );
				
				if ( $_POST[ "show"] == "on" || ( !isset( $_POST[ "submit" ] ) && $row[ 4 ] == 1 ) ) {
					$smarty->assign( 'show', 'on' );
				}
				
				$smarty->display( "admin/actuals_add.tpl" );
			}
			else
			{
				message( "id_not_exist", TRUE );
			}
		}
		else
		{
			message( "Nebylo zadáno ID aktuality kterou chcete editovat." );
		}
	}
	elseif ( $make == "del" )
	{
		$id = select( "id", -1 );
		
		if ( $id != -1 )
		{
			$query = "SELECT * FROM `newsreel` WHERE ID = $id";
			 
			$result = mysql_query( $query, $dbc );

			if ( mysql_num_rows( $result ) > 0 )
			{
				$row = mysql_fetch_array( $result, $dbc );
				$smarty->assign( 'ID', $row[ 0 ] );
				$smarty->assign( 'title', $row[ 1 ] );
				$smarty->display( 'admin/actuals_del.tpl' );
			}
			else
			{
				message( "id_not_exist", TRUE );
			}
		}
		else
		{
			message( "Nebylo zadáno ID aktuality kterou chcete smazat." );
		}
	}
	elseif ( $make == "visible" )
	{
		$id = select( "id", -1 );
		$do = select( "do", "show" );
		
		if ( $id != -1 )
		{
			$query = "SELECT ID FROM `newsreel` WHERE ID = $id";
			 
			$result = @mysql_query( $query, $dbc );

			if ( @mysql_num_rows( $result ) > 0 )
			{
				if ( $do == "hide" )
				{
					$show = 0;
				}
				else
				{
					$show = 1;
				}
				
				$query = "UPDATE `newsreel` SET `display` = $show WHERE ID = $id";

				$result = @mysql_query( $query, $dbc );

				if ( $result )
				{
					header ( "Location: index.php?action=actuals&make=view&do=updated&id=$id" );
				}
				else
				{
					message( "system_error", TRUE );
					write_log( "\nSoubor: ". __FILE__. "\nŘádek : ". __LINE__. "\nChyba : ". mysql_error() );
				}
			}
			else
			{
				message( "id_not_exist", TRUE );
			}			
		}
		else
		{
			if ( $do == "hide" )
			{
				$act = "zneviditelnit";
			}
			else
			{
				$act = "zviditelnit";
			}
			message( "Nebylo zadáno ID aktuality kterou chcete $act." ); 
		}
	}
	else
	{
		message( "action_not_exist", TRUE );
	}
?>	

ACC SHELL 2018