192 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?
 | 
						|
/*
 | 
						|
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.
 | 
						|
 | 
						|
*/
 | 
						|
require_once("headers.php");
 | 
						|
require_once("upper.php");
 | 
						|
 | 
						|
$html->set_overview('<h2>'.$con_head[$lang].'</h2><small>'.$con_notice[$lang].'</small>');
 | 
						|
 | 
						|
if ($_POST) {
 | 
						|
 | 
						|
	while (array_keys($_POST)) {
 | 
						|
 | 
						|
			$jid = base64_decode(str_replace("kezyt2s0", "+", key($_POST)));
 | 
						|
			$val = array_shift($_POST);
 | 
						|
 | 
						|
			if ($val=="n") {
 | 
						|
 | 
						|
				$do_not_log_list .=$jid."\n";
 | 
						|
			
 | 
						|
			}
 | 
						|
 | 
						|
	}
 | 
						|
	
 | 
						|
	if ($db->update_log_list($do_not_log_list) === true) {
 | 
						|
 | 
						|
			$html->status_message($con_saved[$lang]);
 | 
						|
 | 
						|
		}
 | 
						|
		else {
 | 
						|
 | 
						|
			$html->alert_message($oper_fail[$lang]);
 | 
						|
	}
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
// sorting options
 | 
						|
$get_sort = $_GET['sort'];
 | 
						|
$get_dir = $_GET['o'];
 | 
						|
 | 
						|
// validate
 | 
						|
if (!ctype_digit($get_sort) AND !ctype_digit($get_dir)) { unset($get_sort); unset($get_dir); }
 | 
						|
 | 
						|
if ($get_dir === "1") {
 | 
						|
 | 
						|
		$dir = "za";
 | 
						|
		$get_dir = "2";
 | 
						|
	
 | 
						|
	}
 | 
						|
	elseif($get_dir === "2"){
 | 
						|
 | 
						|
		$dir = "az";
 | 
						|
		$get_dir = "1";
 | 
						|
 | 
						|
	}
 | 
						|
	else{
 | 
						|
 | 
						|
		$dir = "az";
 | 
						|
		$get_dir = "2";
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
if ($get_sort === "1") {
 | 
						|
 | 
						|
		$ejabberd_roster->sort_by_jid($dir);
 | 
						|
	
 | 
						|
	}
 | 
						|
	elseif($get_sort === "2") {
 | 
						|
 | 
						|
		$ejabberd_roster->sort_by_nick($dir);
 | 
						|
	
 | 
						|
	}
 | 
						|
	elseif($get_sort === "3") {
 | 
						|
 | 
						|
		$ejabberd_roster->sort_by_group($dir);
 | 
						|
	}
 | 
						|
	else{
 | 
						|
		$ejabberd_roster->sort_by_nick_group();
 | 
						|
	}
 | 
						|
 | 
						|
 | 
						|
$roster_con = $ejabberd_roster->get_roster();
 | 
						|
 | 
						|
if ($roster_con) {
 | 
						|
 | 
						|
	$db->get_log_list();
 | 
						|
	$do_notlog_list = $db->result;
 | 
						|
 | 
						|
	$html->set_body('<center><form action="contacts.php" method="post"><table id="maincontent" border="0" class="ff" cellspacing="0">');
 | 
						|
 | 
						|
	if ($get_sort) {
 | 
						|
			
 | 
						|
			$html->set_body('<tr><td colspan="5" style="text-align: right; font-size: x-small;"><a href="contacts.php">'.$reset_sort[$lang].'</a></td></tr>');
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
	$html->set_body('<tr class="header">
 | 
						|
		<td><a href="?sort=2&o='.$get_dir.'"><span style="color: white;">'.$con_tab2[$lang].' ↑↓</span></a></td>
 | 
						|
		<td><a href="?sort=1&o='.$get_dir.'"><span style="color: white;">'.$con_tab3[$lang].' ↑↓</span></a></td>
 | 
						|
		<td style="text-align: center;"><a href="?sort=3&o='.$get_dir.'"><span style="color: white;">'.$con_tab6[$lang].' ↑↓</span></a></td>
 | 
						|
		<td>'.$show_chats[$lang].':</td>
 | 
						|
		<td style="padding-left: 10px;">'.$con_tab4[$lang].'</td>
 | 
						|
		</tr>
 | 
						|
		<tr class="spacer"><td colspan="5"></td></tr>
 | 
						|
		<tbody id="searchfield">
 | 
						|
		');
 | 
						|
 | 
						|
	while (array_keys($roster_con)) {
 | 
						|
 | 
						|
			$jid = key($roster_con);
 | 
						|
			$roster_item = array_shift($roster_con);
 | 
						|
			$nick = $roster_item[nick];
 | 
						|
			$grp  = $roster_item[group];
 | 
						|
			$predefined = $enc->crypt_url("jid=$jid");
 | 
						|
			$prepared_jid=str_replace("+", "kezyt2s0", base64_encode($jid));
 | 
						|
			if ($col=="e0e9f7") { 
 | 
						|
			
 | 
						|
					$col="e8eef7"; 
 | 
						|
					
 | 
						|
				} 
 | 
						|
				else { 
 | 
						|
				
 | 
						|
					$col="e0e9f7"; 
 | 
						|
					
 | 
						|
			}
 | 
						|
			if (in_array($jid,$do_notlog_list) === true) { 
 | 
						|
			
 | 
						|
					$selected="selected"; 
 | 
						|
					
 | 
						|
				} 
 | 
						|
				else { 
 | 
						|
				
 | 
						|
					$selected=""; 
 | 
						|
					
 | 
						|
			}
 | 
						|
			if ($selected!="") { 
 | 
						|
			
 | 
						|
					$col="b7b7b7"; 
 | 
						|
					
 | 
						|
				}
 | 
						|
 | 
						|
			$html->set_body('
 | 
						|
				<tr bgcolor="'.$col.'" onMouseOver="this.bgColor=\'c3d9ff\';" onMouseOut="this.bgColor=\'#'.$col.'\';">
 | 
						|
				<td style="padding-left:7px"><b>'.cut_nick(htmlspecialchars($nick)).'</b></td>
 | 
						|
				<td>(<i>'.htmlspecialchars($jid).'</i>)</td>
 | 
						|
				<td style="text-align: center;">'.cut_nick(htmlspecialchars($grp)).'</td>
 | 
						|
				<td style="text-align: center;"><a href="chat_map.php?chat_map='.$predefined.'"><u>'.$show_chat_as_map[$lang].'</u></a>|
 | 
						|
				<a href="search_v2.php?b='.$predefined.'"><u>'.$show_chat_stream[$lang].'</u></a></td>
 | 
						|
				<td style="text-align: center;">
 | 
						|
				<select class="cc2" name="'.$prepared_jid.'">
 | 
						|
				<option value="y">'.$con_tab_act_y[$lang].'</option>
 | 
						|
				<option value="n" '.$selected.' >'.$con_tab_act_n[$lang].'</option>
 | 
						|
				</select></td></tr>
 | 
						|
				');
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
		$html->set_body('<tr class="spacer"><td colspan="5"></td></tr>
 | 
						|
			</tbody>
 | 
						|
			<tr class="foot"><td colspan="5" style="text-align: center;">
 | 
						|
			<input class="submit" type="submit" value="'.$con_tab_submit[$lang].'"></td></tr>
 | 
						|
			</table></form></center>
 | 
						|
		');
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	else {
 | 
						|
 | 
						|
		$html->status_message('<p align="center"><b>'.$no_contacts[$lang].'</b></p>');
 | 
						|
 | 
						|
}
 | 
						|
require_once("footer.php");
 | 
						|
 | 
						|
?>
 |