HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/AnnouncementController.php
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Announcement;
use App\Library\UserLib;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;
use DB;

class AnnouncementController extends Controller
{
    protected $userLib;
    public function __construct(UserLib $userLib)
    {
        $this->userLib = $userLib;
    }


    ### All Announcement
    public function allAnnouncement()
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $AllAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $PublishedAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $DraftAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $TrashAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        return view('admin.all-announcement', ['AllAnnouncement' => $AllAnnouncement, 'PublishedAnnouncement' => $PublishedAnnouncement, 'DraftAnnouncement' => $DraftAnnouncement, 'TrashAnnouncement' => $TrashAnnouncement]);
    }

    ### Published Announcement
    public function publishedAnnouncement()
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $AllAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $PublishedAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $DraftAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $TrashAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        return view('admin.published-announcement', ['AllAnnouncement' => $AllAnnouncement, 'PublishedAnnouncement' => $PublishedAnnouncement, 'DraftAnnouncement' => $DraftAnnouncement, 'TrashAnnouncement' => $TrashAnnouncement]);
    }

    ### Draft Announcement
    public function draftAnnouncement()
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $AllAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $PublishedAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $DraftAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $TrashAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        return view('admin.draft-announcement', ['AllAnnouncement' => $AllAnnouncement, 'PublishedAnnouncement' => $PublishedAnnouncement, 'DraftAnnouncement' => $DraftAnnouncement, 'TrashAnnouncement' => $TrashAnnouncement]);
    }

    ### Trash Announcement
    public function trashAnnouncement()
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $AllAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $PublishedAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $DraftAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '0')
            ->where('tbl_announcement.Status', '=', '0')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        $TrashAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.IsDeleted', '=', '1')
            ->orderBy('tbl_announcement.id', 'desc')
            ->get();
        return view('admin.trash-announcement', ['AllAnnouncement' => $AllAnnouncement, 'PublishedAnnouncement' => $PublishedAnnouncement, 'DraftAnnouncement' => $DraftAnnouncement, 'TrashAnnouncement' => $TrashAnnouncement]);
    }

    ### View Announcement
    public function viewAnnouncement($AnnouncementId)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $ViewAnnouncement = Announcement::select('tbl_announcement.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
            ->leftJoin('tbl_admin', 'tbl_announcement.Updated_by', '=', 'tbl_admin.UserId')
            ->where('tbl_announcement.AnnouncementId', $AnnouncementId)
            ->get()
            ->first();
        return view('admin.view-announcement', ['Announcement' => $ViewAnnouncement]);
    }

    ### Store New Record
    public function storeAnnouncement(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }

        $input = $request->all();
        $data = $input;
       ##Upload AnnouncementFile
        // $path = '';
        // $addAnnouncementFile = $request->file('addAnnouncementFile');
        // $imageName = $this->userLib->useridGenrator();
        // $path = '';
        // $FileOriginalName ='';
        // if ($request->hasFile('addAnnouncementFile')) {
        //     $file = $request->file('addAnnouncementFile');
        //     $FileOriginalName = $file->getClientOriginalName();
        //     $extension = $file->getClientOriginalExtension();
        //     $newFileName = $imageName . '-' . time() . '.' . $extension;

        //     // Storage::putFileAs(
        //     //     'public/announcement',
        //     //     $file,
        //     //     $newFileName
        //     // );
        //     // $path = Storage::url('announcement/' . $newFileName);

        //     $destinationPath = 'storage/announcement';
        //     $isUploaded = $file->move($destinationPath,$newFileName);

        //     if($isUploaded)
        //     {
        //         $path = 'storage/announcement/' . $newFileName;
        //     }
        // }
        // if ($addAnnouncementFile) {
        //     $data['AnnouncementFile'] = $path;
        //     $data['FileOriginalName'] = $FileOriginalName;
        // }

        $imageName = $this->userLib->useridGenrator();
        if ($request->hasFile('addAnnouncementFile'))
        {
            $path = '';
            $file = $request->file('addAnnouncementFile');
            $FileOriginalName = $file->getClientOriginalName();
            $extension = $file->getClientOriginalExtension();
            $newFileName = $imageName . '-' . time() . '.' . $extension;

            Storage::putFileAs(
                'public/announcement',
                $file,
                $newFileName
            );
            $destinationPath = 'announcement';
            $isUploaded = $file->move($destinationPath,$newFileName);

            $uploadedFileURL='';
            if($isUploaded)
            {
                $path = 'announcement/' . $newFileName;
                $ThumbnailUrl = $path;

                //File Upload Service
                $sourceFileURL = env('APP_URL').'/'.$path;
                $curl = curl_init();
                curl_setopt_array($curl, array(
                CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_ENCODING => '',
                CURLOPT_MAXREDIRS => 10,
                CURLOPT_TIMEOUT => 0,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => 'POST',
                CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
                CURLOPT_HTTPHEADER => array(
                    'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
                ),
                ));
                $response = curl_exec($curl);
                curl_close($curl);
                $uploadedFile = json_decode($response,true);
                $uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
            }
            $data['AnnouncementFile'] = $uploadedFileURL;
            $data['FileOriginalName'] = $FileOriginalName;
        }

        // Start Date
        $SDate = '';
        if ($input['addStartDate']) {
            $SDate = str_replace('/', '-', $input['addStartDate']);
        }
        $StartDate = date('d-m-Y', strtotime($SDate));

        // End Date
        $EDate = '';
        if ($input['addEndDate']) {
            $EDate = str_replace('/', '-', $input['addEndDate']);
        }
        $EndDate = date('d-m-Y', strtotime($EDate));

        $data['AnnouncementNo'] = "ANC-" . time() . '-' . rand();
        $data['StartDate'] = $StartDate;
        $data['EndDate'] = $EndDate;
        $g_AnnouncementId =  $this->userLib->useridGenrator();
        $data['AnnouncementId'] = $g_AnnouncementId;

        $data['IsDeleted'] = 0;
        $data['Created_by'] = session('UserId');
        $data['Created_at'] = date('Y-m-d H:i:s', time());
        $data['Updated_by'] = session('UserId');
        $data['Updated_at'] = date('Y-m-d H:i:s', time());
        $data['DeviceName'] = 'Web';

        unset($data['_token']);
        unset($data['addAnnouncementFile']);
        unset($data['addStartDate']);
        unset($data['addEndDate']);
        unset($data['addStartTime']);
        unset($data['addEndTime']);
        $insert_announcement = Announcement::insert($data);

        $AnnouncementId = $g_AnnouncementId;
        $AnnouncementTitle = $input['AnnouncementTitle'];
        $AnnouncementNo = "ANC-" . time() . '-' . rand();
        $StartDate_sf = $StartDate;
        $EndDate_sf = $EndDate;
        if ($input['StartTime']) {
            $StartTime = $input['StartTime'];
        }
        else{
        $StartTime = '';
        }
        if ($input['EndTime']) {
            $EndTime = $input['EndTime'];
        }
        else{
        $EndTime = '';
        }
        $AnnouncementMessage = $input['AnnouncementMessage'];
        $IsDeleted = 0;
        $Status = 1;

        DB::connection('pgsql')->insert("insert into salesforce.Announcement__c (Announcement_Id__c,Announcement_Title__c,Announcement_No__c,Start_Date__c,End_Date__c,Start_Time__c,End_Time__c,Announcement_Message__c,IsDeleted,Status__c) values ('$AnnouncementId','$AnnouncementTitle','$AnnouncementNo','$StartDate_sf','$EndDate_sf','$StartTime','$EndTime','$AnnouncementMessage','$IsDeleted','$Status')");

        if ($insert_announcement) {
            return response()->json('status_success');
        } else {
            return response()->json('status_failed');
        }
    }

    #### Change Status
    public function statusUpdateAnnouncement($AnnouncementId)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $data = Announcement::select('tbl_announcement.*')
            ->where('AnnouncementId', $AnnouncementId)
            ->get()
            ->first();
        $get_status = $data['Status'];

        if ($get_status == '1') {
            $value['Status'] = '0';
        } else {
            $value['Status'] = '1';
        }

        $value['Updated_by'] = session('UserId');
        $value['Updated_at'] = date('Y-m-d H:i:s', time());

        Announcement::where('AnnouncementId', $AnnouncementId)->update($value);
        return response()->json('status_update');
    }


    #### Delete Temporary
    public function deleteAnnouncement($id)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $CreatedDate = date('Y-m-d H:i:s', time());

        $data = array();
        $data['Updated_at'] = $CreatedDate;
        $data['Updated_by'] = session('UserId');
        $data['IsDeleted'] = '1';
        $data['Status'] = '0';

        $announcement_delete = Announcement::where('AnnouncementId', $id)->update($data);

        DB::connection('pgsql')->update("update salesforce.Announcement__c set IsDeleted='1',Status__c='0' where Announcement_Id__c = '$id'");

        if ($announcement_delete) {
            echo '1';
        } else {
            echo '0';
        }
    }

    #### Delete Selected Announcement
    public function deleteSelectedAnnouncement(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }

        $id = $request->input('SelectedAnnouncement');
        if ($id) {
            foreach ($id as $announcement) {
                $checkData = Announcement::select()
                    ->find($announcement);
                if ($checkData->IsDeleted == '0') {
                    $CreatedDate = date(
                        'Y-m-d H:i:s',
                        time()
                    );
                    $data = array();
                    $data['Updated_at'] = $CreatedDate;
                    $data['IsDeleted'] = '1';
                    $data['Status'] = '0';

                    $selected_announcement = Announcement::where('id', $announcement)->update($data);
                    if ($selected_announcement) {
                        echo '1';
                    } else {
                        echo '0';
                    }
                } else {
                    $selected_announcement = Announcement::find($announcement);
                    $selected_announcement->delete();
                }
            }
        }

        return redirect()->back()->with('status_success');
    }

    #### Restore Announcement
    public function restoreAnnouncement($id)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $CreatedDate = date('Y-m-d H:i:s', time());

        $data = array();
        $data['Updated_at'] = $CreatedDate;
        $data['Updated_by'] = session('UserId');
        $data['IsDeleted'] = '0';

        $announcement_restore = Announcement::where('AnnouncementId', $id)->update($data);

        DB::connection('pgsql')->update("update salesforce.Announcement__c set IsDeleted='0',Status__c='1' where Announcement_Id__c = '$id'");

        if ($announcement_restore) {
            return response()->json('status_success');
        } else {
            return response()->json('status_failed');
        }
    }

    #### Delete Permanent
    public function destroyAnnouncement($id)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $destroyData = Announcement::where('AnnouncementId', $id);
        $destroyData->delete();
    }


    ### Edit Records
    public function editAnnouncement($AnnouncementId)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $Announcement = Announcement::select('tbl_announcement.*')
            ->where('AnnouncementId', '=', $AnnouncementId)
            ->get()->first();
        return response()->json([
            'status' => 200,
            'Announcement' => $Announcement,
        ]);
    }

    ### Update Records
    public function updateAnnouncement(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }

        $input = $request->all();
        $data = $input;

        $AnnouncementId = $input['AnnouncementId'];

        ##Annoucement UpdateFile
        // $path = '';
        // $editAnnouncementFile = $request->file('editAnnouncementFile');
        // $imageName = $this->userLib->useridGenrator();
        // $path = '';
        // if ($request->hasFile('editAnnouncementFile')) {
        //     $file = $request->file('editAnnouncementFile');
        //     $FileOriginalName = $file->getClientOriginalName();
        //     $extension = $file->getClientOriginalExtension();
        //     $newFileName = $imageName . '-' . time() . '.' . $extension;

            // Storage::putFileAs(
            //     'public/announcement',
            //     $file,
            //     $newFileName
            // );
            // $path = Storage::url('announcement/' . $newFileName);
        //     $destinationPath = 'storage/announcement';
        //     $isUploaded = $file->move($destinationPath,$newFileName);

        //     if($isUploaded)
        //     {
        //         $path = 'storage/announcement/' . $newFileName;

        //     }
        // }
        // if ($editAnnouncementFile) {
        //     $data['FileOriginalName'] = $FileOriginalName;
        //     $data['AnnouncementFile'] = $path;
        // }

        $imageName = $this->userLib->useridGenrator();
        if ($request->hasFile('editAnnouncementFile'))
        {
            $path = '';
            $file = $request->file('editAnnouncementFile');
            $FileOriginalName = $file->getClientOriginalName();
            $extension = $file->getClientOriginalExtension();
            $newFileName = $imageName . '-' . time() . '.' . $extension;

            Storage::putFileAs(
                'public/announcement',
                $file,
                $newFileName
            );
            $destinationPath = 'announcement';
            $isUploaded = $file->move($destinationPath,$newFileName);

            $uploadedFileURL='';
            if($isUploaded)
            {
                $path = 'announcement/' . $newFileName;
                $ThumbnailUrl = $path;

                //File Upload Service
                $sourceFileURL = env('APP_URL').'/'.$path;
                $curl = curl_init();
                curl_setopt_array($curl, array(
                CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_ENCODING => '',
                CURLOPT_MAXREDIRS => 10,
                CURLOPT_TIMEOUT => 0,
                CURLOPT_FOLLOWLOCATION => true,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => 'POST',
                CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
                CURLOPT_HTTPHEADER => array(
                    'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
                ),
                ));
                $response = curl_exec($curl);
                curl_close($curl);
                $uploadedFile = json_decode($response,true);
                $uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
            }
            $data['AnnouncementFile'] = $uploadedFileURL;
            $data['FileOriginalName'] = $FileOriginalName;
        }

        // Start Date
        $SDate = '';
        if ($input['editStartDate']) {
            $SDate = str_replace('/', '-', $input['editStartDate']);
        }
        $StartDate = date('d-m-Y', strtotime($SDate));

        // End Date
        $EDate = '';
        if ($input['editEndDate']) {
            $EDate = str_replace('/', '-', $input['editEndDate']);
        }
        $EndDate = date('d-m-Y', strtotime($EDate));

        $data['StartDate'] = $StartDate;
        $data['EndDate'] = $EndDate;

        $data['Updated_by'] = session('UserId');
        $data['Updated_at'] = date('Y-m-d H:i:s', time());
        $data['DeviceName'] = 'Web';

        unset($data['_token']);
        unset($data['editAnnouncementFile']);
        unset($data['editStartDate']);
        unset($data['editEndDate']);
        unset($data['editStartTime']);
        unset($data['editEndTime']);
        unset($data['AnnouncementId']);

        $update_announcement = Announcement::where('AnnouncementId', $AnnouncementId)->update($data);

        $Announcement_Id = $AnnouncementId;
        $AnnouncementTitle = $input['AnnouncementTitle'];
        $StartDate_sf = $input['editStartDate'];
        $EndDate_sf = $input['editEndDate'];
        $StartTime =  $input['StartTime'];
        $EndTime = $input['EndTime'];
        $AnnouncementMessage = $input['AnnouncementMessage'];

        DB::connection('pgsql')->update("update salesforce.Announcement__c set Announcement_Title__c='$AnnouncementTitle',Start_Date__c='$StartDate_sf',End_Date__c='$EndDate_sf',Start_Time__c='$StartTime',End_Time__c='$EndTime',Announcement_Message__c='$AnnouncementMessage' where Announcement_Id__c='$Announcement_Id'");

        if ($update_announcement) {
            return response()->json('status_success');
        } else {
            return response()->json('failed');
        }
    }
}