1 | <?php
|
---|
2 | {
|
---|
3 | ini_set("display_errors", "On");
|
---|
4 | ini_set("mysql.trace_mode", "On");
|
---|
5 |
|
---|
6 | if (empty($_GET["fGetValCase"]))
|
---|
7 | {
|
---|
8 | echo "Please specify how you want to display the table (for view or for insert).";
|
---|
9 | //1: insert
|
---|
10 | //2: view
|
---|
11 | //3: view compare
|
---|
12 | return;
|
---|
13 | }
|
---|
14 | if (empty($_GET["fKey"]))
|
---|
15 | {
|
---|
16 | echo "Please select a key.";
|
---|
17 | return;
|
---|
18 | }
|
---|
19 | if (empty($_GET["fProgram"]))
|
---|
20 | {
|
---|
21 | echo "Please select a program.";
|
---|
22 | return;
|
---|
23 | }
|
---|
24 | if (empty($_GET["fStatusDate"]))
|
---|
25 | $_GET["fStatusDate"]="";
|
---|
26 |
|
---|
27 | include("db.php");
|
---|
28 | $db_id = mysql_pconnect($host, $user, $pw);
|
---|
29 | if ($db_id==FALSE)
|
---|
30 | {
|
---|
31 | printf("mysql_connect returned the following error: %s\n", mysql_error());
|
---|
32 | die("");
|
---|
33 | }
|
---|
34 | mysql_select_db($db);
|
---|
35 |
|
---|
36 | $query1 = "SELECT Max(fCounter) FROM History";
|
---|
37 | // get counter of fStatusDate or current status
|
---|
38 | if ($_GET["fGetValCase"]!=1 && $_GET["fStatusDate"]!="")
|
---|
39 | $query1.=" WHERE (fValidFrom < '".$_GET["fStatusDate"]."' OR fValidFrom like '".$_GET["fStatusDate"]."%')";
|
---|
40 |
|
---|
41 | $result1=mysql_query($query1, $db_id);
|
---|
42 | $row1 = mysql_fetch_row($result1);
|
---|
43 | $counter=$row1[0];
|
---|
44 | mysql_free_result($result1);
|
---|
45 |
|
---|
46 | //get key1 and key2 separately from DB (for function AddRow())
|
---|
47 | $query2 = "SELECT fKey1, SUBSTRING(fKey2,2), fType, fMin, fMax, fDescription ";
|
---|
48 | $query2 .= "FROM ProgramOption WHERE Concat(fKey1,fKey2)='".$_GET["fKey"]."' ORDER BY fValidFrom DESC LIMIT 0,1";
|
---|
49 | $result2=mysql_query($query2, $db_id);
|
---|
50 | $row2 = mysql_fetch_row($result2);
|
---|
51 | //get values from result
|
---|
52 | $key1 =$row2[0];
|
---|
53 | $key2 = $row2[1];
|
---|
54 | $type = $row2[2];
|
---|
55 | $min = $row2[3];
|
---|
56 | $max = $row2[4];
|
---|
57 | $descr = $row2[5];
|
---|
58 | mysql_free_result($result2);
|
---|
59 |
|
---|
60 | $query0 ="SELECT fIndex, fValidFrom, fProgram, Concat(fKey1,fKey2), fValue, ";
|
---|
61 | $query0.="fDescription, fCounter, fType, fMin, fMax, fKey1, SUBSTRING(fKey2,2), ";
|
---|
62 | $query0.="if(fOriginalIndex=0, fIndex, fOriginalIndex) as MyIndex, fUser FROM ProgramOption ";
|
---|
63 | $query0.="WHERE 1=1 ";
|
---|
64 | if (strcmp($_GET["fKey"],"all")!=0)
|
---|
65 | $query0.="AND Concat(fKey1,fKey2)='".$_GET["fKey"]."' ";
|
---|
66 | if (strcmp($_GET["fProgram"],"all")!=0)
|
---|
67 | $query0.="AND fProgram='".$_GET["fProgram"]."' ";
|
---|
68 | if ($_GET["fGetValCase"]!=1)
|
---|
69 | {
|
---|
70 | $query0.="AND NOT isnull(fValue) ";
|
---|
71 | $query0.="AND fCounter>=".$counter;
|
---|
72 | if ($_GET["fStatusDate"]!="")
|
---|
73 | $query0.=" AND (fValidFrom < '".$_GET["fStatusDate"]."' OR fValidFrom like '".$_GET["fStatusDate"]."%') ";
|
---|
74 | }
|
---|
75 | $query0.=" ORDER BY MyIndex ";
|
---|
76 |
|
---|
77 | $result0=mysql_query($query0, $db_id);
|
---|
78 |
|
---|
79 | if ($_GET["fGetValCase"]==1)
|
---|
80 | {
|
---|
81 | printf("<button onClick='ShowCurrent();' id='showcurrent' style='display:none'>Show Current</button>\n");
|
---|
82 | printf("<button onClick='ShowAll();' id='showall' style='display:inline'>Show History</button>\n");
|
---|
83 | printf("<button onClick='addRow(3, \"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\");' id='addrowvals' style='display:inline'>Add Value</button>\n",
|
---|
84 | $_GET["fProgram"], $_GET["fKey"], $key1, $key2, $type, $min, $max, $descr);
|
---|
85 | }
|
---|
86 | //checkboxes to show/hide part of the table
|
---|
87 | if ($_GET["fGetValCase"]==1)//show only in edit mode
|
---|
88 | {
|
---|
89 | printf("Show:\n");
|
---|
90 | printf("<input type='checkbox' id='sh_indices1' onclick='ShowHide(\"indices\", \"sh_indices\", 1);'>indices\n");
|
---|
91 | printf("<input type='checkbox' id='sh_validsince1' onclick='ShowHide(\"validsince\", \"sh_validsince\", 1);'>validsince\n");
|
---|
92 | printf("<input type='checkbox' id='sh_user1' onclick='ShowHide(\"user\", \"sh_user\", 1);'>user\n");
|
---|
93 | }
|
---|
94 |
|
---|
95 | if ($_GET["fGetValCase"]==1)//show only in edit mode
|
---|
96 | $generalshowhide='';
|
---|
97 | else
|
---|
98 | $generalshowhide='none';
|
---|
99 |
|
---|
100 | printf("<table font-size='-1' border='0' cellspacing='3px' width='100%%'><tbody id='valtable%s'>\n", $_GET["fGetValCase"]);
|
---|
101 | printf("<tr>");
|
---|
102 | //printf("<th class='indices%d' style='display:%s'>Idx/Orig/Ctr</th>\n",$_GET["fGetValCase"], $generalshowhide);
|
---|
103 | //printf("<th class='validsince%d' style='display:%s'>Valid since</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
104 | printf("<th class='indices%d' style='display:none'>Idx/Orig/Ctr</th>\n",$_GET["fGetValCase"]);
|
---|
105 | printf("<th class='validsince%d' style='display:none'>Valid since</th>\n", $_GET["fGetValCase"]);
|
---|
106 | printf("<th>Program</th>\n");
|
---|
107 | //printf("<th>Key</th>\n");
|
---|
108 | printf("<th>Key1</th>\n");
|
---|
109 | printf("<th>Key2</th>\n");
|
---|
110 | printf("<th>Value</th>\n");
|
---|
111 | printf("<th>Type</th>\n");
|
---|
112 | printf("<th class='minimum%d' style='display:%s'>Min</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
113 | printf("<th class='maximum%d' style='display:%s'>Max</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
114 | printf("<th class='description%d' style='display:%s'>Description</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
115 | if ($_GET["fGetValCase"]==1)//show only in edit mode
|
---|
116 | printf("<th>Action</th>\n");
|
---|
117 | //printf("<th class='user%d' style='display:%s'>User</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
118 | printf("<th class='user%d' style='display:none'>User</th>\n", $_GET["fGetValCase"], $generalshowhide);
|
---|
119 | printf("</tr>\n");
|
---|
120 | $maxindex=0;
|
---|
121 | if ($result0)
|
---|
122 | while ($row0 = mysql_fetch_row($result0))
|
---|
123 | {
|
---|
124 | if ($_GET["fGetValCase"]==1)
|
---|
125 | {
|
---|
126 | if ($row0[6]==$counter)
|
---|
127 | printf("<tr id='new%s' style='display:' bgcolor='#E2E2E2'>\n", $row0[0]);
|
---|
128 | else
|
---|
129 | printf("<tr id='old%s' style='display:none' bgcolor='#EBEBEB'>\n", $row0[0]);
|
---|
130 | }
|
---|
131 | else
|
---|
132 | {
|
---|
133 | if ($_GET["fGetValCase"]==2)
|
---|
134 | printf("<tr id='%scompare%s' style='display:' bgcolor='FAFFFA'>\n", $_GET["fGetValCase"], $row0[12]);
|
---|
135 | if ($_GET["fGetValCase"]==3)
|
---|
136 | printf("<tr id='%scompare%s' style='display:' bgcolor='FAFAFF'>\n", $_GET["fGetValCase"], $row0[12]);
|
---|
137 | }
|
---|
138 |
|
---|
139 | //printf("<td class='indices%d' style='display:%s'> %s / %s / %s <div id='%dorigindex%s' style='display:none'>%s</div> </td>\n",
|
---|
140 | // $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[12], $row0[6], $_GET["fGetValCase"], $row0[0], $row0[12]);
|
---|
141 | printf("<td class='indices%d' style='display:none'> %s / %s / %s <div id='%dorigindex%s' style='display:none'>%s</div> </td>\n",
|
---|
142 | $_GET["fGetValCase"], $row0[0], $row0[12], $row0[6], $_GET["fGetValCase"], $row0[0], $row0[12]);
|
---|
143 | //valid from
|
---|
144 | //if (strcmp('0000-00-00 00:00:00', $row0[1])==0)
|
---|
145 | // printf("<td class='validsince%d' style='display:%s' id='notyetvalid%s'> %s </td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[1]);
|
---|
146 | //else
|
---|
147 | // printf("<td class='validsince%d' style='display:%s'> %s </td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[1]);
|
---|
148 | if (strcmp('0000-00-00 00:00:00', $row0[1])==0)
|
---|
149 | printf("<td class='validsince%d' style='display:none' id='notyetvalid%s'> %s </td>\n", $_GET["fGetValCase"], $row0[0], $row0[1]);
|
---|
150 | else
|
---|
151 | printf("<td class='validsince%d' style='display:none'> %s </td>\n", $_GET["fGetValCase"], $row0[1]);
|
---|
152 | //program
|
---|
153 | printf("<td id='prog%s'>%s</td>\n", $row0[0], $row0[2]);
|
---|
154 | //keys
|
---|
155 | //printf("<td id='key%s'>%s</td>\n", $row0[0], $row0[3]);
|
---|
156 | printf("<td id='1key%s'>%s</td>\n", $row0[0], $row0[10]);
|
---|
157 | printf("<td id='2key%s'>%s</td>\n", $row0[0], $row0[11]);
|
---|
158 | //value
|
---|
159 | // string -> align left
|
---|
160 | // rest -> align right
|
---|
161 | if (strcmp('string', $row0[7])==0)
|
---|
162 | printf("<td align='left' id='val%s' align='right'>%s</td>\n", $row0[0], $row0[4]);
|
---|
163 | else
|
---|
164 | printf("<td align='right' id='val%s' align='right'>%s</td>\n", $row0[0], $row0[4]);
|
---|
165 | //type
|
---|
166 | printf("<td id='type%s'>%s</td>\n", $row0[0], $row0[7]);
|
---|
167 | //min
|
---|
168 | printf("<td class='minimum%d' style='display:%s' id='min%s' align='right'>%s</td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[8]);
|
---|
169 | //max
|
---|
170 | printf("<td class='maximum%d' style='display:%s' id='max%s' align='right'>%s</td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[9]);
|
---|
171 | //descripton
|
---|
172 | printf("<td class='description%d' style='display:%s' id='descr%s'>%s</td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[5]);
|
---|
173 | //action
|
---|
174 | if ($_GET["fGetValCase"]==1)//show only in edit mode
|
---|
175 | {
|
---|
176 | if ($row0[6]==$counter)
|
---|
177 | {
|
---|
178 | printf("<td id='action%s'>\n", $row0[0]);
|
---|
179 | printf("<input type='button' value='Edit' onclick='EditRow(\"%s\")'>\n", $row0[0]);
|
---|
180 | printf("<input type='button' value='Copy Key' onclick='addRow(2,\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\");' id='copyval' style='display:inline'>\n",
|
---|
181 | $_GET["fProgram"], $_GET["fKey"], $key1, $key2, $type, $min, $max, $descr);
|
---|
182 | //missing here descr(, key1, key2, val?)
|
---|
183 | // in po.js: add descr, key1, key2, min, max in AddRow
|
---|
184 | printf("</td>\n");
|
---|
185 | }
|
---|
186 | else
|
---|
187 | printf("<td id='action%s'></td>\n", $row0[0]);
|
---|
188 | }
|
---|
189 | //user
|
---|
190 | //printf("<td class='user%d' style='display:%s' id='user%s'>%s</td>\n", $_GET["fGetValCase"], $generalshowhide, $row0[0], $row0[13]);
|
---|
191 | printf("<td class='user%d' style='display:none' id='user%s'>%s</td>\n", $_GET["fGetValCase"], $row0[0], $row0[13]);
|
---|
192 | printf("</tr>\n");
|
---|
193 | if ($row0[0]>$maxindex)
|
---|
194 | $maxindex=$row0[0];
|
---|
195 | }
|
---|
196 | printf("</tbody></table>\n");
|
---|
197 | if ($_GET["fGetValCase"]==1)
|
---|
198 | {
|
---|
199 | printf("<button onClick='ShowCurrent();' id='showcurrent2' style='display:none'>Show Current</button>\n");
|
---|
200 | printf("<button onClick='ShowAll();' id='showall2' style='display:inline'>Show History</button>\n");
|
---|
201 | printf("<button onClick='addRow(3,\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\");' id='addrowvals2' style='display:inline'>Add Value</button>\n",
|
---|
202 | $_GET["fProgram"], $_GET["fKey"], $key1, $key2, $type, $min, $max, $descr);
|
---|
203 | }
|
---|
204 | /*
|
---|
205 | else
|
---|
206 | {
|
---|
207 | printf("Show:\n");
|
---|
208 | printf("<input type='checkbox' id='sh_indices%d' onclick='ShowHide(\"indices\", \"sh_indices\", %d);'>indices\n", $_GET["fGetValCase"], $_GET["fGetValCase"]);
|
---|
209 | printf("<input type='checkbox' id='sh_validsince%d' onclick='ShowHide(\"validsince\", \"sh_validsince\", %d);'>validsince\n", $_GET["fGetValCase"], $_GET["fGetValCase"]);
|
---|
210 | printf("<input type='checkbox' id='sh_descr%d' onclick='ShowHide(\"description\", \"sh_descr\", %d);'>description\n", $_GET["fGetValCase"], $_GET["fGetValCase"]);
|
---|
211 | printf("<input type='checkbox' id='sh_min%d' onclick='ShowHide(\"minimum\", \"sh_min\", %d);'>min\n", $_GET["fGetValCase"], $_GET["fGetValCase"]);
|
---|
212 | printf("<input type='checkbox' id='sh_max%d' onclick='ShowHide(\"maximum\", \"sh_max\", %d);'>max\n", $_GET["fGetValCase"], $_GET["fGetValCase"]);
|
---|
213 | }
|
---|
214 | */
|
---|
215 |
|
---|
216 | if ($_GET["fGetValCase"]==3)
|
---|
217 | printf("<div id='maxindex3' style='display:none'>%s</div>\n", $maxindex);
|
---|
218 | else
|
---|
219 | printf("<div id='maxindex' style='display:none'>%s</div>\n", $maxindex);
|
---|
220 |
|
---|
221 | if ($result0)
|
---|
222 | mysql_free_result($result0);
|
---|
223 |
|
---|
224 | mysql_close($db_id);
|
---|
225 |
|
---|
226 | ini_set("display_errors", "Off");
|
---|
227 | ini_set("mysql.trace_mode", "Off");
|
---|
228 | }
|
---|
229 | ?>
|
---|