Skip to content

Commit

Permalink
Merge pull request #42 from BTyrael/master
Browse files Browse the repository at this point in the history
Ticket Module
  • Loading branch information
sayghteight authored Mar 13, 2022
2 parents 7a619d7 + 76fd37f commit 791072c
Show file tree
Hide file tree
Showing 10 changed files with 235 additions and 0 deletions.
7 changes: 7 additions & 0 deletions application/config/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,13 @@
$route[$lang.'/admin/account/grantrank'] = 'admin/grantrankaccount';
$route[$lang.'/admin/account/delrank'] = 'admin/delrankaccount';

/*
* Tickets
*/
$route[$lang.'/admin/tickets'] = 'admin/managetickets';
$route[$lang.'/admin/tickets/realm/(:num)'] = 'admin/ticketrealm/$2';
$route[$lang.'/admin/tickets/realm/(:num)/(:num)'] = 'admin/ticketrealm/$2/$3';

/*
* Menu
*/
Expand Down
3 changes: 3 additions & 0 deletions application/language/english/admin_lang.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
$lang['admin_nav_manage_forum'] = 'Manage Forum';
$lang['admin_nav_logs'] = 'Logs System';
$lang['admin_nav_download'] = 'Download';
$lang['admin_nav_Tickets'] = 'Tickets';
$lang['admin_nav_manage_tickets'] = 'Manage Tickets';

/*Sections Lang*/
$lang['section_general_settings'] = 'General Settings';
Expand Down Expand Up @@ -107,6 +109,7 @@

/*Input Placeholder Lang*/
$lang['placeholder_manage_account'] = 'Manage Account';
$lang['placeholder_manage_account'] = 'Manage Account';
$lang['placeholder_update_information'] = 'Update Account Information';
$lang['placeholder_donation_logs'] = 'Donation Logs';
$lang['placeholder_store_logs'] = 'Store Logs';
Expand Down
2 changes: 2 additions & 0 deletions application/language/french/admin_lang.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@
$lang['admin_nav_manage_forum'] = 'Gérer le Forum';
$lang['admin_nav_logs'] = 'Logs du Systeme';
$lang['admin_nav_download'] = 'Téléchargement';
$lang['admin_nav_Tickets'] = 'Tickets';
$lang['admin_nav_manage_tickets'] = 'Gérer le Tickets';

/*Sections Lang*/
$lang['section_general_settings'] = 'Réglages Généraux';
Expand Down
2 changes: 2 additions & 0 deletions application/language/german/admin_lang.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@
$lang['admin_nav_forum'] = 'Forum';
$lang['admin_nav_manage_forum'] = 'Forum bearbeiten';
$lang['admin_nav_logs'] = 'Logs System';
$lang['admin_nav_Tickets'] = 'Tickets';
$lang['admin_nav_manage_tickets'] = 'Tickets bearbeiten';

/*Sections Lang*/
$lang['section_general_settings'] = 'Allgemeine Einstellungen';
Expand Down
2 changes: 2 additions & 0 deletions application/language/spanish/admin_lang.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
$lang['admin_nav_manage_forum'] = 'Administrar Foro';
$lang['admin_nav_logs'] = 'Sistema de Logs';
$lang['admin_nav_download'] = 'Descargas';
$lang['admin_nav_Tickets'] = 'Tickets';
$lang['admin_nav_manage_tickets'] = 'Administrar Tickets';

/*Sections Lang*/
$lang['section_general_settings'] = 'Configuración General';
Expand Down
69 changes: 69 additions & 0 deletions application/modules/admin/controllers/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -1454,4 +1454,73 @@ public function deletedownload()
$id = $this->input->post('value');
echo $this->admin_model->delSpecifyDownload($id);
}

/**
* Tickets
*/

