private function init() { $this->lang = LangLoader::get('user-common'); $this->view = new FileTemplate('user/UserUsersListController.tpl'); $this->view->add_lang($this->lang); $this->groups_cache = GroupsCache::load(); }
private function generate_options() { $groups = GroupsCache::load()->get_groups(); $options = array(); foreach ($groups as $id => $informations) { $options[] = new FormFieldSelectChoiceOption($informations['name'], $id); } return $options; }
private function build_view() { $user_accounts_config = UserAccountsConfig::load(); $messages_number = GuestbookService::count(); $page = AppContext::get_request()->get_getint('page', 1); $pagination = $this->get_pagination($messages_number, $page); $is_guest = !AppContext::get_current_user()->check_level(User::MEMBER_LEVEL); $result = PersistenceContext::get_querier()->select('SELECT member.*, guestbook.*, guestbook.login as glogin, ext_field.user_avatar FROM ' . GuestbookSetup::$guestbook_table . ' guestbook LEFT JOIN ' . DB_TABLE_MEMBER . ' member ON member.user_id = guestbook.user_id LEFT JOIN ' . DB_TABLE_MEMBER_EXTENDED_FIELDS . ' ext_field ON ext_field.user_id = member.user_id ORDER BY guestbook.timestamp DESC LIMIT :number_items_per_page OFFSET :display_from', array('number_items_per_page' => $pagination->get_number_items_per_page(), 'display_from' => $pagination->get_display_from())); while ($row = $result->fetch()) { $message = new GuestbookMessage(); $message->set_properties($row); //Avatar $user_avatar = !empty($row['user_avatar']) ? Url::to_rel($row['user_avatar']) : ($user_accounts_config->is_default_avatar_enabled() ? Url::to_rel('/templates/' . AppContext::get_current_user()->get_theme() . '/images/' . $user_accounts_config->get_default_avatar_name()) : ''); $this->view->assign_block_vars('messages', array_merge($message->get_array_tpl_vars($page), array('C_AVATAR' => $row['user_avatar'] || $user_accounts_config->is_default_avatar_enabled(), 'C_USER_GROUPS' => !empty($row['groups']), 'U_AVATAR' => $user_avatar))); //user's groups if ($message->get_author_user()->get_groups()) { $groups_cache = GroupsCache::load(); $user_groups = $message->get_author_user()->get_groups(); foreach ($user_groups as $user_group_id) { if ($groups_cache->group_exists($user_group_id)) { $group = $groups_cache->get_group($user_group_id); $this->view->assign_block_vars('messages.user_groups', array('C_GROUP_PICTURE' => !empty($group['img']), 'GROUP_PICTURE' => $group['img'], 'GROUP_NAME' => $group['name'])); } } } } $result->dispose(); $this->view->put_all(array('C_NO_MESSAGE' => $result->get_rows_count() == 0, 'C_PAGINATION' => $messages_number > GuestbookConfig::load()->get_items_per_page(), 'PAGINATION' => $pagination->display())); if (GuestbookAuthorizationsService::check_authorizations()->write() && !AppContext::get_current_user()->is_readonly()) { $this->view->put('FORM', GuestbookFormController::get_view()); } else { $this->view->put('MSG', MessageHelper::display($this->lang['error.post.unauthorized'], MessageHelper::WARNING)); } return $this->view; }
private function build_groups($user_groups) { $groups_cache = GroupsCache::load(); $user_groups_html = ''; $user_groups = explode('|', $user_groups); foreach ($user_groups as $key => $group_id) { if ($group_id > 0) { if ($groups_cache->group_exists($group_id)) { $group = $groups_cache->get_group($group_id); $group_image = !empty($group['img']) ? '<img src="' . TPL_PATH_TO_ROOT . '/images/group/' . $group['img'] . '" alt="' . $group['name'] . '" title="' . $group['name'] . '" class="valign-middle" />' : $group['name']; $user_groups_html .= '<li><a href="' . UserUrlBuilder::group($group_id)->rel() . '">' . $group_image . '</a></li>'; } } } return !empty($user_groups_html) ? '<ul class="no-list">' . $user_groups_html . '</ul>' : $this->lang['user']; }
/** * @desc Returns the list of the groups * @return array The array groups */ public static function get_groups() { static $groups = null; if ($groups === null) { $config = GroupsCache::load(); $groups = $config->get_groups(); } return $groups; }
$get_error = retrieve(GET, 'error', ''); if ($get_error == 'incomplete') { $template->put('message_helper', MessageHelper::display($LANG['e_incomplete'], MessageHelper::NOTICE)); } elseif ($get_error == 'group_already_exists') { $template->put('message_helper', MessageHelper::display(LangLoader::get_message('element.already_exists', 'status-messages-common'), MessageHelper::NOTICE)); } //On recupère les dossier des images des groupes contenu dans le dossier /images/group. $img_groups = '<option value="" selected="selected">--</option>'; $img_groups = '<option value="">--</option>'; $image_folder_path = new Folder(PATH_TO_ROOT . '/images/group'); foreach ($image_folder_path->get_files('`\\.(png|jpg|bmp|gif)$`i') as $image) { $file = $image->get_name(); $img_groups .= '<option value="' . $file . '">' . $file . '</option>'; } $template->put_all(array('IMG_GROUPS' => $img_groups, 'C_ADD_GROUP' => true, 'L_REQUIRE_PSEUDO' => $LANG['require_pseudo'], 'L_REQUIRE_NAME' => $LANG['require_name'], 'L_CONFIRM_DEL_USER_GROUP' => LangLoader::get_message('confirm.delete', 'status-messages-common'), 'L_GROUPS_MANAGEMENT' => $LANG['groups_management'], 'L_ADD_GROUPS' => $LANG['groups_add'], 'L_REQUIRE' => LangLoader::get_message('form.explain_required_fields', 'status-messages-common'), 'L_UPLOAD_GROUPS' => $LANG['upload_group'], 'L_UPLOAD_FORMAT' => $LANG['explain_upload_img'], 'L_UPLOAD' => $LANG['upload'], 'L_NAME' => $LANG['name'], 'L_IMG_ASSOC_GROUP' => $LANG['img_assoc_group'], 'L_IMG_ASSOC_GROUP_EXPLAIN' => $LANG['img_assoc_group_explain'], 'L_AUTH_FLOOD' => $LANG['auth_flood'], 'L_PM_GROUP_LIMIT' => $LANG['pm_group_limit'], 'L_PM_GROUP_LIMIT_EXPLAIN' => $LANG['pm_group_limit_explain'], 'L_DATA_GROUP_LIMIT' => $LANG['data_group_limit'], 'L_DATA_GROUP_LIMIT_EXPLAIN' => $LANG['data_group_limit_explain'], 'L_COLOR_GROUP' => $LANG['color_group'], 'L_MB' => LangLoader::get_message('unit.megabytes', 'common'), 'L_YES' => LangLoader::get_message('yes', 'common'), 'L_NO' => LangLoader::get_message('no', 'common'), 'L_ADD' => LangLoader::get_message('add', 'common'))); $template->display(); } else { $template = new FileTemplate('admin/admin_groups_management.tpl'); $group_cache = GroupsCache::load()->get_groups(); $nbr_group = count($group_cache); $editor = AppContext::get_content_formatting_service()->get_default_editor(); $editor->set_identifier('contents'); $template->put_all(array('KERNEL_EDITOR' => $editor->display(), 'L_CONFIRM_DEL_GROUP' => LangLoader::get_message('confirm.delete', 'status-messages-common'), 'L_GROUPS_MANAGEMENT' => $LANG['groups_management'], 'L_ADD_GROUPS' => $LANG['groups_add'], 'L_NAME' => $LANG['name'], 'L_IMAGE' => $LANG['image'], 'L_UPDATE' => $LANG['update'], 'L_DELETE' => LangLoader::get_message('delete', 'common'))); $result = PersistenceContext::get_querier()->select("SELECT id, name, img, color\n\tFROM " . DB_TABLE_GROUP . "\n\tORDER BY name"); while ($row = $result->fetch()) { $template->assign_block_vars('group', array('C_GROUP_COLOR' => !empty($row['color']), 'U_USER_GROUP' => UserUrlBuilder::group($row['id'])->rel(), 'ID' => $row['id'], 'NAME' => $row['name'], 'GROUP_COLOR' => '#' . $row['color'], 'IMAGE' => !empty($row['img']) ? '<img src="' . PATH_TO_ROOT . '/images/group/' . $row['img'] . '" alt="' . $row['name'] . '" />' : '')); } $result->dispose(); $template->display(); } require_once '../admin/admin_footer.php';
public static function get_group_color($user_groups, $level = 0, $is_array = false) { if (!$is_array) { $user_groups = explode('|', $user_groups); } $i = 0; $group_color = ''; $groups_cache = GroupsCache::load(); foreach ($user_groups as $idgroup) { if ($groups_cache->group_exists($idgroup)) { $group = $groups_cache->get_group($idgroup); $group_color = !empty($group['color']) && $level == 0 ? (substr($group['color'], 0, 1) != '#' ? '#' : '') . $group['color'] : ''; } } return $group_color; }