r489: Cleaning up the logging system to work a little better
[bugdar.git] / includes / class_history.php
1 <?php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # BugStrike [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
12
13 class History
14 {
15 var $bugid = 0;
16 var $allowempty = false;
17
18 // -------------------------------------------------------------------
19 // -- Create a log entry
20 // -------------------------------------------------------------------
21 function log($diffdata = null)
22 {
23 global $bugsys;
24
25 $this->bugid = intval($this->bugid);
26
27 if ($diffdata == -1)
28 {
29 return;
30 }
31
32 if (!$diffdata)
33 {
34 $bugsys->db->query("
35 INSERT INTO " . TABLE_PREFIX . "history
36 (bugid, dateline, userid)
37 VALUES
38 (" . $this->bugid . ", " . LOG_TIME . ", " . $bugsys->userinfo['userid'] . "
39 )"
40 );
41 }
42 else
43 {
44 $bugsys->db->query("
45 INSERT INTO " . TABLE_PREFIX . "history
46 (bugid, dateline, userid, field, original, changed)
47 VALUES
48 (" . $this->bugid . ", " . LOG_TIME . ", " . $bugsys->userinfo['userid'] . ",
49 '" . $bugsys->escape($diffdata['field']) . "', '" . $bugsys->escape($diffdata['initial']) . "',
50 '" . $bugsys->escape($diffdata['final']) . "'
51 )"
52 );
53 }
54 }
55
56 // -------------------------------------------------------------------
57 // -- Do a diff
58 // -------------------------------------------------------------------
59 function diff($field, $initial, $final)
60 {
61 if (empty($initial) AND empty($final))
62 {
63 if (!$this->allowempty)
64 {
65 return -1;
66 }
67 }
68
69 if (!$this->allowempty)
70 {
71 if ($initial === $final)
72 {
73 return -1;
74 }
75 }
76
77 return array('field' => $field, 'initial' => $initial, 'final' => $final);
78 }
79 }
80
81 /*=====================================================================*\
82 || ###################################################################
83 || # $HeadURL$
84 || # $Id$
85 || ###################################################################
86 \*=====================================================================*/
87 ?>