Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Mysql
- {
- private $conn;
- private $query;
- private $log_init;
- private $log;
- private $groupList = array();
- private $serverList = array();
- function __construct()
- {
- global $logger;
- $this->log =& $logger;
- if (!empty($_SESSION['status']) && $_SESSION['status'] == "authorized") {
- $this->log_init = 'User [' . $_SESSION['username'] . '] (' . $_SESSION['remote_address'] . ') | ';
- }
- $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database.');
- date_default_timezone_set('Africa/Khartoum');
- }
- function verify_Username_and_Pass($un, $pwd)
- {
- $query = "SELECT *FROM members
- WHERE username = ? AND password = ?
- LIMIT 1";
- if ($stmt = $this->conn->prepare($query)) {
- $stmt->bind_param('ss', $un, $pwd);
- $stmt->execute();
- unset($query);
- if ($stmt->fetch()) {
- $stmt->close();
- return true;
- }
- }
- }
- function get_reseller_id($un)
- {
- unset($query);
- $query = "SELECT reseller
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->reseller;
- $stmt->close();
- }
- }
- function get_member_serverallow($un)
- {
- unset($query);
- $query = "SELECT serverallow
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- $result1 = $result->serverallow;
- $stmt->close();
- return $result1;
- } else {
- return 1;
- }
- }
- function get_member_profileallow($un)
- {
- unset($query);
- $query = "SELECT profileallow
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->profileallow;
- $stmt->close();
- } else {
- return $this->get_sum_profile_ident_by_server($this->get_member_serverallow($un));
- ;
- }
- }
- function get_member_total_user($un)
- {
- unset($query);
- $query = "SELECT total_users
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->total_users;
- $stmt->close();
- } else {
- return 0;
- }
- }
- function get_member_active_user($un)
- {
- unset($query);
- $query = "SELECT active_users
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->active_users;
- $stmt->close();
- } else {
- return 0;
- }
- }
- public function getMemberList()
- {
- $query = "SELECT * FROM members
- ORDER BY id";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- $results_array = array();
- while ($row = $result->fetch_object()) {
- $results_array[] = $row;
- }
- }
- }
- return $results_array;
- }
- function get_reseller_profile_allow($reseller_username, $server = 1)
- {
- unset($query);
- $query = "SELECT profileallow
- FROM members
- WHERE username = '$reseller_username'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->profileallow;
- $stmt->close();
- } else {
- return $this->get_sum_profile_ident_by_server($server);
- }
- }
- function get_reseller_server_allow($reseller_username)
- {
- unset($query);
- $query = "SELECT serverallow
- FROM members
- WHERE username = '$reseller_username'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->serverallow;
- $stmt->close();
- } else {
- return 1;
- }
- }
- //select sum(ident) from profiles where server=1 and profileport <> 0
- //Get Sum of Profile ident by Server
- function get_sum_profile_ident_by_server($server)
- {
- $query = "SELECT SUM(ident) FROM profiles
- WHERE server = $server
- and profileport <> 0";
- if ($stmt = $this->conn->query($query)) {
- $num_of_rows = $stmt->num_rows;
- if ($num_of_rows >= 1) {
- $result1 = $stmt->fetch_array(MYSQLI_NUM);
- $result = intval($result1[0]);
- }
- return $result;
- }
- }
- function get_permission_id($un)
- {
- unset($query);
- $query = "SELECT permissions
- FROM members
- WHERE username = '$un'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result->permissions;
- $stmt->close();
- }
- }
- //================================================== Server Section ============================================================
- // Add New Server Data
- function add_server($server_name, $host_name)
- {
- $others = new Others;
- $last_number = $others->get_greater_number("csservers", "list");
- $last_number = $last_number + 1;
- $query = "INSERT INTO csservers
- (hostname, servername, list)
- VALUES ('$host_name', '$server_name', $last_number)";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Server successfully created.\n";
- return $responce;
- }
- }
- // Get All Data Server By ID
- function get_server_data($id)
- {
- $query = "SELECT * FROM csservers
- WHERE id = '$id'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_array();
- return $result;
- }
- }
- // Get All Data Server By List
- function get_server_data_bylist($list)
- {
- $query = "SELECT * FROM csservers
- WHERE list = '$list'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_array();
- return $result;
- }
- }
- // Update Data server($id,$list,$hostname,$servername) By ID
- function edit_server_data($id, $list, $hostname, $servername)
- {
- $query = "UPDATE csservers
- SET hostname = '$hostname', servername = '$servername'
- WHERE id =$id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Server successfully Updated.\n";
- return $responce;
- }
- }
- // Delete Data server By ID
- function del_server($id)
- {
- $query = "DELETE FROM csservers
- WHERE id = $id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Server successfully Deleted.\n";
- return $responce;
- } else {
- return "Error: Server can not be deleted... ";
- }
- }
- //Get Server Host, Server Name By Server List "Use to build server options"
- function get_server_name($server)
- {
- $query = "SELECT * FROM csservers
- WHERE list= $server
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result1 = $stmt->fetch_row();
- $result = array(
- $result1[3],
- $result1[2]
- );
- //$result1[2] = Server Host '10.10.10.2'
- //$result1[3] = Server Name 'Test Server'
- return $result;
- }
- }
- // Get total servers nu,ber
- function get_num_servers()
- {
- $query = "SELECT * FROM csservers";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->num_rows;
- return $result;
- }
- }
- function serverList()
- {
- if (isset($_SESSION['serverList']))
- return $_SESSION['serverList'];
- unset($query);
- unset($result);
- $query = "SELECT *
- FROM csservers ";
- if (isset($_SESSION['serverallow']) && $_SESSION['serverallow'] <> 0) {
- $query .= "WHERE list = " . $_SESSION['serverallow'] . " ";
- }
- $query .= "ORDER BY list ";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- if ($row->list == 0)
- continue;
- $server = array(
- 'list' => $row->list,
- 'servername' => $row->servername,
- 'hostname' => $row->hostname
- );
- $this->serverList[] = $server;
- }
- } else {
- $response = "there is no Group data in table!!";
- }
- }
- return $this->serverList;
- }
- public function getServerList()
- {
- $query = "SELECT * FROM csservers
- ORDER BY id";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- $results_array = array();
- while ($row = $result->fetch_object()) {
- if ($row->list == 0)
- continue;
- $results_array[] = $row;
- }
- }
- }
- return $results_array;
- }
- //************************************************* End Server Section ********************************************************
- //================================================== Profiles Section ============================================================
- //Add New Profile Data
- // id server list ident profilename profileport profiledesc profiledetails
- //add_profile($_POST['server_list'],$_POST['profile_name'],$_POST['profile_desc'],$_POST['profile_port'],$_POST['profile_key']);
- function add_profile($server, $profilename, $profiledetails, $profileport, $profiledesc)
- {
- $others = new Others;
- $list_number = $others->get_greater_number("profiles", "list", "server", "$server");
- if ($list_number >= 0) {
- $list_number++;
- } else {
- $responce = "Error.\n";
- return $responce;
- }
- $ident_number = $others->get_greater_number("profiles", "ident", "server", "$server");
- $ident_number = $ident_number == 0 ? $ident_number = 1 : $ident_number << 1;
- $query = "INSERT INTO profiles
- (server, list, ident, profilename, profileport, profiledesc, profiledetails)
- VALUES ($server, $list_number, $ident_number, '$profilename', $profileport, '$profiledesc', '$profiledetails')";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Profile successfully created.\n";
- return $responce;
- }
- }
- //Get Profile Data
- function get_profile_data($id)
- {
- $query = "SELECT * FROM profiles
- WHERE id = '$id'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_array();
- return $result;
- }
- }
- //Edit Profile Data
- function edit_profile_data($id, $server, $profilename, $profiledetails, $profileport, $profiledesc)
- {
- $others = new Others;
- $if_same_server = $this->get_profile_data($id);
- if ($server != $if_same_server['server']) {
- $list_number = $others->get_greater_number("profiles", "list", "server", "$server") + 1;
- $ident_number = $others->get_greater_number("profiles", "ident", "server", "$server") << 1;
- $query = "UPDATE profiles
- SET server = '$server', ident = $ident_number, list = $list_number, profilename = '$profilename'
- , profiledetails = '$profiledetails', profileport = '$profileport', profiledesc = '$profiledesc'
- WHERE id =$id
- LIMIT 1";
- } else {
- $query = "UPDATE profiles
- SET profilename = '$profilename', profiledetails = '$profiledetails',
- profileport = '$profileport', profiledesc = '$profiledesc'
- WHERE id =$id
- LIMIT 1";
- }
- if ($stmt = $this->conn->query($query)) {
- $responce = "Profile successfully Updated.\n";
- unset($list_number);
- return $responce;
- } else {
- $responce = "Error: Can not edit this record, there is missing data.";
- return $responce;
- }
- }
- //Delete Profile Data
- function del_profile($id)
- {
- $query = "DELETE FROM profiles
- WHERE id = $id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Server successfully Deleted.\n";
- return $responce;
- }
- }
- public function getProfileList()
- {
- $error = "";
- $query1 = "SELECT server FROM profiles
- GROUP BY server
- ORDER BY server";
- if ($result1 = $this->conn->query($query1)) {
- $num_of_rows = $result1->num_rows;
- if ($num_of_rows >= 1) {
- $results_array1 = array();
- $results_array3 = array();
- while ($row1 = $result1->fetch_object()) {
- $query2 = "SELECT * FROM profiles WHERE server= '";
- $query2 .= $row1->server;
- $query2 .= "' ORDER BY id";
- $serverNumber = $row1->server;
- $serverNameHost = $this->get_server_name($serverNumber);
- $serverNameHost = array(
- $serverNameHost['0'] => $serverNameHost['1']
- );
- if ($result2 = $this->conn->query($query2)) {
- $num_of_rows = $result2->num_rows;
- if ($num_of_rows >= 1) {
- $results_array2 = array();
- while ($row2 = $result2->fetch_object()) {
- $results_array2[] = $row2;
- }
- $results_array3[] = array(
- $serverNameHost,
- $results_array2
- );
- }
- } else {
- echo "There is no profiles available for this server";
- }
- $results_array[] = $results_array3;
- }
- }
- } else {
- $error = "There is no profiles available";
- }
- return $results_array3;
- }
- //************************************************* End Profiles Section ********************************************************
- //================================================== Members Section ============================================================
- // id username password reseller total_users active_users permissions
- //Add Member Data
- function add_member($username, $password, $reseller_group, $reseller = 1, $total_users, $active_users, $permissions = 2, $serverAllow, $profileAllow)
- {
- // if it old version cspum
- $oldver = $reseller_group == null ? true : false;
- $query = "INSERT INTO members
- (username, password, reseller, total_users, active_users, permissions, serverallow, profileallow";
- $query .= $oldver ? ")" : " ,reseller_group)";
- $query .= "VALUES ('$username', '$password', $reseller, $total_users, $active_users, $permissions, $serverAllow, $profileAllow";
- $query .= $oldver ? ")" : " ,'$reseller_group')";
- if ($stmt = $this->conn->query($query)) {
- $response = "Member successfully created.\n";
- return $response;
- } else {
- $response = "Error: " . $this->conn->error;
- return $response;
- }
- }
- //Get Member Data
- function get_member_data($id)
- {
- $query = "SELECT * FROM members
- WHERE id = '$id'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result;
- }
- }
- //Edit Member Data
- //$mysql->edit_member_data($member_data['id'],$member_data['username'],md5($_POST['password']),$_POST['reseller']
- // ,$_POST['total_users'],$_POST['active_users'],$_POST['permissions']);
- // id username password reseller total_users active_users permissions
- function edit_member_data($id, $username, $password, $reseller_group, $reseller, $total_users, $active_users, $permissions, $serverAllow, $profileAllow)
- {
- $query = "UPDATE members SET username = '$username', ";
- $query .= (!is_null($password)) ? "password = '$password', " : "";
- $query .= (!empty($reseller_group)) ? "reseller_group = '$reseller_group', " : "";
- $query .= " reseller = $reseller,
- total_users = $total_users,
- active_users = $active_users,
- permissions = $permissions,
- serverallow = $serverAllow,
- profileallow = $profileAllow
- WHERE id =$id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Member successfully Updated.\n";
- unset($list_number);
- return $responce;
- } else {
- $response = "Error: " . $this->conn->error . "<br/> or older db version.. remove Reseller Group Name and try again";
- return $response;
- }
- }
- //Delete Member Data
- function del_member($id)
- {
- $query = "DELETE FROM members
- WHERE id = $id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $responce = "Member successfully Deleted.\n";
- return $responce;
- }
- }
- function groupsList()
- {
- global $membership;
- if (isset($_SESSION['groupList']) && !empty($_SESSION['groupList']))
- return $_SESSION['groupList'];
- $reseller = (!isset($_SESSION['reseller'])) ? $this->get_reseller_id($membership->getUsername()) : $_SESSION['reseller'];
- unset($query);
- unset($result);
- $query = "SELECT reseller_group
- FROM members ";
- if (isset($reseller) && $reseller <> 0) {
- $query .= "WHERE reseller = " . $reseller . " AND WHERE reseller <> 0 ";
- } else {
- $query .= "WHERE reseller <> 0 ";
- }
- $query .= "GROUP BY reseller_group
- ORDER BY id";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- $this->groupList[] = $row->reseller_group;
- }
- }
- } else {
- $query = "SELECT server
- FROM users ";
- if (isset($reseller) && $reseller <> 0) {
- $query .= "WHERE reseller = " . $reseller . " ";
- }
- $query .= "GROUP BY server
- ORDER BY id ";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- $this->groupList[] = $row->server;
- }
- } else {
- $response = "there is no Group data in table!!";
- }
- }
- }
- return $this->groupList;
- }
- function groupsListReseller()
- {
- global $membership;
- $reseller = (!isset($_SESSION['reseller'])) ? $this->get_reseller_id($membership->getUsername()) : $_SESSION['reseller'];
- unset($query);
- unset($result);
- $query = "SELECT reseller, reseller_group
- FROM members ";
- if (isset($reseller) && $reseller <> 0) {
- $query .= "WHERE reseller = " . $reseller . " AND WHERE reseller <> 0 ";
- } else {
- $query .= "WHERE reseller <> 0 ";
- }
- $query .= "GROUP BY reseller_group
- ORDER BY id";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- $this->groupList[] = array(
- $row->reseller_group,
- $row->reseller
- );
- }
- }
- } else {
- $query = "SELECT server, reseller
- FROM users ";
- if (isset($reseller) && $reseller <> 0) {
- $query .= "WHERE reseller = " . $reseller . " ";
- }
- $query .= "GROUP BY server
- ORDER BY id ";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- $this->groupList[] = array(
- $row->server,
- $row->reseller
- );
- }
- } else {
- $response = "there is no Group data in table!!";
- }
- }
- }
- return $this->groupList;
- }
- //************************************************* End Members Section ********************************************************
- //===================================================== User Section ============================================================
- //Add User Data
- function add_user($login, $password, $account_status, $group_name, $server_name, $expire_date, $max_con, $display_name, $ecm_rate, $full_name, $user_mobile, $user_email, $user_country, $profiles)
- {
- $sessionResellerSet = (isset($_SESSION['reseller']) && $_SESSION['reseller'] <> 0) ? true : false;
- $curr_timestamp = date("y/m/d : H:i:s", time());
- //check if user dublicated
- $query = "SELECT login
- FROM users
- WHERE login='$login'
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- if ($stmt->num_rows == 0) {
- //if not dublicated and login name avilable
- if (empty($expire_date)) {
- $expire_date = EXPIREDATE;
- }
- if (empty($max_con)) {
- $max_con = MAXCON;
- }
- if (empty($ecm_rate)) {
- $ecm_rate = -1;
- }
- if (empty($display_name)) {
- $display_name = "";
- }
- if (empty($server_name)) {
- $server_name = "";
- }
- if (empty($group_name)) {
- $group_name = "fastsat";
- }
- if (empty($full_name)) {
- $full_name = "N/A";
- }
- if (empty($user_mobile)) {
- $user_mobile = "N/A";
- }
- if (empty($user_email)) {
- $user_email = "none@none.com";
- }
- if (empty($user_country)) {
- $user_country = 1;
- }
- if (empty($profiles)) {
- $profiles = 0;
- }
- $query = "INSERT INTO users (login, password, enabled, server, serverinfo, expire, maxcon, displayname, ecmrate,
- name, mobile, email, country, modified, profiles";
- $query .= ($sessionResellerSet) ? ", reseller)" : ")";
- $query .= "VALUES ('$login', '$password', '$account_status', '$group_name', $server_name, '$expire_date',
- $max_con, '$display_name', $ecm_rate, '$full_name', '$user_mobile', '$user_email', $user_country,
- '$curr_timestamp', $profiles";
- $query .= ($sessionResellerSet) ? ", " . $_SESSION['reseller'] . ")" : ")";
- if ($stmt1 = $this->conn->query($query)) {
- $stmt->close();
- $this->log->LogInfo($this->log_init . 'New Username: ' . $login . ' Add with the following info: G:' . $group_name . ' | S:' . $server_name . ' | E:' . $expire_date . ' | P:' . $profiles . '.');
- $responce = "User successfully created.\n";
- $_SESSION['updateActiveTotalUser'] = 1;
- return $responce;
- }
- } else {
- //if found duplicated username
- $responce = "User already use.\n";
- return $responce;
- }
- } else {
- $responce = "Error in Database.\n";
- return $responce;
- }
- }
- //Delete User
- function del_user($id)
- {
- $username = $this->get_user_name($id);
- $query = "DELETE FROM users
- WHERE id = $id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $this->log->LogInfo($this->log_init . 'user id:' . $id . ' Username: ' . $username . ' account deleted .');
- $responce = "User successfully Deleted.\n";
- $_SESSION['updateActiveTotalUser'] = 1;
- return $responce;
- }
- }
- //Get User Data
- function get_user_data($id)
- {
- $query = "SELECT * FROM users
- WHERE id = '$id'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- return $result;
- }
- }
- //Get User name by id
- function get_user_name($id)
- {
- $query = "SELECT login FROM users
- WHERE id = '$id'";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- $result1 = $result->login;
- return $result1;
- }
- }
- //Get User Data That belong to Reseller
- //Total users and total Active users
- function get_info($reseller)
- {
- if (!isset($_SESSION['currActiveTotalUser']) || $_SESSION['updateActiveTotalUser'] <> 0) {
- $reseller = $_SESSION['reseller'];
- $query = "SELECT COUNT(id) ";
- $query .= "FROM users ";
- if ($reseller <> 0) {
- $query .= "WHERE reseller = '$reseller' ";
- }
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_row();
- define("TOTALUSER", $result[0]);
- }
- $query = "SELECT COUNT(id) ";
- $query .= "FROM users ";
- $query .= 'WHERE enabled = "true" AND STR_TO_DATE(expire,"%d/%m/%Y")>CURDATE() ';
- if ($reseller <> 0) {
- $query .= "AND reseller = '$reseller' ";
- }
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_row();
- define("ACTIVEUSER", $result[0]);
- }
- $result = "[" . TOTALUSER . "/" . ACTIVEUSER . "]";
- $_SESSION['currActiveTotalUser'] = $result;
- $_SESSION['updateActiveTotalUser'] = 0;
- return $result;
- } else
- return $_SESSION['currActiveTotalUser'];
- }
- //Edit User Data
- //$response = $mysql->edit_user_data
- //($user_data-id,$_POST['login'],$_POST['password'],$_POST['account_status'],
- //$_POST['main_server_name'],$_POST['group_name'],$_POST['expire_date'],$_POST['max_con'],
- //$_POST['display_name'],$_POST['ecm_rate']);
- //table structure
- //id , login , password , enabled , admin , server , expire , displayname , maxcon , profiles , mapexclude , debug , ecmrate ,
- //name , country , email , mobile , serverinfo , creationdate , modified , demo , reseller
- function edit_user_data($id, $login, $password, $enabled, $serverinfo, $server, $expire, $maxcon, $displayname, $ecmrate, $full_name, $user_mobile, $user_email, $user_country, $profiles)
- {
- if (empty($user_country)) {
- $user_country = 1;
- }
- $curr_timestamp = date("y/m/d : H:i:s", time());
- $query = "UPDATE users
- SET login = '$login', password = '$password', enabled = '$enabled', serverinfo = $serverinfo
- , server = '$server', expire = '$expire', maxcon = $maxcon, displayname = '$displayname', ecmrate = $ecmrate,
- name = '$full_name', mobile = '$user_mobile', email = '$user_email', country = $user_country, modified = '$curr_timestamp', profiles = $profiles
- WHERE id =$id
- LIMIT 1";
- $curr_user_data = $this->get_user_data($id);
- if ($curr_user_data->password == $password) {
- $pass_change_status = "no change";
- } else {
- $pass_change_status = "changed";
- }
- if ($stmt = $this->conn->query($query)) {
- $this->log->LogInfo($this->log_init . 'Edited Username: ' . $login . ' with the following info: ' . 'P:' . $pass_change_status . ' | S:' . $curr_user_data->enabled . '->' . $enabled . ' | G:' . $curr_user_data->server . '->' . $server . ' | S:' . $curr_user_data->serverinfo . '->' . $serverinfo . ' | E:' . $curr_user_data->expire . '->' . $expire . ' | P:' . $curr_user_data->profiles . '->' . $profiles . '.');
- $responce = "User successfully Updated.\n";
- unset($list_number);
- $_SESSION['updateActiveTotalUser'] = 1;
- return $responce;
- }
- }
- // Enable/Disable User
- function enable_disable_user($id, $status)
- {
- $username = $this->get_user_name($id);
- $log = New KLogger('log/cspum.log', KLogger::DEBUG);
- $log_init = 'User [' . $_SESSION['username'] . '] (' . $_SESSION['remote_address'] . ') | ';
- $curr_timestamp = date("y/m/d : H:i:s", time());
- if ($this->check_user_reseller($id)) {
- $query = "UPDATE users
- SET enabled = '$status', modified = '$curr_timestamp'
- WHERE id =$id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $log->LogInfo($log_init . 'user id:' . $id . ' login: ' . $username . ' change account status to ' . strtoupper($status) . ' .');
- $responce = "User successfully Updated.\n";
- unset($list_number);
- $_SESSION['updateActiveTotalUser'] = 1;
- return $responce;
- }
- } else
- return "This User ID do not belong to this reseller.";
- }
- // check if user belong to reseller
- function check_user_reseller($id)
- {
- if ($_SESSION['reseller'] <> 0) {
- $query = "SELECT reseller
- FROM users
- WHERE id =$id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_object();
- if ($result->reseller == $_SESSION['reseller']) {
- return true;
- } else
- return false;
- }
- } else
- return true;
- }
- //
- function createQuery($posts)
- {
- //$xslt_file = "userlist.xsl";
- // Array
- //(
- // [userStatus] => all
- // [expired] => all
- // [usersGroup] => fastsat
- // [serverName] => 1
- // [recentlyAdd] => thistweek
- // [recentlyUpdate] => all
- // [browse] => browse
- // [profiles_checkbox] => 0
- // [main_server_name] => 0
- //)
- isset($posts['userStatus']) ? $userStatus = $posts['userStatus'] : null;
- isset($posts['expired']) ? $expired = $posts['expired'] : null;
- isset($posts['usersGroup']) ? $usersGroup = $posts['usersGroup'] : null;
- isset($posts['serverName']) ? $serverName = $posts['serverName'] : null;
- isset($posts['recentlyAdd']) ? $recentlyAdd = $posts['recentlyAdd'] : null;
- isset($posts['recentlyUpdate']) ? $recentlyUpdate = $posts['recentlyUpdate'] : null;
- isset($posts['userNameInput']) ? $userNameInput = $posts['userNameInput'] : null;
- isset($posts['fullNameInput']) ? $fullNameInput = $posts['fullNameInput'] : null;
- isset($posts['mobile']) ? $mobile = $posts['mobile'] : null;
- $reseller = $_SESSION['reseller'];
- if (isset($userStatus) && $userStatus == "all")
- unset($userStatus);
- if (isset($expired) && $expired == "all")
- unset($expired);
- if (isset($usersGroup) && $usersGroup == "all")
- unset($usersGroup);
- if (isset($serverName) && $serverName == "all")
- unset($serverName);
- if (isset($recentlyAdd) && $recentlyAdd == "all")
- unset($recentlyAdd);
- if (isset($recentlyUpdate) && $recentlyUpdate == "all")
- unset($recentlyUpdate);
- if (isset($userNameInput) && $userNameInput == "")
- unset($userNameInput);
- if (isset($fullNameInput) && $fullNameInput == "")
- unset($fullNameInput);
- if (isset($mobile) && $mobile == "")
- unset($mobile);
- if (isset($expired) && $expired != "all" && $expired != "expired")
- $expired = $this->getdate($expired);
- if (isset($recentlyAdd))
- $recentlyAdd = $this->getdate($recentlyAdd);
- if (isset($recentlyUpdate))
- $recentlyUpdate = $this->getdate($recentlyUpdate);
- $i = 0;
- $skipnext = 0;
- $query = "SELECT id,login,enabled,server,expire,displayname,creationdate,modified,name
- FROM users ";
- if (isset($userStatus) && $userStatus == "enable" && empty($expired)) {
- $query .= 'WHERE enabled="true" AND STR_TO_DATE(expire,"%d/%m/%Y")>CURDATE() ';
- $i = 1;
- } elseif (isset($userStatus) && $userStatus == "disable" && empty($expired)) {
- $query .= 'WHERE enabled="false" AND STR_TO_DATE(expire,"%d/%m/%Y")>CURDATE() ';
- $i = 1;
- }
- if (isset($userStatus) && $userStatus == "enable" && isset($expired) && $expired <> "all") {
- $query .= 'WHERE enabled="true" ';
- $i = 1;
- } elseif (isset($userStatus) && $userStatus == "disable" && isset($expired) && $expired <> "all") {
- $query .= 'WHERE enabled="false" ';
- $i = 1;
- }
- $skipnext = 0;
- if (isset($usersGroup) && $i == 0) {
- $skipnext = 0;
- $query .= 'WHERE server="' . $usersGroup . '" ';
- $i = 1;
- $skipnext = 1;
- } elseif (isset($usersGroup) && $i == 1 && $skipnext == 0) {
- $query .= 'AND server="' . $usersGroup . '" ';
- $i = 1;
- }
- $skipnext = 0;
- if (isset($serverName) && $serverName <> 0 && $i == 0) {
- $skipnext = 0;
- $query .= "WHERE serverinfo=$serverName ";
- $i = 1;
- $skipnext = 1;
- }
- if (isset($serverName) && $serverName <> 0 && $i == 1 && $skipnext == 0) {
- $query .= "AND serverinfo=$serverName ";
- $i = 1;
- }
- $skipnext = 0;
- if (isset($expired) && $expired == "expired" && $i == 0) {
- $skipnext = 0;
- $query .= "WHERE STR_TO_DATE(expire,'%d/%m/%Y')<CURDATE() ";
- $i = 1;
- $skipnext = 1;
- }
- if (isset($expired) && $expired == "expired" && $i == 1 && $skipnext == 0) {
- $query .= "AND STR_TO_DATE(expire,'%d/%m/%Y')<CURDATE() ";
- $i = 1;
- }
- $skipnext = 0;
- if (isset($expired) && $expired != "expired" && $i == 0) {
- $skipnext = 0;
- $query .= "WHERE CAST(STR_TO_DATE(expire,'%d/%m/%Y') AS DATE) BETWEEN CAST('$expired' AS DATE) AND CURDATE() ";
- $i = 1;
- $skipnext = 1;
- }
- if (isset($expired) && $expired != "expired" && $i == 1 && $skipnext == 0) {
- $query .= "AND CAST(STR_TO_DATE(expire,'%d/%m/%Y') AS DATE) BETWEEN CAST('$expired' AS DATE) AND CURDATE() ";
- $i = 1;
- }
- $skipnext = 0;
- if (isset($recentlyAdd) && $i == 0) {
- $skipnext = 0;
- $query .= "WHERE CAST(creationdate AS DATE) BETWEEN CAST('$recentlyAdd' AS DATE) AND CAST(CURDATE()+ INTERVAL 1 DAY AS DATE) ";
- $i = 1;
- $skipnext = 1;
- }
- if (isset($recentlyAdd) && $i == 1 && $skipnext == 0) {
- $query .= "AND CAST(creationdate AS DATE) BETWEEN CAST('$recentlyAdd' AS DATE) AND CAST(CURDATE()+ INTERVAL 1 DAY AS DATE) ";
- $i = 1;
- }
- $skipnext = 0;
- if (isset($recentlyUpdate) && $i == 0) {
- $skipnext = 0;
- $query .= "WHERE CAST(modified AS DATE) BETWEEN CAST('$recentlyUpdate' AS DATE) AND CAST(CURDATE()+ INTERVAL 1 DAY AS DATE) ";
- $i = 1;
- $skipnext = 1;
- }
- if (isset($recentlyUpdate) && $i == 1 && $skipnext == 0) {
- $query .= "AND CAST(modified AS DATE) BETWEEN CAST('$recentlyUpdate' AS DATE) AND CAST(CURDATE()+ INTERVAL 1 DAY AS DATE) ";
- $i = 1;
- }
- $skipnext = 0;
- if (isset($userNameInput) && $i == 0) {
- $skipnext = 0;
- $query .= 'WHERE login LIKE "%' . $userNameInput . '%" ';
- $i = 1;
- $skipnext = 1;
- }
- if (isset($userNameInput) && $i == 1 && $skipnext == 0) {
- $query .= 'AND login LIKE "%' . $userNameInput . '%" ';
- $i = 1;
- }
- $skipnext = 0;
- if (isset($fullNameInput) && $i == 0) {
- $skipnext = 0;
- $query .= 'WHERE name LIKE "%' . $fullNameInput . '%" ';
- $i = 1;
- $skipnext = 1;
- }
- if (isset($fullNameInput) && $i == 1 && $skipnext == 0) {
- $query .= 'AND name LIKE "%' . $fullNameInput . '%" ';
- $i = 1;
- }
- $skipnext = 0;
- if (isset($mobile) && $i == 0) {
- $skipnext = 0;
- $query .= 'WHERE mobile LIKE "%' . $mobile . '%" ';
- $i = 1;
- $skipnext = 1;
- }
- if (isset($mobile) && $i == 1 && $skipnext == 0) {
- $query .= 'AND mobile LIKE "%' . $mobile . '%" ';
- $i = 1;
- }
- // in case reseller is set
- if (isset($reseller) && $reseller <> 0 && $i == 0) {
- $query .= "WHERE reseller=" . $_SESSION['reseller'] . " ";
- $i = 1;
- $skipnext = 1;
- } elseif (isset($reseller) && $reseller <> 0 && $i == 1 && $skipnext == 0) {
- $query .= "AND reseller=" . $_SESSION['reseller'] . " ";
- $i = 1;
- }
- $query .= "ORDER BY id";
- return $query;
- }
- function createUserTable($post)
- {
- //array(8) (
- //[id] => (string) 27
- //[login] => (string) papu
- //[enabled] => (string) true
- //[server] => (string) fastsat
- //[expire] => (string) 01/02/2011
- //[displayname] => (string) Hitesh Gandhi
- //[creationdate] => (string) 0000-00-00 00:00:00
- //[modified] => (string) 2011-01-06 19:10:50
- //)
- $data = "";
- $query = $this->createQuery($post);
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_array(MYSQL_ASSOC)) {
- if ($row['modified'] == "0000-00-00 00:00:00") {
- $modifid_data = "2009-01-01";
- } else {
- $modifid_data = $row['modified'];
- }
- $row['modified'] = date("m/d/Y", strtotime($modifid_data));
- $last_update = $row['modified'];
- if ($row['enabled'] == "true") {
- $value = Others::Statictimeleft($row['expire']);
- $row['enabled'] = $value['daysleft'] != 0 ? "Enabled" : "Expired";
- } else
- $row['enabled'] = "Disabled";
- $row['expire'] = date("m/d/Y", strtotime(str_replace('/', '-', $row['expire'])));
- $data[] = $row;
- }
- }
- return $data;
- } else {
- $response = "there is no data in table!!";
- }
- }
- function createXML($query)
- {
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- // we produce XML
- header("Content-type: text/xml");
- $XML = "<?xml version=\"1.0\"?>\n";
- if ($xslt_file)
- $XML .= "<?xml-stylesheet href=\"$xslt_file\" type=\"text/xsl\" ?>";
- // root node
- $XML .= '<result>';
- // rows
- $XML .= '<info><table>';
- $XML .= $serverName;
- $XML .= '</table></info>';
- while ($row = $result->fetch_array(MYSQL_ASSOC)) {
- $XML .= "\t<row>\n";
- if ($row['modified'] == "0000-00-00 00:00:00") {
- $modifid_data = "2009-01-01";
- } else {
- $modifid_data = $row['modified'];
- }
- $row['modified'] = date("m/d/Y", strtotime($modifid_data));
- $last_update = $row['modified'];
- if ($row['enabled'] == "true") {
- $value = Others::Statictimeleft($row['expire']);
- $row['enabled'] = $value['daysleft'] != 0 ? "Enabled" : "Expired";
- } else
- $row['enabled'] = "Disabled";
- $row['expire'] = date("m/d/Y", strtotime(str_replace('/', '-', $row['expire'])));
- $i = 0;
- // cells
- foreach ($row as $key => $cell) {
- // Escaping illegal characters - not tested actually ;)
- $cell = str_replace("&", "&", $cell);
- $cell = str_replace("<", "<", $cell);
- $cell = str_replace(">", ">", $cell);
- $cell = str_replace("\"", """, $cell);
- // creates the "<tag>contents</tag>" representing the column
- $XML .= "\t\t<" . $key . ">" . $cell . "</" . $key . ">\n";
- $i++;
- }
- $XML .= "\t</row>\n";
- }
- $XML .= "</result>\n";
- // output the whole XML string
- return $XML;
- } else {
- $response = "there is no data in table!!";
- }
- }
- }
- function displayusers2($posts)
- {
- // Load the XML source
- $xml = new DOMDocument;
- $createquery = $this->displayUsers($posts);
- $xml_doc = $this->createXML($createquery);
- $xml->loadXML($xml_doc);
- //$xml->load('xml.xml');
- $xsl = new DOMDocument;
- $xsl->load('userlist.xsl');
- // Configure the transformer
- $proc = new XSLTProcessor;
- $proc->importStyleSheet($xsl); // attach the xsl rules
- return $proc->transformToXML($xml);
- }
- // Get reseller users
- // function get_reseller_users($resseller) {
- //
- // $query = "SELECT login
- // FROM users
- // WHERE reseller = $resseller
- // ORDER BY login";
- //
- // if($stmt = $this->conn->query($query)) {
- //
- //
- // while($row = $stmt->fetch_array(MYSQLI_ASSOC))
- // {
- // $result[] = $row['login'];
- // }
- //
- // return $result;
- //
- //
- // }
- //
- // }
- //************************************************* End User Section ********************************************************
- //===================================================== Profile Permision Section ============================================================
- //Get Profile Data by Server
- function get_profile_data_by_server($server)
- {
- $query = "SELECT * FROM profiles
- WHERE server = $server
- ORDER BY list";
- if ($stmt = $this->conn->query($query)) {
- $num_of_rows = $stmt->num_rows;
- if ($num_of_rows >= 1) {
- while ($result1 = $stmt->fetch_array(MYSQLI_ASSOC)) {
- $result[] = $result1;
- }
- return $result;
- }
- }
- }
- //Get User Profile mask bit
- function get_user_profile_bit($id)
- {
- $query = "SELECT profiles FROM users
- WHERE id = $id
- LIMIT 1";
- if ($stmt = $this->conn->query($query)) {
- $result = $stmt->fetch_array(MYSQLI_ASSOC);
- list(, $value) = each($result);
- return $value;
- }
- }
- //check_user_profile_permission
- function check_user_profile_permission($user_allow_profile, $profile)
- {
- if ($user_allow_profile & $profile)
- return true;
- else
- return false;
- }
- // change_user_profile_permission
- function change_user_profile_permission($user_allow_profile, $profile)
- {
- $result = ($user_allow_profile ^ $profile);
- return $result;
- }
- // list_profiles_by_server
- function list_profiles_by_server($server)
- {
- if (empty($server))
- $server = 1;
- $profiles = $this->get_profile_data_by_server($server);
- $resellerProfileAllow = $this->get_reseller_profile_allow($_SESSION['username'], $server);
- reset($profiles);
- $result = "";
- $i = 0;
- $result .= '<table border="0" cellpadding="2" id="profile_table" ><tr>';
- foreach ($profiles as $value) {
- $ident = $value['ident'];
- $profilename = $value['profilename'];
- $profileport = $value['profileport'];
- $checkRessellerBitwise = intval($ident) & intval($resellerProfileAllow);
- if (isset($resellerProfileAllow) && $resellerProfileAllow <> 0 && !$checkRessellerBitwise) {
- continue;
- }
- if ($profileport == 0) {
- continue;
- }
- $i++;
- $result .= '<td id="td_profile_table">';
- $result .= '<input type="checkbox" name="profiles_checkbox[]" value="' . $ident . '" />' . $profilename . '</td>';
- if ($i == 4) {
- $result .= '</tr><tr>';
- $i = 0;
- }
- }
- $result .= '</tr><tr><td id="td_profile_table"><input type="checkbox" name="profiles_checkbox[]" value="0" checked="checked"/><strong>All Profiles</strong></td></tr></table>';
- echo $result;
- }
- //list_profiles_by_user_bitmask_by_server
- function list_profiles_by_user_bitmask_by_server($user_allow_profile, $server)
- {
- $profiles = $this->get_profile_data_by_server($server);
- $resellerProfileAllow = $this->get_reseller_profile_allow($_SESSION['username'], $server);
- $reset = reset($profiles);
- $user_mask = intval($this->get_user_profile_bit($user_allow_profile));
- $result = "";
- $i = 0;
- $result .= '<table border="0" cellpadding="2" id="profile_table" ><tr>';
- foreach ($profiles as $value) {
- $ident = $value['ident'];
- $profilename = $value['profilename'];
- $profileport = $value['profileport'];
- $checkRessellerBitwise = intval($ident) & intval($resellerProfileAllow);
- if (isset($resellerProfileAllow) && $resellerProfileAllow <> 0 && !$checkRessellerBitwise) {
- continue;
- }
- if ($profileport == 0) {
- continue;
- }
- $i++;
- $result .= '<td id="td_profile_table">';
- $result .= "<input type=\"checkbox\" name=\"profiles_checkbox[]\" value=\"$ident\"";
- if ($this->check_user_profile_permission($user_mask, $ident)) {
- $result .= " checked=\"checked\"";
- }
- $result .= "/>$profilename</td>\n";
- if ($i == 4) {
- $result .= '</tr><tr>';
- $i = 0;
- }
- }
- $result .= "</tr><tr><td id=\"td_profile_table\"><input type=\"checkbox\" name=\"profiles_checkbox[]\" value=\"0\"";
- if ($user_mask == 0) {
- $result .= " checked=\"checked\"";
- }
- $result .= "/><strong>All Profiles</strong></td></tr></table>";
- echo $result;
- }
- //list_profiles_by_member
- function list_profiles_by_member($memberId)
- {
- $query = "SELECT serverallow, profileallow
- FROM members
- WHERE id = '$memberId'
- LIMIT 1";
- if ($result = $this->conn->query($query)) {
- $num_of_rows = $result->num_rows;
- if ($num_of_rows >= 1) {
- while ($row = $result->fetch_object()) {
- $results1 = $row->profileallow;
- $results2 = $row->serverallow == 0 ? 1 : $row->serverallow;
- $profileallow = $results1;
- }
- } else {
- $response = "there is no Group data in table!!";
- }
- }
- $profiles = $this->get_profile_data_by_server($results2);
- // $resellerProfileAllow = $this->get_reseller_profile_allow($_SESSION['username'], $server);
- $resellerProfileAllow = $results1;
- $reset = reset($profiles);
- //$user_mask = intval($this->get_user_profile_bit($user_allow_profile));
- $result = "";
- $i = 0;
- $result .= '<table border="0" cellpadding="2" id="profile_table" ><tr>';
- foreach ($profiles as $value) {
- $ident = $value['ident'];
- $profilename = $value['profilename'];
- $profileport = $value['profileport'];
- $checkRessellerBitwise = intval($ident) & intval($resellerProfileAllow);
- // if ( isset($resellerProfileAllow) && $resellerProfileAllow <>0 && ! $checkRessellerBitwise ){
- // if ( isset($resellerProfileAllow) && $resellerProfileAllow == 0 ){
- // continue;
- // }
- if ($profileport == 0) {
- continue;
- }
- $i++;
- $result .= '<td id="td_profile_table">';
- $result .= "<input type=\"checkbox\" name=\"profiles_checkbox[]\" value=\"$ident\"";
- // if ( $profileallow & $ident ) {
- $result .= (int) $profileallow & (int) $ident ? " checked=\"checked\"" : "";
- // }
- $result .= "/>$profilename</td>\n";
- if ($i == 4) {
- $result .= '</tr><tr>';
- $i = 0;
- }
- }
- $result .= "</tr><tr><td id=\"td_profile_table\"><input type=\"checkbox\" name=\"profiles_checkbox[]\" value=\"0\"";
- if ($resellerProfileAllow == 0) {
- $result .= " checked=\"checked\"";
- }
- $result .= "/><strong>All Profiles</strong></td></tr></table>";
- echo $result;
- }
- //Get profiles Array by user profiles by_server
- //Used in email.php
- function array_profiles_by_user_bitmask_by_server($user_mask, $server)
- {
- $profiles = $this->get_profile_data_by_server($server);
- if (count($profiles) > 1) {
- reset($profiles);
- }
- foreach ($profiles as $value) {
- $ident = $value['ident'];
- $port = $value['profileport'];
- $desc = $value['profiledesc'];
- $details = $value['profiledetails'];
- $profilename = $value['profilename'];
- if ($this->check_user_profile_permission($user_mask, $ident) && $port <> 0) {
- $result[] = array(
- 'port' => $port,
- 'profilename' => $profilename,
- 'desc' => $desc,
- 'details' => $details
- );
- }
- }
- return $result;
- }
- //Get bitnumber for all profiles avilable by
- function get_sumbit_all_profiles($server)
- {
- $profiles = $this->get_profile_data_by_server($server);
- reset($profiles);
- $ident = 0;
- foreach ($profiles as $value) {
- $ident += $value['ident'];
- }
- return $ident;
- }
- //***************************************************** Profile Permision Section ************************************************************
- //===================================================== Others Section ============================================================
- // Get Country list
- function get_country_list($country_id = 0)
- {
- $query = "SELECT *
- FROM parameters
- WHERE item = 'country'
- ORDER BY list";
- if ($stmt = $this->conn->query($query)) {
- $num_of_rows = $stmt->num_rows;
- if ($num_of_rows >= 1) {
- while ($result1 = $stmt->fetch_object()) {
- $result .= "<option ";
- if ($country_id == $result1->list) {
- $result .= 'selected="selected" ';
- }
- $result .= 'value="' . $result1->list . '">' . $result1->desc . '</option>' . "\n";
- }
- return $result;
- }
- }
- }
- //===================================================== cspwindow Section ============================================================
- // Get reseller Users
- function get_reseller_users($reseller)
- {
- $query = "SELECT login ";
- $query .= "FROM users ";
- if ($reseller <> 0)
- $query .= "WHERE reseller =$reseller ";
- $query .= "ORDER BY login";
- if ($stmt = $this->conn->query($query)) {
- while ($row = $stmt->fetch_array(MYSQLI_ASSOC)) {
- $rows[] = $row['login'];
- }
- return $rows;
- }
- }
- function get_xml_from_csp()
- {
- $error = false;
- $counter = 0;
- if (!isset($_SESSION["sessionid"]) || is_null($_SESSION["sessionid"])) {
- $sessionId = false;
- while (!$sessionId) {
- if ($sessionId = $this->get_csp_session_id()) {
- $_SESSION["sessionid"] = $sessionId;
- }
- $counter++;
- if ($counter == 3)
- break;
- sleep(5);
- }
- if (!$sessionId) {
- echo "Server is busy now..... please try again after few minutes...... ";
- die;
- }
- }
- $data = "";
- header("content-type: application/xml; charset=ISO-8859-15");
- $data = '<?xml version="1.0" encoding="UTF-8"?>';
- $data .= '<cws-status-req ver="1.0">';
- $data .= '<session session-id="' . $_SESSION["sessionid"] . '"/>';
- $data .= '<proxy-status include="true"/>';
- $data .= '<ca-profiles include="true"/>';
- $data .= '<proxy-users';
- if (isset($_SESSION["hide_inactive"]) && $_SESSION["hide_inactive"] === "true") {
- $data .= ' hide-inactive="true"';
- }
- $data .= ' include="true"/>';
- if (isset($_SESSION["profile_select"]) && $_SESSION["profile_select"] <> "All") {
- $data .= '<profile>' . $_SESSION["profile_select"] . '</profile>';
- }
- //$data .='<proxy-users profile="jsc" include="true"/>';
- $data .= '</cws-status-req>';
- defined('XML_PAYLOAD') ? null : define('XML_PAYLOAD', $data);
- defined('XML_POST_URL') ? null : define('XML_POST_URL', CSPURL . '://' . CSPSERVER . ':' . CSPPORT . '/xmlHandler');
- /**
- * Initialize handle and set options
- */
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, XML_POST_URL);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);
- curl_setopt($ch, CURLOPT_POSTFIELDS, XML_PAYLOAD);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- //curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
- curl_setopt($ch, CURLOPT_HTTPHEADER, array(
- 'Content-Type: text/xml'
- ));
- /**
- * Execute the request and also time the transaction
- */
- $start = array_sum(explode(' ', microtime()));
- $result = curl_exec($ch);
- $stop = array_sum(explode(' ', microtime()));
- $totalTime = $stop - $start;
- /**
- * Check for errors
- */
- if (curl_errno($ch)) {
- $error = true;
- $result = 'ERROR -> ' . curl_errno($ch) . ': ' . curl_error($ch);
- } else {
- $returnCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
- switch ($returnCode) {
- case 404:
- $result = 'ERROR -> 404 Not Found';
- $error = true;
- break;
- default:
- break;
- }
- }
- curl_close($ch);
- if (!$error) {
- return $result;
- } else {
- return false;
- }
- }
- function get_csp_session_id()
- {
- $error = false;
- //header( "content-type: application/xml; charset=ISO-8859-15" );
- $sessionid = "";
- $sessionid .= '<?xml version="1.0" encoding="UTF-8"?>';
- $sessionid .= '<cws-status-req ver="1.0">';
- $sessionid .= '<cws-login>';
- $sessionid .= '<user name="' . CSPUSERNAM . '" password="' . CSPPASSWD . '"/>';
- $sessionid .= '</cws-login>';
- $sessionid .= '</cws-status-req>';
- defined('XML_PAYLOAD1') ? null : define('XML_PAYLOAD1', $sessionid);
- defined('XML_POST_URL1') ? null : define('XML_POST_URL1', CSPURL . '://' . CSPSERVER . ':' . CSPPORT . '/xmlHandler');
- $headers = array(
- "Content-type: text/xml"
- );
- /**
- * Initialize handle and set options
- */
- $ch1 = curl_init();
- curl_setopt($ch1, CURLOPT_URL, XML_POST_URL1);
- curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch1, CURLOPT_TIMEOUT, TIMEOUT);
- curl_setopt($ch1, CURLOPT_POSTFIELDS, XML_PAYLOAD1);
- curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, false);
- //curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
- curl_setopt($ch1, CURLOPT_HTTPHEADER, $headers);
- /**
- * Execute the request and also time the transaction
- */
- $start = array_sum(explode(' ', microtime()));
- $result = curl_exec($ch1);
- $stop = array_sum(explode(' ', microtime()));
- $totalTime = $stop - $start;
- if (curl_errno($ch1)) {
- $error = true;
- $result = 'ERROR -> ' . curl_errno($ch1) . ': ' . curl_error($ch1);
- } else {
- $returnCode = (int) curl_getinfo($ch1, CURLINFO_HTTP_CODE);
- switch ($returnCode) {
- case 404:
- $result = 'ERROR -> 404 Not Found';
- break;
- default:
- break;
- }
- }
- /**
- * Close the handle
- */
- curl_close($ch1);
- /**
- * Output the results and time
- */
- if (!$error) {
- $xml = new DOMDocument('1.0', 'utf-8');
- $xml->formatOutput = true;
- $xml->preserveWhiteSpace = false;
- $xml->loadXML("$result");
- $cwsstatusresp = $xml->getElementsByTagName("cws-status-resp")->item(0);
- $status = $cwsstatusresp->getElementsByTagName("status")->item(0);
- $sessionid = $status->getAttribute('session-id');
- return $sessionid;
- } else {
- return false;
- }
- }
- //********* [End] *********************************** cspwindow Section ************************************************************
- //***************************************************** Others Section ************************************************************
- // Bitwise Checking
- function bitwise_check($var1, $var2)
- {
- if ($var1 & $var2) {
- return true;
- } else {
- return false;
- }
- }
- public static function bitwise_checking($var1, $var2)
- {
- if ($var1 & $var2) {
- return true;
- } else {
- return false;
- }
- }
- // Send Email to Client
- function send_email($id)
- {
- // $firephp = FirePHP::getInstance(true); //must be delete when all prog is finished
- $others = new Others;
- error_reporting(E_STRICT);
- date_default_timezone_set('Africa/Khartoum');
- require_once('classes/class.phpmailer.php');
- //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
- $mail = new PHPMailer();
- //Get User Data
- $user_data = $this->get_user_data(intval($id));
- $username = $user_data->login;
- $password = $user_data->password;
- $profiles = intval($user_data->profiles);
- $expire = $user_data->expire;
- $server = intval($user_data->serverinfo);
- $real_name = $user_data->name;
- //Get Server Data
- $server_data = $this->get_server_data_bylist($server);
- $hostname = $server_data[hostname];
- $server_list = $server_data[1];
- // if profile=0 (mean user have access to all profiles)
- if ($profiles == 0) {
- $profiles = $this->get_sumbit_all_profiles($server);
- }
- //Get Profile Data
- $profile_data = $this->array_profiles_by_user_bitmask_by_server($profiles, $server_list);
- //Get number of profiles
- $num_of_profile = count($profile_data, 0);
- //start build email body
- $n_line = "";
- $c_line = "";
- if ($num_of_profile >= 1) {
- $n_line .= "#### Mgcamd Lines\n\n<br/><br/>";
- $c_line .= "#### CCcam Line\n\n<br/><br/>";
- for ($i = 0; $i < $num_of_profile; $i++) {
- $n_line .= '<span style="color: #8F8F8F">#' . $profile_data[$i][details] . '</span><br/>' . "\n";
- $c_line .= '<span style="color: #8F8F8F">#' . $profile_data[$i][details] . '</span><br/>' . "\n";
- $n_line .= 'CWS = ' . $hostname . ' ' . $profile_data[$i][port] . ' ' . $username . ' ' . $password . ' ' . $profile_data[$i][desc] . "\n<br/>";
- $c_line .= 'N: ' . $hostname . ' ' . $profile_data[$i][port] . ' ' . $username . ' ' . $password . ' ' . $profile_data[$i][desc] . "\n<br/>";
- }
- }
- if ($user_data->email <> "" && $user_data->email <> "none@none.com") {
- $mail_header .= "<html><head><body>";
- $mail_header .= "<br/>Hello ";
- if ($real_name <> "") {
- $mail_header .= $real_name . "\n<br/>";
- } else {
- $mail_header .= " Sir\n<br/>";
- }
- $filename = "includes/email_header.txt";
- $handle = fopen($filename, "r");
- $mail_header = fread($handle, filesize($filename));
- fclose($handle);
- $filename = "includes/email_footer.txt";
- $handle = fopen($filename, "r");
- $mail_footer = stream_get_contents($handle);
- fclose($handle);
- $extended_port = "Here is Extended Newcamd port configuration line:\n<br/>";
- $extended_port .= 'CWS = ' . $hostname . ' ' . CSPEXTPORT . ' ' . $username . ' ' . $password . ' ' . CSPEXTDESKEY . "\n<br/>";
- $mail_expire = "\n<br/>I'd like to bring to your attention this account will be expire in <strong>" . $expire . "</strong>, so plz contact us to avoid any interuption on the service.\n\n<br/><br/>";
- // email parameters
- $mail_body = $mail_header . "\n<br/>" . $extended_port . "\n\n<br/><br/>" . $n_line . "\n\n<br/><br/>" . $c_line . $mail_expire . $mail_footer;
- $body = $mail_body;
- $text_body = $mail_body;
- $mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
- // 1 = errors and messages
- // 2 = messages only
- $mail->IsSMTP();
- $mail->SMTPAuth = true; // enable SMTP authentication
- $mail->SMTPSecure = "tls"; // sets the prefix to the server
- $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
- $mail->Port = 587; // set the SMTP port for the GMAIL server
- $mail->Username = 'serverscccam'; // SMTP account username
- $mail->Password = 'ka_@r_a@m_z~a_k$i'; // SMTP account password
- $mail->SetFrom(EMAILFROM, EMAILFROMNAME);
- $mail->AddReplyTo(EMAILFROM, EMAILFROMNAME);
- $mail->Subject = 'csp server';
- $mail->Body = $body;
- $mail->AltBody = $text_body;
- $mail->MsgHTML($body);
- $address = "$user_data->email";
- $mail->AddAddress($address, $real_name);
- $user_name_own = "root";
- /**
- *
- * Create Newcamd zip file
- */
- $filename = "includes/cfg_files/mgcamd/keys/newcamd.list.header";
- $handle = fopen($filename, "r");
- $config_cam = fread($handle, filesize($filename));
- fclose($handle);
- $config_cam .= strip_tags($n_line, '\n');
- $tempdir = 'tmp/' . time() . rand();
- $tempdir1 = $tempdir;
- if (mkdir($tempdir, 0777)) {
- $tempdir = $tempdir . '/keys';
- mkdir($tempdir, 0777);
- $filename = $tempdir . "/newcamd.list";
- $handle = fopen($filename, "w");
- fwrite($handle, $config_cam);
- fclose($handle);
- }
- $files_to_zip = array(
- 'includes/cfg_files/mgcamd/keys/ignore.list',
- 'includes/cfg_files/mgcamd/keys/mg_cfg',
- 'includes/cfg_files/mgcamd/keys/priority.list',
- 'includes/cfg_files/mgcamd/keys/replace.list',
- $filename
- );
- //if true, good; if false, zip creation failed
- if ($others->create_zip($files_to_zip, $tempdir1 . '/mgcamd_settings.zip')) {
- unlink($filename);
- unlink($tempdir);
- rmdir($tempdir);
- $tempdir = $tempdir1;
- }
- /**
- * Create CCcam zip file
- */
- $filename = "includes/cfg_files/cccam/etc/CCcam.cfg_header";
- $handle = fopen($filename, "r");
- $config_cam = fread($handle, filesize($filename));
- fclose($handle);
- $config_cam .= strip_tags($c_line, '\n');
- $filename = "includes/cfg_files/cccam/CCcam.cfg_footer";
- $handle = fopen($filename, "r");
- $config_cam .= fread($handle, filesize($filename));
- fclose($handle);
- $tempdir = $tempdir . '/etc';
- if (mkdir($tempdir, 0777)) {
- $filename = $tempdir . "/CCcam.cfg";
- $handle = fopen($filename, "w");
- fwrite($handle, $config_cam);
- fclose($handle);
- }
- $files_to_zip = array(
- $filename
- );
- //if true, good; if false, zip creation failed
- if ($others->create_zip($files_to_zip, $tempdir1 . '/CCcam_settings.zip')) {
- unlink($filename);
- unlink($tempdir);
- rmdir($tempdir);
- }
- shell_exec('chown -R root:root tmp/');
- shell_exec('chmod -R 777 tmp/');
- $mail->AddAttachment($tempdir1 . "/mgcamd_settings.zip"); // attachment
- $mail->AddAttachment($tempdir1 . "/CCcam_settings.zip"); // attachment
- //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
- if ($mail->Send()) {
- $response .= "Message successfully sent to " . "<strong>" . $real_name . "</strong>";
- unlink($tempdir1 . "/mgcamd_settings.zip");
- unlink($tempdir1 . "/CCcam_settings.zip");
- unlink($tempdir1);
- rmdir($tempdir1);
- } else {
- $response .= "Message delivery failed " . "<strong>" . $real_name . "</strong> ...";
- unlink($tempdir1 . "/mgcamd_settings.zip");
- unlink($tempdir1 . "/CCcam_settings.zip");
- unlink($tempdir1);
- rmdir($tempdir1);
- }
- } else {
- $response .= "Wrong Email for client id#" . $id . "... Message delivery failed ...";
- }
- return $response;
- // Clear all addresses and attachments for next loop
- $mail->ClearAddresses();
- $mail->ClearAttachments();
- unlink($tempdir1 . "/mgcamd_settings.zip");
- unlink($tempdir1 . "/CCcam_settings.zip");
- unlink($tempdir1);
- rmdir($tempdir1);
- }
- function getdate($date)
- {
- switch ($date) {
- case 'today':
- // $result = date("d/m/Y");
- $result = date("Y-m-d");
- break;
- case 'yesterday':
- $result = $this->dateafter(-1);
- break;
- case '2dayago':
- $result = $this->dateafter(-2);
- break;
- case 'thisweek':
- $result = $this->dateafter(-7);
- break;
- case 'thismonth':
- $result = $this->dateafter(-30);
- break;
- case 'tomorrow':
- $result = $this->dateafter(1);
- break;
- }
- return $result;
- }
- function dateafter($a)
- {
- $hours = $a * 24;
- $added = ($hours * 3600) + time();
- $days = date("l", $added);
- $month = date("m", $added);
- $day = date("d", $added);
- $year = date("Y", $added);
- //$result = "$day/$month/$year";
- $result = "$year-$month-$day";
- return ($result);
- }
- function get_user_settings_by_emu($id, $emu)
- {
- $others = new Others;
- //Get User Data
- $user_data = $this->get_user_data(intval($id));
- $username = $user_data->login;
- $password = $user_data->password;
- $profiles = intval($user_data->profiles);
- $expire = $user_data->expire;
- $server = intval($user_data->serverinfo);
- $real_name = $user_data->name;
- //Get Server Data
- $server_data = $this->get_server_data_bylist($server);
- $hostname = $server_data['hostname'];
- $server_list = $server_data[1];
- // if profile=0 (mean user have access to all profiles)
- if ($profiles == 0) {
- $profiles = $this->get_sumbit_all_profiles($server);
- }
- //Get Profile Data
- $profile_data = $this->array_profiles_by_user_bitmask_by_server($profiles, $server_list);
- //Get number of profiles
- $num_of_profile = count($profile_data, 0);
- //start build email body
- $n_line = "";
- $c_line = "";
- $smart_line = "";
- $cleverhd_line = "";
- $Ggurd_line = "";
- if ($num_of_profile >= 1) {
- $n_line .= "#### Mgcamd Lines\n\n<br/><br/>";
- $c_line .= "#### CCcam Line\n\n<br/><br/>";
- $smart_line .= "#### SmartLink Line\n\n<br/><br/>##my_newcam_his_cfg_your_sync###<br/><br/>
- ###########Lan settings###########<br/>
- ## Local ip gate way net mask DNS MAC address DHCP<br/>
- La: { 0.0.0.0 } { 192.168.1.254 } { 0.0.0.0 } { 0.0.0.0 } { 00 ab 03 68 01 02 } { 00 }<br/><br/><br/>
- #############newcamd settings########################<br/>
- #Sr:host infor max 16 servers<br/>
- ### enable port server domain Usename password deskey<br/>";
- $cleverhd_line .= "#### CleverHD Line\n\n<br/><br/>";
- $Ggurd_line .= "#### Ggurd Line\n\n<br/><br/>[CS Information]<br/><br/>
- #-------------------------------------------------------<br/>
- sssp=<br/>
- {<br/>
- name: <br/>
- baudrate: 115200<br/>
- filtermode: auto<br/>
- filterindex: 255<br/>
- }<br/><br/>
- #-------------------------------------------------------<br/>";
- for ($i = 0; $i < $num_of_profile; $i++) {
- $n_line .= '<span style="color: #8F8F8F">#' . $profile_data[$i]['details'] . '</span><br/>' . "\n";
- $c_line .= '<span style="color: #8F8F8F">#' . $profile_data[$i]['details'] . '</span><br/>' . "\n";
- $smart_line .= '<span style="color: #8F8F8F">#' . $profile_data[$i]['details'] . '</span><br/>' . "\n";
- $n_line .= 'CWS = ' . $hostname . ' ' . $profile_data[$i]['port'] . ' ' . $username . ' ' . $password . ' ' . $profile_data[$i]['desc'] . "\n<br/>";
- $c_line .= 'N: ' . $hostname . ' ' . $profile_data[$i]['port'] . ' ' . $username . ' ' . $password . ' ' . $profile_data[$i]['desc'] . "\n<br/>";
- $smart_line .= 'Sr: { 1 }' . ' { ' . $profile_data[$i]['port'] . ' }' . ' { ' . $hostname . ' } ' . ' { ' . $username . ' } ' . ' { ' . $password . ' } ' . ' { ' . $profile_data[$i]['desc'] . ' } ' . "\n<br/>";
- // {n,30000,newhd.no-ip.ca,user,passwd,01 02 03 04 05 06 07 08 09 10 11 12 13 14}
- $cleverhd_line .= "{n," . $profile_data[$i]['port'] . ',' . $hostname . ',' . $username . ',' . $password . ',' . $profile_data[$i]['desc'] . '}' . "\n<br/>";
- $Ggurd_line .= "{ " . "\n<br/>" . "slot" . $i . " =" . "\n<br/>" . "name: " . $profile_data[$i]['details'] . "\n<br/>" . "ip: " . $hostname . "\n<br/>" . "user: " . $username . "\n<br/>" . "password: " . $password . "\n<br/>" . "protocol: newcamd525 " . "\n<br/>" . "deskey: " . $profile_data[$i]['desc'] . "\n<br/>" . "filtermode: auto " . "\n<br/>" . "filterindex: 0 " . "\n<br/>" . "port: " . $profile_data[$i]['port'] . "\n<br/>" . "timeout: 0 " . "\n<br/>" . "} " . "\n<br/><br/>";
- }
- }
- $extended_port_r = "#Note: Here is Extended Newcamd port configuration line:\n<br/>";
- $extended_port_r .= '# CWS = ' . $hostname . ' ' . CSPEXTPORT . ' ' . $username . ' ' . $password . ' ' . CSPEXTDESKEY . "\n<br/>";
- $extended_port = "#Note: Here is Extended Newcamd port configuration line:\n<br/>";
- $extended_port .= 'CWS = ' . $hostname . ' ' . CSPEXTPORT . ' ' . $username . ' ' . $password . ' ' . CSPEXTDESKEY . "\n<br/>";
- $smart_line .= "<br/>#Upgard s/w server<br/>Up: { 10110 } { 127.0.0.1 }<br/>";
- $expiredate = "\n<br/>##Note: I'd like to bring to your attention this account will be expire in <strong>" . $expire . "</strong>, so plz contact us before that date to avoid any interuption on the service.\n\n<br/><br/>";
- switch ($emu) {
- case "mg":
- return $extended_port . $expiredate;
- break;
- case "cc":
- return $c_line . $expiredate;
- break;
- case "sm":
- return $smart_line . $expiredate;
- break;
- case "cl":
- return $extended_port . $expiredate;
- break;
- case "gg":
- return $Ggurd_line . $expiredate;
- break;
- }
- }
- }
- $mysql = New Mysql();
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement