diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
index c030b98ce..00079ffc4 100644
--- a/app/Exceptions/Handler.php
+++ b/app/Exceptions/Handler.php
@@ -48,6 +48,7 @@ class Handler extends ExceptionHandler
*/
public function report(Exception $e)
{
+ dd($e);
Bugsnag::setBeforeNotifyFunction(function ($error) { //set bugsnag
return false;
});
diff --git a/app/Http/Controllers/Admin/helpdesk/LanguageController.php b/app/Http/Controllers/Admin/helpdesk/LanguageController.php
index 5c192a4e5..8fc001c8d 100644
--- a/app/Http/Controllers/Admin/helpdesk/LanguageController.php
+++ b/app/Http/Controllers/Admin/helpdesk/LanguageController.php
@@ -90,7 +90,7 @@ class LanguageController extends Controller
->addColumn('language', function ($model) {
$img_src = 'lb-faveo/flags/'.$model.'.png';
if ($model == Config::get('app.fallback_locale')) {
- return ' '.Config::get('languages.'.$model)[0].' ('.Lang::get('lang.default').')';
+ return '
'.Config::get('languages.'.$model)[0].' ('.Lang::get('lang.default-fallback').')';
} else {
return '
'.Config::get('languages.'.$model)[0];
}
diff --git a/app/Http/Controllers/Common/CommonMailer.php b/app/Http/Controllers/Common/CommonMailer.php
new file mode 100644
index 000000000..f2f8cd474
--- /dev/null
+++ b/app/Http/Controllers/Common/CommonMailer.php
@@ -0,0 +1,40 @@
+setUsername($config['username']);
+ $transport->setPassword($config['password']);
+ $transport->setStreamOptions($https);
+ $set = new \Swift_Mailer($transport);
+
+ // Set the mailer
+ \Mail::setSwiftMailer($set);
+ return true;
+ } catch (Exception $e) {
+ loging($e->getMessage());
+ return $e->getMessage();
+ }
+ }
+ public function setMailGunDriver($config)
+ {
+ if (!$config) {
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/app/Http/Controllers/Common/PhpMailController.php b/app/Http/Controllers/Common/PhpMailController.php
index c08ff5773..6a8190ce0 100644
--- a/app/Http/Controllers/Common/PhpMailController.php
+++ b/app/Http/Controllers/Common/PhpMailController.php
@@ -16,6 +16,15 @@ use Mail;
class PhpMailController extends Controller
{
+ /**
+ *@var variable to instantiate common mailer class
+ */
+
+ public function __construct()
+ {
+ $this->commonMailer = new CommonMailer;
+ }
+
public function fetch_smtp_details($id)
{
$emails = Emails::where('id', '=', $id)->first();
@@ -161,45 +170,42 @@ class PhpMailController extends Controller
$content = $messagebody;
}
}
- $send = $this->laravelMail($recipants, $recipantname, $subject, $content, $cc, $attachment);
+ $send = $this->laravelMail($recipants, $recipantname, $subject, $content, $from_address, $cc, $attachment);
return $send;
}
- public function setMailConfig($from_address)
+ public function setMailConfig($mail)
{
- $username = $from_address->email_address;
- $fromname = $from_address->email_name;
- $password = $from_address->password;
- $smtpsecure = $from_address->sending_encryption;
- $host = $from_address->sending_host;
- $port = $from_address->sending_port;
- $protocol = $from_address->sending_protocol;
- $this->setServices($from_address->id, $protocol);
- if ($protocol == 'mail') {
- $username = '';
- $fromname = '';
- $host = '';
- $smtpsecure = '';
- $port = '';
- }
- $configs = [
- 'username' => $username,
- 'from' => ['address' => $username, 'name' => $fromname],
- 'password' => $password,
- 'encryption' => $smtpsecure,
- 'host' => $host,
- 'port' => $port,
- 'driver' => $protocol,
- ];
- foreach ($configs as $key => $config) {
- if (is_array($config)) {
- foreach ($config as $from) {
- \Config::set('mail.'.$key, $config);
+ switch ($mail->sending_protocol) {
+ case 'smtp':
+ $config = ['host' => $mail->sending_host,
+ 'port' => $mail->sending_port,
+ 'security' => $mail->sending_encryption,
+ 'username' => $mail->email_address,
+ 'password' => $mail->password,
+ ];
+ if (!$this->commonMailer->setSmtpDriver($config)) {
+ \Log::info('Invaid configuration :- '.$config);
+
+ return 'invalid mail configuration';
}
- } else {
- \Config::set('mail.'.$key, $config);
- }
+ break;
+ case 'send_mail':
+ $config = [
+ 'host' => \Config::get('mail.host'),
+ 'port' => \Config::get('mail.port'),
+ 'security' => \Config::get('mail.encryption'),
+ 'username' => \Config::get('mail.username'),
+ 'password' => \Config::get('mail.password'),
+ ];
+ $this->commonMailer->setSmtpDriver($config);
+ break;
+ case 'mailgun':
+ $this->commonMailer->setMailGunDriver(null);
+ break;
+ default:
+ return 'Mail driver not supported';
}
}
@@ -223,14 +229,14 @@ class PhpMailController extends Controller
return $value;
}
- public function laravelMail($to, $toname, $subject, $data, $cc, $attach)
+ public function laravelMail($to, $toname, $subject, $data, $from_address, $cc, $attach)
{
//dd($to, $toname, $subject, $data, $cc, $attach);
//dd(\Config::get('mail'));
//dd($attach);
- $mail = Mail::send('emails.mail', ['data' => $data], function ($m) use ($to, $subject, $toname, $cc, $attach) {
+ $mail = Mail::send('emails.mail', ['data' => $data], function ($m) use ($to, $subject, $toname, $cc, $attach, $from_address) {
$m->to($to, $toname)->subject($subject);
-
+ $m->from($from_address->email_address, $from_address->email_name);
if ($cc != null) {
foreach ($cc as $collaborator) {
//mail to collaborators
diff --git a/example.env b/example.env
deleted file mode 100644
index 18dbf2e92..000000000
--- a/example.env
+++ /dev/null
@@ -1,18 +0,0 @@
-APP_ENV=production
-APP_DEBUG=false
-APP_KEY=SomeRandomString
-DB_TYPE=
-DB_HOST=
-DB_PORT=
-DB_DATABASE=
-DB_USERNAME=
-DB_PASSWORD=
-DB_INSTALL=%0%
-MAIL_DRIVER=smtp
-MAIL_HOST=mailtrap.io
-MAIL_PORT=2525
-MAIL_USERNAME=null
-MAIL_PASSWORD=null
-CACHE_DRIVER=file
-SESSION_DRIVER=file
-QUEUE_DRIVER=sync
diff --git a/resources/lang/en/lang.php b/resources/lang/en/lang.php
index 3cf039d08..443de7feb 100644
--- a/resources/lang/en/lang.php
+++ b/resources/lang/en/lang.php
@@ -1592,4 +1592,20 @@ return [
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
//updated 15-5-2017
'session-expired' => 'Session expired or invalid, please try again.',
+
+ //update since v1.10
+ 'your_helpdesk_is_ready' => 'Your Helpdesk is Ready!',
+ 'all_right_sparky_you_have_made_it' => 'All right, sparky! You’ve made it through the installation.',
+ 'next_step' => 'Next Step',
+ 'login_to_faveo' => 'Login to Faveo',
+ 'learn_more' => 'Learn More',
+ 'video_walk_through' => 'Video walk through',
+ 'email_support' => 'Email Support',
+ 'not-answered' => 'Not answered',
+ 'default-fallback' => 'Fallback language',
+ 'system-language' => 'System\'s default language',
+ 'set_as_sys_lang' => 'Make default',
+ 'system-outgoing-incoming-mail-not-configured' => 'You have not configured system mail. Faveo can\'t fetch tickets from mail or send mail to users without it.',
+ 'confihure-the-mail-now' => 'Click here to configure the mail.',
+ 'system-mail-not-configured-agent-message' => 'System incoming and outgoing email settings are not configured. Please contct your system\'s admin and report the problem.',
];
diff --git a/resources/views/themes/default1/installer/helpdesk/view6.blade.php b/resources/views/themes/default1/installer/helpdesk/view6.blade.php
index 95a2c2fe4..194c3263e 100644
--- a/resources/views/themes/default1/installer/helpdesk/view6.blade.php
+++ b/resources/views/themes/default1/installer/helpdesk/view6.blade.php
@@ -56,7 +56,7 @@ active