-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathredaktuUzanton.php
executable file
·145 lines (121 loc) · 3.89 KB
/
redaktuUzanton.php
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
<?php
/**
* Uzanto-redaktilo por GxenSek.
*
* parametroj:
* $_REQUEST['uzanto']: uzantonomo de la redaktenda uzanto.
*
* Se nur tio (kaj per GET), ni montras formularojn por la unuopaj
* agoj. En la aliaj kazoj necesas uzi POST.
*
* $_POST['ago']: ago farenda.
* - 'sxangxu': sxangxas nomon, retadreson, funkcion kaj/aux uzantorolojn.
* - 'nomo': sxangxas nomon kaj kreas/sendas novan pasvorton.
* - 'pasvorto': kreas kaj sendas novan pasvorton.
*
* $_POST['flagoj']: rajtoj/ecoj de la uzanto.
* $_POST['plena_nomo']: plena nomo de la uzanto.
* $_POST['retadreso']: retposxta adreso (tiun ni uzas por sendi
* pasvorton ktp.)
* $_POST['funkcio']: funkcio de la uzanto (simpla teksto)
*
* Tiuj kvar (nur) necesas por ago=sxangxu.
*
*
* $_POST['nova_uzanto']: nova uzantonomo. (nur por ago=nomo)
*/
session_start();
/**
*/
require_once('ink.php');
require_once("iloj_uzanto.php");
$flagoj = kontroluUzanton();
metu_kapon("Redaktado de uzanto", 'GxenSek');
laMenuon($flagoj);
if(!estas_GxenSek())
die('Nur la ĜenSek povas redakti uzantojn!');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "<!--";
var_export($_POST);
echo "-->";
switch($_REQUEST['ago']) {
case 'sxangxu':
if(! sxangxuUzanton($_POST['uzanto'],
$_POST['flagoj'],
$_POST['plena_nomo'],
$_POST['retadreso'],
$_POST['funkcio'])) {
echo "<p>Okazis eraro: <code>" . mysql_error() . "</code></p>";
mysql_query("ROLLBACK");
}
break;
case 'nomo':
if (sxangxuUzantonomon($_POST['uzanto'],
$_POST['nova_uzanto'])) {
echo "<p>Ŝanĝis la nomon de uzanto <em>{$_POST['uzanto']}</em> al ".
"<em>{$_POST['nova_uzanto']}</em>.</p>";
$_REQUEST['uzanto'] = $_POST['nova_uzanto'];
}
else {
echo "<p>Okazis eraro: <code>" . mysql_error() . "</code></p>";
}
break;
case 'pasvorto':
if (kreuNovanPasvorton($_POST['uzanto'])) {
echo "<p>Kreis kaj sendis novan pasvorton al <em>{$_POST['uzanto']}</em>.</p>";
}
else {
echo "<p>Okazis eraro: <code>" . mysql_error() . "</code></p>";
}
break;
}
}
$uzanto = $_REQUEST['uzanto'];
$jam = dbElektu('uzantoj', "uzanto = '$uzanto'");
if (count($jam) != 1) {
die("<p>Eraro: Ne estas precize 1 uzanto kun nomo '$uzanto'</p>");
}
$informoj = $jam[0];
?>
<h2>Redakto de detaloj</h2>
<form action="redaktuUzanton.php?ago=sxangxu" method="post">
<?php
kreu_uzantdetaloformularon($informoj);
?>
<p>Atentu: Se vi ŝanĝas la rolon, li/ŝi rajtas (depende de la rolo)
tuj voĉdoni en la nun aktivaj voĉdonoj, kie li/ŝi antaŭe ne rajtis.
</p>
<p><button type="submit">Ŝanĝu detalojn!</button></p>
</form>
<h2>Ŝanĝo de uzantonomo</h2>
<form action="redaktuUzanton.php?ago=nomo" method="post">
<table class='uzantodetaloj'>
<tr><th>nuna nomo</th>
<td><input type="hidden" name='uzanto' value="<?php echo $informoj['uzanto']; ?>" /> <?php echo $informoj['uzanto']; ?> </td></tr>
<tr><th>nova nomo</th>
<td><input type="text" name='nova_uzanto' value="<?php echo $informoj['uzanto']; ?>" /> Salutnomo por la sistemo. Ĝi estu tajpebla.
</td></tr>
</table>
<p> Se vi ŝanĝas la uzantonomon, ni ankaŭ kreos kaj sendos novan
pasvorton por la uzanto.</p>
<p><button type="submit">Ŝanĝu uzantonomon!</button></p>
</form>
<h2>Kreo de nova pasvorto</h2>
<form action="redaktuUzanton.php?ago=pasvorto" method="post">
<p>Vi povas krei novan pasvorton por la uzanto kaj
sendigi ĝin al li retpoŝte.</p>
<table class='uzantodetaloj'>
<tr><th>Uzanto-nomo</th>
<td><input type="hidden" name='uzanto' value="<?php echo $informoj['uzanto']; ?>" /> <?php echo $informoj['uzanto']; ?> </td></tr>
</table>
<p><button type="submit">Kreu novan pasvorton!</button></p>
</form>
<h2>Forigo</h2>
<p>
<?php
ligilon('Forstreku la uzanton', 'forstrekuUzanton.php?uzanto='.$informoj['uzanto']);
echo " " . $informoj['uzanto']
?>
.</p>
</body>
</html>