- Code: Select all
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<!-- Link to editor files -->
<link href="css/table_styles.css" rel="stylesheet" type="text/css" />
<link href="css/icon_styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/ajax_table_editor.js"></script>
<!-- Link to calendar files if needed -->
<!--<link rel="stylesheet" type="text/css" media="all" href="js/jscalendar/skins/aqua/theme.css" title="win2k-cold-1" />
<script type="text/javascript" src="js/jscalendar/calendar.js"></script>
<script type="text/javascript" src="js/jscalendar/lang/calendar-en.js"></script>
<script type="text/javascript" src="js/jscalendar/calendar-setup.js"></script>-->
<!-- Set ajax url -->
<script type="text/javascript">
trackHistory = false;
var ajaxUrl = 'TableEditorConfig.php';
</script>
</head>
<!-- Call js function on load -->
<body onload="toAjaxTableEditor('update_html','');">
<!-- Original html content -->
<p>This is the original web page html</p>
<!-- End original html content -->
<!-- Editor HTML -->
<div id="historyContainer">
<div id="information">
</div>
<div id="titleLayer" style="padding: 2px; font-weight: bold; font-size: 18px; text-align: center;">
</div>
<div id="tableLayer" align="center">
</div>
<div id="recordLayer" align="center">
</div>
<div id="searchButtonsLayer" align="center">
</div>
</div>
<!-- End editor HTML -->
<!-- Original html content -->
<p>This is the original web page html</p>
<!-- End original html content -->
</body>
</html>
PHP Page Code (filename must match the ajax url set in the html page):
- Code: Select all
<?php
require_once('Common.php');
class Example1 extends Common
{
function initiateEditor()
{
$tableColumns['id'] = array('display_text' => 'ID', 'perms' => 'TVQSX');
$tableColumns['first_name'] = array('display_text' => 'First Name', 'perms' => 'EVCTAXQS');
$tableColumns['last_name'] = array('display_text' => 'Last Name', 'perms' => 'EVCTAXQS');
$tableColumns['email'] = array('display_text' => 'Email', 'perms' => 'EVCTAXQS');
$tableColumns['department'] = array('display_text' => 'Department', 'perms' => 'EVCTAXQS', 'select_array' => array('Accounting' => 'Accounting', 'Marketing' => 'Marketing', 'Sales' => 'Sales', 'Production' => 'Production'));
$tableColumns['hire_date'] = array('display_text' => 'Hire Date', 'perms' => 'EVCTAXQS', 'display_mask' => 'date_format(hire_date,"%d %M %Y")', 'calendar' => '%d %B %Y');
$tableName = 'employees';
$primaryCol = 'id';
$errorFun = array(&$this,'logError');
$permissions = 'EAVIDQCSX';
require_once('php/AjaxTableEditor.php');
$this->Editor = new AjaxTableEditor($tableName,$primaryCol,$errorFun,$permissions,$tableColumns);
$this->Editor->setConfig('tableInfo','cellpadding="1" width="800" class="mateTable"');
$this->Editor->setConfig('orderByColumn','first_name');
$this->Editor->setConfig('addRowTitle','Add Employee');
$this->Editor->setConfig('editRowTitle','Edit Employee');
}
function Example1()
{
if(isset($_POST['json']))
{
session_start();
$this->mysqlConnect();
if(ini_get('magic_quotes_gpc'))
{
$_POST['json'] = stripslashes($_POST['json']);
}
if(function_exists('json_decode'))
{
$data = json_decode($_POST['json']);
}
else
{
require_once('php/JSON.php');
$js = new Services_JSON();
$data = $js->decode($_POST['json']);
}
if(empty($data->info) && strlen(trim($data->info)) == 0)
{
$data->info = '';
}
$this->initiateEditor();
$this->Editor->main($data->action,$data->info);
if(function_exists('json_encode'))
{
echo json_encode($this->Editor->retArr);
}
else
{
echo $js->encode($this->Editor->retArr);
}
}
else if(isset($_GET['export']))
{
session_start();
ob_start();
$this->mysqlConnect();
$this->initiateEditor();
echo $this->Editor->exportInfo();
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/x-msexcel");
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="'.$this->Editor->tableName.'.csv"');
exit();
}
}
}
$lte = new Example1();
?>