25 include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchSettings.php';
 
   60                 $this->lng->loadLanguageModule(
'meta');
 
   71                 if(isset(self::$instance) and self::$instance)
 
   85                 $lng->loadLanguageModule(
'meta');
 
   87                 $fields[
'lom_content']                          = $lng->txt(
'content');
 
   89                 include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
   92                         $fields[
'general_offline']              = $lng->txt(
'lucene_offline_filter');
 
   95                 $fields[
'lom_language']                         = $lng->txt(
'language');
 
   96                 $fields[
'lom_keyword']                          = $lng->txt(
'meta_keyword');
 
   97                 $fields[
'lom_coverage']                         = $lng->txt(
'meta_coverage');
 
   98                 $fields[
'lom_structure']                        = $lng->txt(
'meta_structure');
 
   99                 $fields[
'lom_status']                           = $lng->txt(
'meta_status');
 
  100                 $fields[
'lom_version']                          = $lng->txt(
'meta_version');
 
  101                 $fields[
'lom_contribute']                       = $lng->txt(
'meta_contribute');
 
  102                 $fields[
'lom_format']                           = $lng->txt(
'meta_format');
 
  103                 $fields[
'lom_operating_system']         = $lng->txt(
'meta_operating_system');
 
  104                 $fields[
'lom_browser']                          = $lng->txt(
'meta_browser');
 
  105                 $fields[
'lom_interactivity']            = $lng->txt(
'meta_interactivity_type');
 
  106                 $fields[
'lom_resource']                         = $lng->txt(
'meta_learning_resource_type');
 
  107                 $fields[
'lom_level']                            = $lng->txt(
'meta_interactivity_level');
 
  108                 $fields[
'lom_density']                          = $lng->txt(
'meta_semantic_density');
 
  109                 $fields[
'lom_user_role']                        = $lng->txt(
'meta_intended_end_user_role');
 
  110                 $fields[
'lom_context']                          = $lng->txt(
'meta_context');
 
  111                 $fields[
'lom_difficulty']                       = $lng->txt(
'meta_difficulty');
 
  112                 $fields[
'lom_costs']                            = $lng->txt(
'meta_cost');
 
  113                 $fields[
'lom_copyright']                        = $lng->txt(
'meta_copyright_and_other_restrictions');
 
  114                 $fields[
'lom_purpose']                          = $lng->txt(
'meta_purpose');
 
  115                 $fields[
'lom_taxon']                            = $lng->txt(
'meta_taxon');
 
  118                 include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php';
 
  119                 include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php';
 
  124                                 if($def->isSearchable())
 
  126                                         $fields[
'adv_'.$def->getFieldId()] = $def->getTitle();
 
  138                 return $this->active_fields ? $this->active_fields : array();
 
  143                 return $this->active_sections ? $this->active_sections : array();
 
  148                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  150                 $a_post_name = 
'query['.$a_field_name.
']';
 
  152                 switch($a_field_name)
 
  154                         case 'general_offline':
 
  155                                 $offline_options = array(
 
  156                                         '0' => $this->lng->txt(
'search_any'),
 
  157                                         self::ONLINE_QUERY => $this->lng->txt(
'search_option_online'),
 
  158                                         self::OFFLINE_QUERY => $this->lng->txt(
'search_option_offline')
 
  160                                 $offline = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  161                                 $offline->setOptions($offline_options);
 
  162                                 $offline->setValue($a_query[
'general_offline']);
 
  166                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  167                                 $text->setSubmitFormOnEnter(
true);
 
  168                                 $text->setValue($a_query[
'lom_content']);
 
  170                                 $text->setMaxLength(255);
 
  175                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  176                                 $select->setValue($a_query[
'lom_language']);
 
  180                                         array(0 => $this->lng->txt(
'search_any')),
 
  185                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  186                                 $text->setSubmitFormOnEnter(
true);
 
  187                                 $text->setValue($a_query[
'lom_keyword']);
 
  189                                 $text->setMaxLength(255);
 
  193                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  194                                 $text->setSubmitFormOnEnter(
true);
 
  195                                 $text->setValue($a_query[
'lom_coverage']);
 
  197                                 $text->setMaxLength(255);
 
  200                         case 'lom_structure':
 
  201                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  202                                 $select->setValue($a_query[
'lom_structure']);
 
  206                                         array(0 => $this->lng->txt(
'search_any')),
 
  212                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  213                                 $select->setValue($a_query[
'lom_status']);
 
  217                                         array(0 => $this->lng->txt(
'search_any')),
 
  222                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  223                                 $text->setSubmitFormOnEnter(
true);
 
  224                                 $text->setValue($a_query[
'lom_version']);
 
  226                                 $text->setMaxLength(255);
 
  229                         case 'lom_contribute':
 
  230                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],
