mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-28 03:40:54 +00:00
can display the dashboard html atm
This commit is contained in:
parent
b708fc3af3
commit
d6abd7b436
10 changed files with 285 additions and 13 deletions
|
@ -69,10 +69,10 @@ $ALLOW_UNKNOWN = true ;
|
|||
$CREATE_RING = true ;
|
||||
|
||||
// site paths definitions
|
||||
$AMS_LIB = dirname( dirname( __FILE__ ) ) . '/ams_lib';
|
||||
$AMS_LIB = dirname( __FILE__ ) . '/ams_lib';
|
||||
$AMS_TRANS = $AMS_LIB . '/translations';
|
||||
$AMS_CACHEDIR = $AMS_LIB . '/cache';
|
||||
$SITEBASE = dirname( __FILE__ ) . '/html/' ;
|
||||
$SITEBASE = dirname( __FILE__ );
|
||||
$WEBPATH ='http://localhost:40917' ;
|
||||
|
||||
//defines the default language
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
function dashboard(){
|
||||
|
||||
//if logged in
|
||||
if(WebUsers::isLoggedIn()){
|
||||
|
||||
//is Mod
|
||||
if(ticket_user::isMod(unserialize($_SESSION['ticket_user']))){
|
||||
$result['user_id'] = unserialize($_SESSION['ticket_user'])->getTUserId();
|
||||
$result['nrToDo'] = Ticket_Queue_Handler::getNrOfTicketsToDo(unserialize($_SESSION['ticket_user'])->getTUserId());
|
||||
$result['nrAssignedWaiting'] = Ticket_Queue_Handler::getNrOfTicketsAssignedWaiting(unserialize($_SESSION['ticket_user'])->getTUserId());
|
||||
$result['nrTotalTickets'] = Ticket_Queue_Handler::getNrOfTickets();
|
||||
$ticket = Ticket_Queue_Handler::getNewestTicket();
|
||||
$result['newestTicketId'] = $ticket->getTId();
|
||||
$result['newestTicketTitle'] = $ticket->getTitle();
|
||||
$result['newestTicketAuthor'] = Ticket_User::get_username_from_id($ticket->getAuthor());
|
||||
return $result;
|
||||
|
||||
}else{
|
||||
//ERROR: No access!
|
||||
$_SESSION['error_code'] = "403";
|
||||
header("Location: index.php?page=error");
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
//ERROR: not logged in!
|
||||
header("Location: index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -14,6 +14,10 @@ ini_set('display_errors', 'on');
|
|||
ini_set('display_startup_errors', TRUE);
|
||||
|
||||
global $TOS_URL;
|
||||
global $AMS_LIB;
|
||||
global $SITEBASE;
|
||||
global $AMS_TRANS;
|
||||
global $DEFAULT_LANGUAGE;
|
||||
global $cfg;
|
||||
|
||||
require 'ams_lib/libinclude.php';
|
||||
|
@ -257,7 +261,8 @@ function _ams_handler()
|
|||
}
|
||||
}else{
|
||||
//default page
|
||||
$page = 'login';
|
||||
header("Location: user/login");
|
||||
exit;
|
||||
}
|
||||
}else{
|
||||
$page = $_GET["page"];
|
||||
|
@ -266,14 +271,17 @@ function _ams_handler()
|
|||
//perform an action in case one is specified
|
||||
//else check if a php page is included in the inc folder, else just set page to the get param
|
||||
if ( isset( $_POST["function"] ) ){
|
||||
require( "func/" . $_POST["function"] . ".php" );
|
||||
$return = $_POST["function"]();
|
||||
$filename = dirname( __FILE__ ).'/func/' . $_POST["function"] . '.php';
|
||||
if(is_file($filename)){
|
||||
require($filename);
|
||||
$return = $_POST["function"]();
|
||||
}
|
||||
}else{
|
||||
$filename = 'inc/' . $page . '.php';
|
||||
if(is_file($filename)){
|
||||
require_once($filename);
|
||||
$return = $page();
|
||||
}
|
||||
$filename = dirname( __FILE__ ).'/inc/' . $page . '.php';
|
||||
if(is_file($filename)){
|
||||
require_once($filename);
|
||||
$return = $page();
|
||||
}
|
||||
}
|
||||
|
||||
//add username to the return array in case logged in.
|
||||
|
@ -295,8 +303,8 @@ function _ams_handler()
|
|||
$return['no_visible_elements'] = 'FALSE';
|
||||
}
|
||||
|
||||
return $page;
|
||||
//helpers :: loadTemplate( $page , $return );
|
||||
//return $page;
|
||||
return helpers :: loadTemplate( $page , $return, true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -341,7 +349,7 @@ function _collect_login($nids, $collection)
|
|||
//handle successful ingame login
|
||||
$_SESSION['user'] = $result['name'];
|
||||
$_SESSION['id'] = WebUsers::getId($result['name']);
|
||||
$_SESSION['ticket_user'] = Ticket_User::constr_ExternId($_SESSION['id']);
|
||||
$_SESSION['ticket_user'] = serialize(Ticket_User::constr_ExternId($_SESSION['id']));
|
||||
|
||||
if ($account = user_load( $_SESSION['id'])) {
|
||||
global $user;
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
{block name=content}
|
||||
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td width="25%">
|
||||
<a data-original-title="{$nrAssignedWaiting} Assigned to you and waiting for support!" data-rel="tooltip" class="well span3 top-block"
|
||||
href="ams/?page=show_queue&get=create&userid={$user_id}&groupid=1&what=waiting_for_support&how=assigned&who=user">
|
||||
<div style="text-align:center;">Tickets Waiting for Direct Action:
|
||||
<font color="red">{$nrAssignedWaiting}</font></div>
|
||||
</a>
|
||||
</td>
|
||||
<td width="25%">
|
||||
<a data-original-title="{$nrToDo} Tickets Todo." data-rel="tooltip" class="well span3 top-block" href="ams/?page=show_queue&get=todo">
|
||||
<div style="text-align:center;">Tickets Todo:
|
||||
<font color="red">{$nrToDo}</font></div>
|
||||
</a>
|
||||
</td>
|
||||
<td width="25">
|
||||
|
||||
<a data-original-title="By {$newestTicketAuthor}" data-rel="tooltip" class="well span3 top-block" href="ams/?page=show_ticket&id={$newestTicketId}">
|
||||
<div style="text-align:center;">Newest Ticket:
|
||||
<font color="red">{$newestTicketTitle}</font></div>
|
||||
</a>
|
||||
</td>
|
||||
<td width="25%">
|
||||
|
||||
<a data-original-title="{$nrTotalTickets} tickets in total" data-rel="tooltip" class="well span3 top-block" href="ams/?page=show_queue&get=all">
|
||||
<div style="text-align:center;">Total amount of Tickets:
|
||||
<font color="red">{$nrTotalTickets}</font></div>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="box span12">
|
||||
<div class="box-header well">
|
||||
<h2><i class="icon-info-sign"></i> {$home_title}</h2>
|
||||
<div class="box-icon">
|
||||
<a href="#" class="btn btn-round" onclick="javascript:show_help('intro');return false;"><i class="icon-info-sign"></i></a>
|
||||
<a href="#" class="btn btn-setting btn-round"><i class="icon-cog"></i></a>
|
||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
||||
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<p><strong>{$home_info}</strong></p>
|
||||
<p>This is the GSOC project of Daan Janssens mentored by Matthew Lagoe.</p>
|
||||
<p>The features as admin covered in this project are:</p>
|
||||
<ul>
|
||||
<li>Manage user accounts</li>
|
||||
<li>Make users moderator or admin</li>
|
||||
<li>browse user's tickets</li>
|
||||
<li>Create a new ticket for a specific user as admin</li>
|
||||
<li>Create a new support group (and link an email to it)</li>
|
||||
<li>Add mods to support groups</li>
|
||||
<li>Assign ticket to you</li>
|
||||
<li>Forward ticket to a support group</li>
|
||||
<li>Add hidden messages to a ticket only viewable by other mods</li>
|
||||
<li>Browse ticket queues or create one dynamically</li>
|
||||
<li>Sync changes after the game server is back up after being down for a while</li>
|
||||
<li>Browse the log of a ticket</li>
|
||||
<li>Browse additional info sent along when a ticket is created ingame</li>
|
||||
<li>All the above can be done while ingame too</li>
|
||||
</ul>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{/block}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{block name=content}{/block}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{extends file="layout.tpl"}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{extends file="layout.tpl"}
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
{extends file="layout.tpl"}
|
|
@ -0,0 +1,142 @@
|
|||
{block name=content}
|
||||
<div class="row-fluid sortable ui-sortable">
|
||||
<div class="box span9">
|
||||
<div class="box-header well" data-original-title="">
|
||||
<h2><i class="icon-user"></i> Profile of {$target_name}</h2>
|
||||
<div class="box-icon">
|
||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
||||
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<div class="row-fluid">
|
||||
<legend>Info</legend>
|
||||
<table class="table table-striped" >
|
||||
<tbody>
|
||||
<tr >
|
||||
<td><strong>Email:</strong></td>
|
||||
<td>{$mail}</td>
|
||||
</tr>
|
||||
|
||||
<tr >
|
||||
<td><strong>Role:</strong></td>
|
||||
<td>
|
||||
{if $userPermission eq 1}<span class="label label-success">User</span>{/if}
|
||||
{if $userPermission eq 2}<span class="label label-warning">Moderator</span>{/if}
|
||||
{if $userPermission eq 3}<span class="label label-important">Admin</span>{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if $firstName neq ""}
|
||||
<tr>
|
||||
<td><strong>Firstname:</strong></td>
|
||||
<td>{$firstName}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if $lastName neq ""}
|
||||
<tr>
|
||||
<td><strong>LastName:</strong></td>
|
||||
<td>{$lastName}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if $country neq ""}
|
||||
<tr>
|
||||
<td><strong>Country:</strong></td>
|
||||
<td>{$country}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if $gender neq 0}
|
||||
<tr>
|
||||
<td><strong>Gender:</strong></td>
|
||||
{if $gender eq 1}
|
||||
<td><strong>♂</strong></td>
|
||||
{else if $gender eq 2}
|
||||
<td><strong>♀</strong></td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/span-->
|
||||
|
||||
<div class="box span3">
|
||||
<div class="box-header well" data-original-title="">
|
||||
<h2><i class="icon-th"></i>Actions</h2>
|
||||
<div class="box-icon">
|
||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
||||
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<div class="row-fluid">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-primary btn-large dropdown-toggle" data-toggle="dropdown">Actions<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="divider"></li>
|
||||
<li><a href="index.php?page=settings&id={$target_id}">Edit User</a></li>
|
||||
<li><a href="index.php?page=createticket&user_id={$target_id}">Send Ticket</a></li>
|
||||
<li class="divider"></li>
|
||||
{if isset($isAdmin) and $isAdmin eq 'TRUE' and $target_id neq 1}
|
||||
{if $userPermission eq 1}
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=2">Make Moderator</a></li>
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=3">Make Admin</a></li>
|
||||
{else if $userPermission eq 2 }
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=1">Demote to User</a></li>
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=3">Make Admin</a></li>
|
||||
{else if $userPermission eq 3 }
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=1">Demote to User</a></li>
|
||||
<li><a href="index.php?page=change_permission&user_id={$target_id}&value=2">Demote to Moderator</a></li>
|
||||
{/if}
|
||||
<li class="divider"></li>
|
||||
{/if}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/span-->
|
||||
</div><!--/row-->
|
||||
|
||||
<div class="row-fluid sortable ui-sortable">
|
||||
<div class="box span9">
|
||||
<div class="box-header well" data-original-title="">
|
||||
<h2><i class="icon-tag"></i> Tickets of {$target_name}</h2>
|
||||
<div class="box-icon">
|
||||
<a href="#" class="btn btn-minimize btn-round"><i class="icon-chevron-up"></i></a>
|
||||
<a href="#" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<div class="row-fluid">
|
||||
<legend>Tickets</legend>
|
||||
<table class="table table-striped table-bordered bootstrap-datatable datatable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Title</th>
|
||||
<th>Timestamp</th>
|
||||
<th>Category</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$ticketlist item=ticket}
|
||||
<tr>
|
||||
<td>{$ticket.tId}</td>
|
||||
<td><a href ="index.php?page=show_ticket&id={$ticket.tId}">{$ticket.title}</a></td>
|
||||
<td class="center"><i>{$ticket.timestamp}</i></td>
|
||||
<td class="center">{$ticket.category}</td>
|
||||
|
||||
<td class="center"><span class="label {if $ticket.status eq 0}label-success{else if $ticket.status eq 1}label-warning{else if $ticket.status eq 2}label-important{/if}">{if $ticket.status eq 0} <i class="icon-exclamation-sign icon-white"></i>{/if} {$ticket.statusText}</span></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/span-->
|
||||
</div><!--/row-->
|
||||
{/block}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
-Remove full path in autoload functions
|
||||
-Make Permission www dependend, so it can be implemented in drupal with hook_permission();
|
Loading…
Reference in a new issue