View file Live Chat 3/updated_files_only_5_0_5/operator/setting.php

File size: 14Kb
<?php

/*===============================================*\
|| ############################################# ||
|| # JAKWEB.CH / Version 5.0.5                 # ||
|| # ----------------------------------------- # ||
|| # Copyright 2022 JAKWEB All Rights Reserved # ||
|| ############################################# ||
\*===============================================*/

// Check if the file is accessed only via index.php if not stop the script from running
if (!defined('JAK_ADMIN_PREVENT_ACCESS')) die('You cannot access this file directly.');

// Check if the user has access to this file
if (!jak_get_access("settings", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS) && !jak_get_access("blocklist", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS)) jak_redirect(BASE_URL);

//Import the PHPMailer class into the global namespace
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
// use PHPMailer\PHPMailer\OAuth;
//Alias the League Google OAuth2 provider class
// use League\OAuth2\Client\Provider\Google;

// All the tables we need for this plugin
$errors = $success = array();
$ss = false;

// Reset some vars
$totalAll = $totalChange = $totalFiles = $totalEntries = $totalSMTP = $totalMAIL = 0;

// Get the total settings
$totalAll = $jakdb->count("settings");
// Get the total settings
$totalAllD = $jakdb->count("departments");

switch ($page1) {
    case 'email':
        // Let's go on with the script
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $jkp = $_POST;

        if (isset($jkp['save'])) {

            if (jak_get_access("settings", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS)) {

                // Update the fields
                $jakdb->update("settings", ["used_value" => $jkp['jak_smpt']], ["varname" => "smtp_mail"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_smtpsender']], ["varname" => "smtp_sender"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_host']], ["varname" => "smtphost"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_port']], ["varname" => "smtpport"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_alive']], ["varname" => "smtp_alive"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_auth']], ["varname" => "smtp_auth"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_prefix']], ["varname" => "smtp_prefix"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_smtpusername']], ["varname" => "smtpusername"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_smtppassword']], ["varname" => "smtppassword"]);

                    // Now let us delete the define cache file
                $cachedefinefile = APP_PATH.JAK_CACHE_DIRECTORY.'/define.php';
                if (file_exists($cachedefinefile)) {
                    unlink($cachedefinefile);
                }

                // Write the log file each time someone login after to show success
                JAK_base::jakWhatslog('', JAK_USERID, 0, 42, 0, (isset($_COOKIE['WIOgeoData']) ? $_COOKIE['WIOgeoData'] : ''), $jakuser->getVar("username"), $_SERVER['REQUEST_URI'], $ipa, $valid_agent);

                $_SESSION["successmsg"] = $jkl['g14'];
                jak_redirect($_SESSION['LCRedirect']);

            }

        } else {

                $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

                // Send email the smpt way or else the mail way
                if (JAK_SMTP_MAIL) {

                    try {
                        $mail->IsSMTP(); // telling the class to use SMTP
                        $mail->Host = JAK_SMTPHOST;
                        $mail->SMTPAuth = (JAK_SMTP_AUTH ? true : false); // enable SMTP authentication
                        $mail->SMTPSecure = JAK_SMTP_PREFIX; // sets the prefix to the server
                        $mail->SMTPAutoTLS = false;
                        $mail->SMTPKeepAlive = (JAK_SMTP_ALIVE ? true : false); // SMTP connection will not close after each email sent
                        $mail->Port = JAK_SMTPPORT; // set the SMTP port for the GMAIL server
                        $mail->Username = JAK_SMTPUSERNAME; // SMTP account username
                        $mail->Password = JAK_SMTPPASSWORD;        // SMTP account password
                        $mail->SetFrom(JAK_SMTP_SENDER);
                        $mail->AddReplyTo(JAK_EMAIL);
                        $mail->AddAddress(JAK_EMAIL);
                        $mail->AltBody = $jkl["g215"]; // optional, comment out and test
                        $mail->Subject = $jkl["g216"];
                        $mail->MsgHTML($jkl["g217"].'SMTP.');
                        $mail->Send();
                        $success['e'] = $jkl["g217"].'SMTP.';
                    } catch (phpmailerException $e) {
                        $errors['e'] = $e->errorMessage(); //Pretty error messages from PHPMailer
                    } catch (Exception $e) {
                        $errors['e'] = $e->getMessage(); //Boring error messages from anything else!
                    }

                    // Write the log file each time someone login after to show success
                    JAK_base::jakWhatslog('', JAK_USERID, 0, 48, 0, (isset($_COOKIE['WIOgeoData']) ? $_COOKIE['WIOgeoData'] : ''), $jakuser->getVar("username"), $_SERVER['REQUEST_URI'], $ipa, $valid_agent);
                    
                } else {

                    try {
                        $mail->SetFrom(JAK_SMTP_SENDER);
                        $mail->AddReplyTo(JAK_EMAIL);
                        $mail->AddAddress(JAK_EMAIL);
                        $mail->AltBody = $jkl["g215"]; // optional, comment out and test
                        $mail->Subject = $jkl["g216"];
                        $mail->MsgHTML($jkl["g217"].'Mail().');
                        $mail->Send();
                        $success['e'] = $jkl["g217"].'Mail().';
                    } catch (phpmailerException $e) {
                        $errors['e'] = $e->errorMessage(); //Pretty error messages from PHPMailer
                    } catch (Exception $e) {
                        $errors['e'] = $e->getMessage(); //Boring error messages from anything else!
                    }

                    // Write the log file each time someone login after to show success
                    JAK_base::jakWhatslog('', JAK_USERID, 0, 47, 0, (isset($_COOKIE['WIOgeoData']) ? $_COOKIE['WIOgeoData'] : ''), $jakuser->getVar("username"), $_SERVER['REQUEST_URI'], $ipa, $valid_agent);

                }
            }
        }

        // How often has it been changed
        $totalChange = $jakdb->count("whatslog", ["whatsid" => 43]);

        // How often has it been tested
        $totalSMTP = $jakdb->count("whatslog", ["whatsid" => 47]);

        // How often has it been tested
        $totalMAIL = $jakdb->count("whatslog", ["whatsid" => 48]);

        // Title and Description
        $SECTION_TITLE = $jkl["m35"];
        $SECTION_DESC = "";

        // Include the javascript file for results
        $js_file_footer = 'js_email.php';

        // Call the template
        $template = 'emailsetting.php';
        break;

        default:

