| Current Path : /var/www/html/mmishra/erp/views/ |
| Current File : /var/www/html/mmishra/erp/views/erpa_view.php |
<?php
//if (!class_exists($erpView)) {
require_once __DIR__."/erp_view.php";
//}
class erpaView extends erpView {
var $controller;
var $model;
public function __construct($controller, $model) {
$this->controller = $controller; // instantiate controller
$this->model = $model; // instantiate model
print("<div id='data'>");
}
public function __destruct() {
// throw last executed sql statement
print("<hr>" .$this->model->sqlStmt);
if (!in_array($this->controller->menu, ['mail', 'upload']) && !in_array($this->controller->action, ['print', 'show'])) {
print(":|:" .$this->erpMenus(). ":|:" .$this->erpXupdate(). ":|:" .$this->erpError(). ":|:" .$this->erpClock(). ":|:" .$this->erpLogin());
}
print("</div>");
}
public function erpaAbout($action, $tuple) {
$app = $this->controller->app;
$menu = $this->controller->menu;
$toolbar = "<a href='' onclick=\"printMe('contentbar'); return false;\" title='Print Page'><span class='button'><i class='fa fa-print'></i></span></a>";
$str .= $this->pageHeader($findbar, $toolbar);
include "includes/erp_about.inc";
$str .= $erpDesign; // defined in above include file
return $str;
}
public function erpaConfiguration($action, $configID) {
$app = $this->controller->app;
$menu = $this->controller->menu;
if (!$configID) $configID = 1;
$configID = $this->controller->manageConfiguration($action, $configID);// initiate controller action
// controller locks/unlocks field through manage call
$ro = $this->controller->editLock; // ensure default edit lock
$configuration = $this->model->getConfiguration($configID); // get record
$toolbar = $this->erpToolbar('', 0);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th>Configuration #{$instituteID} Detail</th></tr>
<tr valign='top'><td>
<table width='100%' class='interface'>
<tr><td nowrap>Owner Name</td><td width='80%'><input type='text' name='ownerName' size='100%' value='" .$configuration['ownerName']. "' placeholder='IIIT Allahabads' $ro></td></tr>
<tr valign='top'><td nowrap>Owner Address</td><td><textarea name='ownerAddress' rows='3' cols='100%' placeholder='Devghat, Jhalwa, Prayagraj' $ro>" .$configuration['ownerAddress']. "</textarea></td></tr>
<tr><td nowrap>Owner Phone</td><td><input type='text' name='ownerPhone' size='100%' value='" .$configuration['ownerPhone']. "' placeholder='phone number' $ro></td></tr>
<tr><td nowrap>Owner Email</td><td><input type='text' name='ownerEmail' size='100%' value='" .$configuration['ownerEmail']. "' placeholder='contact@iiita.ac.in' $ro></td></tr>
<tr><td nowrap>Owner WWW</td><td><input type='text' name='ownerWWW' size='100%' value='" .$configuration['ownerWWW']. "' placeholder='www.iiita.ac.in' $ro></td></tr>
<tr><td nowrap>Support Team</td><td><input type='text' name='supportTeam' size='100%' value='" .$configuration['supportTeam']. "' placeholder='team member names' $ro></td></tr>
<tr><td nowrap>Support Phone</td><td><input type='text' name='supportPhone' size='100%' value='" .$configuration['supportPhone']. "' placeholder='contact numbers' $ro></td></tr>
<tr><td nowrap>Support Email</td><td><input type='text' name='supportEmail' size='100%' value='" .$configuration['supportEmail']. "' placeholder='erp.support@iiita.ac.in' $ro></td></tr>
<tr><td nowrap>Copyright Detail</td><td><input type='text' name='copyrightInfo' size='100%' value='" .$configuration['copyrightInfo']. "' placeholder='copyright information' $ro></td></tr>
<tr><td nowrap>ERP Base URL</td><td><input type='text' name='erpBaseURL' size='100%' value='" .$configuration['erpBaseURL']. "' placeholder='erp.iiita.ac.in' $ro></td></tr>
<tr><td nowrap>Auto Mailing</td><td><select name='autoMailing' style='width: 150px;'>";
foreach ($this->controller->yesnoChoices as $key => $value) {
$str .= "<option value='$key'" .($key == $configuration['autoMailing'] ? self::SL : $this->dis). ">$value</option>";
}
$str .= "</select></td></tr>
<tr valign='top'><td nowrap>Remark</td><td><textarea name='remark' rows='2' cols='100%' placeholder='any text' $ro>" .$configuration['remark']. "</textarea></td></tr>
</table></td></tr>
</table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaInstitute($action, $instituteID) {
$app = $this->controller->app;
$menu = $this->controller->menu;
$instituteID = $_SESSION["instituteID"];
$instituteID = $this->controller->manageInstitute($action, $instituteID);// initiate controller action
// controller locks/unlocks field through manage call
$ro = $this->controller->editLock; // ensure default edit lock
$institute = $this->model->getInstitute(); // get record
$toolbar = $this->erpToolbar('', 0);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th>Institute #{$instituteID} Detail</th></tr>
<tr valign='top'><td>
<table width='100%' class='interface'>
<tr><td nowrap>Institute Code</td><td width='80%'><input type='text' name='instituteCode' size='100%' value='" .$institute['instituteCode']. "' placeholder='Institute abbreviation code' $ro></td></tr>
<tr><td nowrap>Institute Name</td><td><input type='text' name='instituteName' size='100%' value='" .$institute['instituteName']. "' placeholder='Name of the institute' $ro></td></tr>
<tr><td nowrap>Name in Hindi</td><td><input type='text' name='nameHindi' size='100%' value='" .$institute['nameHindi']. "' placeholder='Hindi name image file name' $ro></td></tr>
<tr><td nowrap>Address</td><td><input type='text' name='address' size='100%' value='" .$institute['address']. "' placeholder='Postal address of the institute' $ro></td></tr>
<tr><td nowrap>Phone No</td><td><input type='text' name='phoneNo' size='100%' value='" .$institute['phoneNo']. "' placeholder='Reception contact number' $ro></td></tr>
<tr><td nowrap>Email</td><td><input type='text' name='email' size='100%' value='" .$institute['email']. "' placeholder='Reception email address' $ro></td></tr>
<tr><td nowrap>Website</td><td><input type='text' name='website' size='100%' value='" .$institute['website']. "' placeholder='Address of website' $ro></td></tr>
<tr><td nowrap>Departments</td><td><input type='text' name='departments' size='100%' value='" .$institute['departments']. "' placeholder='No. of departments' $ro></td></tr>
<tr><td nowrap>Programs</td><td><input type='text' name='programs' size='100%' value='" .$institute['programs']. "' placeholder='No. of programs offered' $ro></td></tr>
<tr><td nowrap>Institute Head</td><td><input type='text' name='instituteHead' size='100%' value='" .$institute['instituteHead']. "' placeholder='Name of head' $ro></td></tr>
<tr><td nowrap>Logo Image</td><td><input type='text' name='logoImage' size='100%' value='" .$institute['logoImage']. "' placeholder='Logo image file name' $ro></td></tr>
<tr><td nowrap>Brand Tag Line</td><td><input type='text' name='brandTagline' size='100%' value='" .$institute['brandTagline']. "' placeholder='Brand tag line' $ro></td></tr>
<tr><td nowrap>ID Card Signatory</td><td><input type='text' name='idSignatory' size='100%' value='" .$institute['idSignatory']. "' placeholder='Official position name' $ro></td></tr>
<tr><td nowrap>ID Card Addressee</td><td><textarea name='idAddressee' rows='5' cols='100%' placeholder='IF FOUND KINDLY RETURN TO' $ro>" .$institute['idAddressee']. "</textarea></td></tr>
<tr><td nowrap>Sign Image</td><td><input type='text' name='signImage' size='100%' value='" .$institute['signImage']. "' placeholder='Signature image file name' $ro></td></tr>
</table></td></tr>
</table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaBoard($action, $boardID) {
$app = $this->controller->app;
$menu = $this->controller->menu;
$boardLevel = $this->controller->params[0];
$boardID = $this->controller->manageBoard($action, $boardID); // initiate controller action
// controller locks/unlocks field through manage call
$ro = $this->controller->editLock; // ensure default edit lock
$boards = $this->model->listBoards($boardLevel);
$board = $this->model->getBoard($boardID); // get record
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>Board #{$boardID} Detail</th><th width='30%'>Board List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td width='20%' nowrap>Board Code</td><td><input type='text' name='boardCode' size='50' value='" .$board['boardCode']. "' placeholder='Appears as top level ERP section' $ro></td></tr>
<tr><td nowrap>Board Name</td><td><input type='text' name='boardName' size='50' value='" .$board['boardName']. "' $ro></td></tr>
<tr><td nowrap>Board Level</td><td>";
foreach ($this->controller->boardUniversitys as $key => $value) {
$str .= "<input type='radio' name='boardLevel' value='$key'" .($key == $boardLevel ? ' checked' : $this->dis). "> $value";
}
$str .= "<tr valign='top'><td nowrap>Address</td><td><textarea name='address' rows='3' cols='50' $ro>" .$board['address']. "</textarea></td></tr>
</table>
</td><td><ol>";
foreach($this->controller->boardUniversitys as $key => $value) {
$str .= "<li>";
if ($boardLevel == $key) {
$str .= "<i class='fas fa-caret-left'></i> <a href='' onclick=\"inner('$app/$menu/open/0/0'); return false;\"><b>$value</b></a>
<ol>";
foreach($boards as $board) {
$str .= "<li>" .($board['boardID'] == $boardID ? "<b>" .$board['boardCode']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/" .$board['boardID']. "/$boardLevel'); return false;\">" .$board['boardCode']. "</a>"). " (" .$board['status']. ")</li>";
}
$str .= "</ol>";
} else {
$str .= "<i class='fas fa-caret-right'></i> <a href='' onclick=\"inner('$app/$menu/open/0/$key'); return false;\">$value</a>";
}
$str .= "</li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
//foreach ($this->controller->institutes as $key => $value) {
// $i++;
// $code = $this->abbreviate($value);
// if ($code == $pcode) $code = $code .$i;
// $str .= "$i insert ignore into erp_boards(boardCode,boardName,boardLevel) values('$code','" .str_replace("'",'',$value). "',2);<br>";
// $pcode = $code;
//}
return $str;
}
public function erpaConfig($action, $moduleID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$appID = $this->controller->params[0];
$menuID = $this->controller->params[1];
$moduleID = $this->controller->manageModule($action, $moduleID); // initiate controller action
$ro = $this->controller->editLock; // ensure default edit lock
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<ol class='listbar'>";
$modules = $this->model->listModules();
foreach($modules as $module) {
$str .= "<li>";
if ($module['moduleID'] == $moduleID && !$appID && !$menuID) {
$str .= "- <b><i class='" .$module['moduleIcon']. "'></i> " .$module['moduleName']. "</b> (ID: $moduleID, Status: " .$module['status']. ")
<dir>
<table class='interface'>
<tr><td width='20%' nowrap>Module Name</td><td width='80%'><input type='text' id='moduleName' name='moduleName' size='50' value='" .$module['moduleName']. "' placeholder='Appears as top level ERP section' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$module['description']. "' $ro></td></tr>
<tr><td nowrap>Module Icon</td><td><input type='text' name='moduleIcon' size='50' value='" .$module['moduleIcon']. "' placeholder='Appears before module name' $ro></td></tr>
<tr><td nowrap>Icon Color</td><td><input type='text' name='iconColor' size='50' value='" .$module['iconColor']. "' $ro></td></tr>
<tr><td nowrap>Owner Departments</td><td><input type='text' name='moduleDept' size='50' value='" .$module['moduleDept']. "' $ro></td></tr>
<tr><td nowrap>Admin Name</td><td><input type='text' name='moduleAdmin' size='50' value='" .$module['moduleAdmin']. "' $ro></td></tr>
<tr><td nowrap>Admin Email</td><td><input type='text' name='adminEmail' size='50' value='" .$module['adminEmail']. "' placeholder='Receives critical mails on data operations' $ro></td></tr>
</table>
</dir>";
// application list
$str .= "<div align='left'>
<b>Applications:</b>
<ol class='listbar'>";
$apps = $this->model->listApps($moduleID);
foreach($apps as $app) {
$str .= "<li>";
if ($app['appID'] == $appID) {
$str .= "<b><i class='" .$app['appIcon']. "'></i> " .$app['appName']. "</b> (ID: $appID, Status: " .$app['status']. ")
<dir>
<table class='interface'>
<tr><td nowrap>App Name</td><td><input type='text' name='appName' size='50' value='" .$app['appName']. "' placeholder='Appears as top level menu item' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$app['description']. "' $ro></td></tr>
<tr><td nowrap>App Code</td><td><input type='text' name='appCode' size='50' value='" .$app['appCode']. "' placeholder='5 characters without space, used for controller access' $ro></td></tr>
<tr><td nowrap>App URL</td><td><input type='text' name='appURL' size='50' value='" .$app['appURL']. "' placeholder='Defines controller name to call' $ro></td></tr>
<tr><td nowrap>App Icon</td><td><input type='text' name='appIcon' size='50' value='" .$app['appIcon']. "' placeholder='Awesome font e.g. far fa-building, appears before app name' $ro></td></tr>
<tr><td nowrap>Icon Color</td><td><input type='text' name='iconColor' size='50' value='" .$app['iconColor']. "' $ro></td></tr>
<tr><td nowrap>Owner Departments</td><td><input type='text' name='appDept' size='50' value='" .$app['appDept']. "' $ro></td></tr>
<tr><td nowrap>Admin Name</td><td><input type='text' name='appAdmin' size='50' value='" .$app['appAdmin']. "' $ro></td></tr>
<tr><td nowrap>Admin Email</td><td><input type='text' name='adminEmail' size='50' value='" .$app['adminEmail']. "' placeholder='Receives critical mails on data operations' $ro></td></tr>
<tr><td nowrap>Universally Accessible?</td><td><input type='radio' name='universal' value='0'" .($app['universal'] == 0 ? self::CK : $this->dis). " $ro> No <input type='radio' name='universal' value='1'" .($app['universal'] == 1 ? self::CK : $this->dis). " $ro> Yes (Appears across the modules)</td></tr>
</table>
</dir>";
// menu list
$str .= "<div align='left'>
<b>Menus:</b>
<ol class='listbar'>";
$menus = $this->model->listMenus($appID);
foreach($menus as $menu1) {
$str .= "<li>";
if ($menu1['menuID'] == $menuID) {
$str .= "<b><i class='" .$app['menuIcon']. "'></i> " .$app['menuName']. "</b> (ID: $menuID, Status: " .$menu1['status']. ")
<dir>
<table class='interface'>
<tr><td nowrap>Interface Type</td><td>";
foreach ($this->controller->interfaces as $code => $desc) {
$str .= "<input type='radio' name='interface' value='$code'" .($menu1['interface'] == $code ? self::CK : $this->dis). " $ro> " .$desc. " ";
}
$str .= "</td></tr>
<tr><td nowrap>Menu Name</td><td><input type='text' name='menuName' size='50' value='" .$menu1['menuName']. "' placeholder='Appears as drop down menu item' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$menu1['description']. "' $ro></td></tr>
<tr><td nowrap>Menu URL</td><td><input type='text' name='menuURL' size='50' value='" .$menu1['menuURL']. "' placeholder='Defines view method to call' $ro></td></tr>
<tr><td nowrap>Menu Icon</td><td><input type='text' name='menuIcon' size='50' value='" .$menu1['menuIcon']. "' placeholder='Appears before menu name' $ro></td></tr>
<tr><td nowrap>Access Control?</td><td><input type='radio' name='protection' value='0'" .($menu1['protection'] == 0 ? self::CK : $this->dis). " $ro> No
<input type='radio' name='protection' value='1'" .($menu1['protection'] == 1 ? self::CK : $this->dis). " $ro> Yes (Login required)
<input type='radio' name='protection' value='2'" .($menu1['protection'] == 2 ? self::CK : $this->dis). " $ro> Hidden (Not menu)</td></tr>
<tr valign='top'><td nowrap>Menu Help</td><td><textarea name='menuHelp' rows='5' cols='50' placeholder='Provide user help tips for this interface.' $ro>" .$menu1['menuHelp']. "</textarea></td></tr>
</table>
";
} else {
$str .= "<i class='" .$app['menuIcon']. "'></i> <a href='' onclick=\"inner('$app/$menu/open/$moduleID/$appID/" .$menu['menuID']."'); return false;\">" .$menu['menuName']. "</a> (" .$menu['status']. ")";
}
$str .= "</li>";
}
$str .= "</ol>
</div>";
} else {
$str .= "<i class='" .$app['appIcon']. "'></i> <a href='' onclick=\"inner('$app/$menu/open/$moduleID/" .$app['appID']."'); return false;\">" .$app['appName']. "</a> (" .$app['status']. ")";
}
$str .= "</li>";
}
$str .= "</ol>
</div>";
} else {
$str .= "+ <i class='" .$module['moduleIcon']. "'></i> <a href='' onclick=\"inner('$app/$menu/open/" .$module['moduleID']."'); return false;\">" .$module['moduleName']. "</a> (" .$module['status']. ")";
}
$str .= "</li>";
}
if (!$moduleID) {
$str .= "<li>- <b>New module</b>
<dir>
<table class='interface'>
<tr><td width='20%' nowrap>Module Name</td><td width='80%'><input type='text' id='moduleName' name='moduleName' size='50' value='' placeholder='Appears as top level ERP section' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='' $ro></td></tr>
<tr><td nowrap>Module Icon</td><td><input type='text' name='moduleIcon' size='50' value='' placeholder='Appears before module name' $ro></td></tr>
<tr><td nowrap>Icon Color</td><td><input type='text' name='iconColor' size='50' value='' $ro></td></tr>
<tr><td nowrap>Owner Departments</td><td><input type='text' name='moduleDept' size='50' value='' $ro></td></tr>
<tr><td nowrap>Admin Name</td><td><input type='text' name='moduleAdmin' size='50' value='' $ro></td></tr>
<tr><td nowrap>Admin Email</td><td><input type='text' name='adminEmail' size='50' value='' placeholder='Receives critical mails on data operations' $ro></td></tr>
</table>
</dir>
</li>";
}
$str .= "</ol>";
return $str;
}
public function erpaModule($action, $moduleID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$moduleID = $this->controller->manageModule($action, $moduleID); // initiate controller action
$ro = $this->controller->editLock; // ensure default edit lock
$modules = $this->model->listModules();
$module = $this->model->getModule($moduleID); // get record
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>Module #{$moduleID} Detail</th><th width='30%'>Module List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td width='20%' nowrap>Module Name</td><td><input type='text' id='moduleName' name='moduleName' size='50' value='" .$module['moduleName']. "' placeholder='Appears as top level ERP section' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$module['description']. "' $ro></td></tr>
<tr><td nowrap>Module Icon</td><td><input type='text' name='moduleIcon' size='50' value='" .$module['moduleIcon']. "' placeholder='Appears before module name' $ro></td></tr>
<tr><td nowrap>Icon Color</td><td><input type='text' name='iconColor' size='50' value='" .$module['iconColor']. "' $ro></td></tr>
<tr><td nowrap>Owner Departments</td><td><input type='text' name='moduleDept' size='50' value='" .$module['moduleDept']. "' $ro></td></tr>
<tr><td nowrap>Admin Name</td><td><input type='text' name='moduleAdmin' size='50' value='" .$module['moduleAdmin']. "' $ro></td></tr>
<tr><td nowrap>Admin Email</td><td><input type='text' name='adminEmail' size='50' value='" .$module['adminEmail']. "' placeholder='Receives critical mails on data operations' $ro></td></tr>
</table>
</td><td><ol class='listbar'>";
foreach($modules as $module) {
$str .= "<li><i class='" .$module['moduleIcon']. "'></i> " .($module['moduleID'] == $moduleID ? "<b>" .$module['moduleName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/" .$module['moduleID']."'); return false;\">" .$module['moduleName']. "</a>"). " (" .$module['status']. ")</li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaApp($action, $appID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$moduleID = $this->controller->params[0];
$appID = $this->controller->manageApp($action, $appID); // initiate controller action
$ro = $this->controller->editLock; // ensure default edit lock
$modules = $this->model->selectModule(); // get module lis
$apps = $this->model->listApps($moduleID); // get app lis
$app1 = $this->model->getApp($appID); // get app record
//$toolbar = ($appID ? $this->erpToolbar('', 3) : '');
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>App #{$appID} Details</th><th width='30%'>App List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td width='20%' nowrap>App Name</td><td><input type='text' name='appName' size='50' value='" .$app1['appName']. "' placeholder='Appears as top level menu item' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$app1['description']. "' $ro></td></tr>
<tr><td nowrap>App ID</td><td><input type='text' name='appCode' size='50' value='" .$app1['appCode']. "' placeholder='5 characters without space, used for controller access' $ro></td></tr>
<tr><td nowrap>App URL</td><td><input type='text' name='appURL' size='50' value='" .$app1['appURL']. "' placeholder='Defines controller name to call' $ro></td></tr>
<tr><td nowrap>App Icon</td><td><input type='text' name='appIcon' size='50' value='" .$app1['appIcon']. "' placeholder='Awesome font e.g. far fa-building, appears before app name' $ro></td></tr>
<tr><td nowrap>Icon Color</td><td><input type='text' name='iconColor' size='50' value='" .$app1['iconColor']. "' $ro></td></tr>
<tr><td nowrap>Owner Departments</td><td><input type='text' name='appDept' size='50' value='" .$app1['appDept']. "' $ro></td></tr>
<tr><td nowrap>Admin Name</td><td><input type='text' name='appAdmin' size='50' value='" .$app1['appAdmin']. "' $ro></td></tr>
<tr><td nowrap>Admin Email</td><td><input type='text' name='adminEmail' size='50' value='" .$app1['adminEmail']. "' placeholder='Receives critical mails on data operations' $ro></td></tr>
<tr><td nowrap>Universally Accessible?</td><td><input type='radio' name='universal' value='0'" .($app1['universal'] == 0 ? self::CK : $this->dis). " $ro> No
<input type='radio' name='universal' value='1'" .($app1['universal'] == 1 ? self::CK : $this->dis). " $ro> Yes (Appears across the modules)</td></tr>
</table>
</td><td>
<ol class='listbar'>";
foreach ($modules as $module) {
$str .= "<li><i class='" .$module['moduleIcon']. "'></i> ";
if ($moduleID == $module['moduleID']) {
$str .= "<i class='fas fa-caret-left'></i> <a href='' onclick=\"inner('$app/$menu/open/0/0'); return false;\"><b>" .$module['moduleName']. "</b></a>
<ol>";
foreach($apps as $app1) {
$str .= "<li><i class='" .$app1['appIcon']. "'></i> " .($app1['appID'] == $appID ? "<b>" .$app1['appName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/" .$app1['appID']. "/$moduleID'); return false;\">" .$app1['appName']. "</a>"). " (" .$app1['status']. ")</li>";
}
$str .= "</ol>";
} else {
$str .= "<i class='fas fa-caret-right'></i> <a href='' onclick=\"inner('$app/$menu/open/0/" .$module['moduleID']. "'); return false;\">" .$module['moduleName']. "</a>";
}
$str .= "</li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaMenu($action, $menuID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$appID = $this->controller->params[0]; // application
$menuID = $this->controller->manageMenu($action, $menuID);
$ro = $this->controller->editLock; // ensure default edit lock
$apps = $this->model->selectApp(); // list enabled apps only
$acls = $this->model->getMenuACL($menuID);
$menus = $this->model->listMenus($appID);
$menus1 = $this->model->selectMenu($appID);
$menu1 = $this->model->getMenu($menuID);
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>Menu #{$menuID} Detail</th><th width='30%'>Menu List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td nowrap>Menu Item</td><td>";
if (!$menu1['interface']) $menu1['interface'] = 'I';
foreach ($this->controller->interfaces as $code => $desc) {
$str .= "<input type='radio' name='interface' value='" .$code. "'" .($menu1['interface'] == $code ? self::CK : $this->dis). " $ro> " .$desc. " ";
}
$str .= "</td></tr>
<tr><td nowrap>Parent Menu</td><td><select name='parentID' style='width: 265px'>
<option value='0'>Select, if any</option>";
foreach ($menus1 as $men) {
$str .= "<option value='" .$men['menuID']. "'" .($men['menuID'] == $menu1['parentID'] ? self::SL : $this->dis). ">" .$men['interface']. '-' .$men['menuName']. "</option>";
}
$str .= "</select></td></tr>
<tr><td nowrap>Menu Name</td><td><input type='text' name='menuName' size='50' value='" .$menu1['menuName']. "' placeholder='Appears as drop down menu item' $ro></td></tr>
<tr><td nowrap>Description</td><td><input type='text' name='description' size='50' value='" .$menu1['description']. "' $ro></td></tr>
<tr><td nowrap>Menu URL</td><td><input type='text' name='menuURL' size='50' value='" .$menu1['menuURL']. "' placeholder='Defines view method to call' $ro></td></tr>
<tr><td nowrap>Menu Icon</td><td><input type='text' name='menuIcon' size='50' value='" .$menu1['menuIcon']. "' placeholder='Appears before menu name' $ro></td></tr>
<tr><td nowrap>Access Control</td><td><input type='radio' name='protection' value='0'" .($menu1['protection'] == 0 ? self::CK : $this->dis). " $ro> No
<input type='radio' name='protection' value='1'" .($menu1['protection'] == 1 ? self::CK : $this->dis). " $ro> Yes (login required)
<input type='radio' name='protection' value='2'" .($menu1['protection'] == 2 ? self::CK : $this->dis). " $ro> Hidden (link)</td></tr>
<tr valign='top'><td nowrap>Menu Help</td><td><textarea name='menuHelp' rows='5' cols='50' placeholder='Provide user help tips for this interface.' $ro>" .$menu1['menuHelp']. "</textarea></td></tr>
</table><input type='hidden' name='appID' value='$appID'>
<h5>Users Acess Control List [ Read, Insert, Update, Delete ]</h5>
<ol>";
// get user list granted access to this menu
foreach($acls as $acl) {
if ($acl['aclRead']) $str .= "<li>" .$acl['loginID']. " [ " .($acl['aclRead'] ? 'Read' : "<i class='fas fa-times'></i>"). ', ' .($acl['aclInsert'] ? 'Insert' : "<i class='fas fa-times'></i>"). ', ' .($acl['aclUpdate'] ? 'Update' : "<i class='fas fa-times'></i>"). ', ' .($acl['aclDelete'] ? 'Delete' : "<i class='fas fa-times'></i>"). " ]</li>";
}
$str .= "</ol></td><td>
<ol class='listbar'>";
foreach ($apps as $ap) {
$str .= "<li><i class='" .$ap['appIcon']. "'></i> ";
if ($appID == $ap['appID']) {
$str .= "<i class='fas fa-caret-left'></i> <a href='' onclick=\"inner('$app/$menu/open/0/0'); return false;\"><b>" .$ap['appName']. "</b></a>
<ol>";
foreach($menus as $men) {
$str .= "<li><i class='" .$men['menuIcon']. "'></i> " .($men['menuID'] == $menuID ? "<b>" .$men['menuName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/" .$men['menuID']. "/$appID'); return false;\">" .$men['menuName']. "</a>"). " (" .$men['status']. ") " .$men['interface']. "</li>";
}
$str .= "</ol>";
} else {
$str .= "<i class='fas fa-caret-right'></i> <a href='' onclick=\"inner('$app/$menu/open/0/" .$ap['appID']. "'); return false;\">" .$ap['appName']. "</a>";
}
$str .= "</li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaGroup($action, $groupID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$groupID = $this->controller->manageGroup($action, $groupID);
$ro = $this->controller->editLock; // ensure default edit lock
$menus = $this->model->selectMenu();
$groups = $this->model->listGroups();
$group = $this->model->getuGroup($groupID);
$toolbar = $this->erpToolbar('', 3);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>Group #{$groupID} Details</th><th width='30%'>Group List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td>Group Name</td><td>";
if ($groupID) {
$str .= "<input type='text' name='groupName' size='50' value='" .$group['groupName']. "' $ro>";
} else {
$str .= "<select name='groupName' style='width: 268px'>
<option value=''>Select from LDAP</option>";
$ds = ldap_connect("ldap://172.31.1.41:389");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$ldp = ldap_search($ds, "dc=iiita,dc=ac,dc=in", "ou=*");
$recs = ldap_get_entries($ds, $ldp);
arsort($recs);
foreach ($recs as $rec) {
$dn = strtolower($rec['dn']);
$dn = str_replace(',dc=iiita,dc=ac,dc=in', '', $dn);
$desc = $rec['description'][0] . $rec['gecos'][0] . $rec['cn'][0];
if (strpos($dn, 'employee') || strpos($dn, 'student')) {
$ous1 = array_reverse(explode(',', str_replace('ou=', '', $dn)));
$ous2 = implode('-', $ous1);
if ($ous2 && !$this->model->getGroupIDByGroupName($ous2)) {
$str .= "<option value='$ous2'>$ous2</option>";
}
}
}
ldap_close($ds);
$str .= "<option value='Others'>Others</option></select>";
}
$str .= "</td></tr>
<tr><td>Description</td><td><input type='text' name='description' size='50' value='" .$group['description']. "' placeholder='Define role of the group' $ro></td></tr>
<tr><td>Dashboard</td><td><select name='dashboard' style='width: 268px'>
<option value='erpDashboard'>Dafault</option>";
foreach ($menus as $menux) {
$code = $menux['appCode']. ucwords($menux['menuURL']);
if (substr($menux['menuURL'], 0, 4) != "http") $str .= "<option value='$code'" .($group['dashboard'] == $code ? self::SL : $this->dis). ">$code (" .$menux['interface']. ")</option>";
}
$str .= "</select></td></tr>
</table></td><td>
<ol class='listbar'>";
foreach($groups as $group) {
$str .= "<li><i class='fas fa-users'></i> " .($group['groupID'] == $groupID ? "<b>" .$group['groupName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/" .$group['groupID']. "'); return false;\" title='Edit record'>" .$group['groupName']. "</a>"). " (" .$group['status']. ") <a href='' onclick=\"popup('$app/users/show/" .$group['groupID']. "', 'Users List', 1000, 600); return false;\" title='List users'>" .$group['memberCount']. " users</a></li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
return $str;
}
public function erpaGacl($action, $groupID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$appID = $this->controller->params[0];
$groupID = $this->controller->manageGacl($action, $groupID);
$ro = $this->controller->editLock; // ensure default edit lock
$groups = $this->model->selectGroup(); // list enabled users only
$apps = $this->model->selectApp(); // list enabled users only
$gacls = $this->model->listGacls($groupID, $appID);
$toolbar = ($groupID && $appID ? $this->erpToolbar('', 3) : '');
$findbar = "<i class='fas fa-users'></i> Group <select name='groupID' style='width: 200px' onchange=\"inner('$app/$menu/open/'+this.value+'/$appID'); return false;\">
<option value='0'>Select</option>";
foreach ($groups as $group) {
$findbar .= "<option value='" .$group['groupID']. "'" .($group['groupID'] == $groupID ? self::SL : ''). ">" .$group['groupName']. "</option>";
}
$findbar .= "</select>";
$str = $this->pageHeader($findbar, $toolbar);
if ($groupID) {
$str .= "<table width='100%'>
<tr><th width='70%'>Group ACL <span class='findbar'><input type='checkbox' onclick='toggle(this,\"acl\")'> Toggle All</span></th><th>App List</th></tr>
<tr valign='top'><td>
<table width='100%' class='report'>
<tr><th>#</th><th>Menu Name</th><th>Interface</th><th>Read Privilege</th><th>Insert Privilege</th><th>Update Privilege</th><th>Delete Privilege</th></tr>";
foreach($gacls as $gacl) {
$i++;
$aclID = ($gacl['aclID'] ? $gacl['aclID'] : 0);
$str .= "<tr><td>$i <input type='hidden' name='aclID[]' value='$aclID'><input type='hidden' name='menuID$i' value='" .$gacl['menuID']. "'></td>
<td><i class='" .$gacl['menuIcon']. "'></i> " .$gacl['menuName']. "</td><td>" .($gacl['interface'] == 'I' ? 'Input' : ($gacl['interface'] == 'C' ? 'Configuration' : 'Output')). "</td>
<td align='center'><input id='acl' type='checkbox' name='aclRead$i' value='1'" .($gacl['aclRead'] ? self::CK : $this->dis). " $ro></td>";
if ($gacl['interface'] != 'O') {
$str .= "<td align='center'><input id='acl' type='checkbox' name='aclInsert$i' value='1'" .($gacl['aclInsert'] ? self::CK : $this->dis). " $ro></td>
<td align='center'><input id='acl' type='checkbox' name='aclUpdate$i' value='1'" .($gacl['aclUpdate'] ? self::CK : $this->dis). " $ro></td>
<td align='center'><input id='acl' type='checkbox' name='aclDelete$i' value='1'" .($gacl['aclDelete'] ? self::CK : $this->dis). " $ro></td>";
}
$str .= "</tr>";
}
$str .= "</table></td><td>
<ol class='listbar'>";
foreach ($apps as $ap) {
$str .= "<li><i class='" .$ap['appIcon']. "'></i> " .($appID == $ap['appID'] ? "<b>" .$ap['appName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/$userID/$groupID/" .$ap['appID']. "'); return false;\">" .$ap['appName']. "</a>"). " (" .$ap['status']. ")</li>";
}
$str .= "</ol></td></tr></table>" .($groupID && $appID ? $this->pageFooter('', $toolbar) : '');
} else {
$str .= "<h1 align='center'>Select group to proceed with.</h1>";
}
return $str;
}
public function erpaUser($action, $userID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu;
$groupID = $this->controller->params[0];
$userID = $this->controller->manageUser($action, $userID);
$ro = $this->controller->editLock; // ensure default edit lock
$groups = $this->model->selectGroup(); // list enabled users only
$users = $this->model->listUsers($groupID);
$toolbar = ($groupID ? $this->erpToolbar('', 3) : '');
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th>User #{$userID} Detail</th><th>Group List</th><tr>
<tr valign='top'><td>
<table class='interface'>
<tr><th>#</th><th width='30%'>Login ID</th><th width='40%'>User Name</th><th>Auth Mode</th><th>Password</th></tr>";
foreach($users as $user) {
$i++;
$str .= "<tr><td>$i</td>";
if ($userID == $user['userID']) {
$str .= "<td nowrap><i class='fas fa-user'></i><input type='text' name='loginID' size='20' value='" .$user['loginID']. "' placeholder='0 characters user id' $ro></td>
<td><input type='text' name='userName' size='40' value='" .$user['userName']. "' placeholder='Name of the account holder' $ro></td>
<td><select name='authMode' style='width: 100px'>";
foreach ($this->controller->authModes as $code => $desc) {
$str .= "<option value='$code'" .($user['authMode'] == $code ? self::SL : $this->dis). ">$desc</option>";
}
$str .= "</select></td>
<td><input type='password' name='secretCode' size='20' value='" .$user['secretCode']. "' placeholder='10 characters password' $ro></td>";
} else {
$str .= "<td nowrap><i class='fas fa-user'></i> <a href='' onclick=\"inner('$app/$menu/edit/" .$user['userID']. "/$groupID'); return false;\" title='Edit record'>" .$user['loginID']. "</a> (" .$user['status']. ")</td>
<td>" .$user['userName']. "</td><td>" .$user['authMode']. "</td><td>" .substr($user['secretCode'], 0, 10). "</td>";
}
$str .= "</tr>";
}
$str .= "<tr>";
if ($groupID && !$userID) {
$groupName = $this->model->getGroupNameByGroupID($groupID);
$groupName = str_replace(' ', '', strtolower($groupName));
if ($groupName == 'hod' || groupName == 'dean' || $groupName == 'associatedean') $groupName = 'faculty';
$ous = array_reverse(explode('-', $groupName));
foreach ($ous as $ou) {
$mou .= "ou=$ou,";
}
if (!strpos($mou, 'student')) $mou .= 'ou=employee,';
$mou .= 'dc=iiita,dc=ac,dc=in';
$str .= "<td>New</td><td nowrap><i class='fas fa-user'></i>
<select name='loginID' style='width: 150px'>
<option value=''>Select from LDAP $mou</option>";
$ds = ldap_connect("ldap://172.31.1.41:389");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$attributes = ['uid', 'givenname', 'sn', 'mail', 'accountstatus'];
//$data = ldap_search($ds, $mou, "&(uid=*)(accountStatus=active)");
$info = ldap_search($ds, $mou, "(uid=*)", $attributes);
$users = ldap_get_entries($ds, $info);
arsort($users);
for ($i=0; $i<$users["count"]; $i++) {
$uid = $users[$i]['uid'][0];
$name = strtoupper($users[$i]['givenname'][0]. ' ' .$users[$i]['sn'][0]);
$status = strtolower($users[$i]['accountstatus'][0]);
$userID = $this->model->getUserIDByLoginID($uid);
//if (!$userID && $status == 'active') $str .= "<option value='$uid'>$uid - $name ($status)</option>";
if (!$userID) $str .= "<option value='$uid'>$uid - $name ($status)</option>";
}
$str .= "<option value='mysql user'>Database user</option></select></td>
<td><input type='text' name='userName' size='40' value='' placeholder='Name of the account holder'></td>
<td><select name='authMode' style='width: 100px'>";
foreach ($this->controller->authModes as $code => $desc) {
$str .= "<option value='$code'>$desc</option>";
}
$str .= "</select></td>
<td><input type='password' name='secretCode' size='20' value='' placeholder='10 characters password'></td>";
ldap_close($ds);
}
$str .= "</tr>
</table></td><td width='25%'>
<ol class='listbar'>";
foreach ($groups as $group) {
$str .= "<li><i class='fas fa-users'></i> " .($groupID == $group['groupID'] ? "<b>" .$group['groupName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/0/" .$group['groupID']. "'); return false;\">" .$group['groupName']. "</a>"). "</li>";
}
$str .= "</ol></td></tr></table>" .($groupID ? $this->pageFooter('', $toolbar) : '');
return $str;
}
public function erpaUacl($action, $userID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu; // menu envoked
$groupID = $this->controller->params[0];
$appID = $this->controller->params[1];
$userID = $this->controller->manageUacl($action, $userID);
$ro = $this->controller->editLock; // ensure default edit lock
$apps = $this->model->selectApp();
$groups = $this->model->selectGroup(); // list enabled users only
$users = $this->model->selectUser($groupID); // list enabled users only
$acls = $this->model->listUacls($userID, $appID);
$toolbar = ($appID ? $this->erpToolbar('', 3) : '');
$findbar = "<i class='fas fa-users'></i> Group <select name='groupID' style='width: 200px' onchange=\"inner('$app/$menu/open/0/'+this.value+'/0'); return false;\">
<option value='0'>Select</option>";
foreach ($groups as $group) {
$findbar .= "<option value='" .$group['groupID']. "'" .($group['groupID'] == $groupID ? self::SL : ''). ">" .$group['groupName']. "</option>";
}
$findbar .= "</select>
<i class='fas fa-user'></i> User <select name='userID' style='width: 200px' onchange=\"inner('$app/$menu/open/'+this.value+'/$groupID/0'); return false;\">
<option value='0'>Select</option>";
foreach ($users as $user) {
$findbar .= "<option value='" .$user['userID']. "'" .($user['userID'] == $userID ? self::SL : ''). ">" .$user['loginID']. "</option>";
}
$findbar .= "</select>";
$str = $this->pageHeader($findbar, $toolbar);
if ($groupID && $userID) {
$str .= "<table width='100%'>
<tr><th width='70%'>User ACL <span class='findbar'><input type='checkbox' onclick='toggle(this,\"acl\")'> Toggle All</span></th><th>App List</th></tr>
<tr valign='top'><td>
<table width='100%' class='interface'>
<tr><th>#</th><th>Menu Name</th><th>Interface</th><th>Read Privilege</th><th>Insert Privilege</th><th>Update Privilege</th><th>Delete Privilege</th></tr>";
foreach($acls as $acl) {
$i++;
$aclID = ($acl['aclID'] ? $acl['aclID'] : 0);
$str .= "<tr><td>$i <input type='hidden' name='aclID[]' value='$aclID'><input type='hidden' name='menuID$i' value='" .$acl['menuID']. "'></td>
<td><i class='" .$acl['menuIcon']. "'></i> " .$acl['menuName']. "</td><td>" .($acl['interface'] == 'I' ? 'Input' : ($acl['interface'] == 'C' ? 'Configuration' : 'Output')). "</td>
<td align='center'><input id='acl' type='checkbox' name='aclRead$i' value='1'" .($acl['aclRead'] ? self::CK : $this->dis). " $ro></td>";
if ($acl['interface'] != 'O') {
$str .= "<td align='center'><input id='acl' type='checkbox' name='aclInsert$i' value='1'" .($acl['aclInsert'] ? self::CK : $this->dis). "></td>
<td align='center'><input id='acl' type='checkbox' name='aclUpdate$i' value='1'" .($acl['aclUpdate'] ? self::CK : $this->dis). "></td>
<td align='center'><input id='acl' type='checkbox' name='aclDelete$i' value='1'" .($acl['aclDelete'] ? self::CK : $this->dis). "></td>";
}
$str .= "</tr>";
}
$str .= "</table></td><td>
<ol class='listbar'>";
foreach ($apps as $ap) {
$str .= "<li><i class='" .$ap['appIcon']. "'></i> " .($appID == $ap['appID'] ? "<b>" .$ap['appName']. "</b>" : "<a href='' onclick=\"inner('$app/$menu/open/$userID/$groupID/" .$ap['appID']. "'); return false;\">" .$ap['appName']. "</a>"). " (" .$ap['status']. ")</li>";
}
$str .= "</ol></td></tr></table>" .($appID ? $this->pageFooter('', $toolbar) : '');
} else {
$str .= "<h1 align='center'>Select group and User to proceed with.</h1>";
}
return $str;
}
public function erpaGroups($action, $groupID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu;
$rows = $this->model->printGroups();
$toolbar = $this->erpPrintbar();
$str = $this->pageHeader($findbar, $toolbar);
$str .= $this->printReport($rows);
if ($rows) $str .= $this->pageFooter('', $toolbar);
return $str;
}
public function erpaUsers($action, $groupID) {
$app = $this->controller->app; // application envoked
$menu = $this->controller->menu;
$groups = $this->model->selectGroup(); // list enabled users only
$rows = $this->model->printUsers($groupID);
if ($groupID) $toolbar = $this->erpPrintbar();
$findbar = "Group <select name='groupID' style='width: 200px' onchange=\"inner('$app/$menu/print/'+this.value); return false;\">
<option value='0'>Select</option>";
foreach ($groups as $group) {
$findbar .= "<option value='" .$group['groupID']. "'" .($group['groupID'] == $groupID ? self::SL : ''). ">" .$group['groupName']. "</option>";
}
$findbar .= "</select>";
$str = $this->pageHeader($findbar, $toolbar);
$str .= $this->printReport($rows);
if ($rows) $str .= $this->pageFooter('', $toolbar);
return $str;
}
public function erpaMessage($action, $messageID) {
$app = $this->controller->app;
$menu = $this->controller->menu;
$messageID = $this->controller->manageMessage($action, $messageID);// initiate controller action
// controller locks/unlocks field through manage call
$ro = $this->controller->editLock; // ensure default edit lock
$messages = $this->model->listMessages(); // get record
$message = $this->model->getMessage($messageID); // get record
$toolbar = $this->erpToolbar('', 2);
$str = $this->pageHeader($findbar, $toolbar);
$str .= "<table width='100%'>
<tr><th width='70%'>Message #{$messageID} Details</th><th width='30%'>Message List</th></tr>
<tr valign='top'><td>
<table class='interface'>
<tr><td nowrap>Subject</td><td><input type='text' name='subject' size='100%' value='" .$message['subject']. "' placeholder='Mail subject' $ro></td></tr>
<tr valign='top'><td nowrap>Message</td><td><textarea name='message' rows='15' cols='100%' placeholder='Mail message' $ro>" .$message['message']. "</textarea></td></tr>
<tr><td nowrap>Sender</td><td><textarea name='sender' rows='3' cols='100%' placeholder='Sender name, designation' $ro>" .$message['sender']. "</textarea></td></tr>
<tr><td nowrap>Recipient</td><td><input type='text' name='recipient' size='100%' value='" .$message['recipient']. "' placeholder='Recipient name, group' $ro></td></tr>
</table>
</td><td>
<ol class='listbar'>";
foreach ($messages as $message) {
$str .= "<li>";
if ($messageID == $message['messageID']) {
$str .= "<b>" .$message['subject']. "</b>";
} else {
$str .= "<a href='' onclick=\"inner('$app/$menu/open/" .$message['messageID']. "'); return false;\">" .$message['subject']. "</a>";
}
$str .= "</li>";
}
$str .= "</ol></td></tr></table>" .$this->pageFooter('', $toolbar);
return $str;
}
//***************************************************************************
//* reports on session, log and sql commands *
//***************************************************************************
public function erpaSessions($action, $dated='') {
return $this->erpSessions($action, $dated);
}
public function erpaLogs($action, $dated='') {
if ($_SESSION["loginID"]) return $this->erpLogs($action, $dated);
else return "You need to sign in to get the log information.";
}
public function erpaSqls($action, $dated='') {
if ($_SESSION["loginID"]) return $this->erpSqls($action, $dated);
else return "You need to sign in to get the sql information.";
}
function abbreviate($string){
$abbreviation = "";
$string = ucwords($string);
$words = explode(" ", "$string");
foreach($words as $word){
$abbreviation .= $word[0];
}
return $abbreviation;
}
}
?>