• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List

E:/E/GEAMP/www/openbiz/openbiz/bin/service/auditService.php

00001 <?php
00025 class auditService
00026 {
00027     public $m_AuditDataObj = "system.obj.d_audit_log";
00028 
00035     function __construct(&$xmlArr)
00036     {
00037         $this->readMetadata($xmlArr);
00038     }
00039 
00046     protected function readMetadata(&$xmlArr)
00047     {
00048         $this->m_AuditDataObj      = $xmlArr["PLUGINSERVICE"]["ATTRIBUTES"]["BIZDATAOBJ"];
00049     }
00050 
00058     public function audit($dataObjName)
00059     {
00060         // get audit dataobj
00061         $auditDataObj = BizSystem::getObject($this->m_AuditDataObj);
00062         if (!$auditDataObj) return false;
00063 
00064         // get the source dataobj
00065         $srcDataObj = BizSystem::getObject($dataObjName);
00066         if (!$srcDataObj) return false;
00067 
00068         // for each onaudit field, add a record in audit dataobj
00069         $auditFields = $srcDataObj->getOnAuditFields();
00070         foreach ($auditFields as $field)
00071         {
00072             if ($field->m_OldValue == $field->m_Value)
00073                 continue;
00074             $recArr = $auditDataObj->newRecord();
00075             if ($recArr == false)
00076             {
00077                 BizSystem::log(LOG_ERR, "DATAOBJ", $auditDataObj->getErrorMessage());
00078                 return false;
00079             }
00080 
00081             $profile = BizSystem::getUserProfile();
00082             $recArr['DataObjName'] = $dataObjName;
00083             $recArr['ObjectId'] = $srcDataObj->getFieldValue("Id");
00084             $recArr['FieldName'] = $field->m_Name;
00085             $recArr['OldValue'] = $field->m_OldValue;
00086             $recArr['NewValue'] = $field->m_Value;
00087             $recArr['ChangeTime'] = date("Y-m-d H:i:s");
00088             $recArr['ChangeBy'] = $profile["USERID"];
00089             $recArr['ChangeFrom'] = $_SERVER['REMOTE_ADDR'];
00090             $recArr['RequestURI'] = $_SERVER['REQUEST_URI'];
00091             $recArr['Timestamp'] = date("Y-m-d H:i:s");
00092             $ok = $auditDataObj->insertRecord($recArr);
00093             if ($ok == false)
00094             {
00095                 BizSystem::log(LOG_ERR, "DATAOBJ", $auditDataObj->getErrorMessage());
00096                 return false;
00097             }
00098         }
00099     }
00100 }
00101 ?>

Generated on Thu Apr 19 2012 17:09:13 for openbiz by  doxygen 1.7.2