Initial Domain Management Plugin

This commit is contained in:
botanic 2014-09-07 05:39:48 -07:00
parent 2f1f2139b5
commit ca8270bf65
7 changed files with 258 additions and 100 deletions

View file

@ -17,7 +17,7 @@
// Global variable to store the data which is
// returned to the templates
$return_set = array();
$achievements_return_set = array();
// Local variable to store data during
// functionalities of the hooks
@ -28,10 +28,10 @@ $var_set = array();
*/
function achievements_hook_display()
{
global $return_set;
global $achievements_return_set;
// to display plugin name in menu bar
$return_set['menu_display'] = 'Achievements';
$return_set['icon'] = 'icon-certificate';
$achievements_return_set['menu_display'] = 'Achievements';
$achievements_return_set['icon'] = 'icon-certificate';
}
/**
@ -98,7 +98,7 @@ function hook_get_player_stat( $data )
*/
function hook_variable_set()
{
global $return_set;
global $achievements_return_set;
global $var_set;
if ( isset( $_POST['Character'] ) && !empty( $_POST['Character'] ) )
{
@ -133,7 +133,7 @@ function hook_variable_set()
}
else
{
$return_set['no_char'] = "Please Generate key for a character before requesting for achievements";
$achievements_return_set['no_char'] = "Please Generate key for a character before requesting for achievements";
}
}
@ -147,13 +147,13 @@ function hook_variable_set()
* appkey --> app key for authentication
* host --> host from which request have been sent
*
* @return $return_set global array returns the template data
* @return $achievements_return_set global array returns the template data
*/
function achievements_hook_call_rest()
{
// defined the variables
global $var_set;
global $return_set;
global $achievements_return_set;
if ( isset( $_POST['get_data'] ) )
{
@ -162,7 +162,7 @@ function achievements_hook_call_rest()
$rest_api = new Rest_Api();
$ach_data = $rest_api -> request( $var_set['url'], $var_set['app_key'], $var_set['host'], $var_set['items'] );
// here we store the response we get from the server
$return_set['char_achievements'] = $ach_data ;
$achievements_return_set['char_achievements'] = $ach_data ;
}
}
@ -171,11 +171,11 @@ function achievements_hook_call_rest()
* the content to use in the smarty templates extracted from
* the database
*
* @return $return_set global array returns the template data
* @return $achievements_return_set global array returns the template data
*/
function achievements_hook_get_db()
{
global $return_set;
global $achievements_return_set;
if ( isset( $_SESSION['user'] ) )
{
@ -184,7 +184,7 @@ function achievements_hook_get_db()
// getting content for selecting characters
$sth = $db -> selectWithParameter( 'UserCharacter', 'ams_api_keys', array( 'User' => $_SESSION['user'] ) , 'User = :User' );
$row = $sth -> fetch();
$return_set['Character'] = $row;
$achievements_return_set['Character'] = $row;
}
}
@ -192,10 +192,10 @@ function achievements_hook_get_db()
* Global Hook to return global variables which contains
* the content to use in the smarty templates
*
* @return $return_set global array returns the template data
* @return $achievements_return_set global array returns the template data
*/
function achievements_hook_return_global()
{
global $return_set;
return $return_set;
global $achievements_return_set;
return $achievements_return_set;
}

View file

@ -1,5 +1,4 @@
{block name=content}
{if isset($smarty.get.plugin_action) and $smarty.get.plugin_action eq 'get_achievements'}
<div class="row-fluid">
<div class="box col-md-12">

View file

