ACC SHELL

Path : /srv/www/vhosts/marevva/crossroadsfoundation/admin/
File Upload :
Current File : /srv/www/vhosts/marevva/crossroadsfoundation/admin/class.TUNO321.AdminPage.php

<?php
	
require_once( 'class.eyedatagrid.inc.php' );
require_once( 'class.eyemysqladap.inc.php' );
require_once( 'class.TUNO321.AdminPage.DataEdit.php' );
	
class AdminPage
{
	private $db;
	private $dataGrid;
	private $dataEdit;
	
	// --------------------------------------------------------------------------------
	
	/**
	* Constructor
	*
	* @param EyeMySQLAdap $_db The Eyesis MySQL Adapter class
	* @param string $image_path The path to datagrid images
	*/
	public function __construct( /*$db,*/ $dbServer, $dbUser, $dbPass, $dbDatabase, $dbTable, $dataFields, 
								 $resultsPerPage = 10, $allowFilters = false, 
								 $addItemEnabled = true, $removeItemEnabled = true, 
								 $printEditPageExtra = '', $printEditPageAfterForm = '', $printEditPageScriptAfterForm = '', $printEditPageScriptFunctionAfterForm = '',
								 $beforeDelete = '', $beforeSave = '',
								 $dataGridPrimaryKeyCol = 'ID', $dataGridWhere = '' )
	{
		// Data Edit
		$this->dataEdit = new TUNO321DataEdit( $dbServer, $dbUser, $dbPass, $dbDatabase, $dbTable );
		
		$this->dataEdit->setPrintEditPageExtra( $printEditPageExtra );
		
		$this->dataEdit->setPrintEditPageAfterForm( $printEditPageAfterForm );
		$this->dataEdit->setPrintEditPageScriptAfterForm( $printEditPageScriptAfterForm );		
		$this->dataEdit->setPrintEditPageScriptFunctionAfterForm( $printEditPageScriptFunctionAfterForm );
		
		$this->dataEdit->setBeforeDelete( $beforeDelete );
		$this->dataEdit->setAfterSave( $beforeSave );
		
		// Data Grid
		$this->db = new EyeMySQLAdap( /*$db*/$dbServer, $dbUser, $dbPass, $dbDatabase );
	
		$this->dataGrid = new EyeDataGrid( $this->db, '/admin/img/grid/' );
		
		$this->dataGrid->setQuery( '*', $dbTable , $dataGridPrimaryKeyCol, $dataGridWhere );
		
		$this->dataGrid->setResultsPerPage( $resultsPerPage );
		$this->dataGrid->allowFilters( $allowFilters );
		
		$action = '';
		if ( isset( $_GET['action'] ) ) $action = $_GET['action'];
		if ( isset( $_POST['action'] ) ) $action = $_POST['action'];
		
		if ( $addItemEnabled )
		{
			$this->dataGrid->showCreateButton( url_removeQueryString( $_SERVER['REQUEST_URI'] ) . '?action=' . $action . '&cmd=new', EyeDataGrid::TYPE_HREF, 'Přidat' );			
		}
		if ( $removeItemEnabled )
		{
			$this->dataGrid->addStandardControl( EyeDataGrid::STDCTRL_DELETE, url_removeQueryString( $_SERVER['REQUEST_URI'] ) . '?action=' . $action . '&cmd=delete&id=%ID%', EyeDataGrid::TYPE_HREF ); 	
		}
		
		$this->dataGrid->addRowSelect( "javascript: window.location='".url_removeQueryString( $_SERVER['REQUEST_URI'] ) . '?action=' . $action . '&id=%ID%'."';" );
				
		// Data Fields for Data Edit
		if ( count( $dataFields ) > 0 )
		{
			foreach ( $dataFields as $dataField )
			{
				$this->dataEdit->addDataField( $dataField );
			}
		}
		// Data Fields for Data Grid
		$dataFields = $this->dataEdit->getDataFields();
		if ( count( $dataFields ) > 0 )
		{
			foreach ( $dataFields as $dataField )
			{
				if ( ( isset( $dataField['inTable'] ) ) && ( $dataField['inTable'] == 'true' ) )
				{
					$this->dataGrid->setColumnHeader( $dataField['dbKey'], $dataField['title'] );
					
					if ( ( isset( $dataField['tableType'] ) ) && $dataField['tableType'] != '' )
					{
						switch ( $dataField['tableType'] )
						{
							case EyeDataGrid::TYPE_ARRAY:
									$this->dataGrid->setColumnType( $dataField['dbKey'], $dataField['tableType'], $dataField['selectOptions'], '' );
								break;								
							default:
									$this->dataGrid->setColumnType( $dataField['dbKey'], $dataField['tableType'], '', '' );
						}
					}
				}
				else
				{
					if ( isset( $dataField['dbKey'] ) )
						$this->dataGrid->hideColumn( $dataField['dbKey'] );
				}
			}
		}
		
	}
	
	// --------------------------------------------------------------------------------
	
	public function printDataGrid()
	{
		return $this->dataGrid->printTable();
	}
	
	// --------------------------------------------------------------------------------
	
	public function printDataEdit()
	{		
		return $this->dataEdit->printPage();
	}
	
	// --------------------------------------------------------------------------------
}
	
?>

ACC SHELL 2018