Initial checkin
This commit is contained in:
commit
d75eb444fc
4304 changed files with 369634 additions and 0 deletions
260
admin/editusers.apnl.php
Normal file
260
admin/editusers.apnl.php
Normal file
|
@ -0,0 +1,260 @@
|
|||
<?php
|
||||
/**
|
||||
* Project: astat - simple site engine
|
||||
* File: /admin/editusers.apnl.php
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* @link http://www.astat.org SVN: $URL$
|
||||
* @copyright 2009 becast.at
|
||||
* @author Bernhard Jaud <bernhard at becast dot at>
|
||||
* @package astat core
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
If (!defined("in_BL_ADMIN")) {
|
||||
die("Dieses Script kann nicht ausserhalb des Frameworks laufen!");
|
||||
}
|
||||
$addnav["right"]=FALSE;
|
||||
$session->page_begin("edituser", True);
|
||||
|
||||
|
||||
class editusers_panel extends admin_module{
|
||||
|
||||
function output(){
|
||||
global $plugin,$session,$config,$db,$panel,$admin,$module,$root,$firephp,$lang;
|
||||
if(isset($_GET["edituser"]) && $_GET["edituser"]!=""){
|
||||
if(isset($_POST["send"]) && !empty($_POST["name"]) && !empty($_POST["uid"])){
|
||||
$pwd="";
|
||||
if($_POST['role']==2 && $session->userdata['role']!=2){
|
||||
$panel->admin_message("Error","You cannot assign a role higher then yours!",True,"editusers",3);
|
||||
}
|
||||
$_POST['key']=$session->generate_key(50);
|
||||
if($_POST["password"]!=""){
|
||||
$pwd=", `password`='".hash("sha256",$db->escape($_POST["password"]))."', `loginkey`='".$_POST['key']."'";
|
||||
}
|
||||
$plugin->run_hook('admin_user_before_update',array('data'=>$_POST,'key'=>$key,'user_fid'=>$session->userdata['fuid']));
|
||||
$db->query("UPDATE `" . $config["prefix"] . "users` SET `username`='".$db->escape($_POST["name"])."',`realname`='".$db->escape($_POST["realname"])."',`email`='".$db->escape($_POST["email"])."',`from`='".$db->escape($_POST["from"])."',`gender`='".$db->escape($_POST["gender"])."',`bio`='".$db->escape($_POST["bio"])."',`homepage`='".$db->escape($_POST["homepage"])."',`icq`='".$db->escape($_POST["icq"])."',`aim`='".$db->escape($_POST["aim"])."',`skype`='".$db->escape($_POST["skype"])."',`role`='".$db->escape($_POST["role"])."',`active`='".$db->escape($_POST["active"])."',`char_suspended`='".$db->escape($_POST["char_suspended"])."'".$pwd." WHERE `uid`='".intval($_POST["uid"])."'");
|
||||
$_POST['user_fid']=$session->userdata['fuid'];
|
||||
$plugin->run_hook('admin_user_after_update',array('data'=>$_POST));
|
||||
$panel->admin_message($lang->_('SUCCESS'),$lang->_('DATASAVED'),True,"editusers",3);
|
||||
}else{
|
||||
$panel->title=$lang->_('EDITUSER');
|
||||
$panel->form(array("action"=>$config["path"]."/admin/index.php?panel=editusers&edituser=".$_GET["edituser"]));
|
||||
$result=$db->query("SELECT * FROM `" . $config["prefix"] . "users` WHERE uid='".intval($_GET["edituser"])."'");
|
||||
$data = $db->fetch_array($result);
|
||||
$panel->content.="<h3>".$lang->_('USERNAME').":</h3>";
|
||||
$panel->field(array("name"=>"name","typ"=>"text","value"=>$data["username"]));
|
||||
$panel->content.="<h3>".$lang->_('REALNAME').":</h3>";
|
||||
$panel->field(array("name"=>"realname","typ"=>"text","value"=>$data["realname"]));
|
||||
$panel->content.="<h3>".$lang->_('MAIL').":</h3>";
|
||||
$panel->field(array("name"=>"email","value"=>$data["email"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('PASSWORD').":</h3>";
|
||||
$panel->field(array("name"=>"password","value"=>"","typ"=>"password"));
|
||||
$panel->content.="<h3>".$lang->_('LOCATION').":</h3>";
|
||||
$panel->field(array("name"=>"from","value"=>$data["from"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('GENDER').":</h3>";
|
||||
$panel->select(array($lang->_('N/A')=>"u", $lang->_('FEMALE')=>"f",$lang->_('MALE')=>"m"),$data["gender"],"gender");
|
||||
$panel->content.="<h3>".$lang->_('HOMEPAGE').":</h3>";
|
||||
$panel->field(array("name"=>"homepage","value"=>$data["homepage"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('ICQ').":</h3>";
|
||||
$panel->field(array("name"=>"icq","value"=>$data["icq"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('AIM').":</h3>";
|
||||
$panel->field(array("name"=>"aim","value"=>$data["aim"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('SKYPE').":</h3>";
|
||||
$panel->field(array("name"=>"skype","value"=>$data["skype"],"typ"=>"text"));
|
||||
$panel->content.="<h3>".$lang->_('BANREASON').":</h3>";
|
||||
$panel->textarea(array("name"=>"bio","value"=>$data["bio"],"typ"=>"text"));
|
||||
$panel->content.="<br />";
|
||||
$panel->content.="<h3>".$lang->_('ROLE').":</h3>";
|
||||
$result=$db->query("SELECT `id`,`role_name` FROM `" . $config["prefix"] . "role`");
|
||||
while($rdata = $db->fetch_array($result)){
|
||||
$dd[$rdata["role_name"]]=$rdata["id"];
|
||||
}
|
||||
$panel->select($dd,$data["role"],"role");
|
||||
$panel->content.="<br />";
|
||||
$panel->content.="<h3>".$lang->_('STATUS').":</h3>";
|
||||
$panel->select(array($lang->_('ACTIVE')=>1,$lang->_('INACTIVE')=>0,$lang->_('BANNED')=>2),$data["active"],"active");
|
||||
$panel->content.="<br />";
|
||||
$panel->content.="<h3>Char Creation supended?</h3>";
|
||||
$panel->select(array($lang->_('YES')=>1,$lang->_('NO')=>0),$data["char_suspended"],"char_suspended");
|
||||
$panel->field(array("name"=>"send","typ"=>"hidden","value"=>"1"));
|
||||
$panel->field(array("name"=>"uid","typ"=>"hidden","value"=>$data["uid"]));
|
||||
$panel->content.="<br />";
|
||||
$panel->submit();
|
||||
$panel->formClose();
|
||||
$panel->parse_page();
|
||||
}
|
||||
}elseif($_GET["action"]=="delete" && $_GET["user"]){
|
||||
$result=$db->query("SELECT * FROM `" . $config["prefix"] . "users` WHERE `uid`='".intval($_GET["user"])."'");
|
||||
$data = $db->fetch_array($result);
|
||||
$plugin->run_hook('admin_user_before_delete',array('data'=>$data));
|
||||
$db->query("DELETE FROM `" . $config["prefix"] . "users` WHERE `uid`='".intval($_GET["user"])."'");
|
||||
$plugin->run_hook('admin_user_after_delete',array('data'=>$data));
|
||||
$panel->admin_message("User gelöscht!","Der User wurde erfolgreich gelöscht.",True,"editusers",3);
|
||||
}else{
|
||||
|
||||
$left="";
|
||||
$right="";
|
||||
$asmodule="";
|
||||
$mainmodule="";
|
||||
$result=$db->query("SELECT * FROM `" . $config["prefix"] . "users` u LEFT JOIN `" . $config["prefix"] . "role` r ON r.id=u.role ORDER BY u.`uid`");
|
||||
while ($row = $db->fetch_array($result)){
|
||||
$user[]=$row;
|
||||
}
|
||||
$panel->title=$lang->_('USERS');
|
||||
$panel->content.="<table id=\"users\" width=\"90%\" cellspacing=\"2\">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align=\"center\">".$lang->_('ID')."</th>
|
||||
<th align=\"center\">".$lang->_('USERNAME')."</th>
|
||||
<th align=\"center\">".$lang->_('REALNAME')."</th>
|
||||
<th align=\"center\">".$lang->_('ROLE')."</th>
|
||||
<th align=\"center\">".$lang->_('STATUS')."</th>
|
||||
<th align=\"center\">".$lang->_('ACTION')."</th>
|
||||
</tr></thead><tbody>";
|
||||
if(!empty($user)){
|
||||
foreach($user as $u){
|
||||
if($u['active']==1){
|
||||
$u['activetext']=$lang->_('ACTIVE');
|
||||
}elseif($u['active']==2){
|
||||
$u['activetext']=$lang->_('BANNED');
|
||||
}else{
|
||||
$u['activetext']=$lang->_('INACTIVE');
|
||||
}
|
||||
$panel->content.="<tr>
|
||||
<td align=\"center\">".$u["uid"]."</td>
|
||||
<td align=\"center\">".$u["username"]."</td>
|
||||
<td align=\"center\">".$u["realname"]."</td>
|
||||
<td align=\"center\">".$u["role_name"]."</td>
|
||||
<td align=\"center\">".$u['activetext']."</td>";
|
||||
if($u["uid"]==$session->userdata["uid"]){
|
||||
$panel->content.="<td align=\"center\"><a onclick=\"return confirmLink(this,'Das bist du selbst. Und das ist in 99% aller Fälle eine sehr dumme Idee. Wirklich sicher? Du wirst dann sofort ausgeloggt!')\" href=\"".$config["path"]."/admin/index.php?panel=editusers&action=delete&user=".$u["uid"]."\"><img src=\"".$config["path"]."/admin/images/icons/delete.png\" /></a> <a href=\"".$config["path"]."/admin/index.php?panel=editusers&edituser=".$u["uid"]."\"><img src=\"".$config["path"]."/admin/images/icons/wrench.png\" /></a></td>
|
||||
</tr>";
|
||||
}else{
|
||||
$panel->content.="<td align=\"center\"><a onclick=\"return confirmLink(this, 'Willst du wirklich den User ".$u["username"]." löschen? Alle Daten diese Users werden gelöscht!')\" href=\"".$config["path"]."/admin/index.php?panel=editusers&action=delete&user=".$u["uid"]."\"><img src=\"".$config["path"]."/admin/images/icons/delete.png\" /></a> <a href=\"".$config["path"]."/admin/index.php?panel=editusers&edituser=".$u["uid"]."\"><img src=\"".$config["path"]."/admin/images/icons/wrench.png\" /></a></td>
|
||||
</tr>";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$panel->content.="<tr>
|
||||
<td align=\"center\" colspan=\"5\">Keine User verfügbar.</td>
|
||||
</tr>";
|
||||
}
|
||||
$panel->content.="</tbody></table><br />";
|
||||
}
|
||||
}
|
||||
|
||||
function meta() {
|
||||
global $module,$config,$db,$panel,$userinfo,$admin,$root;
|
||||
$meta='<script src="'.$config["path"].'/js/jquery/jquery.min.js" type="text/javascript">
|
||||
</script>
|
||||
<script src="'.$config["path"].'/js/datatables/js/jquery.dataTables.min.js" type="text/javascript">
|
||||
</script>
|
||||
<link type="text/css" rel="stylesheet" media="screen" href="'.$config["path"].'/js/datatables/css/jquery.dataTables.css" />
|
||||
<script type="text/javascript">
|
||||
function deleteItem(item) {
|
||||
if(confirmLink(this, "Willst du wirklich dieses Modul deinstallieren? Alle Daten diese Moduls werden gelöscht!")==true){
|
||||
name="id_"+item;
|
||||
Effect.SwitchOff(name);
|
||||
new Ajax.Request(\'index.php?panel=navigation\' , {
|
||||
method: "post",
|
||||
parameters: {delete:name}});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.loadlayer {
|
||||
position: absolute;
|
||||
padding: 15px;
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
border: 3px solid #c90000;
|
||||
text-align: center;
|
||||
margin-top: 60px;
|
||||
left: 50%;
|
||||
margin-left: -150px;
|
||||
margin-top: 100px;
|
||||
font-weight: bold;
|
||||
z-index:5;
|
||||
}
|
||||
div.section,div#createNew {
|
||||
border: 1px solid #CCCCCC;
|
||||
margin: 30px 5px;
|
||||
padding: 0px 0px 10px 0px;
|
||||
background-color: #EFEFEF;
|
||||
}
|
||||
|
||||
div#createNew input { margin-left: 5px; }
|
||||
|
||||
div#createNew h3, div.section h3{
|
||||
font-size: 14px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 0 10px 0;
|
||||
background-color: #CCCCCC;
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.section h3 {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
div.lineitem {
|
||||
margin: 3px 10px;
|
||||
padding: 2px;
|
||||
background-color: #FFFFFF;
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function confirmLink(theLink, text)
|
||||
{
|
||||
// Confirmation is not required in the configuration file
|
||||
// or browser is Opera (crappy js implementation)
|
||||
if (typeof(window.opera) != \'undefined\') {
|
||||
return true;
|
||||
}
|
||||
|
||||
var is_confirmed = confirm(text);
|
||||
if (is_confirmed) {
|
||||
if ( typeof(theLink.href) != \'undefined\' ) {
|
||||
theLink.href += \'&is_js_confirmed=1\';
|
||||
} else if ( typeof(theLink.form) != \'undefined\' ) {
|
||||
theLink.form.action += \'?is_js_confirmed=1\';
|
||||
}
|
||||
}
|
||||
|
||||
return is_confirmed;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$(\'#users\').dataTable();
|
||||
} );
|
||||
</script>';
|
||||
return $meta;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue