vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Custom Moderators (https://vborg.vbsupport.ru/showthread.php?t=126122)

aveon 09-08-2006 09:33 PM

Custom Moderators
 
i opened this thread but however its closed so i was wondering anybody can helpme out with this i have an idea actually can we create a new theme and it will only appear if you assign someone to be a moderator of a single forum as normal, and then modify vB so they only appear as a moderator in that forum as appear and a registered member in every other forum thanx..

aveon 09-18-2006 09:28 PM

anybody

aveon 09-21-2006 01:18 AM

noone

aveon 09-24-2006 01:27 PM

i really need help on this anybody

aveon 09-30-2006 02:43 PM

anybody workin on anything??

aveon 10-01-2006 08:21 PM

here i found this code from smf i think we can modify it for vb

Code:

LEFT JOIN {$db_prefix}moderators AS mods ON (mods.ID_BOARD = b.ID_BOARD)
                        LEFT JOIN {$db_prefix}members AS mods_mem ON (mods_mem.ID_MEMBER = mods.ID_MEMBER)
                WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
                        AND b.childLevel <= 1" : ''), __FILE__, __LINE__);

        // Run through the categories and boards....
        $context['categories'] = array();
        while ($row_board = mysql_fetch_assoc($result_boards))
        {
                // Haven't set this category yet.
                if (empty($context['categories'][$row_board['ID_CAT']]))
                {
                        $context['categories'][$row_board['ID_CAT']] = array(
                                'id' => $row_board['ID_CAT'],
                                'name' => $row_board['catName'],
                                'is_collapsed' => isset($row_board['canCollapse']) && $row_board['canCollapse'] == 1 && $row_board['isCollapsed'] > 0,
                                'can_collapse' => isset($row_board['canCollapse']) && $row_board['canCollapse'] == 1,
                                'collapse_href' => isset($row_board['canCollapse']) ? $scripturl . '?action=collapse;c=' . $row_board['ID_CAT'] . ';sa=' . ($row_board['isCollapsed'] > 0 ? 'expand' : 'collapse;') . '#' . $row_board['ID_CAT'] : '',
                                'collapse_image' => isset($row_board['canCollapse']) ? '<img src="' . $settings['images_url'] . '/' . ($row_board['isCollapsed'] > 0 ? 'expand.gif" alt="+"' : 'collapse.gif" alt="-"') . ' border="0" />' : '',
                                'href' => $scripturl . '#' . $row_board['ID_CAT'],
                                'boards' => array(),
                                'new' => false
                        );
                        $context['categories'][$row_board['ID_CAT']]['link'] = '<a name="' . $row_board['ID_CAT'] . '" href="' . (isset($row_board['canCollapse']) ? $context['categories'][$row_board['ID_CAT']]['collapse_href'] : $context['categories'][$row_board['ID_CAT']]['href']) . '">' . $row_board['catName'] . '</a>';
                }

                // If this board has new posts in it (and isn't the recycle bin!) then the category is new.
                if (empty($modSettings['recycle_enable']) || $modSettings['recycle_board'] != $row_board['ID_BOARD'])
                        $context['categories'][$row_board['ID_CAT']]['new'] |= empty($row_board['isRead']) && $row_board['posterName'] != '';

                // Collapsed category - don't do any of this.
                if ($context['categories'][$row_board['ID_CAT']]['is_collapsed'])
                        continue;

                // Let's save some typing.  Climbing the array might be slower, anyhow.
                $this_category = &$context['categories'][$row_board['ID_CAT']]['boards'];

                // This is a parent board.
                if (empty($row_board['ID_PARENT']))
                {
                        // Is this a new board, or just another moderator?
                        if (!isset($this_category[$row_board['ID_BOARD']]))
                        {
                                // Not a child.
                                $isChild = false;

                                $this_category[$row_board['ID_BOARD']] = array(
                                        'new' => empty($row_board['isRead']),
                                        'id' => $row_board['ID_BOARD'],
                                        'name' => $row_board['boardName'],
                                        'description' => $row_board['description'],
                                        'moderators' => array(),
                                        'link_moderators' => array(),
                                        'children' => array(),
                                        'link_children' => array(),
                                        'children_new' => false,
                                        'topics' => $row_board['numTopics'],
                                        'posts' => $row_board['numPosts'],
                                        'href' => $scripturl . '?board=' . $row_board['ID_BOARD'] . '.0',
                                        'link' => '<a href="' . $scripturl . '?board=' . $row_board['ID_BOARD'] . '.0">' . $row_board['boardName'] . '</a>'
                                );
                        }
                        if (!empty($row_board['ID_MODERATOR']))
                        {
                                $this_category[$row_board['ID_BOARD']]['moderators'][$row_board['ID_MODERATOR']] = array(
                                        'id' => $row_board['ID_MODERATOR'],
                                        'name' => $row_board['modRealName'],
                                        'href' => $scripturl . '?action=profile;u=' . $row_board['ID_MODERATOR'],
                                        'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_board['ID_MODERATOR'] . '" title="' . $txt[62] . '">' . $row_board['modRealName'] . '</a>'
                                );
                                $this_category[$row_board['ID_BOARD']]['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $row_board['ID_MODERATOR'] . '" title="' . $txt[62] . '">' . $row_board['modRealName'] . '</a>';
                        }
                }


r5e 10-01-2006 10:08 PM

I think the problem is that nobody really understands what you are trying to say. Posting a chunk of code from a completely different forum system isn't going to help either.

I've just implemented this on my forum. Follow these steps.

Edit your postbit (or postbit legacy) template. Locate the following line:

Code:

<if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if>
After this add:

Code:

<if condition="can_moderate($forum[forumid], '', $post[userid])"><div class="smallfont">Moderator</div></if>
This will insert the word "Moderator" after the title of anyone who is a moderator, including the admin.

To summarise the requirement for anyone else reading this and figuring out what it is - aveon wanted the posters in a thread to show up as moderators, but only if they were the moderator in a certain forum. So if a given user is a moderator in a forum everyone can see that when he posts the posts are coming from a moderator. But if the user goes to a forum where he is not the moderator he appears as normal - with no moderator title.

The hack as I posted it above is tested to work. It's not very sophisticated, I would prefer it not to display for admins, in which case it would look like this:

Code:

<if condition="can_moderate($forum[forumid], '', $post[userid]) AND !($post[usergroupid]==5)"><div class="smallfont">Moderator</div></if>
Assuming that your admin group is 5, if it's something else, change it.

Hope that helps.

I've added more functionality. I've now set it up as follows:
  • Moderators will have their normal title REPLACED with the word "Moderator", but only for those areas where they have moderator rights, in other areas the normal title will be shown
  • Super Moderators will retain their normal title (for example if they have a custom title set) and will have the words "Super Moderator" inserted below their normal title
  • Administrators will not be affected, even though they have the rights to moderate.

In the example in the earlier post we located the following line:

Code:

<if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if>
Now, instead of inserting after this line we want to delete it and replace it with this:

Code:

<if condition="can_moderate($forum[forumid], '', $post[userid]) AND !($post[usergroupid]==6 OR IS_MEMBER_OF($post, 5))"><div class="smallfont">Moderator</div><else /><if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if></if>

<if condition="IS_MEMBER_OF($post, 5)"><div class="smallfont">Super Moderator</div></if>

Note: In the above example 6 = Administrators and 5 = Super moderators. Change them as needed.

aveon 10-02-2006 08:41 AM

i want it to be effective to all member even admins super mod etc it works well with registered user. how can i do that i tried deleting this part

Quote:

AND !($post[usergroupid]==6 OR IS_MEMBER_OF($post, 5))
it showed moderator under all the usergroup that has supermod pertmittions thnx

r5e 10-02-2006 09:22 PM

Quote:

Originally Posted by aveon
i want it to be effective to all member even admins super mod etc it works well with registered user. how can i do that i tried deleting this part



it showed moderator under all the usergroup that has supermod pertmittions thnx

I'm sorry. You seem to ask a question (which I don't think I fully understand). Then you seem to provide the answer to your own question?

If so - great - that was the right bit of code to delete if you want moderator to be displayed even for super mods and admins.

In fact, all you had to do was implement the "simple" part of the hack which was the first part of my message, and just ignore the second.

Anyway, I'm assuming you've found the answer to whatever your question was.

aveon 10-02-2006 09:36 PM

i want moderator to be displayed for super mods and admins but when i erased this part
Quote:

AND !($post[usergroupid]==6 OR IS_MEMBER_OF($post, 5))
for admins and supermoderators you can see moderator on every forum but it works fine with registered users i need help on this one i want moderator to be displayed for super mods and admins


All times are GMT. The time now is 08:15 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01205 seconds
  • Memory Usage 1,767KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete