public function reply($ticketid) { $ticketid = intval($ticketid); //Check Anon Access $this->anon_access($ticketid); if (isset($_SESSION['tid']) && $_SESSION['tid'] > 0) { $ticket = $this->ticket_model->getTicket($ticketid); $staffFlag = 0; $userid = 0; } elseif ($this->user->loggedin) { if ($this->user->info->access_level > 0) { $staffFlag = 1; $ticket = $this->ticket_model->getTicket($ticketid); } else { $staffFlag = 0; $ticket = $this->ticket_model->getTicket($ticketid, $this->user->info->ID); } $userid = $this->user->info->ID; } else { $this->template->error(lang("error_msg_login")); } if ($ticket->num_rows() == 0) { $this->template->error(lang("error_msg_tik11")); } $message = $this->lib_filter->go($this->input->post("message")); if (empty($message)) { $this->template->error(lang("error_msg_tik15")); } $r = $ticket->row(); if ($r->status == 2) { $this->template->error(lang("error_msg_tik16")); } $fileInfo = array(); if ($this->settings->info->file_enable) { $this->load->library('upload'); // File upload script $this->upload->initialize(array("upload_path" => $this->settings->info->upload_path, "overwrite" => FALSE, "max_filename" => 300, "encrypt_name" => TRUE, "remove_spaces" => TRUE, "allowed_types" => "txt|gif|jpg|png|jpeg|", "max_size" => 300, "xss_clean" => TRUE)); $fileInfo = array(); $attachments = 0; if ($this->upload->do_multi_upload("files")) { $attachments = 1; $fileInfo = $this->upload->get_multi_upload_data(); } } else { $attachments = 0; } $replyid = $this->ticket_model->createReply($r->ID, $userid, $message, $staffFlag, $attachments); if (count($fileInfo) > 0) { foreach ($fileInfo as $file) { $this->ticket_model->addFileToTicket($replyid, $file); } } if ($staffFlag) { $addflag = 0; $tick = $ticket->row(); $assigned = explode("***", $tick->assigned); foreach ($assigned as $user) { $uid = str_replace("U", "", $user); if ($uid == $this->user->info->ID) { $addflag = 1; } } if (!$addflag) { // Assigned staff member to ticket $assigned[] = "U" . $this->user->info->ID . "U"; $assigned = implode("***", $assigned); $this->ticket_model->update_assigned($assigned, $ticketid); } // Send Email to ticket owner $this->load->library('email'); $this->email->from($this->settings->info->support_email, $this->settings->info->site_name); $this->email->to($r->email); $message = 'Dear ' . $r->name . ', <br /><br /> ' . lang("email_part10") . $this->settings->info->site_name . '. ' . lang("email_part8") . '<a href="' . site_url() . '">' . site_urL() . '</a> ' . lang("email_part9") . ' <br /><br />'; if ($tick->userid == 0) { $message = $message . lang("email_part16") . '<br /> <a href="' . site_url("tickets/anon_pro/?ticketid=" . $tick->ID . "&email=" . $tick->email . "&pass="******">' . site_url("tickets/anon_pro/?ticketid=" . $tick->ID . "&email=" . $tick->email . "&pass="******"email_part5") . $this->settings->info->site_name; $this->email->subject('Ticket Response #' . $r->ID); $this->email->message($message); $this->email->send(); $this->ticket_model->addAgentLog($this->user->info->ID, "{$this->user->info->name} replied to ticket #{$ticketid}", $ticketid); } else { // Email Staff if ($this->settings->info->alert_support_staff) { $this->load->model("admin_model"); $agents = $this->admin_model->getAgents(); foreach ($agents->result() as $rr) { $this->email->from($this->settings->info->support_email, $this->settings->info->site_name); $this->email->to($rr->email); $this->email->subject(lang("email_part12") . '(#' . $ticketid . ')'); $this->email->message('Dear ' . $rr->name . ',<br /><br /> ' . lang("email_part13") . $ticketid . '. ' . lang("email_part14") . ' <a href="' . site_url() . '">' . site_url() . '</a>.'); $this->email->send(); } } } $this->ticket_model->increaseTicketResponses($this->user->info->ID); $this->session->set_flashdata("globalmsg", lang("flash_data_p35")); redirect(site_url("tickets/view/" . $r->ID)); }
function graphical_summary_payments($start_date, $end_date) { $this->load->model('reports/Summary_payments'); $model = $this->Summary_payments; $data = array("title" => $this->lang->line('reports_payments_summary_report'), "data_file" => site_urL("reports/graphical_summary_payments_graph/{$start_date}/{$end_date}"), "subtitle" => date('m/d/Y', strtotime($start_date)) . '-' . date('m/d/Y', strtotime($end_date)), "summary_data" => $model->getSummaryData(array('start_date' => $start_date, 'end_date' => $end_date))); $this->load->view("reports/graphical", $data); }