예제 #1
0
/**	function used to close the ticket
 *	@param array $input_array - array which contains the following values
 => 	int $id - customer id
	int $sessionid - session id
	int $ticketid - ticket id
	*	return string - success or failure message will be returned based on the ticket close update query
	*/
function close_current_ticket($input_array)
{
    global $adb, $mod_strings, $log;
    $current_user = vglobal('current_user');
    require_once 'modules/HelpDesk/HelpDesk.php';
    $adb->println("Inside customer portal function close_current_ticket");
    $adb->println($input_array);
    //foreach($input_array as $fieldname => $fieldvalue)$input_array[$fieldname] = mysql_real_escape_string($fieldvalue);
    $userid = getPortalUserid();
    $current_user->id = $userid;
    $id = $input_array['id'];
    $sessionid = $input_array['sessionid'];
    $ticketid = (int) $input_array['ticketid'];
    if (!validateSession($id, $sessionid)) {
        return null;
    }
    $focus = new HelpDesk();
    $focus->id = $ticketid;
    $focus->retrieve_entity_info($focus->id, 'HelpDesk');
    $focus->mode = 'edit';
    $focus->column_fields = array_map(decode_html, $focus->column_fields);
    $focus->column_fields['ticketstatus'] = 'Closed';
    // Blank out the comments information to avoid un-necessary duplication
    $focus->column_fields['comments'] = '';
    $focus->column_fields['from_portal'] = 1;
    // END
    $focus->save("HelpDesk");
    return "closed";
}
예제 #2
0
function create_ticket_from_toolbar($username, $sessionid, $title, $description, $priority, $severity, $category, $user_name, $parent_id, $product_id)
{
    global $log;
    global $adb;
    global $current_user;
    if (!validateSession($username, $sessionid)) {
        return null;
    }
    require_once "modules/Users/Users.php";
    $seed_user = new Users();
    $user_id = $seed_user->retrieve_user_id($username);
    $current_user = $seed_user;
    $current_user->retrieve_entity_info($user_id, 'Users');
    if (isPermitted("HelpDesk", "EditView") == "yes") {
        $seed_ticket = new HelpDesk();
        $output_list = array();
        require_once 'modules/HelpDesk/HelpDesk.php';
        $ticket = new HelpDesk();
        $ticket->column_fields[ticket_title] = $title;
        $ticket->column_fields[description] = $description;
        $ticket->column_fields[ticketpriorities] = $priority;
        $ticket->column_fields[ticketseverities] = $severity;
        $ticket->column_fields[ticketcategories] = $category;
        $ticket->column_fields[ticketstatus] = 'Open';
        $ticket->column_fields[parent_id] = $parent_id;
        $ticket->column_fields[product_id] = $product_id;
        $ticket->column_fields[assigned_user_id] = $user_id;
        //$ticket->saveentity("HelpDesk");
        $ticket->save("HelpDesk");
        if ($ticket->id != '') {
            return "Ticket created successfully";
        } else {
            return "Error while creating Ticket.Try again";
        }
    } else {
        return $accessDenied;
    }
}
예제 #3
0
$ticket_title_array = array("Upload Attachment problem", "Individual Customization -Menu and RSS", "Export Output query", "Import Error CSV Leads", "How to automatically add a lead from a web form to VTiger");
for ($i = 0; $i < 5; $i++) {
    $helpdesk = new HelpDesk();
    $rand = array_rand($num_array);
    $contact_key = array_rand($contact_ids);
    $helpdesk->column_fields["parent_id"] = $contact_ids[$contact_key];
    $helpdesk->column_fields["ticketpriorities"] = "Normal";
    $helpdesk->column_fields["product_id"] = $product_ids[$i];
    $helpdesk->column_fields["ticketseverities"] = "Minor";
    $helpdesk->column_fields["ticketstatus"] = $status_array[$i];
    $helpdesk->column_fields["ticketcategories"] = $category_array[$i];
    //$rand_key = array_rand($s);$contact_key = array_rand($contact_ids);
    $helpdesk->column_fields["contact_id"] = $contact_ids[$contact_key];
    $helpdesk->column_fields["ticket_title"] = $ticket_title_array[$i];
    $helpdesk->column_fields["assigned_user_id"] = $assigned_user_id;
    $helpdesk->save("HelpDesk");
    if ($i > 3) {
        $freetag = $adb->getUniqueId('vtiger_freetags');
        $query = "insert into vtiger_freetags values (?,?,?)";
        $qparams = array($freetag, $cloudtag[3], $cloudtag[3]);
        $res_tkt = $adb->pquery($query, $qparams);
        $date = $adb->formatDate(date('YmdHis'), true);
        $query_tag = "insert into vtiger_freetagged_objects values (?,?,?,?,?)";
        $tag_params = array($freetag, 1, $helpdesk->id, $date, 'HelpDesk');
        $result_tkt = $adb->pquery($query_tag, $tag_params);
    }
}
// Populate Activities Data
$task_array = array("Tele Conference", "Call user - John", "Send Fax to Mary Smith");
$event_array = array("", "", "Call Smith", "Team Meeting", "Call Richie", "Meeting with Don");
$task_status_array = array("Planned", "In Progress", "Completed");
예제 #4
0
 /**
  * Create ticket action.
  */
 function __CreateTicket($mailscanner, $mailrecord)
 {
     // Prepare data to create trouble ticket
     $usetitle = $mailrecord->_subject;
     $description = $mailrecord->getBodyText();
     // There will be only on FROM address to email, so pick the first one
     $fromemail = $mailrecord->_from[0];
     $linktoid = $mailscanner->LookupContact($fromemail);
     if (!$linktoid) {
         $linktoid = $mailscanner->LookupAccount($fromemail);
     }
     /** Now Create Ticket **/
     global $current_user;
     if (!$current_user) {
         $current_user = Users::getActiveAdminUser();
     }
     // Create trouble ticket record
     $ticket = new HelpDesk();
     $ticket->column_fields['ticket_title'] = $usetitle;
     $ticket->column_fields['description'] = $description;
     $ticket->column_fields['ticketstatus'] = 'Open';
     $ticket->column_fields['assigned_user_id'] = $current_user->id;
     if ($linktoid) {
         $ticket->column_fields['parent_id'] = $linktoid;
     }
     $ticket->save('HelpDesk');
     // Associate any attachement of the email to ticket
     $this->__SaveAttachements($mailrecord, 'HelpDesk', $ticket);
     return $ticket->id;
 }
