fields_list =array(
* array(
* 'field'=>1,
* 'subfields' => array(
* 2,3
* )
* )
* @var array
* @access protected
*/
protected $fields_list = array(
array(
'field'=>1,
'subfields'=>array(0),
),
array(
'field'=>14,
'subfields'=>array(0),
)
);
public function __construct() {
$this->collection = new autoindex_documents_collection($this->fields_list);
}
/**
* fonction de test
*/
public function test($raw_text='', $lang='fr_FR', $id_thesaurus=0) {
$this->raw_text=$raw_text;
$this->lang=$lang;
$this->id_thesaurus=$id_thesaurus;
}
public function process() {
$this->get_raw_text();
$this->get_lang();
$this->get_thesaurus();
$this->find_revelants_words();
$this->get_relevants_terms();
$this->calc_total_terms_relevancy();
$this->calc_document_terms_distances();
$this->sort_terms();
}
/**
* Récupère le contenu des champs de la notice à indexer
*
* @global autoindex
* json array(
* array (
* [name]=nom de la zone,
* [field]=nom du champ dans le formulaire,
* [pond]=ponderation,
* [value]=contenu de la zone
* )
* )
*
* @return array(string)
* @access public
*/
public function get_raw_text() {
global $autoindex_txt,$charset;
$this->raw_text = json_decode(stripslashes($autoindex_txt),true);
if(is_array($this->raw_text) && count($this->raw_text)) {
foreach($this->raw_text as $k=>$v) {
if(!is_null($v['value']) && $v['value']!=='') {
$this->raw_text[$k]['value']=rawurldecode($v['value']);
if($charset!='utf-8') {
$this->raw_text[$k]['value'] = utf8_decode($this->raw_text[$k]['value']);
}
} else {
unset($this->raw_text[$k]);
}
}
}
//TODO
// echo "Eléments postés =
";
// print $autoindex_txt."
";
// highlight_string(print_r($this->raw_text,true));
// echo "
";
return $this->raw_text;
}
/**
* Récupère la langue de l'interface
*
* @return string
* @access public
*/
public function get_lang() {
global $user_lang, $lang;
if(!$user_lang){
$user_lang=$lang;
}
if(!$user_lang) {
$user_lang="fr_FR";
}
$this->lang=$user_lang;
//TODO
// echo "Langue de la notice = ".$user_lang."
";
// echo "Langue utilisateur = ".$lang."
";
// echo "Langue indexation = ".$this->lang."
";
// echo "
";
return $this->lang;
}
/**
* Récupère l'identifiant du thésaurus à utiliser pour la recherche de termes.
*
* @return integer
* @access public
*/
public function get_thesaurus() {
global $id_thes;
$this->id_thesaurus=$id_thes;
if($this->id_thesaurus < 0 ) {
$this->id_thesaurus=0;
}
return $id_thes;
}
public function get_form() {
global $charset;
global $msg;
global $caller,$thesaurus_auto_index_notice_fields,$lang,$include_path,$search_type,$user_lang;
global $htmlfieldstype;
if(!$htmlfieldstype) {
$htmlfieldstype="html";
}
$tpl_index_auto="";
if ($caller=='notice' && $thesaurus_auto_index_notice_fields) {
$fields=explode(';',$thesaurus_auto_index_notice_fields);
$notice_fields=new notice_doublon();
$tpl_field = array();
$tpl_selector_field='
| "; $tpl_selector_field.= " | "; $j++; $i++; } } while($j%3) { $tpl_selector_field.=""; $j++; } $tpl_selector_field.=' |
";
} else {
$browser_content .= "
";
}
if ($tcateg->commentaire) {
$zoom_comment = "" ;
$java_comment = " onmouseover=\"z=document.getElementById('zoom_comment".$tcateg->id."'); z.style.display=''; \" onmouseout=\"z=document.getElementById('zoom_comment".$tcateg->id."'); z.style.display='none'; \"" ;
} else {
$zoom_comment = "" ;
$java_comment = "" ;
}
if ($thesaurus_mode_pmb ) $nom_tesaurus='['.$tcateg->thes->getLibelle().'] ' ;
else $nom_tesaurus='' ;
if($tcateg->not_use_in_indexation){
$browser_content .= "
";
$browser_content .= $display;
} else {
$browser_content .= "thes->id_thesaurus."')\">";
$browser_content .= $display;
$browser_content .= "";
}
$browser_content .= $zoom_comment."\n";
$browser_content .= "