4 include_once(
"./Services/Table/classes/class.ilTable2GUI.php");
29 function __construct($a_parent_obj, $a_parent_cmd, $a_admin_mode =
false, $a_type = self::TYPE_STANDARD)
33 $this->admin_mode = (bool)$a_admin_mode;
34 $this->type = $a_type;
36 $this->
setId(
"rep_search_".$ilUser->getId());
37 parent::__construct($a_parent_obj, $a_parent_cmd);
40 $this->
setFormAction($ilCtrl->getFormAction($this->parent_obj));
41 $this->
setTitle($this->lng->txt(
'search_results'));
46 if($this->
getType() == self::TYPE_STANDARD)
48 $this->
setRowTemplate(
"tpl.rep_search_usr_result_row.html",
"Services/Search");
50 $this->
enable(
'select_all');
57 $this->
setRowTemplate(
"tpl.global_search_usr_result_row.html",
"Services/Search");
64 $this->
addColumn($all_cols[$col][
'txt'], $col);
67 if($this->
getType() == self::TYPE_STANDARD)
73 $this->
addColumn($this->lng->txt(
'lucene_relevance_short'),
'relevance');
87 if($a_field ==
'relevance')
91 return parent::numericOrdering($a_field);
110 $this->lucene_result =
$res;
133 if(!self::$all_selectable_cols)
135 include_once
'./Services/Search/classes/class.ilUserSearchOptions.php';
138 if($this->admin_mode)
141 $columns[
'access_until'] = array(
'txt' => $this->lng->txt(
'access_until'));
142 $columns[
'last_login'] = array(
'txt' => $this->lng->txt(
'last_login'));
145 self::$all_selectable_cols =
$columns;
147 return self::$all_selectable_cols;
156 if(!count($a_commands))
172 $this->tpl->setVariable(
"VAL_ID", $a_set[
"usr_id"]);
175 if($this->
getType() == self::TYPE_GLOBAL_SEARCH)
177 include_once
'./Services/User/classes/class.ilUserUtil.php';
181 $this->tpl->setVariable(
'IMG_LINKED_TO_PROFILE',$link);
182 $this->tpl->setVariable(
183 'USR_IMG_SRC_LINKED',
189 $this->tpl->setVariable(
202 $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_' . $a_set[
'gender']) :
'';
203 $this->tpl->setCurrentBlock(
'custom_fields');
204 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
205 $this->tpl->parseCurrentBlock();
210 $this->tpl->setCurrentBlock(
'custom_fields');
211 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
212 $this->tpl->parseCurrentBlock();
216 $this->tpl->setCurrentBlock(
'custom_fields');
217 $this->tpl->setVariable(
'CUST_CLASS',
' '.$a_set[
'access_class']);
218 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
219 $this->tpl->parseCurrentBlock();
224 $this->tpl->setCurrentBlock(
'custom_fields');
225 $this->tpl->setVariable(
'VAL_CUST', $a_set[$field]);
226 $this->tpl->parseCurrentBlock();
230 if($this->admin_mode)
232 $ilCtrl->setParameterByClass(
"ilobjusergui",
"ref_id",
"7");
233 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", $a_set[
"usr_id"]);
234 $ilCtrl->setParameterByClass(
"ilobjusergui",
"search",
"1");
235 $link = $ilCtrl->getLinkTargetByClass(array(
"iladministrationgui",
"ilobjusergui"),
"view");
236 $a_set[$field] =
"<a href=\"".$link.
"\">".$a_set[$field].
"</a>";
238 elseif($this->
getType() == self::TYPE_GLOBAL_SEARCH)
242 $this->tpl->setCurrentBlock(
'login_linked');
243 $this->tpl->setVariable(
'LOGIN_NAME',$a_set[$field] ? $a_set[$field] :
'');
244 $this->tpl->setVariable(
'LOGIN_LINK',$link);
245 $this->tpl->parseCurrentBlock();
252 $this->tpl->setCurrentBlock(
'custom_fields');
253 $this->tpl->setVariable(
'VAL_CUST', (
string) ($a_set[$field] ? $a_set[$field] :
''));
254 $this->tpl->parseCurrentBlock();
259 if($this->
getType() == self::TYPE_GLOBAL_SEARCH)
261 $this->tpl->setVariable(
'SEARCH_RELEVANCE',$this->
getRelevanceHTML($a_set[
'relevance']));
281 $parse_access =
false;
282 if(isset($additional_fields[
'access_until']))
284 $parse_access =
true;
285 unset($additional_fields[
'access_until']);
288 $udf_ids = $usr_data_fields = $odf_ids = array();
289 foreach($additional_fields as $field)
291 if(substr($field, 0, 3) ==
'udf')
293 $udf_ids[] = substr($field,4);
296 $usr_data_fields[] = $field;
298 include_once
'./Services/User/classes/class.ilUserQuery.php';
316 if($this->admin_mode && $parse_access)
319 $current_time = time();
320 foreach($usr_data[
'set'] as $k => $user)
324 if ($user[
"time_limit_unlimited"])
326 $txt_access = $this->lng->txt(
"access_unlimited");
327 $usr_data[
"set"][$k][
"access_class"] =
"smallgreen";
329 elseif ($user[
"time_limit_until"] < $current_time)
331 $txt_access = $this->lng->txt(
"access_expired");
332 $usr_data[
"set"][$k][
"access_class"] =
"smallred";
337 $usr_data[
"set"][$k][
"access_class"] =
"small";
342 $txt_access = $this->lng->txt(
"inactive");
343 $usr_data[
"set"][$k][
"access_class"] =
"smallred";
345 $usr_data[
"set"][$k][
"access_until"] = $txt_access;
352 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
357 foreach($usr_data[
'set'] as $set)
359 $users[$counter] = $set;
360 foreach($udf_ids as $udf_field)
362 $users[$counter][
'udf_'.$udf_field] =
$data[$set[
'usr_id']][$udf_field];
369 $users = $usr_data[
'set'];
372 if($this->
getType() == self::TYPE_GLOBAL_SEARCH)
376 foreach($users as $counter => $ud)
378 $users[$counter][
'relevance'] = $this->
getLuceneResult()->getRelevance($ud[
'usr_id']);
392 $tpl =
new ilTemplate(
'tpl.lucene_relevance.html',
true,
true,
'Services/Search');
394 $width1 = (int) $a_rel;
395 $width2 = (int) (100 - $width1);
397 $tpl->setCurrentBlock(
'relevance');
398 $tpl->setVariable(
'VAL_REL',sprintf(
"%d %%",$a_rel));
399 $tpl->setVariable(
'WIDTH_A',$width1);
400 $tpl->setVariable(
'WIDTH_B',$width2);
403 $tpl->parseCurrentBlock();
numericOrdering($a_field)
enable numeric ordering for relevance
TableGUI class user search results.
static getUserListData($a_order_field, $a_order_dir, $a_offset, $a_limit, $a_string_filter="", $a_activation_filter="", $a_last_login_filter=null, $a_limited_access_filter=false, $a_no_courses_filter=false, $a_course_group_filter=0, $a_role_filter=0, $a_user_folder_filter=null, $a_additional_fields='', $a_user_filter=null, $a_first_letter="")
Get data for user administration list.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
getSelectableColumns()
Get all selectable columns.
static $all_selectable_cols
__construct($a_parent_obj, $a_parent_cmd, $a_admin_mode=false, $a_type=self::TYPE_STANDARD)
Constructor.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
static lookupData($a_user_ids, $a_field_ids)
Lookup data.
Search result implementing iterator interface.
getRelevanceHTML($a_rel)
Get relevance html.
static getSelectableColumnInfo($a_admin=false)
Get info of searchable fields for selectable columns in table gui.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
Add a column to the header.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
addMultiCommand($a_cmd, $a_text)
Add Command button.
enable($a_module_name)
enables particular modules of table
static formatDate(ilDateTime $date)
Format a date public.
if(isset($_FILES['img_file']['size']) && $_FILES['img_file']['size'] > 0) $tpl
getSelectedColumns()
Get selected columns.
getType()
Get search context type.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiItemSelectionButton($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection='')
Add Selection List + Command button for selected items.
setLuceneResult(ilLuceneSearchResult $res)
Set lucene result For parsing relevances.
static _getPersonalPicturePath($a_usr_id, $a_size="small", $a_force_pic=false, $a_prevent_no_photo_image=false)
Get path to personal picture.
initMultiCommands($a_commands)
Init multi commands.
setFormAction($a_form_action)
Set Form action parameter.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
parseUserIds($a_user_ids)
Parse user data.
getLuceneResult()
Get lucene result.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setEnableTitle($a_enabletitle)
Set Enable Title.
fillRow($a_set)
Fill table row.
static getProfileLink($a_usr_id)
Get link to personal profile Return empty string in case of not public profile.