'query['.
'lom_role'.
']');
 
  231                                 $select->setValue($a_query[
'lom_role']);
 
  235                                         array(0 => $this->lng->txt(
'search_any')),
 
  238                                         $text = 
new ilTextInputGUI($this->lng->txt(
'meta_entry'),
'query['.
'lom_role_entry'.
']');
 
  239                                         $text->
setValue($a_query[
'lom_role_entry']);
 
  241                                         $text->setMaxLength(255);
 
  243                                 $select->addSubItem($text);
 
  248                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  249                                 $select->setValue($a_query[
'lom_format']);
 
  253                                         array(0 => $this->lng->txt(
'search_any')),
 
  257                         case 'lom_operating_system':
 
  258                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  259                                 $select->setValue($a_query[
'lom_operating_system']);
 
  263                                         array(0 => $this->lng->txt(
'search_any')),
 
  268                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  269                                 $select->setValue($a_query[
'lom_browser']);
 
  273                                         array(0 => $this->lng->txt(
'search_any')),
 
  278                         case 'lom_interactivity':
 
  279                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  280                                 $select->setValue($a_query[
'lom_interactivity']);
 
  284                                         array(0 => $this->lng->txt(
'search_any')),
 
  289                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  290                                 $select->setValue($a_query[
'lom_resource']);
 
  294                                         array(0 => $this->lng->txt(
'search_any')),
 
  301                                         $this->lng->txt(
'from'),
 
  303                                                 $a_query[
'lom_level_start'],
 
  304                                                 'query['.
'lom_level_start'.
']',
 
  305                                                 array(0 => $this->lng->txt(
'search_any'))),
 
  306                                         $this->lng->txt(
'until'),
 
  308                                                 $a_query[
'lom_level_end'],
 
  309                                                 'query['.
'lom_level_end'.
']',
 
  310                                                 array(0 => $this->lng->txt(
'search_any')))
 
  312                                 $range->setHTML($html);
 
  318                                         $this->lng->txt(
'from'),
 
  320                                                 $a_query[
'lom_density_start'],
 
  321                                                 'query['.
'lom_density_start'.
']',
 
  322                                                 array(0 => $this->lng->txt(
'search_any'))),
 
  323                                         $this->lng->txt(
'until'),
 
  325                                                 $a_query[
'lom_density_end'],
 
  326                                                 'query['.
'lom_density_end'.
']',
 
  327                                                 array(0 => $this->lng->txt(
'search_any')))
 
  329                                 $range->setHTML($html);
 
  333                         case 'lom_user_role':
 
  334                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  335                                 $select->setValue($a_query[
'lom_user_role']);
 
  339                                         array(0 => $this->lng->txt(
'search_any')),
 
  344                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  345                                 $select->setValue($a_query[
'lom_context']);
 
  349                                         array(0 => $this->lng->txt(
'search_any')),
 
  353                         case 'lom_difficulty':
 
  356                                         $this->lng->txt(
'from'),
 
  358                                                 $a_query[
'lom_difficulty_start'],
 
  359                                                 'query['.
'lom_difficulty_start'.
']',
 
  360                                                 array(0 => $this->lng->txt(
'search_any'))),
 
  361                                         $this->lng->txt(
'until'),
 
  363                                                 $a_query[
'lom_difficulty_end'],
 
  364                                                 'query['.
