set_overview('

'.$archives_t[$lang].'

'.$cal_notice[$lang].'. '.$change_view_cal[$lang].''); if ($enc->decrypt_url($e_string) === true) { $tslice = $enc->tslice; $talker = $enc->peer_name_id; $server = $enc->peer_server_id; $action = $enc->action; $lnk = $enc->lnk; $e_string = $enc->crypt_url("tslice=$tslice&peer_name_id=$talker&peer_server_id=$server"); } else{ unset($e_string); } $html->set_body(' '); // undo delete if ($action === "undelete") { if ($db->move_chat_from_trash($talker,$server,$tslice,$lnk) === true) { $html->status_message($undo_info[$lang],"message"); } else { unset($talker); $html->alert_message($oper_fail[$lang],"message"); } } // set idx if ($_GET['idx']) { $idx = $_GET['idx']; if ($enc->decrypt_url($idx) === true) { if($db->set_ext_index($enc->single) !== true) { echo $enc->single;exit; unset($idx); unset($action); } $idx = $enc->single; } else{ unset($idx); unset($action); } } if ($action === "delete") { if ($db->move_chat_to_trash($talker,$server,$tslice,$lnk) === true) { $undo = $enc->crypt_url("tslice=$tslice&peer_name_id=$talker&peer_server_id=$server&lnk=$lnk&action=undelete"); unset($talker); $idx = $enc->crypt_url("single=".$db->get_last_idx().""); $html->set_body('
'.$del_moved[$lang] .' Undo
'); } else { $html->alert_message($oper_fail[$lang],"message"); unset($talker); } } // some validation things... if ($start) { if ((validate_start($start))!==true) { $start="0"; } } $db->get_user_stats_drop_down(); $result = $db->result; if (count($result) !=0) { // main table $html->set_body('

'); if ($tslice) { $html->set_body(''); } if ($talker) { $html->set_body(''); } $html->set_body(''); } } // Chat thread: if ($talker) { $html->set_body('
'.$main_date[$lang].''.$talks[$lang].''.$thread[$lang].'
    '); foreach ($result as $entry) { if ($entry[at_send]==substr($tslice,0,7)) { $rel="open"; $bop=""; $bcl=""; } else { $rel=""; $bop=""; $bcl=""; } $html->set_body('
  • '.$bop.verbose_date($entry[at],$months_names,$weekdays,false,true).$bcl.'
  • '); } $html->set_body('
'); $html->set_body('
'); } else { $html->status_message($no_archives[$lang]); } // Chats in selected days: if ($tslice) { $db->get_user_chats($tslice); $result = $db->result; if (count($result)>0) { $display_conversations = true; } else{ $display_conversations = false; } if ($display_conversations === true) { // we need to sort list by nickname so we need to combiet 2 results: roster and mod_logdb chatlist: foreach($result as $sort_me) { $roster_name = query_nick_name($ejabberd_roster,$sort_me[username],$sort_me[server_name]); $arr_key++; if (!$roster_name) { // split contact into 2 arrays: one with full jids, second without names - transports, agents.. $sorted_spec[$arr_key] = array( "roster_name"=>$roster_name, "username"=>$sort_me[username], "server_name"=>$sort_me[server_name], "todaytalk"=>$sort_me[todaytalk], "server"=>$sort_me[server], "lcount"=>$sort_me[lcount] ); } else { $sorted_list[$arr_key] = array( "roster_name"=>$roster_name, "username"=>$sort_me[username], "server_name"=>$sort_me[server_name], "todaytalk"=>$sort_me[todaytalk], "server"=>$sort_me[server], "lcount"=>$sort_me[lcount] ); } } // sort list asort($sorted_list); if (!$show_spec) { $show_spec="1"; } if ($sorted_spec AND $show_spec === "1") { if ($sorted_list) { $sorted_list = array_merge($sorted_list,$sorted_spec); } else{ $sorted_list = $sorted_spec; } } $html->set_body('
'); foreach ($sorted_list as $entry) { $user_name = $entry[username]; $server_name = $entry[server_name]; if ($talker == $entry["todaytalk"] AND $server==$entry[server]) { $bold_b=""; $bold_e=""; } else { $bold_b=""; $bold_e=""; } $nickname = $entry[roster_name]; if (!$nickname) { $nickname=$not_in_r[$lang]; unset($malpa); $calday_class="caldays4"; $spec_con = '
('.htmlspecialchars($server_name).')'; } else{ $malpa = "@"; unset($spec_con); unset($calday_class); } $to_base2 = $enc->crypt_url("tslice=$tslice&peer_name_id=$entry[todaytalk]&peer_server_id=$entry[server]"); $html->set_body(''); } $html->set_body('
'.$bold_b.cut_nick($nickname).$bold_e.''); if ($spec_con) { $html->set_body($bold_b.$spec_con.$bold_e); } $html->set_body('
'); if (!$start) { $start="0"; } $db->get_num_lines($tslice,$talker,$server); $nume = $db->result->cnt; if ($start>$nume) { $start=$nume-$num_lines_bro; } $db->get_user_name($talker); $talker_name = $db->result->username; $db->get_server_name($server); $server_name = $db->result->server_name; $nickname = query_nick_name($ejabberd_roster,$talker_name,$server_name); if ($nickname === "") { $nickname=$not_in_r[$lang]; $spec_mark = true; } else { $spec_mark = false; } $predefined = $enc->crypt_url("jid=$talker_name@$server_name"); $html->set_body('
'); if ($_GET['loc']) { $loc_id=$_GET['loc']; if ($loc_id=="2") { $back_link_message=$chat_map_back[$lang]; $back_link="chat_map.php?chat_map=$predefined"; } elseif($loc_id=="3") { $back_link_message=$fav_back[$lang]; $back_link="favorites.php"; } elseif($loc_id=="4") { $back_link_message=$myl_back[$lang]; $back_link="my_links.php"; } $html->set_body(''); } if ($resource_id) { $db->get_resource_name($resource_id); $res_display = $db->result->resource_name; $html->set_body(''); } $action_link = $enc->crypt_url("tslice=$tslice&peer_name_id=$talker&peer_server_id=$server&lnk=$e_string&action=delete"); $html->set_body(' '); if($db->get_user_chat($tslice,$talker,$server,$resource_id,$start,$num_lines_bro) === false) { $html->alert_message($oper_fail[$lang]); } // processing messages. this should be handled as separate message_processor, so that tree view and calendar view can share the same code withoud redundancy. To be done in 2.0 $result = $db->result; // some strings to pass to message_processor $lang_pack = array( $cont_chat_p[$lang], $message_type_message[$lang], $message_type_error[$lang], $message_type_headline[$lang], $resource_only[$lang], $muc_message[$lang], $my_links_save[$lang], $verb_h[$lang], $in_min[$lang] ); // Sent all data to parsing function (message processor) if (message_processor($tslice,$server_name,$start,$nickname,$result,$db,$html,$enc,TOKEN,$split_line,$lang_pack,$lang,$spec_mark,$e_string) !== true) { $html->alert_message($oper_fail[$lang]); $html->destroy_content(); } $html->set_body(''); // limiting code - end if (($nume-$start)>40) { $html->set_body(''); } $html->set_body('
'.$back_link_message.'
'.$resource_warn[$lang].cut_nick(htmlspecialchars($res_display)).'. '); $html->set_body($resource_discard[$lang].''.$resource_discard2[$lang].'
'.$time_t[$lang].' '.$user_t[$lang].' '.$thread[$lang].' '); // check favorite $db->check_favorite($talker,$server,$tslice); if ($db->result->cnt < 1) { $html->set_body('
'); } else { $html->set_body('
'.$fav_favorited[$lang].'
'); } $html->set_body(' '.$export_link[$lang].'  |   '.$all_for_u[$lang].' '.$all_for_u_m2[$lang].'  |  '.$all_for_u_m[$lang].'   |   '.$del_t[$lang].'
'); for($i=0;$i < $nume;$i=$i+$num_lines_bro){ if ($i!=$start) { if ($resource_id) { $add_res="&b=$resource_id"; } else { $add_res=""; } $html->set_body(' ['.$i.'] '); } else { $html->set_body(' -'.$i.'- '); } } $html->set_body('
'.$back_t[$lang].'
'); } $html->set_body(''); require_once("footer.php"); ?>