diff --git a/code/web/private_php/ams/plugins/Domain_Management/.info b/code/web/private_php/ams/plugins/Domain_Management/.info
new file mode 100644
index 000000000..502846e4f
--- /dev/null
+++ b/code/web/private_php/ams/plugins/Domain_Management/.info
@@ -0,0 +1,8 @@
+PluginName = Domain_Management
+Description = Plug-in for Domain Management.
+Version = 1.0.0
+TemplatePath = ../../../private_php/ams/plugins/Domain_Management/templates/index.tpl
+Type = Manual
+
+
+
diff --git a/code/web/private_php/ams/plugins/Domain_Management/Domain_Management.php b/code/web/private_php/ams/plugins/Domain_Management/Domain_Management.php
new file mode 100644
index 000000000..359c9289e
--- /dev/null
+++ b/code/web/private_php/ams/plugins/Domain_Management/Domain_Management.php
@@ -0,0 +1,205 @@
+ select( 'ams_api_keys', $data , 'User = :User AND UserCharacter = :UserCharacter' );
+ $row = $sth -> fetchAll();
+ return $row;
+ }
+
+/**
+ * Local Hook to get database content
+ * which is called by the global hook
+ * by passing a parameter
+ *
+ * This hook returns the id of the character
+ * whose achivements we have to get
+ *
+ * @param $data array with respective information
+ * @return $row extracted db content wrt $data
+ */
+function domain_management_get_char_id( $data )
+ {
+ // returns the character id with respect to the character name in the ring_tool->characters
+ $db = new DBLayer( 'ring' );
+ $sth = $db -> selectWithParameter( 'char_id', 'characters' , array( 'char_name' => $data ), 'char_name=:char_name' );
+ $row = $sth -> fetch();
+ return $row['char_id'];
+ }
+
+/**
+ * Local Hook to get database content
+ * which is called by the global hook
+ * by passing a parameter
+ *
+ * Hook to get the player stats of the character
+ *
+ * @param $data array with respective information
+ * @return $row extracted db content wrt $data
+ */
+function domain_management_get_player_stat( $data )
+ {
+ // returns the character id with respect to the character name in the ring_tool->characters
+ $db = new DBLayer( 'webig' );
+ $sth = $db -> select( 'players' , array( 'name' => $data ), 'name=:name' );
+ $row = $sth -> fetch();
+ return $row;
+ }
+
+/**
+ * Local Hook to set variables which contains
+ * the content to use during the plugin functionality.
+ */
+function domain_management_variable_set()
+ {
+ global $domain_management_return_set;
+ global $var_set;
+ if ( isset( $_POST['Character'] ) && !empty( $_POST['Character'] ) )
+ {
+ $var_set['character'] = $_POST['Character'];
+
+ // get char id from ring_open table
+ if ( $var_set['character'] != 'All Characters' )
+ {
+ $var_set['char_id'] = domain_management_get_char_id( $var_set['character'] );
+
+ }
+
+ // get db content for variable set
+ $row = domain_management_get_db_content( array( 'User' => $_SESSION['user'], 'UserCharacter' => $var_set['character'] ) );
+
+ // access key automatically taken from the database wrt user and character
+ @$var_set['app_key'] = $row['AccessToken'];
+
+ // here you can set the host where this plugin is set
+ $var_set['host'] = 'localhost';
+
+ // here we get the stats of the character
+ $ref_set = domain_management_get_player_stat( $var_set['character'] );
+
+ // here we have set items that are required to get the achivements
+ // these are player stats from webig->players table
+ @$var_set['items'] = json_encode( array( 'dev_shard' => $ref_set['dev_shard'] , 'name' => $ref_set['name'] , 'cid' => $ref_set['cid'] , 'lang' => 'en' , 'translater_mode' => '', 'last_played_date' => $ref_set['last_login'] ) );
+
+ // url where we have to make request for domain_management
+ // it sends get parameter search(what to search) and format(in which format data exchange takes place)
+ $var_set['url'] = 'http://localhost6/?search=domain_management&&format=json';
+ }
+ else
+ {
+ $domain_management_return_set['no_char'] = "Please Generate key for a character before requesting for domain_management";
+ }
+ }
+
+/**
+ * Global Hook to interact with the REST api
+ * Pass the variables in the REST object to
+ * make request
+ *
+ * variables REST object expects
+ * url --> on which request is to be made
+ * appkey --> app key for authentication
+ * host --> host from which request have been sent
+ *
+ * @return $domain_management_return_set global array returns the template data
+ */
+function domain_management_hook_call_rest()
+ {
+
+ global $domain_management_return_set;
+ global $WEBPATH;
+
+ $domain_management_return_set['path'] = $WEBPATH;
+
+ }
+
+/**
+ * Global Hook to return global variables which contains
+ * the content to use in the smarty templates extracted from
+ * the database
+ *
+ * @return $domain_management_return_set global array returns the template data
+ */
+function domain_management_hook_get_db()
+ {
+ global $domain_management_return_set;
+
+ $db = new DBLayer( 'shard' );
+
+ //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 $domain_management_return_set global array returns the template data
+ */
+function domain_management_hook_return_global()
+ {
+ global $domain_management_return_set;
+ return $domain_management_return_set;
+ }
diff --git a/code/web/private_php/ams/plugins/Domain_Management/templates/index.tpl b/code/web/private_php/ams/plugins/Domain_Management/templates/index.tpl
new file mode 100644
index 000000000..d49edc89e
--- /dev/null
+++ b/code/web/private_php/ams/plugins/Domain_Management/templates/index.tpl
@@ -0,0 +1,209 @@
+{block name=content}
+
+{if isset($smarty.get.edit_domain)}
+
+
+
+
+
+
+
+
+
+
+ User ID |
+ Username |
+ Permissions |
+ |
+
+
+
+ {foreach from=$hook_info['Domain_Management']['userlist'] item=element}
+
+ {$element.id} |
+ {$element.username} |
+ {$hook_info['Domain_Management']['permissions'][{$element.id}-1]['AccessPrivilege']} |
+
+
+ |
+
+ {/foreach}
+
+
+
+
+
+
+
+
+
+
+{else}
+
+{/if}
+{/block}
diff --git a/code/web/private_php/setup/sql/nel_ams_lib_00003.sql b/code/web/private_php/setup/sql/nel_ams_lib_00003.sql
new file mode 100644
index 000000000..e82a013ed
--- /dev/null
+++ b/code/web/private_php/setup/sql/nel_ams_lib_00003.sql
@@ -0,0 +1,28 @@
+-- phpMyAdmin SQL Dump
+-- version 4.2.8
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost
+-- Generation Time: Sep 04, 2014 at 09:28 PM
+-- Server version: 5.6.17
+-- PHP Version: 5.5.12
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+
+--
+-- Dumping data for table `plugins`
+--
+
+INSERT INTO `plugins` (`Id`, `FileName`, `Name`, `Type`, `Owner`, `Permission`, `Status`, `Weight`, `Info`) VALUES
+(3, 'Domain_Management', 'Domain_Management', 'Manual', '', 'admin', 1, 0, '{"PluginName":"Domain Management","Description":"Plug-in for Domain Management.","Version":"1.0.0","TemplatePath":"..\\/..\\/..\\/private_php\\/ams\\/plugins\\/Domain_Management\\/templates\\/index.tpl","Type":"Manual","":null}');
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/code/web/public_php/ams/templates/layout_admin.tpl b/code/web/public_php/ams/templates/layout_admin.tpl
index 54307b5bc..be6bd0765 100644
--- a/code/web/public_php/ams/templates/layout_admin.tpl
+++ b/code/web/public_php/ams/templates/layout_admin.tpl
@@ -4,11 +4,12 @@
Dashboard
Profile
Settings
- {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}
{$element.menu_display}{/foreach}{/if}
+ {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element['menu_display'])}
{$element['menu_display']}{/if}{/foreach}{/if}
Users
Queues
Support Groups
+ {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.admin_menu_display)}
{$element.admin_menu_display}{/if}{/foreach}{/if}
Plugins
Syncing
diff --git a/code/web/public_php/ams/templates/layout_mod.tpl b/code/web/public_php/ams/templates/layout_mod.tpl
index e4fbdcc69..63b992d3f 100644
--- a/code/web/public_php/ams/templates/layout_mod.tpl
+++ b/code/web/public_php/ams/templates/layout_mod.tpl
@@ -4,7 +4,7 @@
Dashboard
Profile
Settings
- {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}
{$element.menu_display}{/foreach}{/if}
+ {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}{if isset($element.menu_display)}
{$element.menu_display}{/if]{/foreach}{/if}
Users
Queues
diff --git a/code/web/public_php/ams/templates/layout_user.tpl b/code/web/public_php/ams/templates/layout_user.tpl
index e70b7c164..800058bfa 100644
--- a/code/web/public_php/ams/templates/layout_user.tpl
+++ b/code/web/public_php/ams/templates/layout_user.tpl
@@ -3,7 +3,7 @@
Profile
Settings
- {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}
{$element.menu_display}{/foreach}{/if}
+ {if isset($hook_info)} {foreach from=$hook_info key=arrkey item=element}
{$element.menu_display}{/foreach}{/if}
Create New Ticket
Logout