merged ticketcategories branch to trunk, fixes #157

This commit is contained in:
Michael Kaufmann (d00p)
2010-04-21 07:54:46 +00:00
parent fd74671760
commit 4cf8e2f2ea
11 changed files with 72 additions and 24 deletions

View File

@@ -197,12 +197,12 @@ if($page == 'tickets'
else else
{ {
$categories = ''; $categories = '';
$result = $db->query_first('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` WHERE `adminid` = "' . $userinfo['adminid'] . '" ORDER BY `name` ASC'); $result = $db->query_first('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` WHERE `adminid` = "' . $userinfo['adminid'] . '" ORDER BY `logicalorder`, `name` ASC');
if(isset($result['name']) if(isset($result['name'])
&& $result['name'] != '') && $result['name'] != '')
{ {
$result2 = $db->query('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` WHERE `adminid` = "' . $userinfo['adminid'] . '" ORDER BY `name` ASC'); $result2 = $db->query('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` WHERE `adminid` = "' . $userinfo['adminid'] . '" ORDER BY `logicalorder`, `name` ASC');
while($row = $db->fetch_array($result2)) while($row = $db->fetch_array($result2))
{ {
@@ -435,10 +435,11 @@ elseif($page == 'categories'
{ {
$log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_tickets::categories"); $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_tickets::categories");
$fields = array( $fields = array(
'name' => $lng['ticket']['category'] 'name' => $lng['ticket']['category'],
'logicalorder' => $lng['ticket']['logicalorder']
); );
$paging = new paging($userinfo, $db, TABLE_PANEL_TICKET_CATS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']); $paging = new paging($userinfo, $db, TABLE_PANEL_TICKET_CATS, $fields, $settings['panel']['paging'], $settings['panel']['natsorting']);
$result = $db->query("SELECT `main`.`id`, `main`.`name`, ( $result = $db->query("SELECT `main`.`id`, `main`.`name`, `main`.`logicalorder`, (
SELECT COUNT(`sub`.`id`) FROM `" . TABLE_PANEL_TICKETS . "` `sub` SELECT COUNT(`sub`.`id`) FROM `" . TABLE_PANEL_TICKETS . "` `sub`
WHERE `sub`.`category` = `main`.`id` WHERE `sub`.`category` = `main`.`id`
AND `sub`.`answerto` = '0' AND `sub`.`adminid` = '" . $userinfo['adminid'] . "') AND `sub`.`answerto` = '0' AND `sub`.`adminid` = '" . $userinfo['adminid'] . "')
@@ -481,6 +482,12 @@ elseif($page == 'categories'
&& $_POST['send'] == 'send') && $_POST['send'] == 'send')
{ {
$category = validate($_POST['category'], 'category'); $category = validate($_POST['category'], 'category');
$order = validate($_POST['logicalorder'], 'logicalorder');
if($order < 1 || $order >= 1000)
{
$order = 1;
}
if($category == '') if($category == '')
{ {
@@ -488,7 +495,7 @@ elseif($page == 'categories'
} }
else else
{ {
ticket::addCategory($db, $category, $userinfo['adminid']); ticket::addCategory($db, $category, $userinfo['adminid'], $order);
$log->logAction(ADM_ACTION, LOG_INFO, "added ticket-category '" . $category . "'"); $log->logAction(ADM_ACTION, LOG_INFO, "added ticket-category '" . $category . "'");
redirectTo($filename, Array('page' => $page, 's' => $s)); redirectTo($filename, Array('page' => $page, 's' => $s));
} }
@@ -505,6 +512,12 @@ elseif($page == 'categories'
&& $_POST['send'] == 'send') && $_POST['send'] == 'send')
{ {
$category = validate($_POST['category'], 'category'); $category = validate($_POST['category'], 'category');
$order = validate($_POST['logicalorder'], 'logicalorder');
if($order < 1 || $order >= 1000)
{
$order = 1;
}
if($category == '') if($category == '')
{ {
@@ -512,7 +525,7 @@ elseif($page == 'categories'
} }
else else
{ {
ticket::editCategory($db, $category, $id); ticket::editCategory($db, $category, $id, $order);
$log->logAction(ADM_ACTION, LOG_INFO, "edited ticket-category '" . $category . "'"); $log->logAction(ADM_ACTION, LOG_INFO, "edited ticket-category '" . $category . "'");
redirectTo($filename, Array('page' => $page, 's' => $s)); redirectTo($filename, Array('page' => $page, 's' => $s));
} }

View File

@@ -209,12 +209,12 @@ elseif($page == 'tickets')
else else
{ {
$categories = ''; $categories = '';
$result = $db->query_first('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` ORDER BY `name` ASC'); $result = $db->query_first('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` ORDER BY `logicalorder`, `name` ASC');
if(isset($result['name']) if(isset($result['name'])
&& $result['name'] != '') && $result['name'] != '')
{ {
$result2 = $db->query('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` ORDER BY `name` ASC'); $result2 = $db->query('SELECT `id`, `name` FROM `' . TABLE_PANEL_TICKET_CATS . '` ORDER BY `logicalorder`, `name` ASC');
while($row = $db->fetch_array($result2)) while($row = $db->fetch_array($result2))
{ {

View File

@@ -782,6 +782,7 @@ CREATE TABLE `panel_ticket_categories` (
`id` smallint(5) unsigned NOT NULL auto_increment, `id` smallint(5) unsigned NOT NULL auto_increment,
`name` varchar(60) NOT NULL, `name` varchar(60) NOT NULL,
`adminid` int(11) NOT NULL, `adminid` int(11) NOT NULL,
`logicalorder` int(3) NOT NULL default '1',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=MyISAM; ) ENGINE=MyISAM;

View File

@@ -481,6 +481,11 @@ if(isFroxlorVersion('0.9.5'))
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'defaultttl', '604800');"); $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'defaultttl', '604800');");
lastStepStatus(0); lastStepStatus(0);
showUpdateStep("Updating database table structure for panel_ticket_categories");
$db->query("ALTER TABLE `" . TABLE_PANEL_TICKET_CATS . "` ADD `logicalorder` int(3) NOT NULL default '1' AFTER `adminid`;");
lastStepStatus(0);
updateToVersion('0.9.6-svn1'); updateToVersion('0.9.6-svn1');
} }
?> ?>

View File

@@ -344,12 +344,19 @@ class ticket
* Add a support-categories * Add a support-categories
*/ */
static public function addCategory($_db, $_category = null, $_admin = 1) static public function addCategory($_db, $_category = null, $_admin = 1, $_order = 1)
{ {
if($_category != null if($_category != null
&& $_category != '') && $_category != '')
{ {
$_db->query('INSERT INTO `' . TABLE_PANEL_TICKET_CATS . '` (`name`, `adminid`) VALUES ("' . $_db->escape($_category) . '", "' . (int)$_admin . '")'); if($_order < 1) {
$_order = 1;
}
$_db->query('INSERT INTO `' . TABLE_PANEL_TICKET_CATS . '` SET
`name` = "' . $_db->escape($_category) . '",
`adminid` = "' . (int)$_admin . '",
`logicalorder` = "' . (int)$_order . '"');
return true; return true;
} }
@@ -360,13 +367,19 @@ class ticket
* Edit a support-categories * Edit a support-categories
*/ */
static public function editCategory($_db, $_category = null, $_id = 0) static public function editCategory($_db, $_category = null, $_id = 0, $_order = 1)
{ {
if($_category != null if($_category != null
&& $_category != '' && $_category != ''
&& $_id != 0) && $_id != 0)
{ {
$_db->query('UPDATE `' . TABLE_PANEL_TICKET_CATS . '` SET `name` = "' . $_db->escape($_category) . '" if($_order < 1) {
$_order = 1;
}
$_db->query('UPDATE `' . TABLE_PANEL_TICKET_CATS . '` SET
`name` = "' . $_db->escape($_category) . '",
`logicalorder` = "' . (int)$_order . '"
WHERE `id` = "' . (int)$_id . '"'); WHERE `id` = "' . (int)$_id . '"');
return true; return true;
} }

View File

@@ -1362,6 +1362,9 @@ $lng['admin']['configfiles']['compactoverview'] = 'Compact-overview';
$lng['admin']['lastlogin_succ'] = 'Last login'; $lng['admin']['lastlogin_succ'] = 'Last login';
$lng['panel']['neverloggedin'] = 'No login yet'; $lng['panel']['neverloggedin'] = 'No login yet';
// ADDED IN FROXLOR 0.9.6-svn1
$lng['serversettings']['defaultttl'] = 'Domain TTL for bind in seconds (default \'604800\' = 1 week)'; $lng['serversettings']['defaultttl'] = 'Domain TTL for bind in seconds (default \'604800\' = 1 week)';
$lng['ticket']['logicalorder'] = 'Logical order';
$lng['ticket']['orderdesc'] = 'Here you can define your own logical order for the ticket-category. Use 1 - 999, lower numbers are displayed first.';
?> ?>

View File

@@ -1358,6 +1358,9 @@ $lng['success']['settingssaved'] = 'Die Einstellungen wurden erfolgreich gespeic
$lng['admin']['lastlogin_succ'] = 'Letzte Anmeldung'; $lng['admin']['lastlogin_succ'] = 'Letzte Anmeldung';
$lng['panel']['neverloggedin'] = 'Keine Anmeldung bisher'; $lng['panel']['neverloggedin'] = 'Keine Anmeldung bisher';
// ADDED IN FROXLOR 0.9.6-svn1
$lng['serversettings']['defaultttl'] = 'Domain TTL f&uuml;r Bind in Sekunden (default \'604800\' = 1 Woche)'; $lng['serversettings']['defaultttl'] = 'Domain TTL f&uuml;r Bind in Sekunden (default \'604800\' = 1 Woche)';
$lng['ticket']['logicalorder'] = 'Logische Sortierung';
$lng['ticket']['orderdesc'] = 'Hier kann eine logische Sortierung f&uuml;r die Ticket-Kategorien angegeben werden. Benutze 1 - 999, niedrigere Zahlen werden zuerst angezeigt.';
?> ?>

View File

@@ -6,7 +6,7 @@ $header
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable"> <table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
<tr> <tr>
<td class="maintitle_search_left"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['menue']['ticket']['categories']}</b></td> <td class="maintitle_search_left"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['menue']['ticket']['categories']}</b></td>
<td class="maintitle_search_right" colspan="3">{$searchcode}</td> <td class="maintitle_search_right" colspan="4">{$searchcode}</td>
</tr> </tr>
<if 15 < $categories_count > <if 15 < $categories_count >
<tr> <tr>
@@ -15,17 +15,18 @@ $header
</if> </if>
<tr> <tr>
<td class="field_display_border_left">{$lng['ticket']['category']}&nbsp;&nbsp;{$arrowcode['name']}</td> <td class="field_display_border_left">{$lng['ticket']['category']}&nbsp;&nbsp;{$arrowcode['name']}</td>
<td class="field_display">{$lng['ticket']['logicalorder']}&nbsp;&nbsp;{$arrowcode['logicalorder']}</td>
<td class="field_display">{$lng['ticket']['ticketcount']}&nbsp;&nbsp;<if $categories_count < 0 >{$arrowcode['ticketcount']}</if></td> <td class="field_display">{$lng['ticket']['ticketcount']}&nbsp;&nbsp;<if $categories_count < 0 >{$arrowcode['ticketcount']}</if></td>
<td class="field_display_search" colspan="2">{$sortcode}</td> <td class="field_display_search" colspan="2">{$sortcode}</td>
</tr> </tr>
$ticketcategories $ticketcategories
<if $pagingcode != ''> <if $pagingcode != ''>
<tr> <tr>
<td class="field_display_border_left" colspan="43" style=" text-align: center; ">{$pagingcode}</td> <td class="field_display_border_left" colspan="5" style=" text-align: center; ">{$pagingcode}</td>
</tr> </tr>
</if> </if>
<tr> <tr>
<td class="field_display_border_left" colspan="4"><a href="$filename?page=categories&amp;action=addcategory&amp;s=$s">{$lng['ticket']['ticket_newcateory']}</a></td> <td class="field_display_border_left" colspan="5"><a href="$filename?page=categories&amp;action=addcategory&amp;s=$s">{$lng['ticket']['ticket_newcateory']}</a></td>
</tr> </tr>
</table> </table>
</form> </form>

View File

@@ -1,10 +1,11 @@
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';"> <tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
<td class="field_name_border_left">{$row['name']}</td> <td class="field_name_border_left">{$row['name']}</td>
<td class="field_name">{$row['ticketcount']}&nbsp;({$row['ticketcountnotclosed']}&nbsp;{$lng['ticket']['open']}&nbsp;|&nbsp;{$closedtickets_count}&nbsp;{$lng['ticket']['closed']})</td> <td class="field_name">{$row['logicalorder']}</td>
<td class="field_name">{$row['ticketcount']}&nbsp;({$row['ticketcountnotclosed']}&nbsp;{$lng['ticket']['open']}&nbsp;|&nbsp;{$closedtickets_count}&nbsp;{$lng['ticket']['closed']})</td>
<td class="field_name"> <td class="field_name">
<a href="$filename?page=categories&amp;action=editcategory&amp;id={$row['id']}&amp;s=$s">{$lng['panel']['edit']}</a> <a href="$filename?page=categories&amp;action=editcategory&amp;id={$row['id']}&amp;s=$s">{$lng['panel']['edit']}</a>
</td> </td>
<td class="field_name"> <td class="field_name">
<a href="$filename?page=categories&amp;action=deletecategory&amp;id={$row['id']}&amp;s=$s">{$lng['panel']['delete']}</a> <a href="$filename?page=categories&amp;action=deletecategory&amp;id={$row['id']}&amp;s=$s">{$lng['panel']['delete']}</a>
</td> </td>
</tr> </tr>

View File

@@ -9,9 +9,13 @@ $header
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['ticket_editcateory']}</b></td> <td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['ticket_editcateory']}</b></td>
</tr> </tr>
<tr> <tr>
<td class="main_field_name">{$lng['ticket']['category']}:</td> <td class="main_field_name"><b>{$lng['ticket']['category']}:</b></td>
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="category" maxlength="50" value="{$row['name']}" /></td> <td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="category" maxlength="50" value="{$row['name']}" /></td>
</tr> </tr>
<tr>
<td class="main_field_name"><b>{$lng['ticket']['logicalorder']}:</b><br />{$lng['ticket']['orderdesc']}</td>
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="logicalorder" maxlength="3" value="{$row['logicalorder']}" /></td>
</tr>
<tr> <tr>
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['ticket']['ticket_editcateory']}" /></td> <td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['ticket']['ticket_editcateory']}" /></td>
</tr> </tr>

View File

@@ -8,9 +8,13 @@ $header
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['ticket_newcateory']}</b></td> <td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" />&nbsp;{$lng['ticket']['ticket_newcateory']}</b></td>
</tr> </tr>
<tr> <tr>
<td class="main_field_name">{$lng['ticket']['category']}:</td> <td class="main_field_name"><b>{$lng['ticket']['category']}:</b></td>
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="category" maxlength="50" /></td> <td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="category" maxlength="50" /></td>
</tr> </tr>
<tr>
<td class="main_field_name"><b>{$lng['ticket']['logicalorder']}:</b><br />{$lng['ticket']['orderdesc']}</td>
<td class="main_field_display" nowrap="nowrap"><input type="text" class="text" name="logicalorder" maxlength="3" value="1" /></td>
</tr>
<tr> <tr>
<td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['ticket']['ticket_newcateory']}" /></td> <td class="main_field_confirm" colspan="2"><input type="hidden" name="send" value="send" /><input type="submit" class="bottom" value="{$lng['ticket']['ticket_newcateory']}" /></td>
</tr> </tr>