* SPDX-License-Identifier: AGPL-3.0-only
************************************/
function getComboList($name, $value, $defaultval='', $selectval='')
{
$list = '';
return $list;
}
function UpdateComment()
{
global $client,$Server_Path;
$ticketid = $_REQUEST['ticketid'];
$ownerid = $_SESSION['customer_id'];
$comments = $_REQUEST['comments'];
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'ticketid'=>"$ticketid",'ownerid'=>"$customerid",'comments'=>"$comments"));
$commentresult = $client->call('update_ticket_comment', $params, $Server_Path, $Server_Path);
}
// crmv@160733
function provideConfidentialInfo() {
global $client,$Server_Path;
$ticketid = $_REQUEST['ticketid'];
$data = $_REQUEST['confinfo_data'];
$comment = $_REQUEST['confinfo_data_comment'];
$request_commentid = $_REQUEST['confinfo_commentid'];
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'ticketid'=>"$ticketid",'ownerid'=>"$customerid",'data'=>"$data",'comment'=>"$comment", 'request_commentid'=>"$request_commentid"));
$commentresult = $client->call('provide_confidential_info', $params, $Server_Path, $Server_Path);
}
// crmv@160733e
function Close_Ticket($ticketid)
{
global $client,$Server_Path;
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'ticketid'=>"$ticketid"));
$result = $client->call('close_current_ticket', $params, $Server_Path, $Server_Path);
return $result;
}
function getPicklist($picklist_name)
{
// Static cache to re-use information
static $_picklist_cache = array();
if(isset($_picklist_cache[$picklist_name])) {
return $_picklist_cache[$picklist_name];
}
global $client,$Server_Path;
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'picklist_name'=>"$picklist_name"));
$ticket_picklist_array = $client->call('get_picklists', $params, $Server_Path, $Server_Path);
// Save the result for re-use
$_picklist_cache[$picklist_name] = $ticket_picklist_array;
return $ticket_picklist_array;
}
function getStatusComboList($selectedvalue='')
{
$temp_array = getPicklist('ticketstatus');
$status_combo = "";
foreach($temp_array as $index => $val)
{
$select = '';
if($val == $selectedvalue)
$select = ' selected';
$status_combo .= '';
}
return $status_combo;
}
//Added for My Settings - Save Password
function SavePassword($version)
{
global $client;
$customer_id = $_SESSION['customer_id'];
$customer_name = $_SESSION['customer_name'];
$oldpw = trim($_REQUEST['old_password']);
$newpw = trim($_REQUEST['new_password']);
$confirmpw = trim($_REQUEST['confirm_password']);
$params = Array('user_name'=>"$customer_name",'user_password'=>"$oldpw",'version'=>"$version",'login'=>'false');
$result = $client->call('authenticate_user',$params);
$sessionid = $_SESSION['customer_sessionid'];
if($oldpw == $result[0]['user_password'])
{
if(strcasecmp($newpw,$confirmpw) == 0)
{
$customerid = $result[0]['id'];
// $customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'username'=>"$customer_name",'password'=>"$newpw",'version'=>"$version"));
$result_change_password = $client->call('change_password',$params);
if($result_change_password[0] == 'MORE_THAN_ONE_USER'){
$errormsg .= getTranslatedString('MORE_THAN_ONE_USER');
}else{
$errormsg .= getTranslatedString('MSG_PASSWORD_CHANGED');
}
}
else
{
$errormsg .= getTranslatedString('MSG_ENTER_NEW_PASSWORDS_SAME');
}
}elseif($result[0] == 'INVALID_USERNAME_OR_PASSWORD') {
$errormsg .= getTranslatedString('LBL_ENTER_VALID_USER');
}elseif($result[0] == 'MORE_THAN_ONE_USER'){
$errormsg .= getTranslatedString('MORE_THAN_ONE_USER');
}
else
{
$errormsg .= getTranslatedString('MSG_YOUR_PASSWORD_WRONG');
}
return $errormsg;
}
function getTicketAttachmentsList($ticketid)
{
global $client;
$customer_name = $_SESSION['customer_name'];
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$params = Array(Array('id'=>"$customerid", 'sessionid'=>"$sessionid", 'ticketid'=>"$ticketid"));
$result = $client->call('get_ticket_attachments',$params);
return $result;
}
// crmv@173153
function AddAttachment($ticketid) {
global $client, $Server_Path, $upload_dir;
$upload_error = '';
$customerid = $_SESSION['customer_id'];
$sessionid = $_SESSION['customer_sessionid'];
$customerFile = $_FILES['customerfile'];
if (!empty($customerFile)) {
$fileKeys = array_keys($customerFile);
$fileCount = count($customerFile['name']);
$files = array();
for ($i = 0; $i < $fileCount; $i++) {
foreach ($fileKeys as $key) {
$files[$i][$key] = $customerFile[$key][$i];
}
}
foreach ($files as $file) {
$filename = $file['name'];
$filetype = $file['type'];
$filesize = $file['size'];
$fileerror = $file['error'];
$tmpname = $file['tmp_name'];
if ($fileerror == 4) {
$upload_error = getTranslatedString('LBL_GIVE_VALID_FILE');
break;
} elseif ($fileerror == 2) {
$upload_error = getTranslatedString('LBL_UPLOAD_FILE_LARGE');
break;
} elseif ($fileerror == 3) {
$upload_error = getTranslatedString('LBL_PROBLEM_UPLOAD');
break;
}
if (!is_dir($upload_dir)) {
$upload_error = getTranslatedString('LBL_NOTSET_UPLOAD_DIR');
break;
}
if ($filesize > 0) {
$filecontents = '';
if (move_uploaded_file($tmpname, $upload_dir . '/' . $filename)) {
$filecontents = base64_encode(fread(fopen($upload_dir . '/' . $filename, "r"), $filesize));
}
if ($filecontents != '') {
$params = array(Array('id' => "$customerid", 'sessionid' => "$sessionid", 'ticketid' => "$ticketid", 'filename' => "$filename", 'filetype' => "$filetype", 'filesize' => "$filesize", 'filecontents' => "$filecontents"));
$client->call('add_ticket_attachment', $params, $Server_Path, $Server_Path);
} else {
$upload_error = getTranslatedString('LBL_FILE_HAS_NO_CONTENTS');
break;
}
} else {
$upload_error = getTranslatedString('LBL_UPLOAD_VALID_FILE');
break;
}
if (!empty($upload_error)) return $upload_error;
}
}
return $upload_error;
}
// crmv@173153e
function getTicketSearchQuery() {
global $table_prefix;
if(trim($_REQUEST['search_ticketid']) != '')
{
$where .= $table_prefix."_troubletickets.ticket_no = '".addslashes($_REQUEST['search_ticketid'])."'&&&"; // crmv@153703
}
if(trim($_REQUEST['search_title']) != '')
{
//$where .= $table_prefix."_troubletickets.title = '".$_REQUEST['search_title']."'&&&";
$where .= $table_prefix."_troubletickets.title like '%".addslashes(trim($_REQUEST['search_title']))."%'&&&";
}
if(trim($_REQUEST['search_ticketstatus']) != '')
{
$where .= $table_prefix."_troubletickets.status = '".$_REQUEST['search_ticketstatus']."'&&&";
}
if(trim($_REQUEST['search_ticketpriority']) != '')
{
$where .= $table_prefix."_troubletickets.priority = '".$_REQUEST['search_ticketpriority']."'&&&";
}
if(trim($_REQUEST['search_ticketcategory']) != '')
{
$where .= $table_prefix."_troubletickets.category = '".$_REQUEST['search_ticketcategory']."'&&&";
}
$where = trim($where,'&&&');
return $where;
}
?>