@ -17,7 +17,7 @@
// Global variable to store the data which is
// returned to the templates
$return_set = array();
$domain_management_return_set = array();
// Local variable to store data during
// functionalities of the hooks
@ -28,10 +28,10 @@ $var_set = array();
*/
function domain_management_hook_display()
{
global $return_set;
global $domain_management_return_set;
// to display plugin name in menu bar
$return_set['admin_menu_display'] = 'Domain Management';
$return_set['icon'] = 'icon-edit';
$domain_management_return_set['admin_menu_display'] = 'Domain Management';
$domain_management_return_set['icon'] = 'icon-edit';
}
/**
@ -98,7 +98,7 @@ function domain_management_get_player_stat( $data )
*/
function domain_management_variable_set()
{
global $return_set;
global $domain_management_return_set;
global $var_set;
if ( isset( $_POST['Character'] ) && !empty( $_POST['Character'] ) )
{
@ -133,7 +133,7 @@ function domain_management_variable_set()
}
else
{
$return_set['no_char'] = "Please Generate key for a character before requesting for domain_management";
$domain_management_return_set['no_char'] = "Please Generate key for a character before requesting for domain_management";
}
}
@ -147,23 +147,16 @@ function domain_management_variable_set()
* appkey --> app key for authentication
* host --> host from which request have been sent
*
* @return $return_set global array returns the template data
* @return $domain_management_return_set global array returns the template data
*/
function domain_management_hook_call_rest()
{
// defined the variables
global $var_set;
global $return_set;
global $domain_management_return_set;
global $WEBPATH;
if ( isset( $_POST['get_data'] ) )
{
domain_management_variable_set();
// here we make the REST connection
$rest_api = new Rest_Api();
$ach_data = $rest_api -> request( $var_set['url'], $var_set['app_key'], $var_set['host'], $var_set['items'] );
// here we store the response we get from the server
$return_set['char_domain_management'] = $ach_data ;
}
$domain_management_return_set['path'] = $WEBPATH;
}
/**
@ -171,31 +164,42 @@ function domain_management_hook_call_rest()
* the content to use in the smarty templates extracted from
* the database
*
* @return $return_set global array returns the template data
* @return $domain_management_return_set global array returns the template data
*/
function domain_management_hook_get_db()
{
global $return_set;
global $domain_management_return_set;
if ( isset( $_SESSION['user'] ) )
{
$db = new DBLayer( 'lib' );
$db = new DBLayer( 'shard' );
// getting content for selecting characters
$sth = $db -> selectWithParameter( 'UserCharacter', 'ams_api_keys', array( 'User' => $_SESSION['user'] ) , 'User = :User' );
$row = $sth -> fetch();
$return_set['Character'] = $row;
}
//get all domains
$statement = $db->executeWithoutParams("SELECT * FROM domain");
$rows = $statement->fetchAll();
$domain_management_return_set['domains'] = $rows;
if (isset($_GET['edit_domain'])){
//get permissions
$statement = $db->executeWithoutParams("SELECT * FROM `permission` WHERE `ClientApplication` = '".$rows[$_GET['edit_domain']-1]['domain_name']."'");
$rows = $statement->fetchAll();
$domain_management_return_set['permissions'] = $rows;
//get all users
$pagination = new Pagination(WebUsers::getAllUsersQuery(),"web",10,"WebUsers");
$domain_management_return_set['userlist'] = Gui_Elements::make_table($pagination->getElements() , Array("getUId","getUsername","getEmail"), Array("id","username","email"));
}
return $rows;
}
/**
* Global Hook to return global variables which contains
* the content to use in the smarty templates
*
* @return $return_set global array returns the template data
* @return $domain_management_return_set global array returns the template data
*/
function domain_management_hook_return_global()
{
global $return_set;
return $return_set;
global $domain_management_return_set;
return $domain_management_return_set;
}

View file

