This commit is contained in:
Manish Verma
2016-12-13 18:18:25 +05:30
parent fc98add11c
commit 2d8e640e9b
2314 changed files with 97798 additions and 75664 deletions

View File

@@ -11,14 +11,15 @@ use App\Model\helpdesk\Agent\Department;
// models
use App\Model\helpdesk\Form\Fields;
use App\Model\helpdesk\Manage\Help_topic;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Settings\System;
use App\Model\helpdesk\Settings\Ticket;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Ticket\Ticket_attachments;
use App\Model\helpdesk\Ticket\Ticket_Priority;
use App\Model\helpdesk\Ticket\Ticket_source;
use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Ticket\Ticket_Priority;
use App\Model\helpdesk\Utility\CountryCode;
use App\User;
use Exception;
@@ -35,16 +36,15 @@ use Redirect;
*
* @author Ladybird <info@ladybirdweb.com>
*/
class FormController extends Controller
{
class FormController extends Controller {
/**
* Create a new controller instance.
* Constructor to check.
*
* @return void
*/
public function __construct(TicketWorkflowController $TicketWorkflowController)
{
public function __construct(TicketWorkflowController $TicketWorkflowController) {
$this->middleware('board');
// creating a TicketController instance
$this->TicketWorkflowController = $TicketWorkflowController;
@@ -57,31 +57,29 @@ class FormController extends Controller
*
* @return type
*/
public function getForm(Help_topic $topic, CountryCode $code)
{
public function getForm(Help_topic $topic, CountryCode $code) {
if (\Config::get('database.install') == '%0%') {
return \Redirect::route('licence');
}
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
$email_mandatory = CommonSettings::select('status')->where('option_name', '=', 'email_mandatory')->first();
if (!\Auth::check() && ($settings->status == 1 || $settings->status == '1')) {
return redirect('auth/login')->with(['login_require' => 'Please login to your account for submitting a ticket', 'referer' => 'form']);
return redirect('auth/login')->with(['login_require'=> 'Please login to your account for submitting a ticket', 'referer' => 'form']);
}
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
if (System::first()->status == 1) {
$topics = $topic->get();
$codes = $code->get();
if ($phonecode->phonecode) {
$phonecode = $phonecode->phonecode;
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
if (System::first()->status == 1) {
$topics = $topic->get();
$codes = $code->get();
if ($phonecode->phonecode) {
$phonecode = $phonecode->phonecode;
} else {
$phonecode = "";
}
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory'))->with('phonecode', $phonecode);
} else {
$phonecode = '';
return \Redirect::route('home');
}
return view('themes.default1.client.helpdesk.form', compact('topics', 'codes', 'email_mandatory'))->with('phonecode', $phonecode);
} else {
return \Redirect::route('home');
}
}
/**
@@ -92,43 +90,43 @@ class FormController extends Controller
*
* @return type string
*/
public function postForm($id, Help_topic $topic)
{
public function postForm($id, Help_topic $topic) {
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 $form_data) {
if ($form_data->type == 'select') {
if ($form_data->type == "select") {
$form_fields = explode(',', $form_data->value);
$var = '';
$var = "";
foreach ($form_fields as $form_field) {
$var .= '<option value="'.$form_field.'">'.$form_field.'</option>';
$var .= '<option value="' . $form_field . '">' . $form_field . '</option>';
}
echo '<br/><label>'.ucfirst($form_data->label).'</label><select class="form-control" name="'.$form_data->name.'">'.$var.'</select>';
} elseif ($form_data->type == 'radio') {
echo '<br/><label>' . ucfirst($form_data->label) . '</label><select class="form-control" name="' . $form_data->name . '">' . $var . '</select>';
} elseif ($form_data->type == "radio") {
$type2 = $form_data->value;
$vals = explode(',', $type2);
echo '<br/><label>'.ucfirst($form_data->label).'</label><br/>';
echo '<br/><label>' . ucfirst($form_data->label) . '</label><br/>';
foreach ($vals as $val) {
echo '<input type="'.$form_data->type.'" name="'.$form_data->name.'"> '.$form_data->value.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '<input type="' . $form_data->type . '" name="' . $form_data->name . '"> ' . $form_data->value . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}
echo '<br/>';
} elseif ($form_data->type == 'textarea') {
echo "<br/>";
} elseif ($form_data->type == "textarea") {
$type3 = $form_data->value;
echo '<br/><label>'.$form_data->label.'</label></br><textarea id="unique-textarea" name="'.$form_data->name.'" class="form-control" style="height:15%;"></textarea>';
} elseif ($form_data->type == 'checkbox') {
echo '<br/><label>' . $form_data->label . '</label></br><textarea id="unique-textarea" name="' . $form_data->name . '" class="form-control" style="height:15%;"></textarea>';
} elseif ($form_data->type == "checkbox") {
$type4 = $form_data->value;
$checks = explode(',', $type4);
echo '<br/><label>'.ucfirst($form_data->label).'</label><br/>';
echo '<br/><label>' . ucfirst($form_data->label) . '</label><br/>';
foreach ($checks as $check) {
echo '<input type="'.$form_data->type.'" name="'.$form_data->name.'">&nbsp&nbsp'.$check;
echo '<input type="' . $form_data->type . '" name="' . $form_data->name . '">&nbsp&nbsp' . $check;
}
} else {
echo '<br/><label>'.ucfirst($form_data->label).'</label><input type="'.$form_data->type.'" class="form-control" name="'.$form_data->name.'" />';
echo '<br/><label>' . ucfirst($form_data->label) . '</label><input type="' . $form_data->type . '" class="form-control" name="' . $form_data->name . '" />';
}
}
echo '<br/><br/>';
@@ -144,16 +142,15 @@ class FormController extends Controller
* @param type Request $request
* @param type User $user
*/
public function postedForm(User $user, ClientRequest $request, Ticket $ticket_settings, Ticket_source $ticket_source, Ticket_attachments $ta, CountryCode $code)
{
$form_extras = $request->except('Name', 'Phone', 'Email', 'Subject', 'Details', 'helptopic', '_wysihtml5_mode', '_token', 'mobile', 'Code', 'priority');
public function postedForm(User $user, ClientRequest $request, Ticket $ticket_settings, Ticket_source $ticket_source, Ticket_attachments $ta, CountryCode $code) {
$form_extras = $request->except('Name', 'Phone', 'Email', 'Subject', 'Details', 'helptopic', '_wysihtml5_mode', '_token','mobile','Code', 'priority');
$name = $request->input('Name');
$phone = $request->input('Phone');
if ($request->input('Email')) {
if ($request->input('Email')) {
if($request->input('Email')) {
$email = $request->input('Email');
} else {
$email = null;
$email = null;
}
} else {
$email = null;
@@ -168,18 +165,18 @@ class FormController extends Controller
}
$status = $ticket_settings->first()->status;
$helptopic = $request->input('helptopic');
$helpTopicObj = Help_topic::where('id', '=', $helptopic);
if ($helpTopicObj->exists() && ($helpTopicObj->value('status') == 1)) {
$helpTopicObj = Help_topic::where('id','=', $helptopic);
if($helpTopicObj->exists() && ($helpTopicObj->value('status')==1)){
$department = $helpTopicObj->value('department');
} else {
$defaultHelpTopicID = Ticket::where('id', '=', '1')->first()->help_topic;
$department = Help_topic::where('id', '=', $defaultHelpTopicID)->value('department');
}else{
$defaultHelpTopicID = Ticket::where('id', '=', '1')->first()->help_topic;
$department = Help_topic::where('id','=', $defaultHelpTopicID)->value('department');
}
$sla = $ticket_settings->first()->sla;
// $priority = $ticket_settings->first()->priority;
$default_priority = Ticket_Priority::where('is_default', '=', 1)->first();
$user_priority = CommonSettings::select('status')->where('option_name', '=', 'user_priority')->first();
$default_priority = Ticket_Priority::where('is_default','=',1)->first();
$user_priority = CommonSettings::where('option_name','=','user_priority')->first();
if (!($request->input('priority'))) {
$priority = $default_priority->priority_id;
} else {
@@ -196,8 +193,8 @@ class FormController extends Controller
$geoipcode = $code->where('iso', '=', $location->iso_code)->first();
if ($phonecode == null) {
$data = [
'fails' => Lang::get('lang.country-code-required-error'),
'phonecode' => $geoipcode->phonecode,
'fails' => Lang::get('lang.country-code-required-error'),
'phonecode' => $geoipcode->phonecode,
'country_code_error' => 1,
];
@@ -206,8 +203,8 @@ class FormController extends Controller
$code = CountryCode::select('phonecode')->where('phonecode', '=', $phonecode)->get();
if (!count($code)) {
$data = [
'fails' => Lang::get('lang.incorrect-country-code-error'),
'phonecode' => $geoipcode->phonecode,
'fails' => Lang::get('lang.incorrect-country-code-error'),
'phonecode' => $geoipcode->phonecode,
'country_code_error' => 1,
];
@@ -233,7 +230,7 @@ class FormController extends Controller
}
}
// dd($result);
return Redirect::back()->with('success', Lang::get('lang.Ticket-has-been-created-successfully-your-ticket-number-is').' '.$result[0].'. '.Lang::get('lang.Please-save-this-for-future-reference'));
return Redirect::back()->with('success', Lang::get('lang.Ticket-has-been-created-successfully-your-ticket-number-is') . ' ' . $result[0] . '. ' . Lang::get('lang.Please-save-this-for-future-reference'));
} else {
return Redirect::back()->withInput($request->except('password'))->with('fails', Lang::get('lang.failed-to-create-user-tcket-as-mobile-has-been-taken'));
}
@@ -247,14 +244,14 @@ class FormController extends Controller
*
* @return type view
*/
public function post_ticket_reply($id, Request $request)
{
public function post_ticket_reply($id, Request $request) {
try {
if ($comment != null) {
$tickets = Tickets::where('id', '=', $id)->first();
$thread = Ticket_Thread::where('ticket_id', '=', $tickets->id)->first();
$subject = $thread->title.'[#'.$tickets->ticket_number.']';
$subject = $thread->title . '[#' . $tickets->ticket_number . ']';
$body = $request->input('comment');
$user_cred = User::where('id', '=', $tickets->user_id)->first();
@@ -288,14 +285,13 @@ class FormController extends Controller
}
}
public function getCustomForm(Request $request)
{
$html = '';
public function getCustomForm(Request $request) {
$html = "";
$helptopic_id = $request->input('helptopic');
$helptopics = new Help_topic();
$helptopic = $helptopics->find($helptopic_id);
if (!$helptopic) {
throw new Exception('We can not find your request');
throw new Exception("We can not find your request");
}
$custom_form = $helptopic->custom_form;
if ($custom_form) {
@@ -304,7 +300,7 @@ class FormController extends Controller
$form_controller = new \App\Http\Controllers\Admin\helpdesk\FormController($fields, $forms);
$html = $form_controller->renderForm($custom_form);
}
return $html;
}
}

View File

@@ -6,30 +6,30 @@ namespace App\Http\Controllers\Client\helpdesk;
use App\Http\Controllers\Common\PhpMailController;
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests\helpdesk\OtpVerifyRequest;
use App\Http\Requests\helpdesk\ProfilePassword;
use App\Http\Requests\helpdesk\ProfileRequest;
use App\Http\Requests\helpdesk\TicketRequest;
// models
use App\Model\helpdesk\Manage\Help_topic;
use App\Model\helpdesk\Settings\CommonSettings;
// models
use App\Model\helpdesk\Settings\Company;
use App\Model\helpdesk\Settings\System;
use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Utility\CountryCode;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Http\Requests\helpdesk\OtpVerifyRequest;
use App\Model\helpdesk\Utility\Otp;
use App\User;
use Auth;
// classes
use DateTime;
use DB;
use Exception;
use GeoIP;
use Hash;
use Illuminate\Http\Request;
use Input;
use Lang;
use DateTime;
use DB;
use Socialite;
/**
@@ -37,15 +37,14 @@ use Socialite;
*
* @author Ladybird <info@ladybirdweb.com>
*/
class GuestController extends Controller
{
class GuestController extends Controller {
/**
* Create a new controller instance.
*
* @return type void
*/
public function __construct(PhpMailController $PhpMailController)
{
public function __construct(PhpMailController $PhpMailController) {
$this->middleware('board');
$this->PhpMailController = $PhpMailController;
// checking authentication
@@ -57,17 +56,15 @@ class GuestController extends Controller
*
* @return type Response
*/
public function getProfile(CountryCode $code)
{
public function getProfile(CountryCode $code) {
$user = Auth::user();
$location = GeoIP::getLocation();
$phonecode = $code->where('iso', '=', $location->iso_code)->first();
$settings = CommonSettings::select('status')->where('option_name', '=', 'send_otp')->first();
$status = $settings->status;
return view('themes.default1.client.helpdesk.profile', compact('user'))
->with(['phonecode' => $phonecode->phonecode,
'verify' => $status, ]);
'verify' => $status]);
}
/**
@@ -78,8 +75,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function postProfile(ProfileRequest $request)
{
public function postProfile(ProfileRequest $request) {
try {
// geet authenticated user details
$user = Auth::user();
@@ -89,14 +85,14 @@ class GuestController extends Controller
$code = CountryCode::select('phonecode')->where('phonecode', '=', $request->get('country_code'))->get();
if (!count($code)) {
return redirect()->back()->with(['fails' => Lang::get('lang.incorrect-country-code-error'), 'country_code_error' => 1])->withInput();
}
}
$user->country_code = $request->country_code;
}
$user->fill($request->except('profile_pic', 'mobile'));
$user->gender = $request->input('gender');
$user->save();
if (Input::file('profile_pic')) {
// fetching picture name
// fetching picture name
$name = Input::file('profile_pic')->getClientOriginalName();
// fetching upload destination path
$destinationPath = 'uploads/profilepic';
@@ -113,10 +109,11 @@ class GuestController extends Controller
$user->mobile = null;
}
if ($user->save()) {
return redirect()->back()->with('success', Lang::get('lang.Profile-Updated-sucessfully'));
return redirect()->back()->with('success', Lang::get('lang.Profile-Updated-sucessfully'));
} else {
return redirect()->back()->route('profile')->with('fails', Lang::get('lang.Profile-Updated-sucessfully'));
}
} catch (Exception $e) {
return redirect()->back()->route('profile')->with('fails', $e->getMessage());
}
@@ -124,10 +121,8 @@ class GuestController extends Controller
/**
*@category fucntion to check if mobile number is unqique or not
*
*@param string $mobile
*
*@return bool true(if mobile exists in users table)/false (if mobile does not exist in user table)
*@return boolean true(if mobile exists in users table)/false (if mobile does not exist in user table)
*/
public function checkMobile($mobile)
{
@@ -139,7 +134,6 @@ class GuestController extends Controller
return true;
}
}
return false;
}
@@ -150,8 +144,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function getTicket(Help_topic $topic)
{
public function getTicket(Help_topic $topic) {
$topics = $topic->get();
return view('themes.default1.client.helpdesk.tickets.form', compact('topics'));
@@ -164,8 +157,7 @@ class GuestController extends Controller
*
* @return type
*/
public function getForm(Help_topic $topic)
{
public function getForm(Help_topic $topic) {
if (\Config::get('database.install') == '%0%') {
return \Redirect::route('licence');
}
@@ -187,8 +179,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function getMyticket()
{
public function getMyticket() {
return view('themes.default1.client.helpdesk.mytickets');
}
@@ -201,8 +192,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function thread(Ticket_Thread $thread, Tickets $tickets, User $user)
{
public function thread(Ticket_Thread $thread, Tickets $tickets, User $user) {
$user_id = Auth::user()->id;
//dd($user_id);
/* get the ticket's id == ticket_id of thread */
@@ -219,8 +209,8 @@ class GuestController extends Controller
*
* @return
*/
public function ticketEdit()
{
public function ticketEdit() {
}
/**
@@ -231,8 +221,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function postProfilePassword(ProfilePassword $request)
{
public function postProfilePassword(ProfilePassword $request) {
$user = Auth::user();
//echo $user->password;
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
@@ -257,8 +246,7 @@ class GuestController extends Controller
*
* @return type Response
*/
public function reply(Ticket_Thread $thread, TicketRequest $request)
{
public function reply(Ticket_Thread $thread, TicketRequest $request) {
$thread->ticket_id = $request->input('ticket_ID');
$thread->title = $request->input('To');
$thread->user_id = Auth::user()->id;
@@ -269,7 +257,7 @@ class GuestController extends Controller
$tickets = Tickets::where('id', '=', $ticket_id)->first();
$thread = Ticket_Thread::where('ticket_id', '=', $ticket_id)->first();
return Redirect('thread/'.$ticket_id);
return Redirect('thread/' . $ticket_id);
}
/**
@@ -280,8 +268,7 @@ class GuestController extends Controller
*
* @return type response
*/
public function getCheckTicket(Tickets $ticket, User $user)
{
public function getCheckTicket(Tickets $ticket, User $user) {
return view('themes.default1.client.helpdesk.guest-user.newticket', compact('ticket'));
}
@@ -295,10 +282,9 @@ class GuestController extends Controller
*
* @return type Response
*/
public function PostCheckTicket(Request $request)
{
public function PostCheckTicket(Request $request) {
$validator = \Validator::make($request->all(), [
'email' => 'required|email',
'email' => 'required|email',
'ticket_number' => 'required',
]);
if ($validator->fails()) {
@@ -318,7 +304,7 @@ class GuestController extends Controller
if ($user->role == 'user') {
$username = $user->first_name;
} else {
$username = $user->first_name.' '.$user->last_name;
$username = $user->first_name . ' ' . $user->last_name;
}
if ($user->email != $Email) {
return \Redirect::route('form')->with('fails', Lang::get("lang.email_didn't_match_with_ticket_number"));
@@ -329,7 +315,7 @@ class GuestController extends Controller
$company = $this->company();
$this->PhpMailController->sendmail(
$from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $username, 'email' => $user->email], $message = ['subject' => 'Ticket link Request ['.$Ticket_number.']', 'scenario' => 'check-ticket'], $template_variables = ['user' => $username, 'ticket_link_with_number' => \URL::route('check_ticket', $code)]
$from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $username, 'email' => $user->email], $message = ['subject' => 'Ticket link Request [' . $Ticket_number . ']', 'scenario' => 'check-ticket'], $template_variables = ['user' => $username, 'ticket_link_with_number' => \URL::route('check_ticket', $code)]
);
return \Redirect::back()
@@ -345,12 +331,10 @@ class GuestController extends Controller
*
* @return type
*/
public function get_ticket_email($id, CommonSettings $common_settings)
{
public function get_ticket_email($id, CommonSettings $common_settings) {
$common_setting = $common_settings->select('status')
->where('option_name', '=', 'user_set_ticket_status')
->first();
return view('themes.default1.client.helpdesk.ckeckticket', compact('id', 'common_setting'));
}
@@ -361,8 +345,7 @@ class GuestController extends Controller
*
* @return type
*/
public function getTicketStat(Tickets $ticket)
{
public function getTicketStat(Tickets $ticket) {
return view('themes.default1.client.helpdesk.ckeckticket', compact('ticket'));
}
@@ -371,8 +354,7 @@ class GuestController extends Controller
*
* @return type
*/
public function company()
{
public function company() {
$company = Company::Where('id', '=', '1')->first();
if ($company->company_name == null) {
$company = 'Support Center';
@@ -389,11 +371,10 @@ class GuestController extends Controller
$sms = DB::table('sms')->get();
if (count($sms) > 0) {
\Event::fire(new \App\Events\LoginEvent($request));
return 1;
}
} else {
return 'Plugin has not been setup successfully.';
return "Plugin has not been setup successfully.";
}
}
@@ -405,19 +386,18 @@ class GuestController extends Controller
->first();
if ($otp != null) {
$otp_length = strlen(Input::get('otp'));
if (($otp_length == 6 && !preg_match('/[a-z]/i', Input::get('otp')))) {
if(($otp_length == 6 && !preg_match("/[a-z]/i", Input::get('otp'))) ) {
$otp2 = Hash::make(Input::get('otp'));
$date1 = date_format($otp->updated_at, 'Y-m-d h:i:sa');
$date2 = date('Y-m-d h:i:sa');
$date1 = date_format($otp->updated_at, "Y-m-d h:i:sa");
$date2 = date("Y-m-d h:i:sa");
$time1 = new DateTime($date2);
$time2 = new DateTime($date1);
$interval = $time1->diff($time2);
if ($interval->i > 10 || $interval->h > 0) {
if($interval->i >10 || $interval->h >0){
$message = Lang::get('lang.otp-expired');
return $message;
} else {
if (Hash::check(Input::get('otp'), $otp->otp)) {
if (Hash::check(Input::get('otp'), $otp->otp)){
Otp::where('user_id', '=', Input::get('u_id'))
->update(['otp' => '']);
// User::where('id', '=', $user->id)
@@ -426,24 +406,20 @@ class GuestController extends Controller
return 1;
} else {
$message = Lang::get('lang.otp-not-matched');
return $message;
}
}
} else {
$message = Lang::get('lang.otp-invalid');
return $message;
}
} else {
$message = Lang::get('lang.otp-not-matched');
return $message;
}
}
public function sync()
{
public function sync() {
try {
$provider = $this->getProvider();
$this->changeRedirect();
@@ -455,67 +431,56 @@ class GuestController extends Controller
$user['email'] = $users->email;
$user['username'] = $users->nickname;
$user['avatar'] = $users->avatar;
return redirect('client-profile')->with('success', 'Additional informations fetched');
} catch (Exception $ex) {
dd($ex);
return redirect('client-profile')->with('fails', $ex->getMessage());
}
}
public function getProvider()
{
public function getProvider() {
$provider = \Session::get('provider');
return $provider;
}
public function changeRedirect()
{
public function changeRedirect() {
$provider = \Session::get('provider');
$url = \Session::get($provider.'redirect');
$url = \Session::get($provider . 'redirect');
\Config::set("services.$provider.redirect", $url);
}
public function forgetSession()
{
public function forgetSession() {
$provider = $this->getProvider();
\Session::forget('provider');
\Session::forget($provider.'redirect');
\Session::forget($provider . 'redirect');
}
public function checkArray($key, $array)
{
$value = '';
public function checkArray($key, $array) {
$value = "";
if (array_key_exists($key, $array)) {
$value = $array[$key];
}
return $value;
}
public function updateUser($user = [])
{
public function updateUser($user = []) {
$userid = \Auth::user()->id;
$useremail = \Auth::user()->email;
$email = $this->checkArray('email', $user); //$user['email'];
if ($email !== '' && $email !== $useremail) {
throw new Exception('Sorry! your current email and '.ucfirst($user['provider']).' email is different so system can not sync');
if ($email !== "" && $email !== $useremail) {
throw new Exception("Sorry! your current email and " . ucfirst($user['provider']) . " email is different so system can not sync");
}
$this->update($userid, $user);
}
public function update($userid, $user, $provider)
{
public function update($userid, $user, $provider) {
$email = $this->checkArray('email', $user);
$this->deleteUser($userid, $user, $provider);
$this->insertAdditional($userid, $provider, $user);
$this->changeEmail($email);
}
public function deleteUser($userid, $user, $provider)
{
public function deleteUser($userid, $user, $provider) {
$info = new \App\UserAdditionalInfo();
$infos = $info->where('owner', $userid)->where('service', $provider)->get();
if ($infos->count() > 0 && count($user) > 0) {
@@ -527,27 +492,27 @@ class GuestController extends Controller
}
}
public function insertAdditional($id, $provider, $user = [])
{
public function insertAdditional($id, $provider, $user = []) {
$info = new \App\UserAdditionalInfo();
if (count($user) > 0) {
foreach ($user as $key => $value) {
$info->create([
'owner' => $id,
'owner' => $id,
'service' => $provider,
'key' => $key,
'value' => $value,
'key' => $key,
'value' => $value,
]);
}
}
}
public function changeEmail($email)
{
public function changeEmail($email) {
$user = \Auth::user();
if ($user && $email && !$user->email) {
$user->email = $email;
$user->save();
}
}
}

View File

@@ -9,9 +9,9 @@ use App\Http\Controllers\Controller;
use App\Model\helpdesk\Email\Emails;
// models
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Settings\Followup;
use App\Model\helpdesk\Ticket\Ticket_Status;
use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Settings\Followup;
use App\Model\helpdesk\Ticket\Tickets;
use App\Model\helpdesk\Ticket\TicketToken;
use App\User;
@@ -320,10 +320,9 @@ class UnAuthController extends Controller
/**
*@category function to change system's language
*
*@param string $lang //desired language's iso code
*
*@param string $lang //desired language's iso code
*@return response
*
*/
public static function changeLanguage($lang)
{
@@ -342,55 +341,54 @@ class UnAuthController extends Controller
// dd()
} else {
return false;
}
}
return true;
}
// Follow up tickets
public function followup()
{
$followup = Followup::whereId('1')->first();
$condition = $followup->condition;
{
$followup=Followup::whereId('1')->first();
$condition=$followup->condition;
// dd($condition);
switch ($condition) {
case 'everyMinute':
$followup_set = ' + 1 minute';
case "everyMinute":
$followup_set= ' + 1 minute';
break;
case 'everyFiveMinutes':
$followup_set = ' + 5 minute';
case "everyFiveMinutes":
$followup_set= ' + 5 minute';
break;
case 'everyTenMinutes':
$followup_set = ' + 10 minute';
case "everyTenMinutes":
$followup_set= ' + 10 minute';
break;
case 'everyThirtyMinutes':
$followup_set = ' + 30 minute';
case "everyThirtyMinutes":
$followup_set=' + 30 minute';
break;
case 'hourly':
$followup_set = ' + 1 hours';
case "hourly":
$followup_set=' + 1 hours';
break;
case 'daily':
$followup_set = ' + 1 day';
case "daily":
$followup_set=' + 1 day';
break;
case 'weekly':
$followup_set = ' + 7 day';
case "weekly":
$followup_set=' + 7 day';
break;
case 'monthly':
$followup_set = ' + 30 day';
case "monthly":
$followup_set=' + 30 day';
break;
case 'yearly':
$followup_set = ' + 365 day';
case "yearly":
$followup_set=' + 365 day';
break;
}
if ($followup->status = 1) {
$tickets = Tickets::where('id', '>=', 1)->where('status', '!=', 5)->get();
if($followup->status=1){
$tickets=Tickets::where('id', '>=', 1)->where('status', '!=', 5)->get();
// dd( $tickets);
// $tickets=Tickets::where('id', '>=', 1)->where('status', '!=', 5)->pluck('id');
// dd( $tickets);
// $id=1;
foreach ($tickets as $ticket) {
foreach($tickets as $ticket) {
// $id=1;
// $id++;
// $ticket=Tickets::where('status', '!=', 5)->get();
@@ -398,20 +396,27 @@ class UnAuthController extends Controller
// dd($ticket);
// if($ticket != null){
// dd('here');
$ck = date('Y-m-d H:i:s', strtotime($ticket->updated_at.$followup_set));
$ck=date('Y-m-d H:i:s', strtotime($ticket->updated_at . $followup_set));
// dd($ck);
$current_time = date('Y-m-d H:i:s');
if ($current_time > $ck) {
$ticket->follow_up = 1;
$current_time=date('Y-m-d H:i:s');
if($current_time>$ck){
$ticket->follow_up=1;
$ticket->save();
// Tickets::where('id', '=',$id)
// ->update(['follow_up' => 1]);
// }
}
// if($id=2)
// {dd($ticket);}
}
}
// if($id=2)
// {dd($ticket);}
}
}
}
}

View File

@@ -24,10 +24,9 @@ use Lang;
use Mail;
use Redirect;
class UserController extends Controller
{
public function __construct()
{
class UserController extends Controller {
public function __construct() {
$this->middleware('board');
}
@@ -36,20 +35,18 @@ class UserController extends Controller
*
* @return response
*/
public function getArticle(Article $article, Category $category, Settings $settings)
{
public function getArticle(Article $article, Category $category, Settings $settings) {
$setting = $settings->first();
$pagination = $setting->pagination;
if (!Auth::check() || \Auth::user()->role == 'user') {
$article = $article->where('status', '1');
}
$article = $article->where('type', '1');
$article = $article->orderBy('publish_time', 'desc');
$article = $article->orderBy('publish_time','desc');
$article = $article->paginate($pagination);
$article->setPath('article-list');
$categorys = $category->get();
return view('themes.default1.client.kb.article-list.articles', compact('time', 'categorys', 'article'));
}
@@ -62,8 +59,7 @@ class UserController extends Controller
*
* @return string excerpt
*/
public static function getExcerpt($str, $startPos = 0, $maxLength = 50)
{
public static function getExcerpt($str, $startPos = 0, $maxLength = 50) {
if (strlen($str) > $maxLength) {
$excerpt = substr($str, $startPos, $maxLength - 3);
$lastSpace = strrpos($excerpt, ' ');
@@ -86,14 +82,13 @@ class UserController extends Controller
*
* @return type view
*/
public function search(SearchRequest $request, Category $category, Article $article, Settings $settings)
{
public function search(SearchRequest $request, Category $category, Article $article, Settings $settings) {
$settings = $settings->first();
$pagination = $settings->pagination;
$search = $request->input('s');
$result = $article->where('name', 'LIKE', '%'.$search.'%')
->orWhere('slug', 'LIKE', '%'.$search.'%')
->orWhere('description', 'LIKE', '%'.$search.'%')
$result = $article->where('name', 'LIKE', '%' . $search . '%')
->orWhere('slug', 'LIKE', '%' . $search . '%')
->orWhere('description', 'LIKE', '%' . $search . '%')
->paginate($pagination);
$result->setPath('search?s='.$search);
$categorys = $category->get();
@@ -106,16 +101,15 @@ class UserController extends Controller
*
* @return response
*/
public function show($slug, Article $article, Category $category)
{
public function show($slug, Article $article, Category $category) {
//ArticleController::timezone();
$tz = \App\Model\helpdesk\Settings\System::where('id', '1')->first()->time_zone;
$tz = \App\Model\helpdesk\Utility\Timezones::where('id', $tz)->first()->name;
date_default_timezone_set($tz);
$date = \Carbon\Carbon::now()->toDateTimeString();
$arti = $article->where('slug', $slug);
if (!Auth::check() || \Auth::user()->role == 'user') {
if (!Auth::check()|| \Auth::user()->role == 'user') {
$arti = $arti->where('status', '1');
$arti = $arti->where('publish_time', '<', $date);
}
@@ -131,8 +125,7 @@ class UserController extends Controller
}
}
public function getCategory($slug, Article $article, Category $category, Relationship $relation)
{
public function getCategory($slug, Article $article, Category $category, Relationship $relation) {
/* get the article_id where category_id == current category */
$catid = $category->where('slug', $slug)->first();
if (!$catid) {
@@ -148,8 +141,7 @@ class UserController extends Controller
return view('themes.default1.client.kb.article-list.category', compact('all', 'id', 'categorys', 'article_id'));
}
public function home(Article $article, Category $category, Relationship $relation)
{
public function home(Article $article, Category $category, Relationship $relation) {
if (Config::get('database.install') == '%0%') {
return redirect('step1');
} else {
@@ -161,8 +153,7 @@ class UserController extends Controller
}
}
public function Faq(Faq $faq, Category $category)
{
public function Faq(Faq $faq, Category $category) {
$faq = $faq->where('id', '1')->first();
$categorys = $category->get();
@@ -174,8 +165,7 @@ class UserController extends Controller
*
* @return response
*/
public function contact(Category $category, Settings $settings)
{
public function contact(Category $category, Settings $settings) {
$settings = $settings->whereId('1')->first();
$categorys = $category->get();
@@ -187,8 +177,7 @@ class UserController extends Controller
*
* @return response
*/
public function postContact(ContactRequest $request, Contact $contact)
{
public function postContact(ContactRequest $request, Contact $contact) {
$this->port();
$this->host();
$this->encryption();
@@ -206,8 +195,8 @@ class UserController extends Controller
//echo $message;
//echo $contact->email;
$mail = Mail::send('themes.default1.client.kb.article-list.contact-details', ['name' => $name, 'email' => $email, 'subject' => $subject, 'details' => $details], function ($message) use ($contact) {
$message->to($contact->email, $contact->name)->subject('Contact');
});
$message->to($contact->email, $contact->name)->subject('Contact');
});
if ($mail) {
return redirect('contact')->with('success', Lang::get('lang.your_details_send_to_system'));
} else {
@@ -215,8 +204,7 @@ class UserController extends Controller
}
}
public function contactDetails()
{
public function contactDetails() {
return view('themes.default1.client.kb.article-list.contact-details');
}
@@ -230,11 +218,10 @@ class UserController extends Controller
*
* @return type response
*/
public function postComment($slug, Article $article, CommentRequest $request, Comment $comment)
{
public function postComment($slug, Article $article, CommentRequest $request, Comment $comment) {
$article = $article->where('slug', $slug)->first();
if (!$article) {
return Redirect::back()->with('fails', Lang::get('lang.sorry_not_processed'));
if(!$article){
return Redirect::back()->with('fails', Lang::get('lang.sorry_not_processed'));
}
$id = $article->id;
$comment->article_id = $id;
@@ -245,49 +232,42 @@ class UserController extends Controller
}
}
public function getPage($name, Page $page)
{
public function getPage($name, Page $page) {
$page = $page->where('slug', $name)->first();
if ($page) {
if($page){
return view('themes.default1.client.kb.article-list.pages', compact('page'));
} else {
}else{
return Redirect::back()->with('fails', Lang::get('lang.sorry_not_processed'));
}
}
public static function port()
{
public static function port() {
$setting = Settings::whereId('1')->first();
Config::set('mail.port', $setting->port);
}
public static function host()
{
public static function host() {
$setting = Settings::whereId('1')->first();
Config::set('mail.host', $setting->host);
}
public static function encryption()
{
public static function encryption() {
$setting = Settings::whereId('1')->first();
Config::set(['mail.encryption' => $setting->encryption, 'mail.username' => $setting->email]);
}
public static function email()
{
public static function email() {
$setting = Settings::whereId('1')->first();
Config::set(['mail.from' => ['address' => $setting->email, 'name' => 'asd']]);
//dd(Config::get('mail'));
}
public static function password()
{
public static function password() {
$setting = Settings::whereId('1')->first();
Config::set(['mail.password' => $setting->password, 'mail.sendmail' => $setting->email]);
}
public function getCategoryList(Article $article, Category $category, Relationship $relation)
{
public function getCategoryList(Article $article, Category $category, Relationship $relation) {
//$categorys = $category->get();
$categorys = $category->get();
// $categorys->setPath('home');
@@ -309,15 +289,13 @@ class UserController extends Controller
// //return substr($date, 0, -6);
// }
public function clientProfile()
{
public function clientProfile() {
$user = Auth::user();
return view('themes.default1.client.kb.article-list.profile', compact('user'));
}
public function postClientProfile($id, ProfileRequest $request)
{
public function postClientProfile($id, ProfileRequest $request) {
$user = Auth::user();
$user->gender = $request->input('gender');
$user->save();
@@ -336,7 +314,7 @@ class UserController extends Controller
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
$name = Input::file('profile_pic')->getClientOriginalName();
$destinationPath = 'lb-faveo/dist/img';
$fileName = rand(0000, 9999).'.'.$name;
$fileName = rand(0000, 9999) . '.' . $name;
//echo $fileName;
Input::file('profile_pic')->move($destinationPath, $fileName);
$user->profile_pic = $fileName;
@@ -350,8 +328,7 @@ class UserController extends Controller
}
}
public function postClientProfilePassword($id, ProfilePassword $request)
{
public function postClientProfilePassword($id, ProfilePassword $request) {
$user = Auth::user();
//echo $user->password;
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
@@ -363,4 +340,5 @@ class UserController extends Controller
return redirect()->back()->with('fails', Lang::get('lang.password_was_not_updated'));
}
}
}