You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							100 lines
						
					
					
						
							3.6 KiB
						
					
					
				
			
		
		
	
	
							100 lines
						
					
					
						
							3.6 KiB
						
					
					
				<?php //$id: $
 | 
						|
/**
 | 
						|
 * This script is the main client script. It calls the search server to get an XML document that
 | 
						|
 * represents the list of results to the term searched.
 | 
						|
 * It parses the XML document, checks user permissions and displays a set of results in a nice
 | 
						|
 * format.
 | 
						|
 * @package chamilo.plugin.search
 | 
						|
 * @author Yannick Warnier <yannick.warnier@beeznest.com>
 | 
						|
 */
 | 
						|
/**
 | 
						|
 * Variables
 | 
						|
 */
 | 
						|
require_once('../../../main/inc/global.inc.php');
 | 
						|
require ('filter_user.lib.php');
 | 
						|
require ('client.conf.php');
 | 
						|
api_block_anonymous_users();
 | 
						|
$htmlHeadXtra[] = '<link rel="stylesheet" type="text/css" href="search.css" />';
 | 
						|
 | 
						|
$start_time = time();
 | 
						|
$xml_file = $server_url.'?'.$_SERVER['QUERY_STRING'];
 | 
						|
//if(!$doc = xmldocfile($xml_file)){
 | 
						|
$results = simplexml_load_file($xml_file);
 | 
						|
if($results === false)
 | 
						|
{
 | 
						|
	$res = array();
 | 
						|
}
 | 
						|
else
 | 
						|
{
 | 
						|
	//$doc->load($xml_file);
 | 
						|
	$subTotals = array();
 | 
						|
	$lasttag = '';
 | 
						|
	$myindex = 0;
 | 
						|
	$level = 0;
 | 
						|
	//$root = $doc->root();
 | 
						|
	//$root = $doc->documentElement;
 | 
						|
	$my_query = $results->query;
 | 
						|
	$my_search_info = $results->search_info;
 | 
						|
	$my_search_term = $results->search_term;
 | 
						|
	$my_num_found = $results->num_found;
 | 
						|
	$my_search_time = $results->search_time;
 | 
						|
	$elementCount = 1;
 | 
						|
}
 | 
						|
/**
 | 
						|
 * This function is just a display helper.
 | 
						|
 * @param	integer	Result ID
 | 
						|
 * @param	string	Result title
 | 
						|
 * @param	string	Result URL
 | 
						|
 * @param	string	Short excerpt of the result document
 | 
						|
 * @param	string  Date
 | 
						|
 * @param	string  Rating
 | 
						|
 */
 | 
						|
function result_output($id,$title,$url='',$excerpt='',$date='',$rating=''){
 | 
						|
	if(empty($id) OR empty($title)){return false;}
 | 
						|
	$title = urldecode($title);
 | 
						|
	$title = preg_replace('/\?cidReq=.*$/','',$title);
 | 
						|
        $excerpt = preg_replace('/<hl>\s*(<hl>)?/','<div class="highlight">',$excerpt);
 | 
						|
        $excerpt = preg_replace('/<\/hl>\s*(<\/hl>)?/','</div> ',$excerpt);
 | 
						|
        $excerpt = stripslashes($excerpt);
 | 
						|
	$string = "<div class='result'>\n" .
 | 
						|
			"<div class='title'>$id. <a href='$url'>$title</a> - $date - $rating</div>\n" .
 | 
						|
			"<div class='description'>$excerpt</div>\n" .
 | 
						|
			"</div>\n";
 | 
						|
	//$string = "$id. <a href='$url'>$title</a> - $date<br/><i>$excerpt</i><br/><br/>";
 | 
						|
	return $string;
 | 
						|
}
 | 
						|
 | 
						|
include('../../../main/inc/header.inc.php');
 | 
						|
?>
 | 
						|
 | 
						|
<form method="get" action="<?php echo $search_url; ?>"><input
 | 
						|
type="hidden" name="ps" value="1000"/><input
 | 
						|
type="hidden" name="o" value="0"/><input
 | 
						|
type="hidden" name="m" value="any"/><input
 | 
						|
type="hidden" name="wm" value="sub"/><input
 | 
						|
type="hidden" name="wf" value="2221"/><input
 | 
						|
type="hidden" name="s" value="RDP"/><input
 | 
						|
type="hidden" name="sy" value="1"/><input
 | 
						|
type="text" name="q" value="<?php echo urldecode($my_query);?>" size="10" style="margin: 4px 6px; border: 1px solid #B6BB8C; color:#4D4F3A; height: 15px;padding:0px;"><input
 | 
						|
type="submit" name="submit" value="<?php echo $lang_search_button; ?>" style="margin: 4px 6px; border: 1px solid #B6BB8C; color:#4D4F3A; height:17px;vertical-align:top;padding:0px"></form>
 | 
						|
<?php
 | 
						|
$i = 1;
 | 
						|
$to_print = '';
 | 
						|
foreach($results->result as $res){
 | 
						|
	if(access_check($res->result_du)){
 | 
						|
		$to_print .= result_output($i,api_convert_encoding(urldecode($res->result_dt),$charset,'utf-8'),$res->result_du,api_html_entity_decode(urldecode($res->result_de)),api_htmlentities(urldecode($res->result_dm)),$res->result_dr);
 | 
						|
		$i++;
 | 
						|
	}
 | 
						|
}
 | 
						|
//TODO check if a time and number of results is defined
 | 
						|
$i--;
 | 
						|
if($to_print != ''){
 | 
						|
	//$time = $res['search_time'] + (time() - $start_time);
 | 
						|
	//echo "<div class='search_info'>".$i.' '.$lang_search_found.' '.$time." $lang_seconds</div><br/>\n";
 | 
						|
	echo "<div class='search_info'>".$i.' '.$lang_search_found."</div><br/>\n";
 | 
						|
	echo $to_print;
 | 
						|
}else{
 | 
						|
	echo "<div class='search_info'>".$lang_no_result_found."</div><br/>\n";
 | 
						|
}
 | 
						|
include('../../../main/inc/footer.inc.php');
 | 
						|
?>
 | 
						|
 |