diff --git a/main/img/unknown_180_100.jpg b/main/img/unknown_180_100.jpg new file mode 100755 index 0000000000..62b60c227d Binary files /dev/null and b/main/img/unknown_180_100.jpg differ diff --git a/main/inc/lib/display.lib.php b/main/inc/lib/display.lib.php index 62d3173cb7..e27287b318 100755 --- a/main/inc/lib/display.lib.php +++ b/main/inc/lib/display.lib.php @@ -241,7 +241,7 @@ class Display { if (is_array($query_vars)) { $table->set_additional_parameters($query_vars); } - return $table->display_simple_grid($visibility_options, $paging_options['hide_navigation'], $paging_options['per_page'], $sort_data); + return $table->display_simple_grid($visibility_options, $paging_options['hide_navigation'], $default_items_per_page, $sort_data); } /** diff --git a/main/inc/lib/online.inc.php b/main/inc/lib/online.inc.php index e360bdb9c0..9783a3ac8a 100755 --- a/main/inc/lib/online.inc.php +++ b/main/inc/lib/online.inc.php @@ -157,12 +157,11 @@ function who_is_online($valid, $friends = false) { } } } - /* + + //This query will show all registered users. Only for dev purposes. - $query = "SELECT DISTINCT u.user_id as login_user_id, login_date - FROM ".$track_online_table ." e , $table_user u - GROUP by u.user_id ORDER BY picture_uri DESC"; - */ + //$query = "SELECT DISTINCT u.user_id as login_user_id, login_date FROM ".$track_online_table ." e , $table_user u GROUP by u.user_id ORDER BY picture_uri DESC"; + $result = @Database::query($query); //@todo why we dont believe in db query results? if (count($result)>0) { diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 0e1d21c084..9d22410565 100755 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -792,28 +792,29 @@ class SocialManager extends UserManager { $url = '#'; } $image_array = UserManager::get_user_picture_path_by_id($uid, 'system', false, true); - - $friends_profile = UserManager::get_picture_user($uid, $image_array['file'], 80, USER_IMAGE_SIZE_MEDIUM ); + + if ($image_array['file'] == 'unknown.jpg') { + $friends_profile['file'] = api_get_path(WEB_CODE_PATH).'img/unknown_180_100.jpg'; + } else { + $friends_profile = UserManager::get_picture_user($uid, $image_array['file'], 80, USER_IMAGE_SIZE_ORIGINAL ); + } + // reduce image $name = api_get_person_name($user_info['firstName'], $user_info['lastName']); $table_row[] = ''.$name.''; - $table_row[] = ''.api_get_person_name(cut($user_info['firstName'],15), cut($user_info['lastName'],15)).''; -/* - if (api_get_setting('show_email_addresses') == 'true') { - $table_row[] = Display::encrypted_mailto_link($user_info['mail']); - }*/ + $table_row[] = ''.(cut($user_info['firstName'],16)).'
'.cut($user_info['lastName'],18).'
'; + $user_anonymous = api_get_anonymous_id(); $table_data[] = $table_row; } $table_header[] = array(get_lang('UserPicture'), false, 'width="90"'); - ///$table_header[] = array(get_lang('Name'), true); - //$table_header[] = array(get_lang('LastName'), true); - + if (api_get_setting('show_email_addresses') == 'true') { - $table_header[] = array(get_lang('Email'), true); + //$table_header[] = array(get_lang('Email'), true); } - Display::display_sortable_table($table_header, $table_data, array(), array('per_page' => 10), $extra_params, array(),'grid'); + echo Display::return_sortable_grid('online', $table_header, $table_data, array('per_page' => 20)); + //Display::display_sortable_table($table_header, $table_data, array(), array('per_page' => 10), $extra_params, array(),'grid'); } } /** diff --git a/main/inc/lib/sortabletable.class.php b/main/inc/lib/sortabletable.class.php index fafbb19c79..261a7c9ddb 100755 --- a/main/inc/lib/sortabletable.class.php +++ b/main/inc/lib/sortabletable.class.php @@ -103,7 +103,7 @@ class SortableTable extends HTML_Table { * @param string $default_order_direction The default order direction; * either the constant 'ASC' or 'DESC' */ - public function __construct ($table_name = 'table', $get_total_number_function = null, $get_data_function = null, $default_column = 1, $default_items_per_page = 20, $default_order_direction = 'ASC') { + public function __construct($table_name = 'table', $get_total_number_function = null, $get_data_function = null, $default_column = 1, $default_items_per_page = 20, $default_order_direction = 'ASC') { parent :: __construct (array ('class' => 'data_table')); $this->table_name = $table_name; $this->additional_parameters = array (); @@ -149,18 +149,18 @@ class SortableTable extends HTML_Table { $this->per_page = isset ($_SESSION[$this->param_prefix.'per_page']) ? intval($_SESSION[$this->param_prefix.'per_page']) : $default_items_per_page; $this->per_page = isset ($_GET[$this->param_prefix.'per_page']) ? intval($_GET[$this->param_prefix.'per_page']) : $this->per_page; - $_SESSION[$this->param_prefix.'per_page'] = $this->per_page; + $_SESSION[$this->param_prefix.'per_page'] = $this->per_page; $_SESSION[$this->param_prefix.'direction'] = $this->direction ; - $_SESSION[$this->param_prefix.'page_nr'] = $this->page_nr; - $_SESSION[$this->param_prefix.'column'] = $this->column; - $this->pager = null; - $this->default_items_per_page = $default_items_per_page; - $this->total_number_of_items = -1; - $this->get_total_number_function = $get_total_number_function; - $this->get_data_function = $get_data_function; - $this->column_filters = array (); - $this->form_actions = array (); - $this->checkbox_name = null; + $_SESSION[$this->param_prefix.'page_nr'] = $this->page_nr; + $_SESSION[$this->param_prefix.'column'] = $this->column; + $this->pager = null; + $this->default_items_per_page = $default_items_per_page; + $this->total_number_of_items = -1; + $this->get_total_number_function = $get_total_number_function; + $this->get_data_function = $get_data_function; + $this->column_filters = array (); + $this->form_actions = array (); + $this->checkbox_name = null; $this->td_attributes = array (); $this->th_attributes = array (); $this->other_tables = array(); @@ -169,25 +169,25 @@ class SortableTable extends HTML_Table { /** * Get the Pager object to split the showed data in several pages */ - public function get_pager () { + public function get_pager() { if (is_null($this->pager)) { - $total_number_of_items = $this->get_total_number_of_items(); - $params['mode'] = 'Sliding'; - $params['perPage'] = $this->per_page; - $params['totalItems'] = $total_number_of_items; - $params['urlVar'] = $this->param_prefix.'page_nr'; - $params['currentPage'] = $this->page_nr; - $icon_attributes = array('style' => 'vertical-align: middle;'); - $params['prevImg'] = Display :: return_icon('action_prev.png', get_lang('PreviousPage'), $icon_attributes); - $params['nextImg'] = Display :: return_icon('action_next.png', get_lang('NextPage'), $icon_attributes); + $total_number_of_items = $this->get_total_number_of_items(); + $params['mode'] = 'Sliding'; + $params['perPage'] = $this->per_page; + $params['totalItems'] = $total_number_of_items; + $params['urlVar'] = $this->param_prefix.'page_nr'; + $params['currentPage'] = $this->page_nr; + $icon_attributes = array('style' => 'vertical-align: middle;'); + $params['prevImg'] = Display :: return_icon('action_prev.png', get_lang('PreviousPage'), $icon_attributes); + $params['nextImg'] = Display :: return_icon('action_next.png', get_lang('NextPage'), $icon_attributes); $params['firstPageText'] = Display :: return_icon('action_first.png', get_lang('FirstPage'), $icon_attributes); - $params['lastPageText'] = Display :: return_icon('action_last.png', get_lang('LastPage'), $icon_attributes); - $params['firstPagePre'] = ''; - $params['lastPagePre'] = ''; + $params['lastPageText'] = Display :: return_icon('action_last.png', get_lang('LastPage'), $icon_attributes); + $params['firstPagePre'] = ''; + $params['lastPagePre'] = ''; $params['firstPagePost'] = ''; - $params['lastPagePost'] = ''; + $params['lastPagePost'] = ''; $params['spacesBeforeSeparator'] = ''; - $params['spacesAfterSeparator'] = ''; + $params['spacesAfterSeparator'] = ''; $query_vars = array_keys($_GET); $query_vars_needed = array ($this->param_prefix.'column', $this->param_prefix.'direction', $this->param_prefix.'per_page'); if (count($this->additional_parameters) > 0) { @@ -195,7 +195,7 @@ class SortableTable extends HTML_Table { } $query_vars_exclude = array_diff($query_vars, $query_vars_needed); $params['excludeVars'] = $query_vars_exclude; - $this->pager = & Pager :: factory($params); + $this->pager = & Pager::factory($params); } return $this->pager; } @@ -282,7 +282,7 @@ class SortableTable extends HTML_Table { * This function shows the content of a table in a grid. * Should not be use to edit information (edit/delete rows) only. * */ - public function display_grid () { + public function display_grid() { $empty_table = false; if ($this->get_total_number_of_items() == 0) { @@ -295,7 +295,7 @@ class SortableTable extends HTML_Table { $html = ''; if (!$empty_table) { $form = $this->get_page_select_form(); - $nav = $this->get_navigation_html(); + $nav = $this->get_navigation_html(); // @todo This style css must be moved to default.css only for dev echo ''; + SocialManager::display_user_list($user_list); if (api_get_setting('allow_social_tool') == 'true') { echo ''; echo ''; - } - + } } else { //individual user information - also displays header info SocialManager::display_individual_user(Security::remove_XSS($_GET['id'])); @@ -170,16 +190,11 @@ if ((api_get_setting('showonline', 'world') == 'true' && !$_user['user_id']) || echo get_lang('UsersOnLineList'); echo ''; } - - } else { Display::display_header(get_lang('UsersOnLineList')); Display::display_error_message(get_lang('AccessNotAllowed')); } - $referer = empty($_GET['referer']) ? 'index.php' : api_htmlentities(strip_tags($_GET['referer']), ENT_QUOTES); -/* - FOOTER -*/ +/* FOOTER */ Display::display_footer(); \ No newline at end of file