'lom_difficulty_end'.
']',
 
  365                                                 array(0 => $this->lng->txt(
'search_any')))
 
  367                                 $range->setHTML($html);
 
  372                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  373                                 $select->setValue($a_query[
'lom_costs']);
 
  377                                         array(0 => $this->lng->txt(
'search_any')),
 
  381                         case 'lom_copyright':
 
  382                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  383                                 $select->setValue($a_query[
'lom_copyright']);
 
  387                                         array(0 => $this->lng->txt(
'search_any')),
 
  395                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  396                                 $select->setValue($a_query[
'lom_purpose']);
 
  400                                         array(0 => $this->lng->txt(
'search_any')),
 
  405                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  406                                 $text->setSubmitFormOnEnter(
true);
 
  407                                 $text->setValue($a_query[
'lom_taxon']);
 
  409                                 $text->setMaxLength(255);
 
  413                                 if(substr($a_field_name,0,3) != 
'adv')
 
  417                                 $field_id = substr($a_field_name,4);
 
  418                                 include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php';
 
  421                                 switch($field->getFieldType())
 
  424                                                 $text = 
new ilTextInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  425                                                 $text->setSubmitFormOnEnter(
true);
 
  426                                                 $text->setValue($a_query[$a_field_name]);
 
  428                                                 $text->setMaxLength(255);
 
  432                                                 $select = 
new ilSelectInputGUI($this->active_fields[$a_field_name],$a_post_name);
 
  433                                                 $select->setValue($a_query[$a_field_name]);
 
  434                                                 $select->setOptions($field->getFieldValuesForSearch());
 
  442                                                 $check->setChecked($a_query[$a_field_name]);
 
  447                                                 $check->addSubItem($time);
 
  452                                                 $check->addSubItem($time);
 
  471                         case 'general_offline':
 
  475                                         case self::OFFLINE_QUERY:
 
  486                                 return 'lomLanguage:'.$a_query;
 
  489                                 return 'lomKeyword:'.$a_query;
 
  492                                 return 'lomCoverage:'.$a_query;
 
  494                         case 'lom_structure':
 
  495                                 return 'lomStructure:'.$a_query;
 
  499                                 return 'lomStatus:'.$a_query;
 
  502                                 return 'lomVersion:'.$a_query;
 
  506                                 return 'lomRole:'.$a_query;
 
  508                         case 'lom_role_entry':
 
  509                                 return 'lomRoleEntity:'.$a_query;
 
  514                                 return 'lomFormat:'.$a_query;
 
  516                         case 'lom_operating_system':
 
  517                                 return 'lomOS:'.$a_query;
 
  520                                 return 'lomBrowser:'.$a_query;
 
  523                         case 'lom_interactivity':
 
  524                                 return 'lomInteractivity:'.$a_query;
 
  527                                 return 'lomResource:'.$a_query;
 
  529                         case 'lom_level_start':
 
  531                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  533                                 for($i = $a_query; $i <= count(
$options); $i++)
 
  535                                         if(strlen($q_string))
 
  539                                         $q_string .= (
'lomLevel:"'.$options[$i].
'" ');                                          
 
  543                         case 'lom_level_end':
 
  545                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  547                                 for($i = 1; $i <= $a_query; $i++)
 
  549                                         if(strlen($q_string))
 
  553                                         $q_string .= (
'lomLevel:"'.$options[$i].
'" ');                                          
 
  557                         case 'lom_density_start':
 
  559                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  561                                 for($i = $a_query; $i <= count(
$options); $i++)
 
  563                                         if(strlen($q_string))
 
  567                                         $q_string .= (
'lomDensity:"'.$options[$i].
'" ');                                                
 
  571                         case 'lom_density_end':
 
  573                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  575                                 for($i = 1; $i <= $a_query; $i++)
 
  577                                         if(strlen($q_string))
 
  581                                         $q_string .= (
'lomDensity:"'.$options[$i].
'" ');
 
  585                         case 'lom_user_role':
 
  586                                 return 'lomUserRole:'.$a_query;
 
  589                                 return 'lomContext:'.$a_query;
 
  591                         case 'lom_difficulty_start':
 
  593                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  595                                 for($i = $a_query; $i <= count(
$options); $i++)
 
  597                                         if(strlen($q_string))
 
  601                                         $q_string .= (
'lomDifficulty:"'.$options[$i].
'" ');                                             
 
  605                         case 'lom_difficulty_end':
 
  607                                 include_once 
