function wplc_api_return_sessions()
{
    global $wpdb;
    global $wplc_tblname_chats;
    $results = $wpdb->get_results("SELECT * FROM {$wplc_tblname_chats} WHERE `status` = 3 OR `status` = 2 OR `status` = 10 OR `status` = 5 or `status` = 8 or `status` = 9 ORDER BY `timestamp` ASC");
    $session_array = array();
    if ($results) {
        foreach ($results as $result) {
            global $wplc_basic_plugin_url;
            $ip_info = maybe_unserialize($result->ip);
            $user_ip = $ip_info['ip'];
            if ($user_ip == "") {
                $user_ip = __('IP Address not recorded', 'wplivechat');
            }
            $browser = wplc_return_browser_string($user_data['user_agent']);
            $browser_image = wplc_return_browser_image($browser, "16");
            $session_array[$result->id] = array();
            $session_array[$result->id]['name'] = $result->name;
            $session_array[$result->id]['email'] = $result->email;
            $session_array[$result->id]['status'] = $result->status;
            $session_array[$result->id]['timestamp'] = wplc_time_ago($result->timestamp);
            if (current_time('timestamp') - strtotime($result->timestamp) < 3600) {
                $session_array[$result->id]['type'] = __("New", "wplivechat");
            } else {
                $session_array[$result->id]['type'] = __("Returning", "wplivechat");
            }
            $session_array[$result->id]['image'] = "//www.gravatar.com/avatar/" . md5($result->email) . "?s=30";
            $session_array[$result->id]['data']['browsing'] = $result->url;
            $path = parse_url($result->url, PHP_URL_PATH);
            if (strlen($path) > 20) {
                $session_array[$result->id]['data']['browsing_nice_url'] = substr($path, 0, 20) . '...';
            } else {
                $session_array[$result->id]['data']['browsing_nice_url'] = $path;
            }
            $session_array[$result->id]['data']['browser'] = $wplc_basic_plugin_url . "/images/{$browser_image}";
            $session_array[$result->id]['data']['ip'] = $user_ip;
        }
    }
    return $session_array;
}
Example #2
0
function wplc_list_chats_new()
{
    global $wpdb;
    global $wplc_tblname_chats;
    $status = 3;
    $wplc_c = 0;
    $results = $wpdb->get_results("SELECT * FROM {$wplc_tblname_chats} WHERE `status` = 3 OR `status` = 2 OR `status` = 10 OR `status` = 5 or `status` = 8 or `status` = 9 ORDER BY `timestamp` ASC");
    $data_array = array();
    $id_list = array();
    if (!$results) {
        $data_array = false;
    } else {
        foreach ($results as $result) {
            unset($trstyle);
            unset($actions);
            global $wplc_basic_plugin_url;
            $user_data = maybe_unserialize($result->ip);
            $user_ip = $user_data['ip'];
            $browser = wplc_return_browser_string($user_data['user_agent']);
            $browser_image = wplc_return_browser_image($browser, "16");
            if ($user_ip == "") {
                $user_ip = __('IP Address not recorded', 'wplivechat');
            } else {
                $user_ip = "<a href='http://www.ip-adress.com/ip_tracer/" . $user_ip . "' title='" . __('Whois for', 'wplivechat') . " " . $user_ip . "'>" . $user_ip . "</a>";
            }
            if (intval($result->status) == 2) {
                $url = admin_url('admin.php?page=wplivechat-menu&action=ac&cid=' . $result->id);
                $actions = "<a href=\"" . $url . "\" class=\"wplc_open_chat button button-primary\" window-title=\"WP_Live_Chat_" . $result->id . "\">" . __("Accept Chat", "wplivechat") . "</a>";
                $trstyle = "style='background-color:#FFFBE4; height:30px;'";
                $icon = "<i class=\"fa fa-phone wplc_pending\" title='" . __('Incoming Chat', 'wplivechat') . "' alt='" . __('Incoming Chat', 'wplivechat') . "'></i><div class='wplc_icon_message'>" . __('You have an incoming chat.', 'wplivechat') . "</div>";
                $wplc_c++;
            } else {
                if (intval($result->status) == 3) {
                    $wplc_c++;
                    $url = admin_url('admin.php?page=wplivechat-menu&action=ac&cid=' . $result->id);
                    $actions = "<a href=\"" . $url . "\" class=\"wplc_open_chat button button-primary\" window-title=\"WP_Live_Chat_" . $result->id . "\">" . __("Open Chat", "wplivechat") . "</a>";
                    $trstyle = "style='background-color:#F7FCFE; height:30px;'";
                    $icon = "<i class=\"fa fa-check-circle wplc_active\" title='" . __('Chat Active', 'wplivechat') . "' alt='" . __('Chat Active', 'wplivechat') . "'></i><div class='wplc_icon_message'>" . __('This chat is active', 'wplivechat') . "</div>";
                } else {
                    if (intval($result->status) == 5) {
                        $actions = "<a href=\"javascript:void(0);\" id=\"wplc_initiate_chat\" class=\"wplc_initiate_chat button button-secondary\">" . __("Initiate Chat", "wplivechat") . "</a>";
                    } else {
                        $actions = "";
                    }
                }
            }
            if ($wplc_c > 1) {
                $actions = wplc_get_msg();
            }
            $trstyle = "";
            $id_list[intval($result->id)] = true;
            $data_array[$result->id]['name'] = $result->name;
            $data_array[$result->id]['email'] = $result->email;
            $data_array[$result->id]['status'] = $result->status;
            $data_array[$result->id]['action'] = $actions;
            $data_array[$result->id]['timestamp'] = wplc_time_ago($result->timestamp);
            if (current_time('timestamp') - strtotime($result->timestamp) < 3600) {
                $data_array[$result->id]['type'] = __("New", "wplivechat");
            } else {
                $data_array[$result->id]['type'] = __("Returning", "wplivechat");
            }
            $data_array[$result->id]['image'] = "<img src=\"//www.gravatar.com/avatar/" . md5($result->email) . "?s=20&d=mm\" />";
            $data_array[$result->id]['data']['browsing'] = $result->url;
            $path = parse_url($result->url, PHP_URL_PATH);
            if (strlen($path) > 20) {
                $data_array[$result->id]['data']['browsing_nice_url'] = substr($path, 0, 20) . '...';
            } else {
                $data_array[$result->id]['data']['browsing_nice_url'] = $path;
            }
            $data_array[$result->id]['data']['browser'] = "<img src='" . $wplc_basic_plugin_url . "/images/{$browser_image}' alt='{$browser}' title='{$browser}' /> ";
            $data_array[$result->id]['data']['ip'] = $user_ip;
        }
        $data_array['ids'] = $id_list;
    }
    return json_encode($data_array);
}
function wplc_list_chats_new($post_data)
{
    global $wpdb;
    global $wplc_tblname_chats;
    $status = 3;
    $wplc_c = 0;
    $results = $wpdb->get_results("SELECT * FROM {$wplc_tblname_chats} WHERE `status` = 3 OR `status` = 2 OR `status` = 10 OR `status` = 5 or `status` = 8 or `status` = 9 ORDER BY `timestamp` ASC");
    $data_array = array();
    $id_list = array();
    if (!$results) {
        $data_array = false;
    } else {
        foreach ($results as $result) {
            unset($trstyle);
            unset($actions);
            global $wplc_basic_plugin_url;
            $user_data = maybe_unserialize($result->ip);
            $user_ip = $user_data['ip'];
            $browser = wplc_return_browser_string($user_data['user_agent']);
            $browser_image = wplc_return_browser_image($browser, "16");
            if ($user_ip == "") {
                $user_ip = __('IP Address not recorded', 'wplivechat');
            } else {
                $user_ip = "<a href='http://www.ip-adress.com/ip_tracer/" . $user_ip . "' title='" . __('Whois for', 'wplivechat') . " " . $user_ip . "' target='_BLANK'>" . $user_ip . "</a>";
            }
            $actions = apply_filters("wplc_filter_list_chats_actions", "", $result, $post_data);
            $other_data = maybe_unserialize($result->other);
            $trstyle = "";
            $id_list[intval($result->id)] = true;
            $data_array[$result->id]['name'] = $result->name;
            $data_array[$result->id]['email'] = $result->email;
            $data_array[$result->id]['status'] = $result->status;
            $data_array[$result->id]['action'] = $actions;
            $data_array[$result->id]['timestamp'] = wplc_time_ago($result->timestamp);
            if (current_time('timestamp') - strtotime($result->timestamp) < 3600) {
                $data_array[$result->id]['type'] = __("New", "wplivechat");
            } else {
                $data_array[$result->id]['type'] = __("Returning", "wplivechat");
            }
            $data_array[$result->id]['image'] = "<img src=\"//www.gravatar.com/avatar/" . md5($result->email) . "?s=30&d=mm\"  class='wplc-user-message-avatar' />";
            $data_array[$result->id]['data']['browsing'] = $result->url;
            $path = parse_url($result->url, PHP_URL_PATH);
            if (strlen($path) > 20) {
                $data_array[$result->id]['data']['browsing_nice_url'] = substr($path, 0, 20) . '...';
            } else {
                $data_array[$result->id]['data']['browsing_nice_url'] = $path;
            }
            $data_array[$result->id]['data']['browser'] = "<img src='" . $wplc_basic_plugin_url . "/images/{$browser_image}' alt='{$browser}' title='{$browser}' /> ";
            $data_array[$result->id]['data']['ip'] = $user_ip;
            $data_array[$result->id]['other'] = $other_data;
        }
        $data_array['ids'] = $id_list;
    }
    return json_encode($data_array);
}