@ -1,54 +1,209 @@
{block name=content}
{if isset($smarty.get.plugin_action) and $smarty.get.plugin_action eq 'get_domain_management'}
<div class="row-fluid">
<div class="box col-md-12">
<div class="box-inner">
<div class="box-header well" data-original-title>
<h2><i class="icon-user"></i> Domain_Management</h2>
</div>
<div class="box-content">
{if isset($hook_info.Domain_Management.no_char)}<div class="alert alert-error"><p>{$hook_info.Domain_Management.no_char}</p></div>{/if}
<div class="row-fluid">
{$hook_info.Domain_Management.char_domain_management}
{if isset($smarty.get.edit_domain)}
<div class="row-fluid sortable ui-sortable">
<div class="box col-md-9">
<div class="box-inner">
<div class="box-header well" data-original-title="">
<h2><i class="icon-list"></i> {$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['domain_name']}</h2>
</div>
<div class="box-content">
<div class="row-fluid">
<legend>Users with permissions in domain </legend>
<table class="table table-striped table-bordered bootstrap-datatable datatable">
<thead>
<tr>
<th>User ID</th>
<th>Username</th>
<th>Permissions</th>
<th></th>
</tr>
</thead>
<tbody>
{foreach from=$hook_info['Domain_Management']['userlist'] item=element}
<tr>
<td>{$element.id}</td>
<td class="center"><a href="index.php?page=show_user&id={$element.id}">{$element.username}</a></td>
<td class="center">{$hook_info['Domain_Management']['permissions'][{$element.id}-1]['AccessPrivilege']}</td>
<td class="center">
<div class="btn-group" style="display: inline-block;">
<a class="btn btn-info" href="index.php?page=settings&id={$element.id}"><i class=" icon-pencil icon-white"></i> Edit User Permissions</a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div><!--/span-->
<div class="box col-md-3">
<div class="box-inner">
<div class="box-header well" data-original-title="">
<h2><i class="icon-pencil"></i> Modify Domain Settings</h2>
</div>
<div class="box-content">
<div class="row-fluid">
<form id="modifyMailSGroup" class="form-vertical" method="post" action="index.php?page=show_sgroup&id=">
<legend style="margin:0"> Domain Settings of '{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['domain_name']}'</legend>
<div class="control-group disabled" style="display: inline-block; ">
<label class="control-label">Domain ID</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="domain_id" name="domain_id" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['domain_id']}" disabled>
</div>
</div><!--/span-->
</div><!--/span-->
</div><!--/row-->
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Domain Name</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="domain_name" name="domain_name" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['domain_name']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Domain Status</label>
<div class="controls">
<select id="status" multiple class="form-control" data-rel="chosen">
<option {if {$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['status']} eq "ds_close"}selected{/if}>ds_close</option>
<option {if {$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['status']} eq "ds_dev"}selected{/if}>ds_dev</option>
<option {if {$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['status']} eq "ds_restricted"}selected{/if}>ds_restricted</option>
<option {if {$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['status']} eq "ds_open"}selected{/if}>ds_open</option>
</select>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Patch Version</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="patch_version" name="patch_version" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['patch_version']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Backup Patch URL</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="backup_patch_url" name="backup_patch_url" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['backup_patch_url']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Patch URLs</label>
<div class="controls">
<div class="input-prepend">
<textarea id="patch_urls" name="patch_urls" >{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['patch_urls']}</textarea>
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Login Address</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="login_address" name="login_address" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['login_address']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Session Manager Address</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="session_manager_address" name="session_manager_address" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['session_manager_address']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Ring DB Name</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="ring_db_name" name="ring_db_name" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['ring_db_name']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Web Host</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="web_host" name="web_host" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['web_host']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Web Host PHP</label>
<div class="controls">
<div class="input-prepend">
<input type="text" id="web_host_php" name="web_host_php" value="{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['web_host_php']}">
</div>
</div>
</div>
<div class="control-group" style="display: inline-block; ">
<label class="control-label">Description</label>
<div class="controls">
<div class="input-prepend">
<textarea id="description" name="description" >{$hook_info['Domain_Management']['domains'][$smarty.get.edit_domain-1]['description']}</textarea>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label"></label>
<div class="controls">
<button type="submit" class="btn btn-primary" >Update</button>
</div>
</div>
{if isset($RESULT_OF_MODIFYING) and $RESULT_OF_MODIFYING eq "SUCCESS"}
<div class="alert alert-success">
{$modify_mail_of_group_success}
</div>
{/if}
</form>
</div>
</div>
</div>
</div>
</div><!--/row-->
{else}
<div class="row-fluid">
<div class="box col-md-4">
<div class="box-inner">
<div class="box-header well" data-original-title="">
<h2><i class="icon-th"></i> Select your Character</h2>
</div>
<div class="box-content">
<div class="row-fluid">
<form id="generateKey" class="form-vertical" method="post" action="index.php?page=layout_plugin&&name={$arrkey}&&plugin_action=get_domain_management">
<div class="control-group">
<div class="control-group">
<label class="control-label">Character:</label>
<div class="controls">
<select name="Character">
{foreach from=$hook_info.Domain_Management.Character item=element}
<option value="{$element}">{$element}</option>
{/foreach}
</select>
</div>
</div>
<div class="control-group">
<label class="control-label"></label>
<div class="controls">
<button type="submit" name="get_data" value="true" class="btn btn-primary" style="margin-left:5px; margin-top:10px;">Get Domain_Management</button>
</div>
</div>
</form>
</div>
</div>
</div><!--/span-->
</div><!--/span-->
</div><!--/span-->
</div><!--/row-->
{/if}
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Domain ID</th>
<th>Domain Name</th>
<th>Status</th>
<th>Patch Version</th>
<th>Description</th>
</tr>
</thead>
<tbody>
{foreach from=$hook_info['Domain_Management']['domains'] item=array}
<tr>
<td><a href="{$hook_info['Domain_Management']['path']}?page=layout_plugin&name=Domain_Management&edit_domain={$array['domain_id']}">{$array['domain_id']}</a></td>
<td><a href="{$hook_info['Domain_Management']['path']}?page=layout_plugin&name=Domain_Management&edit_domain={$array['domain_id']}">{$array['domain_name']}</a></td>
<td><a href="{$hook_info['Domain_Management']['path']}?page=layout_plugin&name=Domain_Management&edit_domain={$array['domain_id']}">{$array['status']}</a></td>
<td><a href="{$hook_info['Domain_Management']['path']}?page=layout_plugin&name=Domain_Management&edit_domain={$array['domain_id']}">{$array['patch_version']}</a></td>
<td><a href="{$hook_info['Domain_Management']['path']}?page=layout_plugin&name=Domain_Management&edit_domain={$array['domain_id']}">{$array['description']|truncate}</a></td>
</tr>
{/foreach}
</tbody>
</table>
{/if}
{/block}

