function get_new_outside_message() { global $user_ID, $wpdb, $rcl_options; if (!$user_ID) { return false; } $mess = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . RCL_PREF . "private_message WHERE adressat_mess = '%d' AND status_mess ='0'", $user_ID)); if (!$mess) { $log['recall'] = 0; echo json_encode($log); exit; } $rcl_action_users = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . RCL_PREF . "user_action WHERE user = '******'", $mess->author_mess)); $last_action = rcl_get_useraction($rcl_action_users->time_action); $class = !$last_action ? 'online' : 'offline'; $online = !$last_action ? 1 : 0; $words = isset($rcl_options['ms_limit_words']) && $rcl_options['ms_limit_words'] ? $rcl_options['ms_limit_words'] : 400; $access = apply_filters('access_chat_rcl', '', $mess->author_mess); $content_message = $this->mess_preg_replace_rcl($mess->content_mess); //$content_message = $this->get_url_file_message($message,$content_message); $content_message = $this->str_nl2br_rcl($content_message); $message_block .= '<div id="privatemess">' . '<div id="' . $mess->ID . '" class="close-mess-window">' . '<i class="fa fa-times-circle"></i>' . '</div>' . '<p class="title-new-mess">' . __('You a new message!', 'wp-recall') . '</p>' . '<div class="private-message">' . '<div class="content-notice">' . '<div class="notice-ava">' . '<div class="mini_status_user ' . $class . '">' . '<i class="fa fa-circle"></i>' . '</div>' . get_avatar($mess->author_mess, 60) . '</div> <p class="name-author-mess"> Отправитель: ' . get_the_author_meta('display_name', $mess->author_mess) . ' </p> <p class="content-mess">' . $content_message . '</p> <div class="prmess"> <textarea name="content_mess" id="minicontent_mess" rows="3" style="width:98%;padding:5px;"></textarea> <div id="minicount-word">' . $words . '</div> <input type="button" name="addmess" class="miniaddmess recall-button" value="Отправить"> <input type="hidden" name="adressat_mess" id="miniadressat_mess" value="' . $mess->author_mess . '"> <input type="hidden" name="online" id="minionline" value="' . $online . '"> <input type="hidden" name="widget-mess" id="widget-mess" value="' . $mess->ID . '"> </div> </div> <form class="form_new_message" action="" method="post"> <input type="hidden" name="id_mess" value="' . $mess->ID . '"> <input type="hidden" name="author_mess" value="' . $mess->author_mess . '"> <input class="reading_mess recall-button" type="submit" name="old_status_message_recall" value="' . __('Go to the correspondence', 'wp-recall') . '"> </form>'; if (!$access) { $message_block .= '<input type="button" name="view-form" class="recall-button view-form" value="' . __('Reply', 'wp-recall') . '">'; } $message_block .= '</div> </div>'; $log['recall'] = 100; $log['message_block'] = $message_block; echo json_encode($log); exit; }
function rcl_user_action($type = 1) { global $rcl_user; $action = isset($rcl_user->time_action) ? $rcl_user->time_action : $rcl_user->user_registered; switch ($type) { case 1: $last_action = rcl_get_useraction($action); if (!$last_action) { echo '<span class="status_user online"><i class="fa fa-circle"></i></span>'; } else { echo '<span class="status_user offline" title="' . __('not online', 'wp-recall') . ' ' . $last_action . '"><i class="fa fa-circle"></i></span>'; } break; case 2: echo rcl_get_miniaction($action); break; } }
function rcl_action() { global $rcl_userlk_action; $last_action = rcl_get_useraction($rcl_userlk_action); $class = !$last_action ? 'online' : 'offline'; $status = '<div class="status_user ' . $class . '"><i class="fa fa-circle"></i></div>'; if ($last_action) { $status .= __('not online', 'wp-recall') . ' ' . $last_action; } echo $status; }
function rcl_update_timeaction_user() { global $user_ID, $wpdb; if (!$user_ID) { return false; } $rcl_current_action = $wpdb->get_var($wpdb->prepare("SELECT time_action FROM " . RCL_PREF . "user_action WHERE user='******'", $user_ID)); $last_action = rcl_get_useraction($rcl_current_action); if ($last_action) { $time = current_time('mysql'); $res = $wpdb->update(RCL_PREF . 'user_action', array('time_action' => $time), array('user' => $user_ID)); if (!isset($res) || $res == 0) { $act_user = $wpdb->get_var($wpdb->prepare("SELECT COUNT(time_action) FROM " . RCL_PREF . "user_action WHERE user ='******'", $user_ID)); if ($act_user == 0) { $wpdb->insert(RCL_PREF . 'user_action', array('user' => $user_ID, 'time_action' => $time)); } if ($act_user > 1) { rcl_delete_user_action($user_ID); } } } do_action('rcl_update_timeaction_user'); }