update v1.0.7.5

This commit is contained in:
Sujit Prasad
2016-06-17 20:28:31 +05:30
parent 7fba00a7a0
commit a3fbf1acd4
150 changed files with 2515 additions and 3697 deletions

View File

@@ -9,6 +9,8 @@ use App\Model\helpdesk\Ticket\Tickets;
use Exception;
use Illuminate\Http\Request;
use Log;
use DB;
use Input;
class ApiSettings extends Controller
{
@@ -26,6 +28,8 @@ class ApiSettings extends Controller
public function show()
{
try {
/* fetch the values of system from system table */
$systems = DB::table('settings_system')->whereId('1')->first();
$details = [];
$ticket_detail = '';
$settings = $this->api;
@@ -36,7 +40,7 @@ class ApiSettings extends Controller
$ticket_detail = $details['ticket_detail'];
}
return view('themes.default1.common.api.settings', compact('ticket_detail'));
return view('themes.default1.common.api.settings', compact('ticket_detail', 'systems'));
} catch (Exception $ex) {
return redirect()->back()->with('fails', $ex->getMessage());
}
@@ -48,6 +52,12 @@ class ApiSettings extends Controller
'ticket_detail' => 'url',
]);
try {
// dd($request->input());
DB::table('settings_system')
->where('id', 1)
->update(['api_enable' => Input::get('api_enable'),
'api_key_mandatory' =>Input::get('api_key_mandatory') ,
'api_key' =>Input::get('api_key')]);
$settings = $this->api;
if ($settings->get()->count() > 0) {
foreach ($settings->get() as $set) {

View File

@@ -7,12 +7,11 @@ use App\Model\helpdesk\Notification\Notification;
use App\Model\helpdesk\Notification\UserNotification;
use App\User;
class NotificationController extends Controller
{
class NotificationController extends Controller {
public $user;
public function __construct()
{
public function __construct() {
$user = new User();
$this->user = $user;
}
@@ -22,8 +21,7 @@ class NotificationController extends Controller
*
* @return response
*/
public static function getNotifications()
{
public static function getNotifications() {
$notifications = UserNotification::join('notifications', 'user_notification.notification_id', '=', 'notifications.id')
->join('notification_types', 'notifications.type_id', '=', 'notification_types.id')
->where('user_notification.user_id', '=', \Auth::user()->id)
@@ -32,8 +30,7 @@ class NotificationController extends Controller
return $notifications;
}
public function create($model_id, $userid_created, $type_id, $forwhome = [])
{
public function create($model_id, $userid_created, $type_id, $forwhome = []) {
try {
if (empty($forwhome)) {
$forwhome = $this->user->where('role', '!=', 'user')->get()->toArray();
@@ -52,19 +49,16 @@ class NotificationController extends Controller
}
}
public function markAllRead($id)
{
public function markAllRead($id) {
$markasread = UserNotification::where('user_id', '=', \Auth::user()->id)->where('is_read', '=', '0')->get();
foreach ($markasread as $mark) {
$mark->is_read = '1';
$mark->save();
}
return 1;
}
public function markRead($id)
{
public function markRead($id) {
$markasread = UserNotification::where('notification_id', '=', $id)->where('user_id', '=', \Auth::user()->id)->where('is_read', '=', '0')->get();
foreach ($markasread as $mark) {
$mark->is_read = '1';
@@ -74,15 +68,13 @@ class NotificationController extends Controller
return 1;
}
public function show()
{
public function show() {
$notifications = $this->getNotifications();
return view('notifications-all', compact('notifications'));
}
public function delete($id)
{
public function delete($id) {
$markasread = UserNotification::where('notification_id', '=', $id)->where('user_id', '=', \Auth::user()->id)->get();
foreach ($markasread as $mark) {
$mark->delete();
@@ -90,4 +82,5 @@ class NotificationController extends Controller
return 1;
}
}

View File

@@ -11,12 +11,10 @@ use App\Model\helpdesk\Settings\Email;
use App\User;
use Auth;
class PhpMailController extends Controller
{
public function fetch_smtp_details($id)
{
$emails = Emails::where('id', '=', $id)->first();
class PhpMailController extends Controller {
public function fetch_smtp_details($id) {
$emails = Emails::where('id', '=', $id)->first();
return $emails;
}
@@ -25,8 +23,7 @@ class PhpMailController extends Controller
*
* @return Mail
*/
public function sendmail($from, $to, $message, $template_variables)
{
public function sendmail($from, $to, $message, $template_variables) {
// dd($from);
$from_address = $this->fetch_smtp_details($from);
if ($from_address == null) {
@@ -192,8 +189,15 @@ class PhpMailController extends Controller
if (isset($set['id'])) {
$template_data = \App\Model\Common\Template::where('set_id', '=', $set->id)->where('type', '=', $template->id)->first();
$contents = $template_data->message;
if ($template_data->subject) {
$subject = $template_data->subject;
if ($template_data->variable == 1) {
if ($template_data->subject) {
$subject = $template_data->subject;
if ($ticket_number != null) {
$subject = $subject . ' [#' . $ticket_number . ']';
}
} else {
$subject = $message['subject'];
}
} else {
$subject = $message['subject'];
}
@@ -218,7 +222,8 @@ class PhpMailController extends Controller
// dd($messagebody);
//$mail->SMTPDebug = 3; // Enable verbose debug output
if ($protocol == 'smtp') {
if ($protocol == "smtp") {
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = $host; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
@@ -227,7 +232,7 @@ class PhpMailController extends Controller
$mail->SMTPSecure = $smtpsecure; // Enable TLS encryption, `ssl` also accepted
$mail->Port = $port; // TCP port to connect to
$mail->setFrom($username, $fromname);
} elseif ($protocol == 'mail') {
} elseif ($protocol == "mail") {
$mail->IsSendmail(); // telling the class to use SendMail transport
if ($username == $fromname) {
$mail->setFrom($username);
@@ -265,7 +270,7 @@ class PhpMailController extends Controller
$mail->Subject = $subject;
if ($template == 'ticket-reply-agent') {
$line = '---Reply above this line--- <br/><br/>';
$mail->Body = utf8_decode($line.$messagebody);
$mail->Body = utf8_decode($line . $messagebody);
} else {
$mail->Body = utf8_decode($messagebody);
}
@@ -288,12 +293,10 @@ class PhpMailController extends Controller
*
* @return MailNotification
*/
public function sendEmail($from, $to, $message)
{
// dd($from);
public function sendEmail($from, $to, $message) {
$from_address = $this->fetch_smtp_details($from);
// dd($from_address);
$username = $from_address->email_address;
$fromname = $from_address->email_name;
$password = \Crypt::decrypt($from_address->password);
@@ -415,8 +418,7 @@ class PhpMailController extends Controller
*
* @return type
*/
public function company()
{
public function company() {
$company = Company::Where('id', '=', '1')->first();
if ($company->company_name == null) {
$company = 'Support Center';
@@ -427,49 +429,6 @@ class PhpMailController extends Controller
return $company;
}
// public function testmail($host = '', $username = '', $password = '', $smtpsecure = '', $port = '', $from = '', $recipants = '', $subject = '', $scenario = '', $cc = '', $bc = '', $ishtml = '', $altbody = '', $attachment = '', $agent = '', $ticket_number = '', $content = '') {
// $mail = new \PHPMailer;
// $status = \DB::table('settings_email')->first();
// $path = '../resources/views/emails/';
// $default = $status->template . '/';
// $directory = $path . $default;
// $template = "Admin_mail.blade.php";
// $handle = fopen($directory . $template, "r");
// $contents = fread($handle, filesize($directory . $template));
// fclose($handle);
// if ($template == 'Admin_mail.blade.php') {
// $variables = array('{!! $agent !!}', '{!! $ticket_number !!}', '{!! $name !!}', '{!! $email !!}', '{!! $content !!}', '{!! $from !!}');
// $data = array('sada', '12345', 'rahul', 'rahul@test.com', 'DemoContent', 'testing');
// $messagebody = str_replace($variables, $data, $contents);
// }
// //$mail->SMTPDebug = 3; // Enable verbose debug output
// $mail->isSMTP(); // Set mailer to use SMTP
// $mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
// $mail->SMTPAuth = true; // Enable SMTP authentication
// $mail->Username = 'sujitprasad4567@gmail.com'; // SMTP username
// $mail->Password = 'pankajprasad22.'; // SMTP password
// $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
// $mail->Port = 587; // TCP port to connect to
// $mail->setFrom('sujitprasad4567@gmail.com', 'Mailer');
// $mail->addAddress('sada059@gmail.com', 'Joe User'); // Add a recipient
// // Name is optional
// $mail->addReplyTo('sada059@gmail.com', 'Information');
// // Optional name
// $mail->isHTML(true); // Set email format to HTML
// $mail->addCC('cc@example.com');
// $mail->addBCC('bcc@example.com');
// $mail->addAttachment($attachment);
// $mail->Subject = 'Here is the subject';
// $mail->Body = $messagebody;
// $mail->AltBody = $altbody;
// if (!$mail->send()) {
// echo 'Message could not be sent.';
// echo 'Mailer Error: ' . $mail->ErrorInfo;
// } else {
// echo 'Message has been sent';
// }
// }
/**
* Function to choose from address.
*
@@ -478,8 +437,7 @@ class PhpMailController extends Controller
*
* @return type integer
*/
public function mailfrom($reg, $dept_id)
{
public function mailfrom($reg, $dept_id) {
$email = Email::where('id', '=', '1')->first();
if ($reg == 1) {
return $email->sys_email;
@@ -492,4 +450,5 @@ class PhpMailController extends Controller
}
}
}
}

View File

@@ -27,15 +27,14 @@ use Lang;
* ***************************
* Controller to keep smtp details and fetch where ever needed.
*/
class SettingsController extends Controller
{
class SettingsController extends Controller {
/**
* Create a new controller instance.
*
* @return type void
*/
public function __construct()
{
public function __construct() {
// $this->smtp();
$this->middleware('auth');
$this->middleware('roles');
@@ -53,8 +52,7 @@ class SettingsController extends Controller
*
* @return response
*/
public function widgets()
{
public function widgets() {
return view('themes.default1.admin.helpdesk.theme.widgets');
}
@@ -63,8 +61,7 @@ class SettingsController extends Controller
*
* @return response
*/
public function list_widget()
{
public function list_widget() {
return \Datatable::collection(Widgets::where('id', '<', '7')->get())
->searchColumns('name')
->orderColumns('name', 'title', 'value')
@@ -78,33 +75,33 @@ class SettingsController extends Controller
return $model->value;
})
->addColumn('Actions', function ($model) {
return '<span data-toggle="modal" data-target="#edit_widget'.$model->id.'"><a class="btn btn-warning btn-xs">'.\Lang::get('lang.edit').'</a></span>
<div class="modal fade" id="edit_widget'.$model->id.'">
return '<span data-toggle="modal" data-target="#edit_widget' . $model->id . '"><a class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a></span>
<div class="modal fade" id="edit_widget' . $model->id . '">
<div class="modal-dialog">
<div class="modal-content">
<form action="'.url('edit-widget/'.$model->id).'" method="POST">
<form action="' . url('edit-widget/' . $model->id) . '" method="POST">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">'.strtoupper($model->name).' </h4>
<h4 class="modal-title">' . strtoupper($model->name) . ' </h4>
</div>
<div class="modal-body">
<div class="form-group" style="width:100%">
<label>'.\Lang::get('lang.title').'</label><br/>
<input type="text" name="title" value="'.$model->title.'" class="form-control" style="width:100%">
<label>' . \Lang::get('lang.title') . '</label><br/>
<input type="text" name="title" value="' . $model->title . '" class="form-control" style="width:100%">
</div>
<br/>
<div class="form-group" style="width:100%">
<label>'.\Lang::get('lang.content').'</label><br/>
<textarea name="content" class="form-control" style="width:100%" id="Content'.$model->id.'">'.$model->value.'</textarea>
<label>' . \Lang::get('lang.content') . '</label><br/>
<textarea name="content" class="form-control" style="width:100%" id="Content' . $model->id . '">' . $model->value . '</textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">'.\Lang::get('lang.close').'</button>
<input type="submit" class="btn btn-primary" value="'.\Lang::get('lang.update').'">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">' . \Lang::get('lang.close') . '</button>
<input type="submit" class="btn btn-primary" value="' . \Lang::get('lang.update') . '">
</div>
<script>
$(function () {
$("#Content'.$model->id.'").wysihtml5();
$("#Content' . $model->id . '").wysihtml5();
});
</script>
</form>
@@ -123,15 +120,14 @@ class SettingsController extends Controller
*
* @return type response
*/
public function edit_widget($id, Widgets $widgets, Request $request)
{
public function edit_widget($id, Widgets $widgets, Request $request) {
$widget = $widgets->where('id', '=', $id)->first();
$widget->title = $request->title;
$widget->value = $request->content;
try {
$widget->save();
return redirect()->back()->with('success', $widget->name.Lang::get('lang.saved_successfully'));
return redirect()->back()->with('success', $widget->name . Lang::get('lang.saved_successfully'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->getMessage());
}
@@ -142,8 +138,7 @@ class SettingsController extends Controller
*
* @return response
*/
public function social_buttons()
{
public function social_buttons() {
return view('themes.default1.admin.helpdesk.theme.social');
}
@@ -152,8 +147,7 @@ class SettingsController extends Controller
*
* @return response
*/
public function list_social_buttons()
{
public function list_social_buttons() {
return \Datatable::collection(Widgets::where('id', '>', '6')->get())
->searchColumns('name')
->orderColumns('name', 'value')
@@ -164,25 +158,25 @@ class SettingsController extends Controller
return $model->value;
})
->addColumn('Actions', function ($model) {
return '<span data-toggle="modal" data-target="#edit_widget'.$model->id.'"><a class="btn btn-warning btn-xs">'.\Lang::get('lang.edit').'</a></span>
<div class="modal fade" id="edit_widget'.$model->id.'">
return '<span data-toggle="modal" data-target="#edit_widget' . $model->id . '"><a class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a></span>
<div class="modal fade" id="edit_widget' . $model->id . '">
<div class="modal-dialog">
<div class="modal-content">
<form action="'.url('edit-widget/'.$model->id).'" method="POST">
<form action="' . url('edit-widget/' . $model->id) . '" method="POST">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">'.strtoupper($model->name).' </h4>
<h4 class="modal-title">' . strtoupper($model->name) . ' </h4>
</div>
<div class="modal-body">
<br/>
<div class="form-group" style="width:100%">
<label>'.\Lang::get('lang.link').'</label><br/>
<input type="url" name="content" class="form-control" style="width:100%" value="'.$model->value.'">
<label>' . \Lang::get('lang.link') . '</label><br/>
<input type="url" name="content" class="form-control" style="width:100%" value="' . $model->value . '">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">'.\Lang::get('lang.close').'</button>
<input type="submit" class="btn btn-primary" value="'.\Lang::get('lang.update').'">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">' . \Lang::get('lang.close') . '</button>
<input type="submit" class="btn btn-primary" value="' . \Lang::get('lang.update') . '">
</div>
</form>
</div>
@@ -200,15 +194,14 @@ class SettingsController extends Controller
*
* @return type response
*/
public function edit_social_buttons($id, Widgets $widgets, Request $request)
{
public function edit_social_buttons($id, Widgets $widgets, Request $request) {
$widget = $widgets->where('id', '=', $id)->first();
$widget->title = $request->title;
$widget->value = $request->content;
try {
$widget->save();
return redirect()->back()->with('success', $widget->name.' Saved Successfully');
return redirect()->back()->with('success', $widget->name . ' Saved Successfully');
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
@@ -219,8 +212,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function driver()
{
public static function driver() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.host', $settings->driver);
@@ -231,8 +223,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function host()
{
public static function host() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.host', $settings->host);
@@ -243,8 +234,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function port()
{
public static function port() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.port', intval($settings->port));
@@ -255,8 +245,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function from()
{
public static function from() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.from', ['address' => $settings->email, 'name' => $settings->company_name]);
@@ -267,8 +256,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function encryption()
{
public static function encryption() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.encryption', $settings->encryption);
@@ -279,8 +267,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function username()
{
public static function username() {
$set = new Smtp();
$settings = Smtp::where('id', '=', '1')->first();
Config::set('mail.username', $settings->email);
@@ -291,8 +278,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function password()
{
public static function password() {
$settings = Smtp::first();
if ($settings->password) {
$pass = $settings->password;
@@ -306,8 +292,7 @@ class SettingsController extends Controller
*
* @return type view
*/
public function getsmtp()
{
public function getsmtp() {
$settings = Smtp::where('id', '=', '1')->first();
return view('themes.default1.admin.helpdesk.emails.smtp', compact('settings'));
@@ -318,8 +303,7 @@ class SettingsController extends Controller
*
* @return type view
*/
public function postsmtp(SmtpRequest $request)
{
public function postsmtp(SmtpRequest $request) {
$data = Smtp::where('id', '=', 1)->first();
$data->driver = $request->input('driver');
$data->host = $request->input('host');
@@ -342,8 +326,7 @@ class SettingsController extends Controller
*
* @return type void
*/
public static function smtp()
{
public static function smtp() {
$settings = Smtp::where('id', '=', '1')->first();
if ($settings->password) {
$password = Crypt::decrypt($settings->password);
@@ -364,8 +347,7 @@ class SettingsController extends Controller
*
* @return type view\
*/
public function settings(Smtp $set)
{
public function settings(Smtp $set) {
$settings = $set->where('id', '1')->first();
return view('themes.default1.admin.settings', compact('settings'));
@@ -379,8 +361,7 @@ class SettingsController extends Controller
*
* @return type view
*/
public function PostSettings(Settings $set, Request $request)
{
public function PostSettings(Settings $set, Request $request) {
$settings = $set->where('id', '1')->first();
$pass = $request->input('password');
$password = Crypt::encrypt($pass);
@@ -393,7 +374,7 @@ class SettingsController extends Controller
if (Input::file('logo')) {
$name = Input::file('logo')->getClientOriginalName();
$destinationPath = 'dist/logo';
$fileName = rand(0000, 9999).'.'.$name;
$fileName = rand(0000, 9999) . '.' . $name;
Input::file('logo')->move($destinationPath, $fileName);
$settings->logo = $fileName;
$settings->save();
@@ -412,13 +393,12 @@ class SettingsController extends Controller
*
* @return type
*/
public function version_check()
{
public function version_check() {
$response_url = \URL::route('post-version-check');
echo "<form action='http://www.faveohelpdesk.com/billing/public/version' method='post' name='redirect'>";
echo "<input type='hidden' name='_token' value='csrf_token()'/>";
echo "<input type='hidden' name='title' value='Faveo helpdesk community'/>";
echo "<input type='hidden' name='response_url' value='".$response_url."' />";
echo "<input type='hidden' name='response_url' value='" . $response_url . "' />";
echo '</form>';
echo "<script language='javascript'>document.redirect.submit();</script>";
}
@@ -428,11 +408,10 @@ class SettingsController extends Controller
*
* @return type
*/
public function post_version_check(Request $request)
{
// dd($request);
public function post_version_check(Request $request) {
// dd($request);
$current_version = \Config::get('app.version');
$current_version = explode(' ', $current_version);
$current_version = explode(' ',$current_version);
$current_version = $current_version[1];
$new_version = $request->value;
if ($current_version == $new_version) {
@@ -442,25 +421,21 @@ class SettingsController extends Controller
$version->current_version = $current_version;
$version->new_version = $new_version;
$version->save();
return redirect()->route('checkupdate')->with('info', ' Version '.$new_version.' is Available');
return redirect()->route('checkupdate')->with('info', ' Version ' . $new_version . ' is Available');
} else {
return redirect()->route('checkupdate')->with('info', ' Error Checking Version');
}
}
public function getupdate()
{
public function getupdate() {
return \View::make('themes.default1.admin.helpdesk.settings.checkupdate');
}
public function Plugins()
{
public function Plugins() {
return view('themes.default1.admin.helpdesk.settings.plugins');
}
public function GetPlugin()
{
public function GetPlugin() {
$plugins = $this->fetchConfig();
return \Datatable::collection(new Collection($plugins))
@@ -468,15 +443,15 @@ class SettingsController extends Controller
->addColumn('name', function ($model) {
if (array_has($model, 'path')) {
if ($model['status'] == 0) {
$activate = '<a href='.url('plugin/status/'.$model['path']).'>Activate</a>';
$activate = '<a href=' . url('plugin/status/' . $model['path']) . '>Activate</a>';
$settings = ' ';
} else {
$settings = '<a href='.url($model['settings']).'>Settings</a> | ';
$activate = '<a href='.url('plugin/status/'.$model['path']).'>Deactivate</a>';
$settings = '<a href=' . url($model['settings']) . '>Settings</a> | ';
$activate = '<a href=' . url('plugin/status/' . $model['path']) . '>Deactivate</a>';
}
$delete = '<a href= id=delete'.$model['path'].' data-toggle=modal data-target=#del'.$model['path']."><span style='color:red'>Delete</span></a>"
."<div class='modal fade' id=del".$model['path'].">
$delete = '<a href= id=delete' . $model['path'] . ' data-toggle=modal data-target=#del' . $model['path'] . "><span style='color:red'>Delete</span></a>"
. "<div class='modal fade' id=del" . $model['path'] . ">
<div class='modal-dialog'>
<div class=modal-content>
<div class=modal-header>
@@ -485,8 +460,8 @@ class SettingsController extends Controller
<div class=modal-body>
<p>Are you Sure ?</p>
<div class=modal-footer>
<button type=button class='btn btn-default pull-left' data-dismiss=modal id=dismis>".\Lang::get('lang.close').'</button>
<a href='.url('plugin/delete/'.$model['path'])."><button class='btn btn-danger'>Delete</button></a>
<button type=button class='btn btn-default pull-left' data-dismiss=modal id=dismis>" . \Lang::get('lang.close') . '</button>
<a href=' . url('plugin/delete/' . $model['path']) . "><button class='btn btn-danger'>Delete</button></a>
</div>
@@ -494,12 +469,12 @@ class SettingsController extends Controller
</div>
</div>
</div>";
$action = '<br><br>'.$delete.' | '.$settings.$activate;
$action = '<br><br>' . $delete . ' | ' . $settings . $activate;
} else {
$action = '';
}
return ucfirst($model['name']).$action;
return ucfirst($model['name']) . $action;
})
->addColumn('description', function ($model) {
return ucfirst($model['description']);
@@ -508,7 +483,7 @@ class SettingsController extends Controller
return ucfirst($model['author']);
})
->addColumn('website', function ($model) {
return '<a href='.$model['website'].' target=_blank>'.$model['website'].'</a>';
return '<a href=' . $model['website'] . ' target=_blank>' . $model['website'] . '</a>';
})
->addColumn('version', function ($model) {
return $model['version'];
@@ -521,9 +496,8 @@ class SettingsController extends Controller
*
* @return type
*/
public function ReadPlugins()
{
$dir = app_path().DIRECTORY_SEPARATOR.'Plugins';
public function ReadPlugins() {
$dir = app_path() . DIRECTORY_SEPARATOR . 'Plugins';
$plugins = array_diff(scandir($dir), ['.', '..']);
return $plugins;
@@ -536,13 +510,12 @@ class SettingsController extends Controller
*
* @return type
*/
public function PostPlugins(Request $request)
{
public function PostPlugins(Request $request) {
$v = $this->validate($request, ['plugin' => 'required|mimes:application/zip,zip,Zip']);
$plug = new Plugin();
$file = $request->file('plugin');
//dd($file);
$destination = app_path().DIRECTORY_SEPARATOR.'Plugins';
$destination = app_path() . DIRECTORY_SEPARATOR . 'Plugins';
$zipfile = $file->getRealPath();
/*
* get the file name and remove .zip
@@ -551,30 +524,30 @@ class SettingsController extends Controller
$filename2 = str_replace('.zip', '', $filename2);
$filename1 = ucfirst($file->getClientOriginalName());
$filename = str_replace('.zip', '', $filename1);
mkdir($destination.DIRECTORY_SEPARATOR.$filename);
mkdir($destination . DIRECTORY_SEPARATOR . $filename);
/*
* extract the zip file using zipper
*/
\Zipper::make($zipfile)->folder($filename2)->extractTo($destination.DIRECTORY_SEPARATOR.$filename);
\Zipper::make($zipfile)->folder($filename2)->extractTo($destination . DIRECTORY_SEPARATOR . $filename);
$file = app_path().DIRECTORY_SEPARATOR.'Plugins'.DIRECTORY_SEPARATOR.$filename; // Plugin file path
$file = app_path() . DIRECTORY_SEPARATOR . 'Plugins' . DIRECTORY_SEPARATOR . $filename; // Plugin file path
if (file_exists($file)) {
$seviceporvider = $file.DIRECTORY_SEPARATOR.'ServiceProvider.php';
$config = $file.DIRECTORY_SEPARATOR.'config.php';
$seviceporvider = $file . DIRECTORY_SEPARATOR . 'ServiceProvider.php';
$config = $file . DIRECTORY_SEPARATOR . 'config.php';
if (file_exists($seviceporvider) && file_exists($config)) {
/*
* move to faveo config
*/
$faveoconfig = config_path().DIRECTORY_SEPARATOR.'plugins'.DIRECTORY_SEPARATOR.$filename.'.php';
$faveoconfig = config_path() . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . $filename . '.php';
if ($faveoconfig) {
//copy($config, $faveoconfig);
/*
* write provider list in app.php line 128
*/
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n\n\t\t\t'App\\Plugins\\$filename"."\\ServiceProvider',";
$app = base_path() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'app.php';
$str = "\n\n\t\t\t'App\\Plugins\\$filename" . "\\ServiceProvider',";
$line_i_am_looking_for = 144;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
@@ -588,7 +561,7 @@ class SettingsController extends Controller
*/
$this->deleteDirectory($file);
return redirect()->back()->with('fails', 'Their is no '.$file);
return redirect()->back()->with('fails', 'Their is no ' . $file);
}
} else {
/*
@@ -596,7 +569,7 @@ class SettingsController extends Controller
*/
$this->deleteDirectory($file);
return redirect()->back()->with('fails', 'Their is no <b>config.php or ServiceProvider.php</b> '.$file);
return redirect()->back()->with('fails', 'Their is no <b>config.php or ServiceProvider.php</b> ' . $file);
}
} else {
/*
@@ -604,7 +577,7 @@ class SettingsController extends Controller
*/
$this->deleteDirectory($file);
return redirect()->back()->with('fails', '<b>Plugin File Path is not exist</b> '.$file);
return redirect()->back()->with('fails', '<b>Plugin File Path is not exist</b> ' . $file);
}
}
@@ -615,8 +588,7 @@ class SettingsController extends Controller
*
* @return bool
*/
public function deleteDirectory($dir)
{
public function deleteDirectory($dir) {
if (!file_exists($dir)) {
return true;
}
@@ -627,8 +599,8 @@ class SettingsController extends Controller
if ($item == '.' || $item == '..') {
continue;
}
chmod($dir.DIRECTORY_SEPARATOR.$item, 0777);
if (!$this->deleteDirectory($dir.DIRECTORY_SEPARATOR.$item)) {
chmod($dir . DIRECTORY_SEPARATOR . $item, 0777);
if (!$this->deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
return false;
}
}
@@ -637,9 +609,8 @@ class SettingsController extends Controller
return rmdir($dir);
}
public function ReadConfigs()
{
$dir = app_path().DIRECTORY_SEPARATOR.'Plugins'.DIRECTORY_SEPARATOR;
public function ReadConfigs() {
$dir = app_path() . DIRECTORY_SEPARATOR . 'Plugins' . DIRECTORY_SEPARATOR;
$directories = scandir($dir);
$files = [];
foreach ($directories as $key => $file) {
@@ -647,7 +618,7 @@ class SettingsController extends Controller
continue;
}
if (is_dir($dir.DIRECTORY_SEPARATOR.$file)) {
if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
$files[$key] = $file;
}
}
@@ -656,7 +627,7 @@ class SettingsController extends Controller
$plugins = [];
if (count($files) > 0) {
foreach ($files as $key => $file) {
$plugin = $dir.$file;
$plugin = $dir . $file;
$plugins[$key] = array_diff(scandir($plugin), ['.', '..', 'ServiceProvider.php']);
$plugins[$key]['file'] = $plugin;
}
@@ -666,7 +637,7 @@ class SettingsController extends Controller
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if ($file == 'config.php') {
$config[] = $dir.DIRECTORY_SEPARATOR.$file;
$config[] = $dir . DIRECTORY_SEPARATOR . $file;
}
}
closedir($dh);
@@ -679,8 +650,7 @@ class SettingsController extends Controller
}
}
public function fetchConfig()
{
public function fetchConfig() {
$configs = $this->ReadConfigs();
//dd($configs);
$plugs = new Plugin();
@@ -716,15 +686,14 @@ class SettingsController extends Controller
return $attributes;
}
public function DeletePlugin($slug)
{
$dir = app_path().DIRECTORY_SEPARATOR.'Plugins'.DIRECTORY_SEPARATOR.$slug;
public function DeletePlugin($slug) {
$dir = app_path() . DIRECTORY_SEPARATOR . 'Plugins' . DIRECTORY_SEPARATOR . $slug;
$this->deleteDirectory($dir);
/*
* remove service provider from app.php
*/
$str = "'App\\Plugins\\$slug"."\\ServiceProvider',";
$path_to_file = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "'App\\Plugins\\$slug" . "\\ServiceProvider',";
$path_to_file = base_path() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'app.php';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace($str, '//', $file_contents);
file_put_contents($path_to_file, $file_contents);
@@ -737,13 +706,12 @@ class SettingsController extends Controller
return redirect()->back()->with('success', 'Deleted Successfully');
}
public function StatusPlugin($slug)
{
public function StatusPlugin($slug) {
$plugs = new Plugin();
$plug = $plugs->where('name', $slug)->first();
if (!$plug) {
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n'App\\Plugins\\$slug"."\\ServiceProvider',";
$app = base_path() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'app.php';
$str = "\n'App\\Plugins\\$slug" . "\\ServiceProvider',";
$line_i_am_looking_for = 144;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
@@ -756,8 +724,8 @@ class SettingsController extends Controller
if ($status == 0) {
$plug->status = 1;
$app = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n'App\\Plugins\\$slug"."\\ServiceProvider',";
$app = base_path() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'app.php';
$str = "\n'App\\Plugins\\$slug" . "\\ServiceProvider',";
$line_i_am_looking_for = 144;
$lines = file($app, FILE_IGNORE_NEW_LINES);
$lines[$line_i_am_looking_for] = $str;
@@ -768,8 +736,8 @@ class SettingsController extends Controller
/*
* remove service provider from app.php
*/
$str = "\n'App\\Plugins\\$slug"."\\ServiceProvider',";
$path_to_file = base_path().DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'app.php';
$str = "\n'App\\Plugins\\$slug" . "\\ServiceProvider',";
$path_to_file = base_path() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'app.php';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace($str, '//', $file_contents);

View File

@@ -16,13 +16,12 @@ use Lang;
* |======================================================
* This controller is for CRUD email templates.
*/
class TemplateController extends Controller
{
class TemplateController extends Controller {
public $template;
public $type;
public function __construct()
{
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
@@ -38,8 +37,7 @@ class TemplateController extends Controller
*
* @return type view
*/
public function index()
{
public function index() {
try {
return view('themes.default1.common.template.inbox');
} catch (\Exception $ex) {
@@ -55,8 +53,7 @@ class TemplateController extends Controller
*
* @return type view
*/
public function showTemplate($id)
{
public function showTemplate($id) {
try {
$templates = Template::where('set_id', '=', $id)->get();
@@ -73,8 +70,7 @@ class TemplateController extends Controller
*
* @return type datatable
*/
public function GetTemplates(Request $request)
{
public function GetTemplates(Request $request) {
$id = $request->input('id');
return \Datatable::collection($this->template->where('set_id', '=', $id)->select('id', 'name', 'type')->get())
@@ -83,7 +79,7 @@ class TemplateController extends Controller
return $this->type->where('id', $model->type)->first()->name;
})
->addColumn('action', function ($model) {
return '<a href='.url('templates/'.$model->id.'/edit')." class='btn btn-sm btn-primary'>Edit</a>";
return '<a href=' . url('templates/' . $model->id . '/edit') . " class='btn btn-sm btn-primary'>Edit</a>";
})
->searchColumns('name')
->orderColumns('name')
@@ -93,12 +89,10 @@ class TemplateController extends Controller
/**
* @return type view
*/
public function create()
{
public function create() {
try {
$i = $this->template->orderBy('created_at', 'desc')->first()->id + 1;
$type = $this->type->lists('name', 'id')->toArray();
return view('themes.default1.common.template.create', compact('type'));
} catch (\Exception $ex) {
return redirect()->back()->with('fails', $ex->getMessage());
@@ -112,20 +106,21 @@ class TemplateController extends Controller
*
* @return type redirect
*/
public function store(TemplateRequest $request)
{
public function store(TemplateRequest $request) {
try {
//dd($request);
$this->template->fill($request->input())->save();
return redirect('templates')->with('success', Lang::get('lang.template_saved_successfully'));
} catch (\Exception $ex) {
return redirect()->back()->with('fails', $ex->getMessage());
}
}
public function edit($id)
{
/**
* function to get the edit page of template
* @param type $id
* @return type
*/
public function edit($id) {
try {
$i = $this->template->orderBy('created_at', 'desc')->first()->id + 1;
$template = $this->template->where('id', $id)->first();
@@ -137,8 +132,13 @@ class TemplateController extends Controller
}
}
public function update($id, TemplateUdate $request)
{
/**
* function to update a template
* @param type $id
* @param \App\Http\Requests\helpdesk\TemplateUdate $request
* @return type
*/
public function update($id, TemplateUdate $request) {
try {
//dd($request);
$template = $this->template->where('id', $id)->first();
@@ -151,14 +151,13 @@ class TemplateController extends Controller
}
/**
* Remove the specified resource from storage.
* function to delete a template
*
* @param int $id
*
* @return Response
*/
public function destroy(Request $request)
{
public function destroy(Request $request) {
try {
$ids = $request->input('select');
if (!empty($ids)) {
@@ -169,9 +168,9 @@ class TemplateController extends Controller
} else {
echo "<div class='alert alert-danger alert-dismissable'>
<i class='fa fa-ban'></i>
<b>".\Lang::get('message.alert').'!</b>
<b>" . \Lang::get('message.alert') . '!</b>
<button type=button class=close data-dismiss=alert aria-hidden=true>&times;</button>
'.\Lang::get('message.no-record').'
' . \Lang::get('message.no-record') . '
</div>';
}
}
@@ -179,28 +178,32 @@ class TemplateController extends Controller
<i class='fa fa-ban'></i>
<b>
<button type=button class=close data-dismiss=alert aria-hidden=true>&times;</button>
".\Lang::get('message.deleted-successfully').'
" . \Lang::get('message.deleted-successfully') . '
</div>';
} else {
echo "<div class='alert alert-danger alert-dismissable'>
<i class='fa fa-ban'></i>
<b>".\Lang::get('message.alert').'!</b>
<b>" . \Lang::get('message.alert') . '!</b>
<button type=button class=close data-dismiss=alert aria-hidden=true>&times;</button>
'.\Lang::get('message.select-a-row').'
' . \Lang::get('message.select-a-row') . '
</div>';
}
} catch (\Exception $e) {
echo "<div class='alert alert-danger alert-dismissable'>
<i class='fa fa-ban'></i>
<b>".\Lang::get('message.alert').'!</b>
<b>" . \Lang::get('message.alert') . '!</b>
<button type=button class=close data-dismiss=alert aria-hidden=true>&times;</button>
'.$e->getMessage().'
' . $e->getMessage() . '
</div>';
}
}
public function show($id)
{
/**
* function to show the templates
* @param type $id
* @return type Mixed
*/
public function show($id) {
//dd($currency);
try {
if ($this->template->where('type', 3)->where('id', $id)->first()) {
@@ -255,4 +258,5 @@ class TemplateController extends Controller
return redirect('/')->with('fails', $e->getMessage());
}
}
}