Exemple #1
0
<textarea rows="8" style="width:100%" name="reply_text" id="reply_text"></textarea><br>
<?php 
        if (defined("KARNAF_UPLOAD_PATH") && KARNAF_UPLOAD_PATH != "") {
            ?>
Add attachment: <input type="file" style="width:100%" name="attachment-file" id="attachment-file">
<?php 
        }
        ?>
<center><input name="submit" type="submit" value="Submit!"></center>
</form>
</td>
</tr>
<?php 
    }
    ?>
</table>
<?php 
    if (!isset($_GET['ajax']) && (in_array($result['rep_g'], $a_groups) || IsKarnafAdminSession())) {
        ?>
<br>
<center><a href="edit.php?id=<?php 
        echo $id;
        ?>
" class="edit_ticket">Edit this ticket</a></center>
<?php 
    }
} else {
    safe_die("Invalid Ticket ID!");
}
sql_free_result($query);
require_once "karnaf_footer.php";
Exemple #2
0
                    sql_free_result($query2);
                }
            }
        }
    }
    /* Remove waiting for user reply status from tickets that are re-assigned */
    squery("UPDATE karnaf_tickets SET status=1,lastupd_time=%d WHERE id=%d AND status=2", time(), $id);
    $autoload = 5;
}
/* Add action */
if (isset($_POST['action_text'])) {
    if (!$is_private && isset($_POST['team_action']) && $_POST['team_action'] == "on") {
        $is_private = 2;
    }
    if (!empty($_POST['action_text'])) {
        if (!empty($_POST['onbehalf_g']) && (IsGroupMember("dalnet-aob") || IsKarnafAdminSession()) && IsGroupMember($_POST['onbehalf_g'])) {
            /* Let SRAs/AOB/karnaf-admins add special actions */
            $group = $_POST['onbehalf_g'];
        }
        squery("INSERT INTO karnaf_actions(tid,action,a_by_u,a_by_g,a_time,is_private) VALUES(%d,'%s','%s','%s',%d,%d)", $id, $_POST['action_text'], $nick, $group, time(), $is_private);
        squery("UPDATE karnaf_tickets SET last_note='%s' WHERE id=%d", $_POST['action_text'] . " (" . $nick . ")", $id);
        $autostatus = "The ticket has been updated.";
        if ($is_private != 1) {
            $email_update_str = "A new action has been added to the ticket.\r\nAction message: " . $_POST['action_text'];
        }
    } else {
        $autostatus = "Nothing to update...";
    }
    if ($_POST['close'] == "1") {
        if ($result['private_actions']) {
            $is_private = 2;
Exemple #3
0
<font color="White">
<?php 
    echo $name;
    ?>
</font>
</td>
</tr>
<?php 
}
Add_Item("My List", "mylist.php");
Add_Item("Open Tickets", "list.php");
Add_Item("Ticket Lookup (by ID)", "lookup.php");
Add_Item("New Ticket", "new.php");
Add_Item("Search Ticket", "search.php");
Add_ItemRed("Check User", "check_user.php");
if (IsKarnafAdminSession()) {
    Add_Itemx("Edit types", "mng_cat.php?table=cat1");
    Add_Itemx("Edit catagories", "mng_cat.php?table=cat2");
    Add_Itemx("Edit subjects", "mng_cat.php?table=cat3");
    Add_Itemx("Edit templates", "mng_templates.php");
    Add_Itemx("View Logs", "mng_viewlogs.php");
    Add_Itemx("Edit SQL", "mng_editsql.php");
    Add_Itemx("Stats", "stats.php");
    Add_Item("Logout", "logout.php");
}
?>
<tr><td>
<br>
<u>Tickets:</u>
<br>
<?php 
Exemple #4
0
    }
    if (!$cnt) {
        echo "<tr><td colspan=\"4\" align=\"center\">*** None ***</td></tr>";
    }
    sql_free_result($query2);
    ?>
</table>
</td></tr>
<tr class="Karnaf_Head2">
<td colspan="2" align="center">Add new action</td>
</tr>
<tr>
<td colspan="2">
<textarea rows="8" style="width:99%" name="action_text" id="action_text"></textarea><br>
<?php 
    if (IsGroupMember("dalnet-aob") || IsKarnafAdminSession()) {
        ?>
Action on behalf of:
<select name="onbehalf_g">
<option value="">---</option>
<?php 
        $query2 = squery("SELECT id,name,gdesc FROM groups ORDER BY name");
        while ($result2 = sql_fetch_array($query2)) {
            if (!IsGroupMember($result2['name']) || $result2['name'] != KARNAF_ADMINS_GROUP && $result2['name'] != "dalnet-aob" && $result2['name'] != "dalnet-sra" && $result2['name'] != $result['rep_g']) {
                continue;
            }
            ?>
<option value="<?php 
            echo $result2['name'];
            ?>
"><?php 
Exemple #5
0
$qstr = "SELECT t.id,t.randcode,t.status,t.title,t.description,t.unick,t.ufullname,t.uemail,t.uphone,t.ulocation,t.uip,t.rep_u,\nt.rep_g,t.open_time,t.opened_by,t.is_real,t.is_private,t.email_upd,t.memo_upd,c1.name AS cat1_name,c2.name AS cat2_name,c3.name AS\ncat3_name,s.status_name,up.priority_name AS upriority,t.priority,sp.priority_name AS spriority, t.last_note \nFROM (karnaf_tickets AS t INNER JOIN karnaf_cat3 AS c3 ON c3.id=t.cat3_id INNER JOIN karnaf_cat2 AS c2 ON c2.id=c3.parent\nINNER JOIN karnaf_cat1 AS c1 ON c1.id=c2.parent INNER JOIN karnaf_statuses AS s ON s.status_id=t.status INNER JOIN karnaf_priorities AS up ON\nup.priority_id=t.upriority INNER JOIN karnaf_priorities AS sp ON\nsp.priority_id=t.priority) WHERE ";
$argv = array();
if ($status == 999) {
    $qstr .= " (t.status!=0 and t.status!=5)";
} else {
    $qstr .= " t.status=%d";
    array_push($argv, $status);
}
$qstr .= " AND (rep_u='%s' or rep_u='')";
array_push($argv, $nick);
$qstr .= " ORDER BY t.priority DESC,t.open_time";
$cnt = 0;
array_unshift($argv, $qstr);
$query = squery_args($argv);
while ($result = sql_fetch_array($query)) {
    if ($a_user != $result['rep_u'] && !IsGroupMember($result['rep_g']) && (!defined("IRC_MODE") || !IsKarnafAdminSession())) {
        continue;
    }
    /* Skip tickets for other teams */
    if (strtolower($showall) == "none" && !empty($result['rep_u'])) {
        continue;
    }
    if (strtolower($showall) == "onlymy" && empty($result['rep_u'])) {
        continue;
    }
    $cnt++;
    $query2 = squery("SELECT count(*) AS count FROM karnaf_actions WHERE tid=%d", $result['id']);
    if ($result2 = sql_fetch_array($query2)) {
        $action_cnt = (int) $result2['count'];
    } else {
        $action_cnt = 0;
Exemple #6
0
<?php

##################################################################
# Karnaf HelpDesk System - Copyright (C) 2001-2015 Kobi Shmueli. #
# See the LICENSE file for more information.                     #
##################################################################
require "../ktools.php";
check_auth();
$query = squery("SELECT g.name,t.body FROM (karnaf_templates AS t LEFT JOIN groups AS g ON g.id=t.group_id) WHERE t.id=%d", $_GET['id']);
while ($result = sql_fetch_array($query)) {
    if (!IsGroupMember($result['name']) && !IsKarnafAdminSession()) {
        continue;
    }
    echo $result['body'];
}
sql_free_result($query);
require_once "karnaf_footer.php";
Exemple #7
0
$argv = array();
if($status == 999) {
  $qstr .= " (t.status!=0 and t.status!=5)";
}
else {
  $qstr .= " t.status=%d";
  array_push($argv, $status);
}
$qstr .= " AND (rep_u='%s' or rep_u='')";
array_push($argv, $nick);
$qstr .= " ORDER BY t.priority DESC,t.open_time";
$cnt = 0;
array_unshift($argv, $qstr);
$query = squery_args($argv);
while($result = sql_fetch_array($query)) {
  if($a_user != $result['rep_u'] && !IsGroupMember($result['rep_g']) && (!defined("IRC_MODE") || !IsKarnafAdminSession())) continue; /* Skip tickets for other teams */
  if((strtolower($showall) == "none") && !empty($result['rep_u'])) continue;
  if((strtolower($showall) == "onlymy") && empty($result['rep_u'])) continue;
  $cnt++;
  $query2 = squery("SELECT count(*) AS count FROM karnaf_actions WHERE tid=%d", $result['id']);
  if($result2 = sql_fetch_array($query2)) $action_cnt = (int)$result2['count'];
  else $action_cnt = 0;
  sql_free_result($query2);
  $query2 = squery("SELECT count(*) AS count FROM karnaf_replies WHERE tid=%d", $result['id']);
  if($result2 = sql_fetch_array($query2)) $reply_cnt = (int)$result2['count'];
  else $reply_cnt = 0;
  sql_free_result($query2);
  $status_style = "Karnaf_P_Normal"; // Lightgreen
  if(isodd($cnt)) $curcol = "col2";
  else $curcol = "col1";
  $priority = (int)$result['priority'];
Exemple #8
0
<?php

##################################################################
# Karnaf HelpDesk System - Copyright (C) 2001-2015 Kobi Shmueli. #
# See the LICENSE file for more information.                     #
##################################################################
require_once "karnaf_header.php";
if (isset($_GET['team'])) {
    $team = $_GET['team'];
} else {
    $team = "none";
}
if (!IsKarnafAdminSession() && !IsGroupMember($team)) {
    AccessDenied();
}
show_title("Karnaf - Team Stats");
make_menus("Karnaf (HelpDesk)");
# 1 week:
#$starttime = time() - 604800;
# 30 days:
#$starttime = time() - (86400*30);
if (isset($_GET['months'])) {
    $months = (int) $_GET['months'];
} else {
    $months = 1;
}
$starttime = time() - 86400 * 30 * $months;
$replies = 0;
$ureplies = 0;
?>
Statistics between <?php 
Exemple #9
0
<?=show_board_body($description)?>
</td></tr>
</table>
</td></tr>
<? } else { ?>
<tr><td colspan="2">
<table border="1" width="100%" cellpadding="0" cellspacing="0">
<tr class="Karnaf_Head2"><td colspan="2">Replies</td></tr>
<?
  $query2 = squery("SELECT reply,r_time,r_from,r_by,ip FROM karnaf_replies WHERE tid=%d ORDER BY r_time", $id);
  $cnt = 0;
  while($result2 = sql_fetch_array($query2)) {
    $cnt++;
    $reply = preg_replace("/(\*)?\[image\:\sironSource\](\*)?.*Thank\syou\./s", "*** Signature ***", $result2['reply']);
?>
<tr class="Karnaf_P_Head"><td colspan="2">Reply #<?=$cnt?> from <?=$result2['r_from']?> [<?=USER_FIELD?>: <?=$result2['r_by']?> / IP: <?=IsKarnafAdminSession()?$result2['ip']:"HIDDEN"?>] at <?=showtime($result2['r_time'])?></td></tr>
<tr>
<td class="ticket_replies" colspan="2"><?=show_board_body($reply)?></td>
</tr>
<?
  }
  if(!$cnt) echo "<tr><td colspan=\"2\" align=\"center\">*** None ***</td></tr>\r\n";
  sql_free_result($query2);
?>
</table>
</td></tr>
<? } ?>
<tr class="Karnaf_Head2">
<td colspan="2" align="center">Add new reply</td>
</tr>
<tr>
Exemple #10
0
            $reply = preg_replace("/(\\*)?\\[image\\:\\sironSource\\](\\*)?.*Thank\\syou\\./s", "*** Signature ***", $result2['reply']);
            ?>
<tr class="Karnaf_P_Head"><td colspan="2">Reply #<?php 
            echo $cnt;
            ?>
 from <?php 
            echo $result2['r_from'];
            ?>
 [<?php 
            echo USER_FIELD;
            ?>
: <?php 
            echo $result2['r_by'];
            ?>
 / IP: <?php 
            echo IsKarnafAdminSession() ? $result2['ip'] : "HIDDEN";
            ?>
] at <?php 
            echo showtime($result2['r_time']);
            ?>
</td></tr>
<tr>
<td class="ticket_replies" colspan="2"><?php 
            echo show_board_body($reply);
            ?>
</td>
</tr>
<?php 
        }
        if (!$cnt) {
            echo "<tr><td colspan=\"2\" align=\"center\">*** None ***</td></tr>\r\n";
Exemple #11
0
  array_push($argv, $_GET['group']);
}
else if(isset($_GET['rep_g'])) {
  $qstr .= " AND rep_g='%s'";
  array_push($argv, $_GET['rep_g']);
}
$qstr .= " ORDER BY t.priority DESC,t.open_time";
$limit = 100;
if(isset($_GET['start'])) $start = (int)$_GET['start'];
else $start = 0;
$qstr .= " LIMIT ".$start.",".($limit+1);
$cnt = 0;
array_unshift($argv, $qstr);
$query = squery_args($argv);
while($result = sql_fetch_array($query)) {
  if(!IsGroupMember($result['rep_g']) && !IsKarnafAdminSession()) continue; /* Skip tickets for other teams */
  $cnt++;
  if($cnt > $limit) break;
  $query2 = squery("SELECT count(*) AS count FROM karnaf_actions WHERE tid=%d", $result['id']);
  if($result2 = sql_fetch_array($query2)) $action_cnt = (int)$result2['count'];
  else $action_cnt = 0;
  sql_free_result($query2);
  $query2 = squery("SELECT count(*) AS count FROM karnaf_replies WHERE tid=%d", $result['id']);
  if($result2 = sql_fetch_array($query2)) $reply_cnt = (int)$result2['count'];
  else $reply_cnt = 0;
  sql_free_result($query2);
  $status_style = "Karnaf_P_Normal"; // Lightgreen
  if(isodd($cnt)) $curcol = "col2";
  else $curcol = "col1";
  $priority = (int)$result['priority'];
  if($priority < 0) $status_style = "Karnaf_P_Low"; // LightBlue
Exemple #12
0
$no_cache = 1;
show_title("Edit SQL Tables");
$sql_table = "none";
if (isset($_GET['table'])) {
    $sql_table = $_GET['table'];
}
$allowed_tables = array(array("karnaf_priorities", "priority_id", array("priority_id", "priority_name")), array("karnaf_statuses", "status_id", array("status_id", "status_name", array("is_closed", "sqlselect", "select 0,'No' union select 1,'Yes'"))), array("karnaf_cat1", "id", array("name", "priority")), array("karnaf_cat2", "id", array("name", "priority", array("parent", "sqlselect", "select id,name from karnaf_cat1"), array("allowed_group", "sqlselect", "select '' AS id,'---' AS name union select id,name FROM groups ORDER BY name"))), array("karnaf_cat3", "id", array("name", "priority", array("parent", "sqlselect", "select cat2.id,concat(cat1.name,' - ',cat2.name) from (karnaf_cat2 AS cat2 LEFT JOIN karnaf_cat1 AS cat1 ON cat1.id=cat2.parent)"), array("default_priority", "sqlselect", "select priority_id,priority_name FROM karnaf_priorities"), array("default_group", "sqlselect", "select '','---' union select name,name FROM groups WHERE iskarnaf=1"), "extra", array("allowed_group", "sqlselect", "select '' AS id,'---' AS name union select id,name FROM groups ORDER BY name"))), array("karnaf_mail_accounts", "id", array(array("active", "sqlselect", "select 1,'Yes' union select 0,'No'"), array("type", "sqlselect", "select 0,'POP3' union select 1,'IMAP' union select 2,'POP3/SSL' union select 3,'IMAP/SSL'"), "host", "port", "user", array("pass", "password"), array("cat3_id", "sqlselect", "select cat3.id,concat(cat1.name,' - ',cat2.name,' - ',cat3.name) from (karnaf_cat3 AS cat3 LEFT JOIN karnaf_cat2 AS cat2 ON cat3.parent=cat2.id LEFT JOIN karnaf_cat1 AS cat1 ON cat1.id=cat2.parent)"), array("default_group", "sqlselect", "select '','---' union select id,name FROM groups WHERE iskarnaf=1"))), array("karnaf_ldap_accounts", "id", array(array("active", "sqlselect", "select 1,'Yes' union select 0,'No'"), array("type", "sqlselect", "select 0,'LDAP' union select 1,'LDAPS'"), "host", "user", array("pass", "password"), "ou", "filter")), array("users", "id", array("user", "pass", "email")), array("karnaf_mail_rules", "id", array(array("active", "sqlselect", "select 1,'Yes' union select 0,'No'"), "name", "priority", "rcpt_pattern", "to_pattern", "cc_pattern", "subject_pattern", "body_pattern", array("stop_duplicates", "sqlselect", "select 0,'No' union select 1,'Yes'"), array("break", "sqlselect", "select 0,'No' union select 1,'Yes'"), array("set_priority", "sqlselect", "select '' AS priority_id,'---' AS priority_name union select priority_id,priority_name FROM karnaf_priorities ORDER BY priority_id"), array("set_group", "sqlselect", "select '','---' union select name,name FROM groups WHERE iskarnaf=1"), "set_extra", array("set_cat3", "sqlselect", "select 0,'---' union select cat3.id,concat(cat1.name,' - ',cat2.name,' - ',cat3.name) from (karnaf_cat3 AS cat3 LEFT JOIN karnaf_cat2 AS cat2 ON cat3.parent=cat2.id LEFT JOIN karnaf_cat1 AS cat1 ON cat1.id=cat2.parent)"))), array("karnaf_sms_accounts", "id", array(array("active", "sqlselect", "select 1,'Yes' union select 0,'No'"), array("type", "sqlselect", "select 0,'Twilio'"), "account_id", "account_token", "from_number")));
$sql_rows = 0;
foreach ($allowed_tables as $x) {
    if ($sql_table == $x[0]) {
        $sql_table = $x[0];
        $sql_id = $x[1];
        $sql_rows = $x[2];
    }
}
if (!IsKarnafAdminSession() && !($sql_table == "test-table" && IsGroupMember("test-group"))) {
    AccessDenied();
}
if ($sql_table == "none") {
    echo "Choose a table to edit:<br>\n";
    foreach ($allowed_tables as $table) {
        ?>
<a href="mng_editsql.php?table=<?php 
        echo $table[0];
        ?>
"><?php 
        echo $table[0];
        ?>
</a><br>
<?php 
    }
Exemple #13
0
<?php

##################################################################
# Karnaf HelpDesk System - Copyright (C) 2001-2015 Kobi Shmueli. #
# See the LICENSE file for more information.                     #
##################################################################
require_once "karnaf_header.php";
CheckOperSession();
if (!IsGroupMember("dalnet-leads") && !IsKarnafAdminSession()) {
    AccessDenied();
}
show_title("Manage Karnaf Templates");
make_menus("Karnaf (HelpDesk)");
if (isset($_GET['del'])) {
    squery("DELETE FROM karnaf_templates WHERE id=%d", $_GET['del']);
    add_log("Karnaf_Templates", "DELETE #" . $_GET['del']);
    echo "<div class=\"status\">The template has been deleted.</div><br>";
} else {
    if (isset($_POST['id']) && !empty($_POST['id'])) {
        squery("UPDATE karnaf_templates SET group_id=%d,subject='%s',body='%s' WHERE id=%d", $_POST['group'], $_POST['subject'], $_POST['body'], $_POST['id']);
        add_log("Karnaf_Templates", "UPDATE #" . $_POST['id']);
        echo "<div class=\"status\">The template has been updated.</div><br>";
    } else {
        if (isset($_POST['new'])) {
            squery("INSERT INTO karnaf_templates(group_id,subject,body) VALUES(%d,'%s','%s')", $_POST['group'], $_POST['subject'], $_POST['body']);
            add_log("Karnaf_Templates", "INSERT " . $_POST['subject']);
            echo "<div class=\"status\">The template has been added.</div><br>";
        }
    }
}
$r_cmd = "Add";