Subversion Repositories public

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 andreas 1
<?
2
function AskLockM() {
3
	global $menu;
4
	global $headline;
5
	global $periode;
6
	global $dtformatshort;
7
 
8
	$pl_num = $_REQUEST['pl_num'];
9
 
10
	if (!isset($pl_num) || $pl_num <= 0) {
11
	   Error("AskLockM: Interner Fehler: Plannummer fehlt oder ist ung&uuml;ltig!");
12
	   return;
13
	}
14
 
15
	$ps_1 = $_REQUEST['ps_1'];
16
	$ps_2 = $_REQUEST['ps_2'];
17
	$ps_3 = $_REQUEST['ps_3'];
18
	$ps_4 = $_REQUEST['ps_4'];
19
	$ps_5 = $_REQUEST['ps_5'];
20
	$ps_6 = $_REQUEST['ps_6'];
21
	$sx_prnum = $_REQUEST['sx_prnum'];
22
	$sx_prname = $_REQUEST['sx_prname'];
23
	$nav = "ps_1=$ps_1&ps_2=$ps_2&ps_3=$ps_3&ps_4=$ps_4&ps_5=$ps_5&ps_6=$ps_6&";
24
	$nav .= "sx_prnum=$sx_prnum&sx_prname=$sx_prname&menu=$menu&headline=$headline";
25
	$db = OpenDB();
26
	$query = "select pl_prnum, pr_name from plan, project where ";
27
	$query .= "pr_num = pl_prnum and pl_num = $pl_num";
28
 
29
	if (!($result = QueryDB($db, $query))) {
30
	   closeDB($db);
31
	   return;
32
	}
33
 
34
	$data =fetchDB($result, 0);
35
	$pr_num = $data[0];
36
	$pr_name = $data[1];
37
 
38
	# Ermitteln des Anfangsdatums des gewaehlten Projekts.
39
	$query = "select ta_start from task where ta_plnum = $pl_num order by ta_start";
40
 
41
	if (!($result = QueryDB($db, $query))) {
42
	   closeDB($db);
43
	   return;
44
	}
45
 
46
	$data = fetchDB($result, 0);
47
	$ta_start = $data[0];
48
 
49
	$query = "select ab_datum from abschluss where ab_prnum = $pr_num order by ab_datum desc";
50
 
51
	if (!($result = QueryDB($db, $query))) {
52
	   closeDB($db);
53
	   return;
54
	}
55
 
56
	if (numrowsDB($result) > 0) {
57
	   $data =fetchDB($result, 0);
58
	   $ab_datum = $data[0];
59
	} else
60
	   $ab_datum = 0;
61
 
62
	$mon = gmdate("n", $ta_start);
63
	$year = gmdate("Y", $ta_start);
64
	$dt = gmmktime(0, 0, 0, $mon, 1, $year);
65
 
66
	if ($ab_datum > $dt)
67
	   $dt = $ab_datum;
68
 
69
	$mon = date("n");
70
	$year = date("Y");
71
	$dte = gmmktime(0, 0, 0, $mon, 1, $year);
72
?>
73
<form name="lock" action="plan.php" method="post">
74
   <input type="hidden" name="menu" value="<? echo "$menu"; ?>">
75
   <input type="hidden" name="headline" value="<? echo "$headline"; ?>">
76
   <input type="hidden" name="pr_num" value="<? echo "$pr_num"; ?>">
77
   <input type="hidden" name="pl_num" value="<? echo "$pl_num"; ?>">
78
   <input type="hidden" name="ab_datum" value="<? echo "$ab_datum"; ?>">
79
   <input type="hidden" name="ps_1" value="<? echo "$ps_1"; ?>">
80
   <input type="hidden" name="ps_2" value="<? echo "$ps_2"; ?>">
81
   <input type="hidden" name="ps_3" value="<? echo "$ps_3"; ?>">
82
   <input type="hidden" name="ps_4" value="<? echo "$ps_4"; ?>">
83
   <input type="hidden" name="ps_5" value="<? echo "$ps_5"; ?>">
84
   <input type="hidden" name="ps_6" value="<? echo "$ps_6"; ?>">
85
   <input type="hidden" name="sx_prnum" value="<? echo "$sx_prnum"; ?>">
86
   <input type="hidden" name="sx_prname" value="<? echo "$sx_prname"; ?>">
87
   <input type="hidden" name="func" value="LockProject">
88
<table class="input">
89
   <tr>
90
      <th class="sel" colspan=2>Projekt abschlie&szlig;en</th>
91
   </tr>
92
   <tr>
93
      <td>Projekt:</td>
94
      <td><? echo "$pr_num $pr_name"; ?></td>
95
   </tr>
96
   <tr>
97
      <td>Letzter Abschlu&szlig;:</td>
98
      <td><? if ($ab_datum > 0) echo GetShortDate($ab_datum); else echo "- - - - -"; ?></td>
99
   </tr>
100
   <tr>
101
      <td>Projektabschluß bis:</td>
102
      <td><select name="datum">
103
<?
104
	$mon = gmdate("n", $dt);
105
	$year = gmdate("Y", $dt);
106
	$akt = gmmktime(0, 0, 0, $mon, 1, $year);
107
	$emon = gmdate("n", $dte);
108
	$eyear = gmdate("Y", $dte);
109
 
110
	while ($akt < $dte) {
111
	   echo "<option value=\"$akt\"";
112
 
113
	   $mon++;
114
 
115
	   if ($mon > 12) {
116
	      $mon = 1;
117
	      $year++;
118
	   }
119
 
120
	   if ($mon == $emon && $year == $eyear)
121
	      echo " selected";
122
 
123
	   echo ">" . GetShortDate($akt) . "</option>\n";
124
	   $akt = gmmktime(0, 0, 0, $mon, 1, $year);
125
	}
126
?>
127
          </select>
128
      </td>
129
   </tr>
130
</table>
131
<table class="indent"><tr><td>
132
<?
133
	Button("Projekt abschlie&szlig;en", "lock");
134
	echo "</td><td>";
135
	ButtonLink("Abbrechen", "plan.php", "plchange=plchange&$nav");
136
	echo "</td></tr></table></form>\n";
137
	closeDB($db);
138
}
139
 
