1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
|
<?php
$hw->i18n['wikiadmin'] = 'hallowelt/WikiAdmin/i18n';
$hw_admin_modules[]=array(
'name' => 'UserManager',
'image' => '/hallowelt/WikiAdmin/images/hw-btn_usermanagement_v1.png'
);
/* Start Mediawiki when called via ajax function */
if (!defined('MEDIAWIKI'))
{
require_once('http://wiki.hsgzander.com/hallowelt/config/hw_document_root.php');
chdir($hw_document_root);
require_once('http://wiki.hsgzander.com/hallowelt/config/hw_document_root.php');
$hw->i18n['wikiadmin'] = 'hallowelt/WikiAdmin/i18n';
$hw->internationalize();
/* Load current user */
$uid = $_SESSION['wsUserID'];
$hwgUser = User::newFromId($uid);
$hwgUser->loadFromId($uid);
/* check rights */
if (!$hwgUser->isAllowed('wikiadmin'))
{
echo ($hw->msg('usermanager','not_allowed'));
return;
}
}
/* These groups are not touched by the addtogroup tool */
$excludegroups = array('*', 'user', 'autoconfirmed', 'emailconfirmed');
if (isset($_REQUEST['action']))
{
switch($_REQUEST['action'])
{
case 'changepw' : getPWForm(); break;
case 'changepwrequest' : changePWReq(); break;
case 'newuser' : getNUForm(); break;
case 'newuserrequest' : newuserReq(); break;
case 'renameuser' : getRUForm(); break;
case 'renameuserrequest' : renameuserReq(); break;
case 'deleteuser' : getDUForm(); break;
case 'deleteuserrequest' : deleteuserReq(); break;
case 'addtogroup' : getATGForm(); break;
case 'addtogrouprequest' : addtogroupReq(); break;
case 'getuserlist' : getUserList(); break;
}
}
function getUserList()
{
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->select('user', '*');
$out = '{identifier:"userlist", items: [';
while ($row = $dbw->fetchRow($res))
{
$out .= '{';
$out .= 'username:"'.$row['user_name'].'", ';
$out .= 'realname:"'.$row['user_real_name'].'", ';
$out .= 'email:"'.$row['user_ename'].'", ';
$out .= 'rights:"';
$res1 = $dbw->select('user_groups', 'ug_group', 'ug_user='.$row['user_id']);
while ($row1 = $dbw->fetchRow($res1))
{
$out .= $row1['ug_group'].',';
}
if (substr($out,strlen($out)-1)==',') $out = substr($out, 0, strlen($out)-1);
$out .= '", ';
$out .= 'actions:"test"';
/*
$form .= '<td align="right">';
//$form .= '<a href="'.$wgScriptPath.'/extensions/WikiAdmin/UserManager.php?action=changepw&user_id='.$row['user_id'].'">Passwort</a>';
if (!$firsttime) {
$form .= "<script type=\"text/javascript\">hw_load_js('".$wgScriptPath."/hallowelt/WikiAdmin/js/UserManager.js');</script>";
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=changepw&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','change_password').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_lock.gif" width="20" title="'.$hw->msg('usermanager','password').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=renameuser&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','rename').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_edit.gif" width="20" title="'.$hw->msg('usermanager','rename').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=addtogroup&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','to_group').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_group.gif" width="20" title="'.$hw->msg('usermanager','to_group').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=deleteuser&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','delete').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_del.gif" width="20" title="'.$hw->msg('usermanager','delete').'"/></a>';
}
*/
$out .= '},';
}
if (substr($out,strlen($out)-1)==',') $out = substr($out, 0, strlen($out)-1);
$out .= ']}';
echo $out;
}
function getUserManagerForm($firsttime = false)
{
global $wgScriptPath, $wgUser, $hw;
//$form .= '<div id="hw_usertable"></div>';
if ( !$hw->ext['restrictusernumber'] ||
($hw->ext['restrictusernumber']) && (usersLeft()))
{
$form .= '<div align="right"><a href="#" onclick="hw_load_js(\''.$wgScriptPath.'/hallowelt/WikiAdmin/js/UserManager.js\');toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=newuser\', \''.$hw->msg('usermanager','new_user').'\', 400, 300);">'.$hw->msg('usermanager','create_new_user').'</a></div>';
}
$form .= '<table id="UserManagerTable" border="0" cellspacing="0" width="100%">
<tr bgcolor="#C7C7C7">
<th align="left">'.$hw->msg('usermanager','name').'</th>
<th align="left">'.$hw->msg('usermanager','realname').'</th>
<th align="left">'.$hw->msg('usermanager','email').'</th>
<th align="left">'.$hw->msg('usermanager','authorizations').'</th>
<th align="right">';
if (!$firsttime) $form .= $hw->msg('usermanager','actions');
$form .= ' </th>
</tr>
';
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->select('user', '*');
$i=0;
while ($row = $dbw->fetchRow($res))
{
$form .= '<tr ';
$i++;
if ($i%2==1) $form .= 'bgcolor="#DDDDDD"';
$form .= '>';
$form .= '<td>'.$row['user_name'].'</td>';
$form .= '<td>'.$row['user_real_name'].'</td>';
$form .= '<td>'.$row['user_email'].'</td>';
$form .= '<td>';
$res1 = $dbw->select('user_groups', 'ug_group', 'ug_user='.$row['user_id']);
while ($row1 = $dbw->fetchRow($res1))
{
$form .= $row1['ug_group'].',';
}
if (substr($form,strlen($form)-1)==',') $form = substr($form, 0, strlen($form)-1);
$form .= '</td>';
$form .= '<td align="right">';
//$form .= '<a href="'.$wgScriptPath.'/extensions/WikiAdmin/UserManager.php?action=changepw&user_id='.$row['user_id'].'">Passwort</a>';
if (!$firsttime) {
$form .= "<script type=\"text/javascript\">hw_load_js('".$wgScriptPath."/hallowelt/WikiAdmin/js/UserManager.js');</script>";
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=changepw&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','change_password').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_lock.gif" width="20" title="'.$hw->msg('usermanager','password').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=renameuser&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','rename').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_edit.gif" width="20" title="'.$hw->msg('usermanager','rename').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=addtogroup&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','to_group').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_group.gif" width="20" title="'.$hw->msg('usermanager','to_group').'"/></a>';
$form .= '<a href="#" onclick="toggleMessage(\''.$wgScriptPath.'/hallowelt/WikiAdmin/UserManager.php?action=deleteuser&user_id='.$row['user_id'].'\', \''.$hw->msg('usermanager','delete').'\', 300, 200);"><img src="'.$wgScriptPath.'/hallowelt/images/sunrise-btn_del.gif" width="20" title="'.$hw->msg('usermanager','delete').'"/></a>';
}
$form .= '</td>';
$form .= '</tr>';
}
$form .= '</table>';
return $form;
}
/* 25.10.07 Übersetzung */
function getPWForm()
{
global $hw;
$form .= '<div align="left">';
$form .= '<form method="get" action="#">';
$form .= '<table border="0" cellpadding="3" width="100%">';
$form .= '<tr>';
$form .= '<td>'.$hw->msg('usermanager','new_password').'</td>';
$form .= '<td><input type="password" id="newpw" /></td>';
$form .= '</tr><tr>';
$form .= '<td>'.$hw->msg('usermanager','new_password_confirm').'</td>';
$form .= '<td><input type="password" id="newpw_confirm" /></td>';
$form .= '</tr><tr>';
$form .= '<td colspan="2"><hr/></td>';
$form .= '</tr>';
$form .= '</table>';
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " id="hw_enterhere" onclick="hw_submitPassword('.$_REQUEST['user_id'].');"/></div>';
$form .= '</form>';
$form .= '</div>';
echo $form;
}
function changePWReq()
{
global $hw;
$hw_error = false;
$newpw = addslashes($_REQUEST['newpw']);
$newpwc = addslashes($_REQUEST['newpwc']);
$uid = addslashes($_REQUEST['user_id']);
//if ($newpw == '') $hw_error = 'Bitte geben Sie ein Passwort ein.';
if ($newpw == '') $hw_error = '["ERR", "'.$hw->msg('usermanager','enter_pwd').'"]';
//if (strpos($newpw, '\\')) $hw_error = 'Das Passwort ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($newpw, '\\')) $hw_error = '["ERR", "'.$hw->msg('usermanager','invalid_pwd').'"]';
//if ($newpw != $newpwc) $hw_error = 'Die beiden Passwörter stimmen nicht überein';
if ($newpw != $newpwc) $hw_error = '["ERR", "'.$hw->msg('usermanager','pwd_nomatch').'"]';
$user = User::newFromId($uid);
// $user->loadFromId(123);
//if ($user->mId == 0) $hw_error = 'Die Benutzer-ID gibt es nicht.';
if ($user->mId == 0) $hw_error = '["ERR", "'.$hw->msg('usermanager','id_noexist').'"]';
if (!$hw_error)
{
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->update( 'user',
array( 'user_password' => wfEncryptPassword( $uid, $newpw ) ),
array( 'user_id' => $uid )
);
}
//if ($res === false) $hw_error = 'Es ist ein Fehler in der Datenbank aufgetreten.';
if ($res === false) $hw_error = '["ERR", "'.$hw->msg('usermanager','db_error').'"]';
//if (!$hw_error) echo 'Das Passwort wurde geändert';
if (!$hw_error) echo '["SUC", "'.$hw->msg('usermanager','pwd_changed').'"]';
else echo $hw_error;
}
function getNUForm()
{
global $hw, $hwh_numberOfUsers;
if ($hw->ext['restrictusernumber'])
if (usersLeft())
//$form .= 'Sie haben noch '.usersLeft().' User frei';
$form .= $hw->msg('usermanager','users_left',usersLeft());
else
{
//$form .= 'Sie haben bereits die maximale Anzahl von '.$hwh_numberOfUsers.' Benutzern eingerichtet.';
$form .= $hw->msg('usermanager','users_max',$hwh_numberOfUsers);
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="toggleMessage();"/></div>';
echo $form;
return;
}
$form .= '<div align="left">
<form method="get" action="#">';
$form .= '<table border="0" cellpadding="3" width="100%">';
$form .= '<tr>';
//$form .= '<td>Name des Benutzers</td><td><input type="text" id="username" /></td>';
$form .= '<td>'.$hw->msg('usermanager','username').'</td><td><input type="text" id="username" /></td>';
$form .= '</tr><tr>';
//$form .= '<td>Passwort</td><td><input type="password" id="pw" /></td>';
$form .= '<td>'.$hw->msg('usermanager','password').'</td><td><input type="password" id="pw" /></td>';
$form .= '</tr><tr>';
//$form .= '<td>Passwort nochmal</td><td><input type="password" id="pwc" /></td>';
$form .= '<td>'.$hw->msg('usermanager','pwd_confirm').'</td><td><input type="password" id="pwc" /></td>';
$form .= '</tr><tr>';
//$form .= '<td>E-Mail</td><td><input type="text" id="email" /></td>';
$form .= '<td>'.$hw->msg('usermanager','email').'</td><td><input type="text" id="email" /></td>';
$form .= '</tr><tr>';
//$form .= '<td>Echter Name</td><td><input type="text" id="realname" /></td>';
$form .= '<td>'.$hw->msg('usermanager','realname').'</td><td><input type="text" id="realname" /></td>';
$form .= '</tr><tr>';
$form .= '<td colspan="2"></td>';
$form .= '</tr>';
$form .= '</table>';
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="hw_submitNewUser();"/></div>';
$form .= '</form>';
$form .= '</div>';
echo $form;
}
function newuserReq()
{
$hw_error = false;
global $hw, $hwh_numberOfUsers;
if ( $hw->ext['restrictusernumber'] && !usersLeft() )
{
//$form .= 'no@;@Sie haben bereits die maximale Anzahl von '.$hwh_numberOfUsers.' Benutzern eingerichtet.';
$form .= 'no@;@'.$hw->msg('usermanager','users_max',$hwh_numberOfUsers);
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="toggleMessage();"/></div>';
echo $form;
return;
}
$username = addslashes($_REQUEST['username']);
$pw = addslashes($_REQUEST['pw']);
$pwc = addslashes($_REQUEST['pwc']);
$email = addslashes($_REQUEST['email']);
$realname = addslashes($_REQUEST['realname']);
//if ($username == '') $hw_error = 'Bitte geben Sie einen Benutzernamen ein.';
if ($username == '') $hw_error = $hw->msg('usermanager','enter_user');
//if ($pw == '') $hw_error = 'Bitte geben Sie ein Passwort ein.';
if ($pw == '') $hw_error = $hw->msg('usermanager','enter_pwd');
//if (strpos($pw, '\\')) $hw_error = 'Das Passwort ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($pw, '\\')) $hw_error = $hw->msg('usermanager','invalid_pwd');
//if (strpos($username, '\\')) $hw_error = 'Der Benutzername ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($username, '\\')) $hw_error = $hw->msg('usermanager','invalid_uname');
//if (strpos($email, '\\')) $hw_error = 'Die E-Mail ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($email, '\\')) $hw_error = $hw->msg('usermanager','invalid_email');
//if (strpos($realname, '\\')) $hw_error = 'Der echte Name ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($realname, '\\')) $hw_error = $hw->msg('usermanager','invalid_realname');
//if ($pw != $pwc) $hw_error = 'Die beiden Passwörter stimmen nicht überein';
if ($pw != $pwc) $hw_error = $hw->msg('usermanager','pwd_nomatch');
//if ($username == $pw) $hw_error = 'Benutzername und Passwort dürfen nicht gleich sein';
if ($username == $pw) $hw_error = $hw->msg('usermanager','user_pwd_match');
$user = User::newFromName($username);
//if ($user == null) $hw_error = 'Der Benutzername ist ungültig.';
if ($user == null) $hw_error = $hw->msg('usermanager','invalid_uname');
//if ($user->mId != 0) $hw_error = 'Der Benutzername ist schon vorhanden.';
if ($user->mId != 0) $hw_error = $hw->msg('usermanager','user_exists');
if (!$hw_error)
{
$user->addToDatabase();
$user->setPassword( $pw );
$user->setEmail( $email );
$user->setRealName( $realname );
$user->setToken();
$user->saveSettings();
}
//if (!$hw_error) echo 'yes@;@Der Benutzer wurde hinzugefügt.';
if (!$hw_error) echo '["SUC", "'.$hw->msg('usermanager','user_added').'"]';
else echo '["ERR", "'.$hw_error.'"]';
}
function getRUForm()
{
global $hw;
$form .= '<div align="left">';
$form .= '<form method="get" action="#">';
$form .= '<table border="0" cellpadding="3" width="100%">';
$form .= '<tr>';
//$form .= '<td>Neuer Name</td><td><input type="text" id="newname" /></td>';
$form .= '<td>'.$hw->msg('usermanager','new_uname').'</td><td><input type="text" id="newname" /></td>';
$form .= '</tr><tr>';
/*
$form .= '<td>'.$hw->msg('usermanager','email').'</td><td><input type="text" id="email" /></td>';
$form .= '</tr><tr>';
//$form .= '<td>Echter Name</td><td><input type="text" id="realname" /></td>';
$form .= '<td>'.$hw->msg('usermanager','realname').'</td><td><input type="text" id="realname" /></td>';
$form .= '</tr><tr>';
*/
$form .= '<td colspan="2"></td>';
$form .= '</tr>';
$form .= '</table>';
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="hw_submitRename('.$_REQUEST['user_id'].');"/></div>';
$form .= '</form>';
$form .= '</div>';
echo $form;
}
function renameuserReq()
{
global $hw;
$hw_error = false;
$newname = addslashes($_REQUEST['newname']);
$uid = addslashes($_REQUEST['user_id']);
//if ($newname == '') $hw_error = 'Bitte geben Sie einen neuen Benutzernamen ein.';
if ($newname == '') $hw_error = $hw->msg('usermanager','new_uname');
//if (strpos($newname, '\\')) $hw_error = 'Der Benutzername ist ungültig. Verwenden sie keine Hochkommas oder Backslashes.';
if (strpos($newname, '\\')) $hw_error = $hw->msg('usermanager','invalid_uname');
$user = User::newFromId($uid);
// $user->loadFromId($uid);
//if ($user->mId == 0) $hw_error = 'Die Benutzer-ID gibt es nicht.';
if ($user->mId == 0) $hw_error = $hw->msg('usermanager','id_noexist');
if (!$hw_error)
{
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->update( 'user',
array( 'user_name' => $newname ),
array( 'user_id' => $uid )
);
}
//if ($res === false) $hw_error = 'Es ist ein Fehler in der Datenbank aufgetreten.';
if ($res === false) $hw_error = $hw->msg('usermanager','db_error');
//if (!$hw_error) echo 'yes@;@Der Benutzer wurde umbenannt.';
if (!$hw_error) echo '["SUC", "'.$hw->msg('usermanager','user_renamed').'"]';
else echo '["ERR", "'.$hw_error.'"]';
}
function getDUForm()
{
global $hw;
$form .= '<div align="left">';
$form .= '<form method="get" action="#">';
$form .= '<table border="0" cellpadding="3" width="100%">';
$form .= '<tr>';
//$form .= '<td>Wollen Sie den Benutzer wirklich löschen?</td>';
$form .= '<td>'.$hw->msg('usermanager','confirm_delete').'</td>';
$form .= '</tr><tr>';
$form .= '<td colspan="2"></td>';
$form .= '</tr>';
$form .= '</table>';
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="hw_submitDelete('.$_REQUEST['user_id'].');"/>';
$form .= '<input type="button" value="'.$hw->msg('usermanager','button_cancel').'" onclick="toggleMessage();"/></div>';
$form .= '</form>';
$form .= '</div>';
echo $form;
}
function deleteuserReq()
{
global $hw;
$hw_error = false;
$uid = addslashes($_REQUEST['user_id']);
$user = User::newFromId($uid);
// $user->loadFromId($uid);
//if ($user->mId == 0) $hw_error = 'Die Benutzer-ID gibt es nicht.';
if ($user->mId == 0) $hw_error = $hw->msg('usermanager','id_noexist');
//if ($user->mId == 1) $hw_error = 'Der Administrator-Account ist nicht löschbar.';
if ($user->mId == 1) $hw_error = $hw->msg('usermanager','admin_nodelete');
if (!$hw_error)
{
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->delete( 'user',
array( 'user_id' => $uid )
);
$res1 = $dbw->delete( 'user_groups',
array( 'ug_user' => $uid )
);
$res2 = $dbw->delete( 'user_newtalk',
array( 'user_id' => $uid )
);
}
//if (($res === false) || ($res1 === false) || ($res2 === false)) $hw_error = 'Es ist ein Fehler in der Datenbank aufgetreten.';
if (($res === false) || ($res1 === false) || ($res2 === false)) $hw_error = $hw->msg('usermanager','db_error');
//if (!$hw_error) echo 'yes@;@Der Benutzer wurde gelöscht.';
if (!$hw_error) echo '["SUC", "'.$hw->msg('usermanager','user_deleted').'"]';
else echo '["ERR", "'.$hw_error.'"]';
}
function getATGForm()
{
global $wgGroupPermissions, $excludegroups, $hw;
$uid = addslashes($_REQUEST['user_id']);
$user = User::newFromId($uid);
$user->loadFromId($uid);
//if ($user->mId == 0) return 'Die Benutzer-ID gibt es nicht.';
if ($user->mId == 0) return $hw->msg('usermanager','id_noexist');
$form .= '<div align="left">';
$form .= '<form method="get" action="#">';
$form .= '<table border="0" cellpadding="3" width="100%">';
$form .= '<tr>';
//$form .= '<td>Bitte wählen Sie eine oder mehrere Gruppen aus:</td>';
$form .= '<td>'.$hw->msg('usermanager','select_group').'</td>';
$form .= '<td><select id="groups" multiple>';
foreach ($wgGroupPermissions as $key => $value)
{
if (!in_array($key, $excludegroups))
{
$form .= '<option value="'.$key.'"';
if (in_array($key, $user->mGroups)) $form .= ' selected ';
$form .= '>'.$key.'</option>';
}
}
$form .= '</select></td>';
$form .= '</tr><tr>';
$form .= '<td colspan="2"></td>';
$form .= '</tr>';
$form .= '</table>';
$form .= '<div align="center"><input type="button" value=" '.$hw->msg('usermanager','button_ok').' " onclick="hw_submitGroups('.$_REQUEST['user_id'].');"/>';
$form .= '<input type="button" value="'.$hw->msg('usermanager','button_cancel').'" onclick="toggleMessage();"/></div>';
$form .= '</form>';
$form .= '</div>';
echo $form;
}
function addtogroupReq()
{
global $excludegroups, $hw;
$hw_error = false;
$uid = addslashes($_REQUEST['user_id']);
$groups = addslashes($_REQUEST['groups']);
$groups = explode(',', $groups);
$user = User::newFromId($uid);
// $user->loadFromId($uid);
//if ($user->mId == 0) $hw_error = 'Die Benutzer-ID gibt es nicht.';
if ($user->mId == 0) $hw_error = $hw->msg('usermanager','id_noexist');
//if (($user->mId == 1) && (!in_array('sysop', $groups))) $hw_error = 'Sie können dem Administrator die Sysop-Rechte nicht nehmen.';
if (($user->mId == 1) && (!in_array('sysop', $groups))) $hw_error = $hw->msg('usermanager','sysop_rights');
if (!$hw_error)
{
$dbw =& wfGetDB( DB_MASTER );
$res = $dbw->delete( 'user_groups',
array( 'ug_group NOT' => $excludegroups,
'ug_user' => $uid )
);
$res1 = true;
foreach ($groups as $g)
{
$res2 = $dbw->insert( 'user_groups',
array( 'ug_user' => $uid,
'ug_group' => $g )
);
if ($res2 === false) $res1 = false;
}
}
//if (($res === false) || ($res1 === false)) $hw_error = 'Es ist ein Fehler in der Datenbank aufgetreten.';
if (($res === false) || ($res1 === false)) $hw_error = $hw->msg('usermanager','db_error');
//if (!$hw_error) echo 'yes@;@Die Gruppen wurden übernommen.';
if (!$hw_error) echo '["SUC", "'.$hw->msg('usermanager','group_added').'"]';
else echo '["ERR", "'.$hw_error.'"]';
}
?>
|