*/ class FormController extends Controller { /** * Create a new controller instance. * Constructor to check * @return void */ public function __construct(TicketController $TicketController) { // mail smtp settings SettingsController::smtp(); // creating a TicketController instance $this->TicketController = $TicketController; } /** * getform * @param type Help_topic $topic * @return type */ public function getForm(Help_topic $topic) { if (\Config::get('database.install') == '%0%') { return \Redirect::route('license'); } if (System::first()->status == 1) { $topics = $topic->get(); return view('themes.default1.client.helpdesk.form', compact('topics')); } else { return \Redirect::route('home'); } } /** * This Function to post the form for the ticket * @param type Form_name $name * @param type Form_details $details * @return type string */ public function postForm($id, Help_topic $topic) { // dd($id); if ($id != 0) { $helptopic = $topic->where('id', '=', $id)->first(); $custom_form = $helptopic->custom_form; $values = Fields::where('forms_id', '=', $custom_form)->get(); if (!$values) { } if ($values) { foreach ($values as $value) { if ($value->type == "select") { $data = $value->value; $value = explode(',', $data); echo '
'; } elseif ($value->type == "radio") { $type2 = $value->value; $val = explode(',', $type2); echo '     ' . $val[0] . '      ' . $val[1] . '
'; } elseif ($value->type == "textarea") { $type3 = $value->value; $v = explode(',', $type3); //dd($v); if (array_key_exists(1, $v)) { echo '

'; } else { echo '

'; } } elseif ($value->type == "checkbox") { $type4 = $value->value; $check = explode(',', $type4); echo '
'; } else { echo '
'; } } } } else { return null; } } /** * Posted form * @param type Request $request * @param type User $user */ public function postedForm(User $user, ClientRequest $request, Ticket $ticket_settings, Ticket_source $ticket_source) { $form_extras = $request->except('Name', 'Phone', 'Email', 'Subject', 'Details', 'helptopic', '_wysihtml5_mode', '_token'); $name = $request->input('Name'); $phone = $request->input('Phone'); $email = $request->input('Email'); $subject = $request->input('Subject'); $details = $request->input('Details'); $System = System::where('id', '=', 1)->first(); $departments = Department::where('id', '=', $System->department)->first(); $department = $departments->id; $status = $ticket_settings->first()->status; $helptopic = $ticket_settings->first()->help_topic; $sla = $ticket_settings->first()->sla; $priority = $ticket_settings->first()->priority; $source = $ticket_source->where('name', '=', 'web')->first(); $collaborator = null; $assignto = null; if ($this->TicketController->create_user($email, $name, $subject, $details, $phone, $helptopic, $sla, $priority, $source->id, $collaborator, $department, $assignto, $form_extras)) { return Redirect::route('guest.getform')->with('success', 'Ticket Created Successfully'); } } /** * reply * @param type $value * @return type view */ public function post_ticket_reply($id, Request $request) { $comment = $request->input('comment'); if ($comment != null) { $tickets = Tickets::where('id', '=', $id)->first(); $threads = new Ticket_Thread; $tickets->closed_at = null; $tickets->closed = 0; $tickets->reopened_at = date('Y-m-d H:i:s'); $tickets->reopened = 1; $threads->user_id = $tickets->user_id; $threads->ticket_id = $tickets->id; $threads->poster = "client"; $threads->body = $comment; try { $threads->save(); $tickets->save(); return \Redirect::back()->with('success1', 'Successfully replied'); } catch (Exception $e) { return \Redirect::back()->with('fails1', $e->errorInfo[2]); } } else { return \Redirect::back()->with('fails1', 'Please fill some data!'); } } }