'./Services/MetaData/classes/class.ilMDUtilSelect.php';
 
  609                                 for($i = 1; $i <= $a_query; $i++)
 
  611                                         if(strlen($q_string))
 
  615                                         $q_string .= (
'lomDifficulty:"'.$options[$i].
'" ');
 
  621                                 return 'lomCosts:'.$a_query;
 
  623                         case 'lom_copyright':
 
  624                                 return 'lomCopyright:'.$a_query;
 
  628                                 return 'lomPurpose:'.$a_query;
 
  631                                 return 'lomTaxon:'.$a_query;
 
  634                                 if(substr($a_field,0,3) != 
'adv')
 
  638                                 $field_id = substr($a_field,4);
 
  639                                 include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php';
 
  642                                 switch($field->getFieldType())
 
  646                                                 return 'advancedMetaData_'.$field_id.
':'.$a_query;
 
  650                                                 $value = 
$_POST[
'adv_'.$field_id.
'_start'];
 
  651                                                 $dt[
'year'] = (int) $value[
'date'][
'y'];
 
  652                                                 $dt[
'mon'] = (int) $value[
'date'][
'm'];
 
  653                                                 $dt[
'mday'] = (int) $value[
'date'][
'd'];
 
  654                                                 $dt[
'hours'] = (int) 0;
 
  655                                                 $dt[
'minutes'] = (int) 0;
 
  656                                                 $dt[
'seconds'] = (int) 0;
 
  660                                                 $value = 
$_POST[
'adv_'.$field_id.
'_end'];
 
  661                                                 $dt[
'year'] = (int) $value[
'date'][
'y'];
 
  662                                                 $dt[
'mon'] = (int) $value[
'date'][
'm'];
 
  663                                                 $dt[
'mday'] = (int) $value[
'date'][
'd'];
 
  664                                                 $dt[
'hours'] = (int) 0;
 
  665                                                 $dt[
'minutes'] = (int) 0;
 
  666                                                 $dt[
'seconds'] = (int) 0;
 
  670                                                 return 'advancedMetaData_'.$field_id.
':{'.$ustart.
' TO '.$uend.
'}';
 
  674                                                 $value = 
$_POST[
'adv_'.$field_id.
'_start'];
 
  675                                                 $dt[
'year'] = (int) $value[
'date'][
'y'];
 
  676                                                 $dt[
'mon'] = (int) $value[
'date'][
'm'];
 
  677                                                 $dt[
'mday'] = (int) $value[
'date'][
'd'];
 
  678                                                 $dt[
'hours'] = (int) $value[
'time'][
'h'];
 
  679                                                 $dt[
'minutes'] = (int) $value[
'time'][
'm'];
 
  680                                                 $dt[
'seconds'] = (int) 0;
 
  684                                                 $value = 
$_POST[
'adv_'.$field_id.
'_end'];
 
  685                                                 $dt[
'year'] = (int) $value[
'date'][
'y'];
 
  686                                                 $dt[
'mon'] = (int) $value[
'date'][
'm'];
 
  687                                                 $dt[
'mday'] = (int) $value[
'date'][
'd'];
 
  688                                                 $dt[
'hours'] = (int) $value[
'time'][
'h'];
 
  689                                                 $dt[
'minutes'] = (int) $value[
'time'][
'm'];
 
  690                                                 $dt[
'seconds'] = (int) 0;
 
  694                                                 return 'advancedMetaData_'.$field_id.
