!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smabpro.picotech.app/public_html/app/Http/Controllers/   drwxr-xr-x
Free 28.56 GB of 117.98 GB (24.21%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     AnnouncementController.php (11.33 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Http\Controllers;

use 
App\Models\Announcement;
use 
App\Models\AnnouncementEmployee;
use 
App\Models\Branch;
use 
App\Models\Department;
use 
App\Models\Employee;
use 
App\Models\Utility;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Auth;

class 
AnnouncementController extends Controller
{
    public function 
index()
    {
        if(
\Auth::user()->can('manage announcement'))
        {

            if(
Auth::user()->type == 'Employee')
            {
                
$current_employee Employee::where('user_id''='\Auth::user()->id)->first();
                
$announcements    Announcement::orderBy('announcements.id''desc')->leftjoin('announcement_employees''announcements.id''=''announcement_employees.announcement_id')->where('announcement_employees.employee_id''='$current_employee->id)->orWhere(
                    function (
$q){
                        
$q->where('announcements.department_id''["0"]')->where('announcements.employee_id''["0"]');
                    }
                )->
get();
            }
            else
            {
                
$current_employee Employee::where('user_id''='\Auth::user()->id)->first();
                
$announcements    Announcement::where('created_by''='\Auth::user()->creatorId())->get();
            }

            return 
view('announcement.index'compact('announcements''current_employee'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
create()
    {
        if(
\Auth::user()->can('create announcement'))
        {
            
$employees   Employee::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id');
            
$branch      Branch::where('created_by''='Auth::user()->creatorId())->get();
            
$departments Department::where('created_by''='Auth::user()->creatorId())->get();

            return 
view('announcement.create'compact('employees''branch''departments'));
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }

    public function 
store(Request $request)
    {



        if(
\Auth::user()->can('create announcement'))
        {
            
$validator \Validator::make(
                
$request->all(), [
                                   
'title' => 'required',
                                   
'start_date' => 'required',
                                   
'end_date' => 'required',
                                   
'branch_id' => 'required',
                                   
'department_id' => 'required',
                                   
'employee_id' => 'required',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }

            
$announcement                = new Announcement();
            
$announcement->title         $request->title;
            
$announcement->start_date    $request->start_date;
            
$announcement->end_date      $request->end_date;
            
$announcement->branch_id     = !empty($request)?$request->branch_id:0;
            
$announcement->department_id json_encode($request->department_id);
            
$announcement->employee_id   json_encode($request->employee_id);
            
$announcement->description   $request->description;
            
$announcement->created_by    \Auth::user()->creatorId();

            
$announcement->save();

            if(
in_array('0'$request->employee_id))
            {
                
$departmentEmployee Employee::whereIn('department_id'$request->department_id)->get()->pluck('id');
                
$departmentEmployee $departmentEmployee;

            }
            else
            {
                
$departmentEmployee $request->employee_id;
            }
            foreach(
$departmentEmployee as $employee)
            {
                
$announcementEmployee                  = new AnnouncementEmployee();
                
$announcementEmployee->announcement_id $announcement->id;
                
$announcementEmployee->employee_id     $employee;
                
$announcementEmployee->created_by      \Auth::user()->creatorId();
                
$announcementEmployee->save();
            }

            
//For Notification
            
$setting  Utility::settings(\Auth::user()->creatorId());
            if(
$request->branch_id == 0)
            {
                
$branch Branch::get()->pluck('name' 'id')->toArray();
            }
            else
            {
                
$branch Branch::find($request->branch_id);
                
$branch explode(',',$branch->name);
            }

            
$announceNotificationArr = [
                
'announcement_title' =>  $request->title,
                
'branch_name' =>  implode(',',$branch),
                
'start_date' =>  $request->start_date,
                
'end_date' =>  $request->end_date,
            ];
            
//Slack Notification
            
if(isset($setting['announcement_notification']) && $setting['announcement_notification'] ==1)
            {
                
Utility::send_slack_msg('new_announcement'$announceNotificationArr);
            }
            
//Telegram Notification
            
if(isset($setting['telegram_announcement_notification']) && $setting['telegram_announcement_notification'] ==1)
            {
                
Utility::send_telegram_msg('new_announcement'$announceNotificationArr);
            }

            
//webhook
            
$module ='New Announcement';
            
$webhook=  Utility::webhookSetting($module);
            if(
$webhook)
            {
                
$parameter json_encode($announcement);
                
$status Utility::WebhookCall($webhook['url'],$parameter,$webhook['method']);
                if(
$status == true)
                {
                    return 
redirect()->back()->with('success'__('Announcement successfully created.'));
                }
                else
                {
                    return 
redirect()->back()->with('error'__('Webhook call failed.'));
                }
            }


            return 
redirect()->route('announcement.index')->with('success'__('Announcement successfully created.'));
        }

        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
show(Announcement $announcement)
    {
        return 
redirect()->route('announcement.index');
    }

    public function 
edit($announcement)
    {
        if(
\Auth::user()->can('edit announcement'))
        {
            
$announcement Announcement::find($announcement);
            if(
$announcement->created_by == Auth::user()->creatorId())
            {
                
$branch      Branch::where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');
                
$departments Department::where('created_by'\Auth::user()->creatorId())->get()->pluck('name''id');

                return 
view('announcement.edit'compact('announcement''branch''departments'));
            }
            else
            {
                return 
response()->json(['error' => __('Permission denied.')], 401);
            }
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }

    public function 
update(Request $requestAnnouncement $announcement)
    {
        if(
\Auth::user()->can('edit announcement'))
        {
            if(
$announcement->created_by == \Auth::user()->creatorId())
            {

                
$validator \Validator::make(
                    
$request->all(), [
                                       
'title' => 'required',
                                       
'start_date' => 'required',
                                       
'end_date' => 'required',
                                       
'branch_id' => 'required',
                                       
'department_id' => 'required',
                                   ]
                );
                if(
$validator->fails())
                {
                    
$messages $validator->getMessageBag();

                    return 
redirect()->back()->with('error'$messages->first());
                }

                
$announcement->title         $request->title;
                
$announcement->start_date    $request->start_date;
                
$announcement->end_date      $request->end_date;
                
$announcement->branch_id     $request->branch_id;
                
$announcement->department_id $request->department_id;
                
$announcement->description   $request->description;
                
$announcement->save();

                return 
redirect()->route('announcement.index')->with('success'__('Announcement successfully updated.'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
destroy(Announcement $announcement)
    {
        if(
\Auth::user()->can('delete announcement'))
        {
            if(
$announcement->created_by == \Auth::user()->creatorId())
            {
                
$announcement->delete();

                return 
redirect()->route('announcement.index')->with('success'__('Announcement successfully deleted.'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    public function 
getdepartment(Request $request)
    {

        if(
$request->branch_id == 0)
        {
            
$departments Department::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id')->toArray();
        }
        else
        {
            
$departments Department::where('created_by''='\Auth::user()->creatorId())->where('branch_id'$request->branch_id)->get()->pluck('name''id')->toArray();
        }

        return 
response()->json($departments);
    }

//    public function getemployee(Request $request)
//    {
//        if(in_array('0', $request->department_id))
//        {
//            $employees = Employee::where('created_by', '=', \Auth::user()->creatorId())->get()->pluck('name', 'id')->toArray();
//        }
//        else
//        {
//            $employees = Employee::where('created_by', '=', \Auth::user()->creatorId())->whereIn('department_id', $request->department_id)->get()->pluck('name', 'id')->toArray();
//        }
//
//        return response()->json($employees);
//    }


    
public function getemployee(Request $request)
    {
        
// dd(department_id);
        
if(!$request->department_id )
        {
            
$employees Employee::where('created_by''='\Auth::user()->creatorId())->get()->pluck('name''id')->toArray();
        }
        else
        {
            
$employees Employee::where('created_by''='\Auth::user()->creatorId())->where('department_id'$request->department_id)->get()->pluck('name''id')->toArray();
        }

        return 
response()->json($employees);
    }


}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0043 ]--