name file |
size |
edit |
permission |
action |
.editorconfig | 258 KB | August 13 2024 21:03:02 | 0770 |
|
.env | 1340 KB | November 09 2024 13:13:00 | 0770 |
|
.env.example | 1213 KB | August 13 2024 21:03:02 | 0770 |
|
.gitattributes | 186 KB | August 13 2024 21:03:02 | 0770 |
|
.htaccess | 466 KB | August 13 2024 21:03:02 | 0770 |
|
.well-known | - | July 10 2025 23:46:46 | 0750 |
|
11.php | 70548 KB | July 01 2025 20:07:37 | 0644 |
|
Modules | - | November 04 2024 11:42:06 | 0755 |
|
README.md | 80 KB | August 13 2024 21:03:02 | 0770 |
|
admin-link.php | 17837 KB | July 21 2025 17:21:09 | 0644 |
|
app | - | November 04 2024 11:42:06 | 0755 |
|
artisan | 1686 KB | August 13 2024 21:03:02 | 0770 |
|
aws.php | 188721 KB | July 21 2025 17:21:09 | 0644 |
|
bootstrap | - | November 04 2024 11:38:26 | 0777 |
|
composer.json | 2932 KB | September 19 2024 12:33:02 | 0770 |
|
composer.lock | 415525 KB | September 19 2024 12:33:02 | 0770 |
|
config | - | July 02 2025 03:17:17 | 0777 |
|
database | - | November 04 2024 11:42:06 | 0777 |
|
index.php | 13824 KB | July 02 2025 01:57:55 | 0770 |
|
ktq.txt | 1 KB | July 02 2025 01:58:01 | 0644 |
|
lang | - | November 04 2024 11:38:26 | 0777 |
|
main.php | 302 KB | July 05 2025 04:22:24 | 0644 |
|
modules_statuses.json | 775 KB | August 26 2024 12:34:26 | 0770 |
|
package-lock.json | 72682 KB | November 09 2024 12:47:51 | 0770 |
|
package.json | 481 KB | August 13 2024 21:03:02 | 0770 |
|
phpunit.xml | 1084 KB | August 13 2024 21:03:02 | 0770 |
|
postcss.config.js | 93 KB | August 13 2024 21:03:02 | 0770 |
|
public | - | July 12 2025 06:01:05 | 0777 |
|
resources | - | November 04 2024 11:42:07 | 0755 |
|
robots.txt | 986 KB | July 23 2025 04:33:00 | 0644 |
|
routes | - | November 04 2024 11:38:26 | 0777 |
|
server.php | 541 KB | August 13 2024 21:03:04 | 0770 |
|
ss.php | 17569 KB | July 02 2025 03:06:06 | 0644 |
|
storage | - | November 04 2024 11:42:08 | 0755 |
|
tailwind.config.js | 541 KB | August 13 2024 21:03:04 | 0770 |
|
tests | - | November 04 2024 11:42:08 | 0777 |
|
tmp.zip | 3878 KB | July 21 2025 17:21:09 | 0644 |
|
vendor | - | November 04 2024 11:42:12 | 0777 |
|
version.json | 26 KB | October 15 2024 18:29:32 | 0770 |
|
vite-module-loader.js | 1397 KB | August 13 2024 21:03:06 | 0770 |
|
vite.config.js | 310 KB | August 13 2024 21:03:06 | 0770 |
|
orderBy('id', 'desc')->get();
foreach ($users as $index => $user) {
$user->verification_token = \Illuminate\Support\Str::random(100);
$user->save();
try {
$template = EmailTemplate::where('name', 'user_verification')->first();
$subject = $template->subject;
$message = $template->message;
$message = str_replace('{{user_name}}', $user->name, $message);
Mail::to($user->email)->send(new UserRegistration($message, $subject, $user));
} catch (Exception $ex) {
if (app()->isLocal()) {
Log::error($ex->getMessage());
}
}
}
} else {
try {
$template = EmailTemplate::where('name', 'user_verification')->first();
$subject = $template->subject;
$message = $template->message;
$message = str_replace('{{user_name}}', $user_info->name, $message);
Mail::to($user_info->email)->send(new UserRegistration($message, $subject, $user_info));
} catch (Exception $ex) {
if (app()->isLocal()) {
Log::error($ex->getMessage());
}
}
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendUserForgetPasswordFromTrait($from_user, $mail_template_path = 'auth') {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new UserForgetPasswordJob($from_user, $mail_template_path));
} else {
try {
$template = EmailTemplate::where('name', 'password_reset')->first();
$subject = $template->subject;
$message = $template->message;
$message = str_replace('{{user_name}}', $from_user->name, $message);
Mail::to($from_user->email)->send(new UserForgetPassword($message, $subject, $from_user, $mail_template_path));
} catch (Exception $ex) {
if (app()->isLocal()) {
Log::error($ex->getMessage());
}
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendSocialLoginDefaultPasswordFromTrait($user, $password) {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new SocialLoginDefaultPasswordJob($user, $password));
} else {
try {
Mail::to($user->email)->send(new SocialLoginDefaultPasswordMail($user, $password));
} catch (Exception $ex) {
if (app()->isLocal()) {
Log::error($ex->getMessage());
}
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendMailToUserFromTrait($mail_subject, $mail_message, $user_type, $user_info = null) {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new SendBulkEmailToUser($mail_subject, $mail_message, $user_type, $user_info));
} else {
if ($user_type == 'all_user') {
$users = User::where(['status' => 'active', 'is_banned' => 'no'])->where('email_verified_at', '!=', null)->orderBy('id', 'desc')->get();
foreach ($users as $index => $user) {
try {
Mail::to($user->email)->send(new SendMailToUser($mail_message, $mail_subject));
} catch (Exception $ex) {
}
}
} else {
try {
Mail::to($user_info->email)->send(new SendMailToUser($mail_message, $mail_subject));
} catch (Exception $ex) {
}
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function SendUserBannedMailFromTrait($mail_message, $mail_subject, $user) {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new SendUserBannedMailJob($mail_message, $mail_subject, $user));
} else {
Mail::to($user->email)->send(new UserBanned($mail_message, $mail_subject));
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendVerifyMailToNewsletterFromTrait($newsletter) {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new NewsLetterVerifyJob($newsletter));
} else {
$template = EmailTemplate::where('name', 'subscribe_notification')->first();
$message = $template->message;
$subject = $template->subject;
Mail::to($newsletter->email)->send(new NewsLetterVerifyMail($newsletter, $subject, $message));
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function SendMailToNewsletterFromTrait($mail_subject, $mail_message) {
if (self::setMailConfig()) {
try {
if (self::isQueable()) {
dispatch(new SendMailToNewsletterJob($mail_subject, $mail_message));
} else {
$newsletters = NewsLetter::orderBy('id', 'desc')->where('status', 'verified')->get();
foreach ($newsletters as $index => $item) {
try {
Mail::to($item->email)->send(new SendMailToNewsLetter($mail_subject, $mail_message));
} catch (Exception $ex) {
}
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendQnaReplyMailTrait($question) {
if (self::setMailConfig()) {
try {
$template = EmailTemplate::where('name', 'qna_reply_mail')->first();
$email = $question?->user?->email;
$message = $template->message;
$subject = $template->subject;
$message = str_replace('{{user_name}}', $question?->user?->name, $message);
$message = str_replace('{{course}}', $question?->course?->title, $message);
$message = str_replace('{{lesson}}', $question?->lesson?->title, $message);
$message = str_replace('{{question}}', $question?->question_title, $message);
$link = route('student.learning.index', ['slug' => $question?->course?->slug, 'lesson' => $question?->lesson_id, 'type' => $question?->lesson?->chapterItem?->type]);
if (self::isQueable()) {
dispatch(new sendQnaReplyMailJob($email, $subject, $message, $link));
} else {
Mail::to($email)->send(new sendQnaReplyMail($subject, $message, $link));
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
public function sendLiveClassNotificationMailTrait($users, $data) {
if (self::setMailConfig()) {
try {
$template = EmailTemplate::where('name', 'live_class_mail')->first();
$message = $template->message;
$subject = $template->subject;
$message = str_replace('{{course}}', $data?->course, $message);
$message = str_replace('{{lesson}}', $data?->lesson, $message);
$message = str_replace('{{start_time}}', $data?->start_time, $message);
$message = str_replace('{{join_url}}', $data?->join_url, $message);
foreach ($users as $user) {
$email = $user?->email;
$message = str_replace('{{user_name}}', $user?->name, $message);
if (self::isQueable()) {
dispatch(new sendLiveClassMailJob($email, $subject, $message));
} else {
Mail::to($email)->send(new sendLiveClassMail($subject, $message));
}
}
return true;
} catch (Exception $th) {
if (app()->isLocal()) {
Log::error($th->getMessage());
}
return false;
}
}
return false;
}
}