update env for one company #1462

This commit is contained in:
Denis Duliçi 2020-06-04 22:58:28 +03:00
parent 721d2bc935
commit 2bd51ba6b6

View File

@ -4,8 +4,10 @@ namespace App\Http\Controllers\Settings;
use App\Abstracts\Http\Controller;
use App\Http\Requests\Setting\Setting as Request;
use App\Models\Common\Company;
use App\Models\Common\EmailTemplate;
use App\Models\Setting\Setting;
use App\Utilities\Installer;
use Illuminate\Support\Str;
class Email extends Controller
@ -58,6 +60,8 @@ class Email extends Controller
$fields = $request->all();
$prefix = $request->get('_prefix', 'email');
$total_companies = Company::count();
foreach ($fields as $key => $value) {
$real_key = $prefix . '.' . $key;
@ -72,6 +76,10 @@ class Email extends Controller
continue;
}
if ($total_companies == 1) {
$this->oneCompany($real_key, $value);
}
setting()->set($real_key, $value);
}
@ -114,4 +122,32 @@ class Email extends Controller
unset($fields[$subject_key]);
unset($fields[$body_key]);
}
protected function oneCompany($real_key, $value)
{
if (empty($value)) {
return;
}
switch ($real_key) {
case 'email.protocol':
Installer::updateEnv(['MAIL_MAILER' => '"' . $value . '"']);
break;
case 'email.smtp_host':
Installer::updateEnv(['MAIL_HOST' => '"' . $value . '"']);
break;
case 'email.smtp_port':
Installer::updateEnv(['MAIL_PORT' => '"' . $value . '"']);
break;
case 'email.smtp_username':
Installer::updateEnv(['MAIL_USERNAME' => '"' . $value . '"']);
break;
case 'email.smtp_password':
Installer::updateEnv(['MAIL_PASSWORD' => '"' . $value . '"']);
break;
case 'email.smtp_encryption':
Installer::updateEnv(['MAIL_ENCRYPTION' => '"' . $value . '"']);
break;
}
}
}