':{'.$ustart.
' TO '.$uend.
'}';
 
  708                 foreach(self::getFields() as $name => $translation)
 
  710                         if($this->settings->isActive($name))
 
  712                                 $this->active_fields[$name] = $translation;
 
  728                                         $this->active_sections[
'default'][
'fields'][] = 
'lom_content';
 
  729                                         $this->active_sections[
'default'][
'name'] = 
'';
 
  732                                 case 'general_offline':
 
  733                                         $this->active_sections[
'default'][
'fields'][] = 
'general_offline';
 
  734                                         $this->active_sections[
'default'][
'name'] = 
'';
 
  738                                         $this->active_sections[
'default'][
'fields'][] = 
'lom_type';
 
  739                                         $this->active_sections[
'default'][
'name'] = 
'';
 
  744                                         $this->active_sections[
'general'][
'fields'][] = 
'lom_language';
 
  745                                         $this->active_sections[
'general'][
'name'] = $this->lng->txt(
'meta_general');
 
  748                                         $this->active_sections[
'general'][
'fields'][] = 
'lom_keyword';
 
  749                                         $this->active_sections[
'general'][
'name'] = $this->lng->txt(
'meta_general');
 
  752                                         $this->active_sections[
'general'][
'fields'][] = 
'lom_coverage';
 
  753                                         $this->active_sections[
'general'][
'name'] = $this->lng->txt(
'meta_general');
 
  755                                 case 'lom_structure':
 
  756                                         $this->active_sections[
'general'][
'fields'][] = 
'lom_structure';
 
  757                                         $this->active_sections[
'general'][
'name'] = $this->lng->txt(
'meta_general');
 
  762                                         $this->active_sections[
'lifecycle'][
'fields'][] = 
'lom_status';
 
  763                                         $this->active_sections[
'lifecycle'][
'name'] = $this->lng->txt(
'meta_lifecycle');
 
  766                                         $this->active_sections[
'lifecycle'][
'fields'][] = 
'lom_version';
 
  767                                         $this->active_sections[
'lifecycle'][
'name'] = $this->lng->txt(
'meta_lifecycle');
 
  769                                 case 'lom_contribute':
 
  770                                         $this->active_sections[
'lifecycle'][
'fields'][] = 
'lom_contribute';
 
  771                                         $this->active_sections[
'lifecycle'][
'name'] = $this->lng->txt(
'meta_lifecycle');
 
  776                                         $this->active_sections[
'technical'][
'fields'][] = 
'lom_format';
 
  777                                         $this->active_sections[
'technical'][
'name'] = $this->lng->txt(
'meta_technical');
 
  779                                 case 'lom_operating_system':
 
  780                                         $this->active_sections[
'technical'][
'fields'][] = 
'lom_operating_system';
 
  781                                         $this->active_sections[
'technical'][
'name'] = $this->lng->txt(
'meta_technical');
 
  784                                         $this->active_sections[
'technical'][
'fields'][] = 
'lom_browser';
 
  785                                         $this->active_sections[
'technical'][
'name'] = $this->lng->txt(
'meta_technical');
 
  789                                 case 'lom_interactivity':
 
  790                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_interactivity';
 
  791                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  794                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_resource';
 
  795                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  798                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_level';
 
  799                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  802                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_density';
 
  803                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  805                                 case 'lom_user_role':
 
  806                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_user_role';
 
  807                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  810                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_context';
 
  811                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  813                                 case 'lom_difficulty':
 
  814                                         $this->active_sections[
'education'][
'fields'][] = 
'lom_difficulty';
 
  815                                         $this->active_sections[
'education'][
'name'] = $this->lng->txt(
'meta_education');
 
  820                                         $this->active_sections[
'rights'][
'fields'][] = 
'lom_costs';
 
  821                                         $this->active_sections[
'rights'][
'name'] = $this->lng->txt(
'meta_rights');
 
  823                                 case 'lom_copyright':
 
  824                                         $this->active_sections[
'rights'][
'fields'][] = 
'lom_copyright';
 
  825                                         $this->active_sections[
'rights'][
'name'] = $this->lng->txt(
'meta_rights');
 
  830                                         $this->active_sections[
'classification'][
'fields'][] = 
'lom_purpose';
 
  831                                         $this->active_sections[
'classification'][
'name'] = $this->lng->txt(
'meta_classification');
 
  834                                         $this->active_sections[
'classification'][
'fields'][] = 
'lom_taxon';
 
  835                                         $this->active_sections[
'classification'][
'name'] = $this->lng->txt(
'meta_classification');
 
  839                                         if(substr($field_name,0,3) != 
'adv')
 
  843                                         $field_id = substr($field_name,4);
 
  844                                         include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php';
 
  845                                         include_once 
'./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php';
 
  847                                         $record_id = $field->getRecordId();
 
  849                                         $this->active_sections[
'adv_record_'.$record_id][
'fields'][] = $field_name;
 
  859         protected function getRangeSelect($txt_from,$select_from,$txt_until,$select_until)
 
  861                 $tpl = 
new ilTemplate(
'tpl.range_search.html',
true,
true,
'Services/Search');
 
  862                 $tpl->setVariable(
'TXT_FROM',$txt_from);
 
  863                 $tpl->setVariable(
'FROM',$select_from);
 
  864                 $tpl->setVariable(
'TXT_UPTO',$txt_until);
 
  865                 $tpl->setVariable(
'UPTO',$select_until);