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;
 }
Example #6
0
    $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';
Example #7
0
 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;
 }
Example #8
0
 public static function regenerate_cache()
 {
     GroupsCache::invalidate();
     StatsCache::invalidate();
 }