public function managetickets()
{
$data = [
'pagetitle' => $this->lang->line('button_admin_panel'),
'lang' => $this->lang->lang(),
];

$config['total_rows'] = $this->admin_model->countStoreCategories();
$data['total_count'] = $config['total_rows'];
$config['suffix'] = '';

if ($config['total_rows'] > 0)
{
$page_number = $this->uri->segment(4);
$config['base_url'] = base_url().'admin/store/';

if (empty($page_number))
$page_number = 1;

$offset = ($page_number - 1) * $this->pagination->per_page;
$this->admin_model->setPageNumber($this->pagination->per_page);
$this->admin_model->setOffset($offset);
$this->pagination->initialize($config);

$data['pagination_links'] = $this->pagination->create_links();
$data['realmsList'] = $this->admin_model->realmsList();
}

$this->template->build('tickets/manage_tickets', $data);
}

public function ticketrealm($id)
{
$multirealm = $this->wowrealm->getRealmConnectionData($id);
$data = [
'pagetitle' => $this->lang->line('button_admin_panel'),
'idlink' => $id,
'lang' => $this->lang->lang(),
'multirealm' => $multirealm
];

$config['total_rows'] = $this->admin_model->countTickets($multirealm);
$data['total_count'] = $config['total_rows'];
$config['suffix'] = '';

if ($config['total_rows'] > 0)
{
$page_number = $this->uri->segment(6);
$config['base_url'] = base_url().'admin/tickets/realm/'.$id.'/';

if (empty($page_number))
$page_number = 1;

$offset = ($page_number - 1) * $this->pagination->per_page;
$this->admin_model->setPageNumber($this->pagination->per_page);
$this->admin_model->setOffset($offset);
$this->pagination->initialize($config);

$data['pagination_links'] = $this->pagination->create_links();
$data['ticketsList'] = $this->admin_model->ticketsList($multirealm);
}

$this->template->build('tickets/tickets', $data);
}
}
17 changes: 17 additions & 0 deletions application/modules/admin/models/Admin_model.php
Original file line number Diff line number Diff line change
Expand Up @@ -1375,4 +1375,21 @@ public function getDownloadSpecifyType($id)
{
return $this->db->select('type')->where('id', $id)->get('download')->row('type');
}

/**
* Tickets
*/

public function countTickets($multirealm)
{
$this->multirealm = $multirealm;
$this->multirealm->from('gm_ticket');
return $this->multirealm->count_all_results();
}

