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