%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Models\CustomLinkSetting;
use App\Models\GlobalSetting;
use Carbon\Carbon;
use App\Models\UserChat;
use App\Models\TaskHistory;
use App\Models\UserActivity;
use App\Models\ProjectTimeLog;
use App\Models\ProjectActivity;
use Illuminate\Support\Facades\App;
use App\Traits\UniversalSearchTrait;
use Illuminate\Support\Facades\Route;
class AccountBaseController extends Controller
{
use UniversalSearchTrait;
/**
* UserBaseController constructor.
*/
public function __construct()
{
parent::__construct();
if (!(app()->runningInConsole() || config('app.seeding'))) {
$this->currentRouteName = request()->route()->getName();
}
$this->middleware(function ($request, $next) {
// Keep this function at top
$this->adminSpecific();
// Call this function after adminSpecific
$this->common();
return $next($request);
});
}
public function adminSpecific()
{
abort_403(!user()->admin_approval && request()->ajax());
if (!user()->admin_approval && Route::currentRouteName() != 'account_unverified') {
// send() is added to force redirect from here rather return to called function
return redirect(route('account_unverified'))->send();
}
$this->adminTheme = admin_theme();
$this->invoiceSetting = invoice_setting();
$this->modules = user_modules();
if ((in_array('messages', user_modules()))) {
$this->unreadMessagesCount = UserChat::where('to', user()->id)
->where('message_seen', 'no')
->count();
}
$this->viewTimelogPermission = user()->permission('view_timelogs');
$this->activeTimerCount = ProjectTimeLog::whereNull('end_time')
->doesntHave('activeBreak')
->join('users', 'users.id', 'project_time_logs.user_id')
->select('project_time_logs.id');
if ($this->viewTimelogPermission != 'all' && manage_active_timelogs() != 'all') {
$this->activeTimerCount->where('project_time_logs.user_id', user()->id);
}
$this->activeTimerCount = $this->activeTimerCount->count();
$this->selfActiveTimer = ProjectTimeLog::selfActiveTimer();
}
public function common()
{
$this->fields = [];
$this->languageSettings = language_setting();
$this->pushSetting = push_setting();
$this->smtpSetting = smtp_setting();
$this->pusherSettings = pusher_settings();
App::setLocale(user()->locale);
Carbon::setLocale(user()->locale);
setlocale(LC_TIME, user()->locale . '_' . mb_strtoupper($this->company->locale));
$this->user = user();
$this->unreadNotificationCount = isset($this->user->unreadNotifications) ? count($this->user->unreadNotifications) : 0;
$this->stickyNotes = $this->user->sticky;
$this->worksuitePlugins = worksuite_plugins();
$this->checkListTotal = GlobalSetting::CHECKLIST_TOTAL;
if (in_array('admin', user_roles())) {
$this->appTheme = admin_theme();
$this->checkListCompleted = GlobalSetting::checkListCompleted();
}
else if (in_array('client', user_roles())) {
$this->appTheme = client_theme();
}
else {
$this->appTheme = employee_theme();
}
$this->sidebarUserPermissions = sidebar_user_perms();
$this->customLink = CustomLinkSetting::all();
}
public function logProjectActivity($projectId, $text)
{
$activity = new ProjectActivity();
$activity->project_id = $projectId;
$activity->activity = $text;
$activity->save();
}
public function logUserActivity($userId, $text)
{
$activity = new UserActivity();
$activity->user_id = $userId;
$activity->activity = $text;
$activity->save();
}
public function logTaskActivity($taskID, $userID, $text, $boardColumnId = null, $subTaskId = null)
{
$activity = new TaskHistory();
$activity->task_id = $taskID;
if (!is_null($subTaskId)) {
$activity->sub_task_id = $subTaskId;
}
$activity->user_id = $userID;
$activity->details = $text;
if (!is_null($boardColumnId)) {
$activity->board_column_id = $boardColumnId;
}
$activity->save();
}
}