public function ticketsList($multirealm)
{
$this->multirealm = $multirealm;
return $this->multirealm->select('*')->limit($this->_pageNumber, $this->_offset)->get('gm_ticket')->result();
}
}
52 changes: 52 additions & 0 deletions application/modules/admin/views/tickets/manage_tickets.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<section class="uk-section uk-section-xsmall" data-uk-height-viewport="expand: true">
<div class="uk-container">
<div class="uk-grid uk-grid-small uk-margin-small" data-uk-grid>
<div class="uk-width-expand uk-heading-line">
<h3 class="uk-h3"><i class="fas fa-scroll"></i> <?= $this->lang->line('admin_nav_manage_tickets') ?></h3>
</div>
</div>
<div class="uk-grid uk-grid-small" data-uk-grid>
<div class="uk-width-1-4@s">
<div class="uk-card uk-card-secondary">
<ul class="uk-nav uk-nav-default">
<?php if($this->wowauth->getRank($this->session->userdata('wow_sess_id')) >= config_item('admin_access_level')): ?>
<li class="uk-active"><a href="<?= base_url('admin/tickets'); ?>"><i class="fas fa-arrow-circle-left"></i></a></li>
<?php endif; ?>
<?php foreach($realmsList as $link): ?>
<li><a href="<?= base_url('admin/tickets/realm/'.$link->realmID); ?>"><i class="fas fa-server"></i> <?= $this->wowrealm->getRealmName($link->realmID); ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<div class="uk-width-3-4@s">
<div class="uk-grid uk-grid-small uk-grid-match uk-child-width-1-1 uk-child-width-1-2@s" data-uk-grid>
<?php foreach ($this->wowrealm->getRealms()->result() as $charsMultiRealm):
$multiRealm = $this->wowrealm->realmConnection($charsMultiRealm->username, $charsMultiRealm->password, $charsMultiRealm->hostname, $charsMultiRealm->char_database);
?>
<div>
<a class="uk-link-heading" href="<?= base_url('admin/tickets/realm/'.$charsMultiRealm->id); ?>">
<div class="uk-card uk-card-default">
<div class="uk-card-header">
<div class="uk-grid uk-grid-small" data-uk-grid>
<div class="uk-width-auto">
<h4 class="uk-h4"><span class="uk-margin-small-right"><i class="fas fa-server"></i></span>Realm - <?= $this->wowrealm->getRealmName($charsMultiRealm->realmID); ?></h4>
</div>
</div>
</div>
<div class="uk-card-body">
<div class="uk-grid uk-grid-small uk-text-center" data-uk-grid>
<div class="uk-width-1-1">
<h5 class="uk-h5 uk-text-primary uk-text-bold uk-text-uppercase uk-margin-remove">New Ticket's</h5>
<h1 class="uk-h1 uk-margin-remove"><i class="fas fa-scroll"></i> <span class="blizzcms-count" data-from="0" data-to="<?= $this->admin_model->countTickets($multiRealm); ?>" data-speed="2000" data-refresh-interval="50"></span></h1>
</div>
</div>
</div>
</div>
</a>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</section>
79 changes: 79 additions & 0 deletions application/modules/admin/views/tickets/tickets.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<section class="uk-section uk-section-xsmall" data-uk-height-viewport="expand: true">
<div class="uk-container uk-container-xlarge">
<div class="uk-grid uk-grid-small uk-margin-small" data-uk-grid>
<div class="uk-width-expand uk-heading-line">
<h3 class="uk-h3"><i class="fas fa-scroll"></i> <?= $this->lang->line('admin_nav_Tickets'); ?> > <?= $this->wowrealm->getRealmName($idlink); ?></h3>
</div>
<div class="uk-width-auto">
<a href="<?= base_url('admin/tickets'); ?>" class="uk-icon-button"><i class="fas fa-arrow-circle-left"></i></a>
</div>
</div>
<div class="uk-grid uk-grid-small" data-uk-grid>
<div class="uk-width-1-1">
<div class="uk-card uk-card-default uk-card-body">
<div class="uk-overflow-auto">
<table class="uk-table uk-table-middle uk-table-divider uk-table-small">
<thead>
<tr>
<th class="uk-width-small"><?= $this->lang->line('table_header_id'); ?></th>
<th class="uk-width-medium"><?= $this->lang->line('table_header_name'); ?></th>
<th class="uk-width-large uk-text-center"><?= $this->lang->line('placeholder_subject'); ?></th>
<th class="uk-width-small uk-text-center"><?= $this->lang->line('table_header_time'); ?></th>
<th class="uk-width-medium uk-text-center"><?= $this->lang->line('table_header_actions'); ?></th>
</tr>
</thead>
<tbody>
<?php if(isset($ticketsList) && !empty($ticketsList)): ?>
<?php foreach($ticketsList as $ticket): ?>
<tr>
<td><?= $ticket->id ?></td>
<td><?= $ticket->name ?></td>
<td><?= $ticket->description ?></td>
<td class="uk-text-center uk-text-mute"><?= date('H:i, d Y', $ticket->createTime); ?></td>
<td class="uk-text-center">
<a class="uk-button uk-button-primary uk-margin-small-right" href="#ticket-<?= $ticket->id ?>" uk-toggle><i class="fas fa-info-circle fa-lg"></i></a>
<div id="ticket-<?= $ticket->id ?>" uk-modal>
<div class="uk-modal-dialog" style="width: 960px;">
<button class="uk-modal-close-default" type="button" uk-close></button>
<div class="uk-modal-header">
<h2 class="uk-modal-title"><?= $this->lang->line('admin_nav_Tickets'); ?> <i class="fas fa-hashtag"></i> <?= $ticket->id ?> - <?= $ticket->name ?></h2>
</div>
<div class="uk-modal-body">
<div class="uk-scrollspy-inview uk-animation-slide-bottom" uk-scrollspy-class="">
<div class="uk-column-1-1 uk-column-1-2@s uk-column-divider">
<div>
<p class="uk-text-small"><i class="fas fa-hashtag"></i> <?= $this->lang->line('table_header_guid'); ?> : <?= $ticket->playerGuid ?></p>
<p class="uk-text-small"><i class="fas fa-user-circle"></i> <?= $this->lang->line('table_header_id'); ?> : <?= $this->wowrealm->getAccountCharGuid($multirealm, $ticket->playerGuid) ?> </p>
<p class="uk-text-small"><i class="fas fa-layer-group"></i> <?= $this->lang->line('table_header_level'); ?> : <?= $this->wowrealm->getCharLevel($ticket->playerGuid, $multirealm) ?></p>
<p class="uk-text-small"><i class="fas fa-question"></i></i> <?= $this->lang->line('table_header_status'); ?> : <?php if($this->wowrealm->getCharActive($ticket->playerGuid, $multirealm) == '1'): ?> <b><?= $this->lang->line('online') ?></b> <?php else: ?> <b><?= $this->lang->line('offline') ?></b> <?php endif; ?> </p>
<p class="uk-text-small"><i class="fas fa-server"></i> <?= $this->lang->line('table_header_realm'); ?> : <?= $this->wowrealm->getRealmName($idlink) ?></p>
</div>
<div>
<p class="uk-text-small"><i class="fas fa-info-circle"></i> <?= $this->lang->line('table_header_race'); ?> : <?= $this->wowgeneral->getRaceName($this->wowrealm->getCharRace($ticket->playerGuid, $multirealm)) ?></p>
<p class="uk-text-small"><i class="fas fa-info-circle"></i> <?= $this->lang->line('table_header_class'); ?> : <?= $this->wowgeneral->getClassName($this->wowrealm->getCharClass($ticket->playerGuid, $multirealm)) ?></span></p>
<p class="uk-text-small"><i class="fas fa-info-circle"></i> <?= $this->lang->line('table_header_faction'); ?> : <?= $this->wowgeneral->getFaction($this->wowrealm->getCharRace($ticket->playerGuid, $multirealm)) ?></p>
<p class="uk-text-small"><i class="fas fa-star"></i> <?= $this->lang->line('panel_last_ip'); ?> : <?= $this->wowauth->getLastIPID($this->wowrealm->getAccountCharGuid($multirealm, $ticket->playerGuid)) ?> </span></p>
<p class="uk-text-small"><i class="fas fa-clock"></i> <?= $this->lang->line('table_header_date'); ?> : <?= date('H:i, d Y', $ticket->createTime); ?></p>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</div>
<div class="uk-card-footer">
<div class="uk-text-right">
<?php if (isset($ticketsList) && is_array($ticketsList)) echo $pagination_links; ?>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
2 changes: 2 additions & 0 deletions application/themes/admin/views/layouts/layout.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
<li><a href="<?= base_url('admin/forum'); ?>"><span class="admin-subnav-icon"><i class="fas fa-bookmark"></i></span><?= $this->lang->line('admin_nav_manage_forum'); ?></a></li>
</ul>
</li>
<li><a href="<?= base_url('admin/tickets'); ?>"><span class="admin-subnav-icon"><i class="fas fa-scroll"></i></span><?= $this->lang->line('admin_nav_Tickets'); ?></a></li>
</ul>
</div>
</div>
Expand Down Expand Up @@ -153,6 +154,7 @@
</ul>
</div>
</li>
<li><a href="<?= base_url('admin/tickets'); ?>"><span class="admin-subnav-icon"><i class="fas fa-scroll"></i></span><?= $this->lang->line('admin_nav_Tickets'); ?></a></li>
</ul>
</div>
<div class="uk-navbar-right"></div>
Expand Down

0 comments on commit 791072c

Please sign in to comment.