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
00061 $auditDataObj = BizSystem::getObject($this->m_AuditDataObj);
00062 if (!$auditDataObj) return false;
00063
00064
00065 $srcDataObj = BizSystem::getObject($dataObjName);
00066 if (!$srcDataObj) return false;
00067
00068
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 ?>