<? /* Jorge - frontend for mod_logdb - ejabberd server-side message archive module. Copyright (C) 2009 Zbigniew Zolkiewski This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ if (__FILE__==$_SERVER['SCRIPT_FILENAME']) { header("Location: index.php?act=logout"); exit; } // If user have profile if ($sess->get('log_status') === null) { header ("Location: not_enabled.php"); exit; } // number of my links saved... $db->get_mylinks_count(); $my_links_count = $db->result->cnt; // number of items in trash $db->get_trash_count(); $tr_n = $db->result->cnt; // number of favorites $db->get_favorites_count(); $favorites_count = $db->result->cnt; // get preferences for saving $pref_id=$_GET['set_pref']; $pref_value=$_GET['v']; // save preferences ONLY. Setting language in session is done in headers, here we only save that preferences. if ($_GET['set_pref']) { // Language selection if ($pref_id === "2") { //Rewrite array for late reuse $language_change = $language_support; // Here the $pref_value is actually $lng_sw $pref_value = $_GET['lng_sw']; while(array_keys($language_change)) { $lang_key = key($language_change); if (in_array($pref_value,$language_change[$lang_key])) { debug(DEBUG,"Saving language preferences into database..."); if ($db->set_jorge_pref($pref_id,$pref_value) === false) { $html->alert_message($oper_fail[$lang],"message"); debug(DEBUG,"Preferences not saved due to error"); } else{ $html->status_message($con_saved[$lang]); debug(DEBUG,"Preferences saved successfuly"); } break 1; } array_shift($language_change); } } // default view type if ($pref_id ==="1") { debug(DEBUG,"Saving view selection into database"); if($pref_value === "1" OR $pref_value === "2") { if ($db->set_jorge_pref($pref_id,$pref_value) === false) { $html->alert_message($oper_fail[$lang],"message"); debug(DEBUG,"Preferences not saved due to error"); } else{ // Display status message only if setting via control panel if ($_GET['ref'] === "settings") { $html->status_message($con_saved[$lang]); debug(DEBUG,"Preferences saved successfuly"); } } $sess->set('view_type',$pref_value); } } } // get preferences, if not set, fallback to standard view. $view_type=$sess->get('view_type'); if ($view_type=="1") { $view_type="main.php"; } elseif($view_type=="2") { $view_type="calendar_view.php"; } // this is menu. not nice but works ;) if (preg_match("/search_v2.php/i",$location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<b>'.$menu_item_search[$lang].'</b>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; $search_loc=1; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/main.php/i",$location)) { $menu_main='<b>'.$menu_item_browser[$lang].'</b>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/my_links.php/i",$location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<b>'.$menu_item_links[$lang].' ('.$my_links_count.') </b>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/help.php/i",$location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/contacts.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<b>'.$menu_item_contacts[$lang].'</b>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php">Stats</a>'; } } elseif(preg_match("/stats.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <b>Stats</b></a>'; } } elseif(preg_match("/logger.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<b>'.$menu_item_logs[$lang].'</b>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/trash.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<b>'.$menu_item_trash[$lang].'('.$tr_n.')</b>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/calendar_view.php/i", $location)) { $menu_main='<b>'.$menu_item_browser[$lang].'</b>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/chat_map.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<b>'.$menu_item_map[$lang].'</b>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/settings.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<a class="mmenu" href="favorites.php">'.$menu_item_fav[$lang].'('.$favorites_count.')</a>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } elseif(preg_match("/favorites.php/i", $location)) { $menu_main='<a class="mmenu" href="'.$view_type.'">'.$menu_item_browser[$lang].'</a>'; $menu_map='<a class="mmenu" href="chat_map.php">'.$menu_item_map[$lang].'</a>'; $menu_search='<a class="mmenu" href="search_v2.php">'.$menu_item_search[$lang].'</a>'; $menu_mylinks='<a class="mmenu" href="my_links.php">'.$menu_item_links[$lang].' ('.$my_links_count.')</a>'; $menu_favorites='<b>'.$menu_item_fav[$lang].'('.$favorites_count.')</b>'; $menu_contacts='<a class="mmenu" href="contacts.php">'.$menu_item_contacts[$lang].'</a>'; $menu_logger='<a class="mmenu" href="logger.php">'.$menu_item_logs[$lang].'</a>'; $menu_trash='<a class="mmenu" href="trash.php">'.$menu_item_trash[$lang].'('.$tr_n.')</a>'; if (TOKEN==ADMIN_NAME) { $menu_stats=' | <a class="mmenu" href="stats.php"> Stats</a>'; } } // check if archivization is currently enabled... if ($sess->get('log_status') === false) { $html->system_message($status_msg1[$lang]); } if ($start) { $cur_loc="&start=$start"; } // Show special contact? $db->get_jorge_pref("3"); $show_spec = $db->result->pref_value; // Display special contacts? if ($show_spec === "2") { $db->spec_ignore(true); } else { $db->spec_ignore(false); } //Generate quick jump $db->get_last_day(); $ql_date = $db->result->at; $quick_link = $enc->crypt_url("tslice=$ql_date"); $html->menu(' <a name="top"></a> <table border="0" cellspacing="0" class="ff" width="100%"> <tr> <td colspan="2" height="29" style="text-align: right;"> <a href="'.$view_type.'?a='.$quick_link.'" title="'.$qlink_l[$lang].'"><span style="font-weight: bold; color: white;">⇐</span></a> <b>'.TOKEN.'@'.XMPP_HOST.'</b> | <a href="settings.php">'.$menu_item_panel[$lang].'</a> | <a href="#" onClick="smackzk();">'.$sel_client[$lang].'</a> | <a href="help.php" target="_blank">'.$help_but[$lang].'</a> | <a href="index.php?act=logout">'.$log_out_b[$lang].'</a><hr size="1" noshade="noshade" style="color: #c9d7f1;"></td> </tr> <tr><td height="57"><a href="'.$view_type.'"><img src="img/'.$brand_logo.'" alt="logo" border="0"></a></td></tr> <tr><td valign="top" height="35"><form action="search_v2.php" method="post"> <input id="t_search" type="text" name="query" class="cc" value="'.htmlspecialchars(stripslashes($search_phase)).'"> '); if ($search_loc==1) { if (isset($_GET[c])) { $enc->decrypt_url($_GET['c']); $time2_start = $enc->time_start; $time2_end = $enc->time_end; } else{ $time2_start=$_POST[time2_start]; $time2_end=$_POST[time2_end]; if (validate_date($time2_start) === false) { unset($time2_start); } if (validate_date($time2_start) === false) { unset($time2_end); } } if ($time2_start AND $time2_end) { if (strtotime("$time2_start") > strtotime("$time2_end")) { $alert = $time_range_w[$lang]; unset ($search_phase); } } $db->get_uniq_chat_dates(); $result = $db->result; foreach ($result as $row) { $r++; $to_tble[$r] = $row[at]; } $html->menu('<select name="time2_start" style="text-align: center;"><option value="">'.$time_range_from[$lang].'</option>'); for ($t=1;$t<=$r;$t++) { $html->menu('<option value="'.$to_tble[$t].'"'); if ($time2_start==$to_tble[$t]) { $html->menu('selected="selected"'); } $html->menu('>'.$to_tble[$t].'</option>'); } $pass_t=$t; $html->menu('</select> <select name="time2_end" style="text-align: center;"><option value="">'.$time_range_to[$lang].'</option>'); for ($t=$r;$t>=1;$t--) { $html->menu('<option value="'.$to_tble[$t].'"'); if ($time2_end==$to_tble[$t]) { $html->menu('selected="selected"'); } $html->menu('>'.$to_tble[$t].'</option>'); } $html->menu('</select>'); if ($time2_start AND !$time2_end) { $time2_end = $to_tble[$pass_t-1]; } if (!$time2_start AND $time2_end) { $time2_start = $to_tble[($t+1)-$t]; } } $html->menu('<input type="submit" value="'.$search_box[$lang].'"></form></td>'); if ($mac_user === true) { $html->menu('<td align="right"><a href="#"><img border="0" alt="Hello Mac user!" width="16" height="16" src="img/apple-logo.png" /></a></td>'); } $html->menu(' </tr> <tr style="background-image: url(img/bell-bak.png); height: 24;"> <td colspan="11" width="100%" style="text-align: left; padding-left: 30px; color: white;"> '.$menu_main.' | ' .$menu_map.' | ' .$menu_favorites.' | ' .$menu_mylinks.' | ' .$menu_search.' | ' .$menu_contacts.' | ' .$menu_logger.$menu_stats.' | ' .$menu_trash. ' | <a class="mmenu" href="#" onClick="window.location.reload()">'.$refresh[$lang].'</a> </td> </tr> </table> <p align="center"><b>'.$alert.'</b></p> '); // Get user roster. $rpc_roster = $ejabberd_rpc->get_roster(); // creater roster object and rewrite it to portable multidimentional array $ejabberd_roster = new roster(); foreach ($rpc_roster as $roster_record) { if ($roster_record[group]=="") { $roster_record[group] = $con_no_g[$lang]; } // avoid contacts without nick if ($roster_record[nick]!="") { $ejabberd_roster->add_item($roster_record[jid],$roster_record[nick],$roster_record[group]); } } ?>