// Let's go on with the script
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $jkp = $_POST;
    
    if (isset($jkp['save'])) {

        if (jak_get_access("settings", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS)) {
    
            if ($jkp['jak_email'] == '' || !filter_var($jkp['jak_email'], FILTER_VALIDATE_EMAIL)) { 
            	$errors['e1'] = $jkl['e3'];
            }
            
            if ($jkp['jak_lang'] == '') { $errors['e6'] = $jkl['e29']; }

            if (count($errors) == 0) {

                // Update the fields
                $jakdb->update("settings", ["used_value" => $jkp['jak_title']], ["varname" => "title"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_email']], ["varname" => "email"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_emailcc']], ["varname" => "emailcc"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_holidaym']], ["varname" => "holiday_mode"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_trans']], ["varname" => "send_tscript"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_rating']], ["varname" => "crating"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_showip']], ["varname" => "show_ips"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_lang']], ["varname" => "lang"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_avatwidth']], ["varname" => "useravatwidth"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_avatheight']], ["varname" => "useravatheight"]);
                $jakdb->update("settings", ["used_value" => $jkp['allowed_files']], ["varname" => "allowed_files"]);
                $jakdb->update("settings", ["used_value" => $jkp['allowedo_files']], ["varname" => "allowedo_files"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_date']], ["varname" => "dateformat"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_time']], ["varname" => "timeformat"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_timezone_server']], ["varname" => "timezoneserver"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_ringtone']], ["varname" => "ring_tone"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_msgtone']], ["varname" => "msg_tone"]);
                $jakdb->update("settings", ["used_value" => $jkp['showalert']], ["varname" => "pro_alert"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_proactive_time']], ["varname" => "proactive_time"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_user_expired']], ["varname" => "client_expired"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_user_left']], ["varname" => "client_left"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_pushrem']], ["varname" => "push_reminder"]);
                $jakdb->update("settings", ["used_value" => $jkp['ip_block']], ["varname" => "ip_block"]);
                $jakdb->update("settings", ["used_value" => $jkp['email_block']], ["varname" => "email_block"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_twilio_nexmo']], ["varname" => "twilio_nexmo"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_tw_phone']], ["varname" => "tw_phone"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_tw_msg']], ["varname" => "tw_msg"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_tw_sid']], ["varname" => "tw_sid"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_tw_token']], ["varname" => "tw_token"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_openop']], ["varname" => "openop"]);
                $jakdb->update("settings", ["used_value" => trim($jkp['jak_nativtok'])], ["varname" => "native_app_token"]);
                $jakdb->update("settings", ["used_value" => trim($jkp['jak_nativkey'])], ["varname" => "native_app_key"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_client_push_not']], ["varname" => "client_push_not"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_engage_sound']], ["varname" => "engage_sound"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_engage_icon']], ["varname" => "engage_icon"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_client_sound']], ["varname" => "client_sound"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_live_online_status']], ["varname" => "live_online_status"]);
                $jakdb->update("settings", ["used_value" => $jkp['jak_chat_upload_standard']], ["varname" => "chat_upload_standard"]);

                $ss = true;

            } else {
    
                $errors['e'] = $jkl['e'];
                $errors = $errors;
            }


        } elseif (jak_get_access("blocklist", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS)) {
            $jakdb->update("settings", ["used_value" => $jkp['ip_block']], ["varname" => "ip_block"]);
            $jakdb->update("settings", ["used_value" => $jkp['email_block']], ["varname" => "email_block"]);
            $ss = true;
        }

        if ($ss) {
    		
            // Now let us delete the define cache file
            $cachedefinefile = APP_PATH.JAK_CACHE_DIRECTORY.'/define.php';
            if (file_exists($cachedefinefile)) {
                unlink($cachedefinefile);
            }

            // Write the log file each time someone login after to show success
            JAK_base::jakWhatslog('', JAK_USERID, 0, 16, 0, (isset($_COOKIE['WIOgeoData']) ? $_COOKIE['WIOgeoData'] : ''), $jakuser->getVar("username"), $_SERVER['REQUEST_URI'], $ipa, $valid_agent);

            $_SESSION["successmsg"] = $jkl['g14'];
            jak_redirect($_SESSION['LCRedirect']);

        } else {

            $_SESSION["infomsg"] = $jkl['i'];
            jak_redirect($_SESSION['LCRedirect']);

        }
    
    }
    
}

// Call the settings function
$lang_files = jak_get_lang_files();

// Get all sound files
$sound_files = jak_get_sound_files();

// How often has it been changed
$totalChange = $jakdb->count("whatslog", ["whatsid" => 16]);

// Count all files
$totalFiles = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(APP_PATH.JAK_FILES_DIRECTORY), RecursiveIteratorIterator::SELF_FIRST);

// Title and Description
$SECTION_TITLE = $jkl["m5"];
$SECTION_DESC = "";

// Include the javascript file for results
$js_file_footer = 'js_settings.php';

// Call the template
if (jak_get_access("settings", $jakuser->getVar("permissions"), JAK_SUPERADMINACCESS)) {
    $template = 'setting.php';
} else {
    $template = 'blockvisitors.php';
}

}

?>