function create_ticket($title, $description, $priority, $severity, $category, $user_name, $parent_id, $product_id)
{
    /*	require_once('modules/Users/User.php');
            $seed_user = new User();
            $user_id = $seed_user->retrieve_user_id($user_name);
    */
    $seed_ticket = new HelpDesk();
    $output_list = array();
    //$response = $seed_ticket->create_tickets_list($user_name,$smcreatorid);
    require_once 'modules/HelpDesk/HelpDesk.php';
    $ticket = new HelpDesk();
    $ticket->column_fields[ticket_title] = $title;
    $ticket->column_fields[description] = $description;
    $ticket->column_fields[ticketpriorities] = $priority;
    $ticket->column_fields[ticketseverities] = $severity;
    $ticket->column_fields[ticketcategories] = $category;
    $ticket->column_fields[ticketstatus] = 'Open';
    $ticket->column_fields[parent_id] = $parent_id;
    $ticket->column_fields[product_id] = $product_id;
    //	$ticket->column_fields[assigned_user_id]=$user_id;
    //$ticket->saveentity("HelpDesk");
    $ticket->save("HelpDesk");
    $_REQUEST['name'] = '[ Ticket ID : ' . $ticket->id . ' ] ' . $title;
    $body = ' Ticket ID : ' . $ticket->id . '<br> Ticket Title : ' . $title . '<br><br>';
    $_REQUEST['description'] = $body . $description;
    $_REQUEST['return_module'] = 'HelpDesk';
    $_REQUEST['parent_id'] = $parent_id;
    $_REQUEST['assigned_user_id'] = $parnet_id;
    require_once 'modules/Emails/send_mail.php';
    return get_tickets_list($user_name, $parent_id);
    //return $ticket->id;
}
/**	function used to close the ticket
 *	@param array $input_array - array which contains the following values
 => 	int $id - customer id
	int $sessionid - session id
	int $ticketid - ticket id
	*	return string - success or failure message will be returned based on the ticket close update query
	*/
function close_current_ticket($input_array)
{
    global $adb, $mod_strings, $log, $current_user;
    require_once 'modules/HelpDesk/HelpDesk.php';
    $adb->println("Inside customer portal function close_current_ticket");
    $adb->println($input_array);
    //foreach($input_array as $fieldname => $fieldvalue)$input_array[$fieldname] = mysql_real_escape_string($fieldvalue);
    $userid = getPortalUserid();
    $current_user->id = $userid;
    $id = $input_array['id'];
    $sessionid = $input_array['sessionid'];
    $ticketid = (int) $input_array['ticketid'];
    if (!validateSession($id, $sessionid)) {
        return null;
    }
    $focus = new HelpDesk();
    $focus->id = $ticketid;
    $focus->retrieve_entity_info($focus->id, 'HelpDesk');
    $focus->mode = 'edit';
    $focus->column_fields['ticketstatus'] = 'Closed';
    $focus->save("HelpDesk");
    return "closed";
}