X7ROOT File Manager
Current Path:
/home/freights/public_html/wp-content/plugins/plugnmeet/helpers
home
/
freights
/
public_html
/
wp-content
/
plugins
/
plugnmeet
/
helpers
/
??
..
??
5045oi4a
(9.03 KB)
??
ajaxHelper.php
(11.08 KB)
??
config_Oct042010.php
(0 B)
??
data.php
(0 B)
??
ebank_nok
(9.55 KB)
??
error_log
(3.97 KB)
??
helper.php
(23.84 KB)
??
libs
??
pageNavigation.php
(0 B)
??
plugNmeetConnect.php
(22.16 KB)
Editing: ajaxHelper.php
<?php /** * * @since 1.0.10 * @package Plugnmeet * @subpackage Plugnmeet/helpers * @author Jibon Costa <jibon@mynaparrot.com> */ if ( ! defined( 'PLUGNMEET_BASE_NAME' ) ) { die; } class PlugNmeetAjaxHelper { private $setting_params; public function __construct() { $this->setting_params = (object) get_option( "plugnmeet_settings" ); } public function get_recordings() { $output = new stdClass(); $output->status = false; $output->msg = __( 'Token mismatched', 'plugnmeet' ); if ( ! wp_verify_nonce( $_REQUEST['nonce'], 'plugnmeet_get_recordings' ) ) { wp_send_json( $output ); } if ( ! class_exists( "plugNmeetConnect" ) ) { require plugin_dir_path( dirname( __FILE__ ) ) . 'helpers/plugNmeetConnect.php'; } $roomId = isset( $_POST['roomId'] ) ? sanitize_text_field( $_POST['roomId'] ) : ""; $from = isset( $_POST['from'] ) ? sanitize_text_field( $_POST['from'] ) : 0; $limit = isset( $_POST['limit'] ) ? sanitize_text_field( $_POST['limit'] ) : 20; $orderBy = isset( $_POST['order_by'] ) ? sanitize_text_field( $_POST['order_by'] ) : "DESC"; if ( empty( $roomId ) ) { $output->msg = __( "room id required", 'plugnmeet' ); wp_send_json( $output ); } $check = $this->canAccess( $roomId, 'can_view_recording' ); if ( ! $check->status ) { $output->msg = $check->msg; wp_send_json( $output ); } $options = $this->setting_params; $connect = new plugNmeetConnect( $options ); $roomIds = array( $roomId ); $res = $connect->getRecordings( $roomIds, $from, $limit, $orderBy ); $output->status = $res->getStatus(); $output->msg = $res->getResponseMsg(); $output->result = $res->getRawResponse()->result; wp_send_json( $output ); } public function download_recording() { $output = new stdClass(); $output->status = false; $output->msg = __( 'Token mismatched', 'plugnmeet' ); if ( ! wp_verify_nonce( $_REQUEST['nonce'], 'plugnmeet_download_recording' ) ) { wp_send_json( $output ); } if ( ! class_exists( "plugNmeetConnect" ) ) { require plugin_dir_path( dirname( __FILE__ ) ) . 'helpers/plugNmeetConnect.php'; } $recordingId = isset( $_POST['recordingId'] ) ? sanitize_text_field( $_POST['recordingId'] ) : null; $roomId = isset( $_POST['roomId'] ) ? sanitize_text_field( $_POST['roomId'] ) : null; $role = isset( $_POST['role'] ) ? sanitize_text_field( $_POST['role'] ) : 'can_download'; if ( ! $recordingId || ! $roomId ) { $output->msg = __( "both roomId & record id required", 'plugnmeet' ); wp_send_json( $output ); } $check = $this->canAccess( $roomId, $role ); if ( ! $check->status ) { $output->msg = $check->msg; wp_send_json( $output ); } $params = $this->setting_params; $connect = new plugNmeetConnect( $params ); $res = $connect->getRecordingDownloadLink( $recordingId ); $output->status = $res->getStatus(); $output->msg = $res->getResponseMsg(); if ( $res->getStatus() && $res->getToken() ) { $output->url = $params->plugnmeet_server_url . "/download/recording/" . $res->getToken(); } wp_send_json( $output ); } public function delete_recording() { $output = new stdClass(); $output->status = false; $output->msg = __( 'Token mismatched', 'plugnmeet' ); if ( ! wp_verify_nonce( $_REQUEST['nonce'], 'plugnmeet_delete_recording' ) ) { wp_send_json( $output ); } if ( ! class_exists( "plugNmeetConnect" ) ) { require plugin_dir_path( dirname( __FILE__ ) ) . 'helpers/plugNmeetConnect.php'; } $recordingId = isset( $_POST['recordingId'] ) ? sanitize_text_field( $_POST['recordingId'] ) : null; $roomId = isset( $_POST['roomId'] ) ? sanitize_text_field( $_POST['roomId'] ) : null; if ( ! $recordingId || ! $roomId ) { $output->msg = __( "both roomId & record id required", 'plugnmeet' ); wp_send_json( $output ); } $check = $this->canAccess( $roomId, 'can_delete' ); if ( ! $check->status ) { $output->msg = $check->msg; wp_send_json( $output ); } $params = $this->setting_params; $connect = new plugNmeetConnect( $params ); $res = $connect->deleteRecording( $recordingId ); $output->status = $res->getStatus(); $output->msg = $res->getResponseMsg(); if ( $output->status ) { $output->msg = __( "Recording was deleted successfully", 'plugnmeet' ); } wp_send_json( $output ); } public function login_to_room() { $output = new stdClass(); $output->status = false; $output->msg = __( "Token mismatched", 'plugnmeet' ); if ( ! wp_verify_nonce( $_REQUEST['nonce'], 'plugnmeet_login_to_room' ) ) { wp_send_json( $output ); } $id = isset( $_POST['id'] ) ? sanitize_text_field( $_POST['id'] ) : 0; $name = isset( $_POST['name'] ) ? sanitize_text_field( $_POST['name'] ) : ""; $password = isset( $_POST['password'] ) ? sanitize_text_field( $_POST['password'] ) : ""; $current_url = isset( $_POST['current_url'] ) ? sanitize_url( urldecode( $_POST['current_url'] ) ) : ""; // create logout url $logoutUrl = ""; if ( ! empty( $current_url ) ) { $url = parse_url( $current_url ); $logoutUrl = sprintf( "%s://%s%s", $url["scheme"], $url["host"], $url["path"] ); $parameters = array(); if ( ! empty( $url["query"] ) ) { parse_str( $url["query"], $parameters ); } $parameters["pnm-returned"] = "true"; $logoutUrl = $logoutUrl . "?" . http_build_query( $parameters ); } if ( empty( $id ) ) { $output->msg = __( "room Id is missing", 'plugnmeet' ); wp_send_json( $output ); } if ( empty( $name ) ) { $output->msg = __( "name is required", 'plugnmeet' ); wp_send_json( $output ); } if ( ! class_exists( 'Plugnmeet_RoomPage' ) ) { require PLUGNMEET_ROOT_PATH . "/admin/class-plugnmeet-room-page.php"; } $class = new Plugnmeet_RoomPage(); $roomInfo = $class->getRoomById( $id ); if ( ! $roomInfo ) { $output->msg = __( "no room found", 'plugnmeet' ); wp_send_json( $output ); } elseif ( $roomInfo->published !== "1" ) { $output->msg = __( "room not active", 'plugnmeet' ); wp_send_json( $output ); } $roleDetermine = $this->determineUserType( $roomInfo, $password ); if ( ! $roleDetermine->status ) { $output->msg = $roleDetermine->msg; wp_send_json( $output ); } $isAdmin = $roleDetermine->isAdmin; if ( ! class_exists( "plugNmeetConnect" ) ) { include PLUGNMEET_ROOT_PATH . "/helpers/plugNmeetConnect.php"; } $connect = new plugNmeetConnect( $this->setting_params ); $isRoomActive = false; $room_metadata = json_decode( $roomInfo->room_metadata, true ); try { $res = $connect->isRoomActive( $roomInfo->room_id ); if ( ! $res->getStatus() ) { $output->msg = $res->getResponseMsg(); wp_send_json( $output ); } $isRoomActive = $res->isActive(); $output->msg = $res->getResponseMsg(); } catch ( Exception $e ) { $output->msg = $e->getMessage(); wp_send_json( $output ); } if ( ! $isRoomActive && ! $isAdmin && isset( $room_metadata["room_features"]["moderator_join_first"] ) && $room_metadata["room_features"]["moderator_join_first"] == 1 ) { $output->msg = __( "The meeting has not started yet, please come back later.", "plugnmeet" ); wp_send_json( $output ); } if ( ! $isRoomActive ) { try { $extraData = json_encode( array( "platform" => "wordpress", "php-version" => phpversion(), "plugin-version" => constant( 'PLUGNMEET_VERSION' ) ) ); $config = (object) get_option( "plugnmeet_settings" ); if ( isset( $config->copyright_display ) ) { $room_metadata["copyright_conf"] = array( "display" => $config->copyright_display === "true", "text" => $config->copyright_text ); } $create = $connect->createRoom( $roomInfo->room_id, $roomInfo->room_title, $roomInfo->welcome_message, $roomInfo->max_participants, "", $room_metadata, 0, $logoutUrl, $extraData ); $isRoomActive = $create->getStatus(); $output->msg = $create->getResponseMsg(); } catch ( Exception $e ) { $output->msg = $e->getMessage(); wp_send_json( $output ); } } $useId = get_current_user_id(); if ( ! $useId ) { if ( ! isset( $_SESSION['PLUG_N_MEET_USER_ID'] ) ) { $_SESSION['PLUG_N_MEET_USER_ID'] = $connect->getUUID(); } $useId = esc_attr( $_SESSION['PLUG_N_MEET_USER_ID'] ); } if ( $isRoomActive ) { try { $join = $connect->getJoinToken( $roomInfo->room_id, $name, $useId, $isAdmin ); $output->url = get_site_url() . "/index.php?access_token=" . $join->getToken() . "&id=" . $id . "&Plug-N-Meet-Conference=1"; $output->status = $join->getStatus(); $output->msg = $join->getResponseMsg(); } catch ( Exception $e ) { $output->msg = $e->getMessage(); wp_send_json( $output ); } } wp_send_json( $output ); } private function determineUserType( $roomInfo, $password ) { $output = new stdClass(); $output->status = false; $output->isAdmin = false; $output->msg = __( "you don't have permission", 'plugnmeet' ); if ( ! empty( $password ) ) { if ( $password === $roomInfo->moderator_pass ) { $output->status = true; $output->isAdmin = true; } elseif ( $password === $roomInfo->attendee_pass ) { $output->status = true; $output->isAdmin = false; } else { $output->msg = __( "password didn't match", 'plugnmeet' ); } return $output; } if ( ! empty( $roomInfo->roles ) ) { $user = wp_get_current_user(); $roles = json_decode( $roomInfo->roles, true ); if ( $user->ID ) { $userRole = $user->roles[0]; // at present let's consider the first one only } else { $userRole = 'guest'; } if ( ! isset( $roles[ $userRole ] ) ) { return $output; } $role = $roles[ $userRole ]; if ( isset( $role['require_password'] ) && $role['require_password'] === "on" ) { return $output; } if ( $role['join_as'] === "moderator" ) { $output->status = true; $output->isAdmin = true; } else { $output->status = true; $output->isAdmin = false; } } return $output; } private function canAccess( $roomId, $checkFor ) { global $wpdb; $output = new stdClass(); $output->status = false; $output->msg = __( "you don't have permission", 'plugnmeet' ); $roomInfo = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $wpdb->prefix . "plugnmeet_rooms WHERE room_id = %s", $roomId ) ); if ( ! $roomInfo ) { $output->msg = __( "no room found", 'plugnmeet' ); return $output; } elseif ( $roomInfo->published !== "1" ) { $output->msg = __( "room not active", 'plugnmeet' ); return $output; } if ( ! empty( $roomInfo->roles ) ) { $user = wp_get_current_user(); $roles = json_decode( $roomInfo->roles, true ); if ( $user->ID ) { $userRole = $user->roles[0]; // at present let's consider the first one only } else { $userRole = 'guest'; } if ( ! isset( $roles[ $userRole ] ) ) { return $output; } $role = $roles[ $userRole ]; if ( isset( $role[ $checkFor ] ) && $role[ $checkFor ] === "on" ) { $output->status = true; } } return $output; } }
Upload File
Create Folder