View file

@ -4,12 +4,12 @@
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php"><i class="icon-home"></i><span class="hidden-tablet"> Dashboard</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=show_user"><i class="icon-user"></i><span class="hidden-tablet"> Profile</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=settings"><i class="icon-cog"></i><span class="hidden-tablet"> Settings</span></a></li>
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.menu_display)}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&&name={$arrkey}"><i class="{$element.icon}"></i><span class="hidden-tablet"> {$element.menu_display}</span></a></li>{/if}{/foreach}{/if}
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element['menu_display'])}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&name={$arrkey}"><i class="{$element.icon}"></i><span class="hidden-tablet"> {$element['menu_display']}</span></a></li>{/if}{/foreach}{/if}
<li class="nav-header hidden-tablet">Admin</li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=userlist"><i class="icon-th-list"></i><span class="hidden-tablet"> Users</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=show_queue&get=todo"><i class="icon-th-list"></i><span class="hidden-tablet"> Queues</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=sgroup_list"><i class="icon-briefcase"></i><span class="hidden-tablet"> Support Groups</span></a></li>
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.admin_menu_display)}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&&name={$arrkey}"><i class="{$element.icon}"></i><span class="hidden-tablet"> {$element.admin_menu_display}</span></a></li>{/if}{/foreach}{/if}
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.admin_menu_display)}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&name={$arrkey}"><i class="{$element.icon}"></i><span class="hidden-tablet"> {$element.admin_menu_display}</span></a></li>{/if}{/foreach}{/if}
<li class="nav-header hidden-tablet">Actions</li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=plugins"><i class="icon-th-list"></i><span class="hidden-tablet"> Plugins</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=syncing"><i class="icon-th-list"></i><span class="hidden-tablet"> Syncing</span></a></li>

View file

@ -4,7 +4,7 @@
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php"><i class="icon-home"></i><span class="hidden-tablet"> Dashboard</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=show_user"><i class="icon-user"></i><span class="hidden-tablet"> Profile</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=settings"><i class="icon-cog"></i><span class="hidden-tablet"> Settings</span></a></li>
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&&name={$arrkey}"><i class="icon-th-list"></i><span class="hidden-tablet"> {$element.menu_display}</span></a></li>{/foreach}{/if}
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.menu_display)}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&name={$arrkey}"><i class="icon-th-list"></i><span class="hidden-tablet"> {$element.menu_display}</span></a></li>{/if]{/foreach}{/if}
<li class="nav-header hidden-tablet">Admin</li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=userlist"><i class="icon-th-list"></i><span class="hidden-tablet"> Users</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=show_queue&get=todo"><i class="icon-th-list"></i><span class="hidden-tablet"> Queues</span></a></li>

View file

@ -3,7 +3,7 @@
<li class="nav-header hidden-tablet">Main</li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=show_user"><i class="icon-user"></i><span class="hidden-tablet">Profile</span></a></li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=settings"><i class="icon-cog"></i><span class="hidden-tablet"> Settings</span></a></li>
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&&name={$arrkey}"><i class="icon-th-list"></i><span class="hidden-tablet"> {$element.menu_display}</span></a></li>{/foreach}{/if}
{if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=layout_plugin&name={$arrkey}"><i class="icon-th-list"></i><span class="hidden-tablet"> {$element.menu_display}</span></a></li>{/foreach}{/if}
<li class="nav-header hidden-tablet">Actions</li>
<li style="margin-left: -2px;"><a class="ajax-link" href="index.php?page=createticket"><i class="icon-pencil"></i><span class="hidden-tablet">Create New Ticket</span></a></li>
<li style="margin-left: -2px;"><a href="?page=logout"><i class="icon-off"></i><span class="hidden-tablet"> Logout </span></a></li>