140
function LockProject() {
141
	global $menu;
142
	global $headline;
143
	global $unum;
144
 
145
	$pr_num = $_REQUEST['pr_num'];
146
	$datum = $_REQUEST['datum'];
147
	$pl_num = $_REQUEST['pl_num'];
148
	$ab_datum = $_REQUEST['ab_datum'];
149
 
150
	if (!isset($pr_num) || $pr_num <= 0) {
151
	   Error("LockProject: Interner Fehler: Projektnummer wurde nicht &uuml;bergeben!");
152
	   return;
153
	}
154
 
155
	if (!isset($datum) || $datum <= 0) {
156
	   Error("LockProject: Interner Fehler: Datum wurde nicht &uuml;bergeben!");
157
	   return;
158
	}
159
 
160
	if (!isset($pl_num) || $pl_num <= 0) {
161
	   Error("LockProject: Interner Fehler: Plannummer wurde nicht &uuml;bergeben!");
162
	   return;
163
	}
164
 
165
	if (!isset($ab_datum))
166
	   $ab_datum = 0;
167
 
168
	$mon = gmdate("n", $datum);
169
	$year = gmdate("Y", $datum);
170
	$dat = gmmktime(0, 0, 0, $mon, daysinmonth($mon, $year), $year);
171
	$db = OpenDB();
172
 
173
	$query = "select co_abschluss from counter";
174
 
175
	if (!($result = QueryDB($db, $query))) {
176
	   closeDB($db);
177
	   return;
178
	}
179
 
180
	$data = fetchDB($result, 0);
181
	$co_abschluss = $data[0] + 1;
182
 
183
	if (!QueryDB($db, "begin")) {
184
	   closeDB($db);
185
	   return;
186
	}
187
 
188
	$query = "update wdone set wd_edit = false where wd_prnum = $pr_num and ";
189
	$query .= "wd_datum <= $dat";
190
 
191
	if (!QueryDB($db, $query)) {
192
	   QueryDB($db, "rollback");
193
	   closeDB($db);
194
	   return;
195
	}
196
 
197
	$query = "insert into abschluss (ab_num, ab_datum, ab_user, ab_prnum,";
198
	$query .= "ab_plnum) values ($co_abschluss, $dat, $unum, $pr_num, ";
199
	$query .= "$pl_num)";
200
 
201
	if (!QueryDB($db, $query)) {
202
	   QueryDB($db, "rollback");
203
	   closeDB($db);
204
	   return;
205
	}
206
 
207
	$query = "update counter set co_abschluss = $co_abschluss";
208
 
209
	if (!QueryDB($db, $query)) {
210
	   QueryDB($db, "rollback");
211
	   closeDB($db);
212
	   return;
213
	}
214
 
215
	QueryDB($db, "commit");
216
	closeDB($db);
217
}
218
 
219
?>