vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=155)
-   -   Admin/Mod BBcodes (https://vborg.vbsupport.ru/showthread.php?t=105253)

VaaKo 01-13-2006 10:00 PM

Admin/Mod BBcodes
 
this is an easy hack for admins and mods who edit their users' posts and always wanna leave a msg at the bottom of it!

check the screenshots!
download the zip file for installation instructions!

For those who are looking to restrict the use of these bbcodes for normal users, please use this hack:
Advanced BBcode Permissions

http://www.oneforum.org

Brent H 01-13-2006 10:39 PM

Awesome! Thanks for this :)

Julie 01-13-2006 11:44 PM

Say a regular user knows, or finds out about this certain tag, what will stop he/she from using it?

Because if it's somehow restricted to admins/mods, I'd like to use it! :)

COBRAws 01-14-2006 01:11 AM

Quote:

Originally Posted by Julie
Say a regular user knows, or finds out about this certain tag, what will stop he/she from using it?

Because if it's somehow restricted to admins/mods, I'd like to use it! :)

I believe its only for staff, cuz the title says "Admin/Mod BBcodes"

I want to know that too, so ill wait.

Yorixz 01-14-2006 07:05 AM

Quote:

Originally Posted by COBRAws
I believe its only for staff, cuz the title says "Admin/Mod BBcodes"

I want to know that too, so ill wait.

The title says so but theres not a single line or whatsoever that would stop members from using it; they'll actually see the bbcode if they quote a post.

Very nice hack, but imho a bit unusable without restriction.

VaaKo 01-14-2006 08:00 AM

you could use the "permission bbcode" hack release somewhere in here!
you're right about what you said, my suggestion is to use the hack I mentioned along with this one, you will restrict normal users from using certain bbcodes along with this one!

PersianImmortal 01-14-2006 08:21 AM

Great mod. Very handy for mods and admins, and makes it harder for members to pretend they never saw an admin/mod edit.

I'd say it would be pretty ballsy for a user to use these tags in their own posts. Obviously imitating a mod or admin would be grounds for punishment.

Snake 01-14-2006 10:37 AM

Nice addition!

bang 01-14-2006 01:45 PM

have been looking for this! is it possible to make the text be alligned to the center of the [!] sign? right now it's on top and it looks rather odd.

Jaynesh 01-14-2006 01:55 PM

Looks very nice, i will be giving this a try :)

VaaKo 01-14-2006 04:02 PM

Quote:

Originally Posted by bang
have been looking for this! is it possible to make the text be alligned to the center of the [!] sign? right now it's on top and it looks rather odd.

tweak the php code, maybe use this

HTML Code:

<valign="center">{param}

Darat 01-14-2006 09:03 PM

Quote:

Originally Posted by Don Corleone
you could use the "permission bbcode" hack release somewhere in here!
you're right about what you said, my suggestion is to use the hack I mentioned along with this one, you will restrict normal users from using certain bbcodes along with this one!

I'd like to install this but I want to restrict it's use to only mods and admins - I've looked for the hack you mention "permission bbcode" but can't find it anywhere?

VaaKo 01-14-2006 10:14 PM

This is it:

Advanced BBCode Permissions

Yorixz 01-15-2006 07:49 AM

Quote:

Originally Posted by Yorick
Any news on custom bbcodes?

Quote:

Originally Posted by Abe1
Doesn't look like it's possable unless VB loads the custom bbcode admin PHP with hooks.

In the topic https://vborg.vbsupport.ru/showthread.php?t=103747

So I'm afraid you can't restrict these two custom bbcodes :(

Wild-Wing 02-07-2006 08:53 PM

its a pain in the ass to restrict them you have to hard code them. damn.
heres the code
go to class_bbcode
add theses some where
Code:

/**
        * Handles a [admin] tag. Displays a preformatted string.
        *
        * @param        string        The code to display
        *
        * @return        string        HTML representation of the tag.
        */
        function handle_bbcode_admin($code)
        {
                global $vbulletin, $vbphrase, $stylevar, $show;

                // remove unnecessary line breaks and escaped quotes
                $code = str_replace(array('<br>', '<br />', '\\"'), array('', '', '"'), $code);

                $code = $this->strip_front_back_whitespace($code, 1);
                if ($this->printthread)
                {
                        $code = $this->emulate_pre_tag($code);
                        $template = 'bbcode_admin_printthread';
                }
                else
                {
                        $blockheight = $this->fetch_block_height($code);
                        $template = 'bbcode_admin';
                }

                eval('$html = "' . fetch_template($template) . '";');
                return $html;
        }
        /**
        * Handles a [mod] tag. Displays a preformatted string.
        *
        * @param        string        The code to display
        *
        * @return        string        HTML representation of the tag.
        */
        function handle_bbcode_mod($code)
        {
                global $vbulletin, $vbphrase, $stylevar, $show;

                // remove unnecessary line breaks and escaped quotes
                $code = str_replace(array('<br>', '<br />', '\\"'), array('', '', '"'), $code);

                $code = $this->strip_front_back_whitespace($code, 1);
                if ($this->printthread)
                {
                        $code = $this->emulate_pre_tag($code);
                        $template = 'bbcode_mod_printthread';
                }
                else
                {
                        $blockheight = $this->fetch_block_height($code);
                        $template = 'bbcode_mod';
                }

                eval('$html = "' . fetch_template($template) . '";');
                return $html;
        }

find [CODE]if ($vbulletin->options['allowedbbcodes'] & ALLOW_BBCODE_CODE)
{
//
Code:

                        $tag_list['no_option']['code'] = array(
                                'callback' => 'handle_bbcode_code',
                                'strip_empty' => true,
                                'disable_smilies' => true,
                                'disable_wordwrap' => true,
                                'strip_space_after' => 1
                        );
                }

after add:
[CODE]if ($vbulletin->options['allowedbbcodes'] & ALLOW_BBCODE_ADMINWARN)
{
//[CODE]
$tag_list['no_option']['admin'] = array(
'callback' => 'handle_bbcode_admin',
'strip_empty' => true,
'disable_smilies' => true,
'disable_wordwrap' => true,
'strip_space_after' => 1
);
}
if ($vbulletin->options['allowedbbcodes'] & ALLOW_BBCODE_MODWARN)
{
//
Code:

                        $tag_list['no_option']['mod'] = array(
                                'callback' => 'handle_bbcode_mod',
                                'strip_empty' => true,
                                'disable_smilies' => true,
                                'disable_wordwrap' => true,
                                'strip_space_after' => 1
                        );
                }

find this at the top of the file
Code:

define('ALLOW_BBCODE_HTML',  512);
after add :
Code:

define('ALLOW_BBCODE_MODWARN',  1024);
define('ALLOW_BBCODE_ADMINWARN',  2048);

save that file

open class_bbcode_alt.php
find:
Code:

function handle_bbcode_code($code)
        {
                $current_tag =& $this->current_tag;

                $code = str_replace('  ', ' &nbsp;', $code);
                $code = preg_replace('#(\r\n|\n|\r|<p>)( )(?!([\r\n]}|<p>))#i', '$1&nbsp;', $code);

                return "[$current_tag[name]]" . $code . "[/$current_tag[name]]";
        }

after add:
Code:

function handle_bbcode_admin($code)
        {
                $current_tag =& $this->current_tag;

                $code = str_replace('  ', ' &nbsp;', $code);
                $code = preg_replace('#(\r\n|\n|\r|<p>)( )(?!([\r\n]}|<p>))#i', '$1&nbsp;', $code);

                return "[$current_tag[name]]" . $code . "[/$current_tag[name]]";
        }
                function handle_bbcode_mod($code)
        {
                $current_tag =& $this->current_tag;

                $code = str_replace('  ', ' &nbsp;', $code);
                $code = preg_replace('#(\r\n|\n|\r|<p>)( )(?!([\r\n]}|<p>))#i', '$1&nbsp;', $code);

                return "[$current_tag[name]]" . $code . "[/$current_tag[name]]";
        }

then make templates.

Wild-Wing 02-08-2006 12:21 AM

i figured it out

Darat 02-08-2006 10:04 AM

Wild-Wing - thanks.... I think!

I understand the file edits but after editing the files how do you create a tag that can only be used by an admin or mod?

Darat 02-08-2006 02:34 PM

Wild-Wing - I realise what you meant - create templates called bbcode_admin and bbcode_mod for the code to display a "moderator box".

However I see that you add this:

define('ALLOW_BBCODE_MODWARN', 1024);
define('ALLOW_BBCODE_ADMINWARN', 2048);

So I presume somehow once I've made the modifications I would need to give permission to the admin and mod groups so they could use the tags?

Wild-Wing 02-08-2006 02:40 PM

oh i forgot to add that part damn.

you have to be in developer mode to to the next step
go to the bbcode settings
where the Enabled Built-in BB Codes area is you should see a edit and delete links (note: you will only see this if you are in developer mode.)
add this to the bottom of the option code box above the span tag
Code:

<label for=\"bb1024\"><input type=\"checkbox\" name=\"setting[$setting[varname]][]\" id=\"bb1024\" value=\"1024\" tabindex=\"1\" " . iif(bitwise($setting['value'],1024), 'checked="checked"') . " />[MOD]</label><br />
<label for=\"bb2048\"><input type=\"checkbox\" name=\"setting[$setting[varname]][]\" id=\"bb2048\" value=\"2048\" tabindex=\"1\" " . iif(bitwise($setting['value'],2048), 'checked="checked"') . " />[ADMIN]</label><br />

now you can enable it through out the board. now to restrict it to the usergroups admin and mod and what ever you have to use the Advanced BBcode Permissions hack. edit that approately and there you go

Darat 02-08-2006 03:37 PM

Thanks.

I've now done that however now if I try to display a post that uses one the tags the page just doesn't display (I just get a completely blank page and the browser indicates it is busy).

If I switch off the mod and admin bbcodes in the vBulletin options page then the page displays but of course the tag is just shown as text.

(For testing purposes all my template is a single <div> with the words TEST ADMIN TAG in it.)

Any ideas?

Wild-Wing 02-08-2006 04:20 PM

did u turn on debug mode in the config.php file? that turns on developer mode. when i get home ill post the templates i used.
i used this for the admin template and the admin_printthread
make sure you name them bbcode_admin and bbcode_admin_printthread
Code:

<style>
.code{font-family: Courier, Courier New, Verdana, Arial;
        color: #465584;
        background-color: #FAFCFE;
        border: 1px dotted #000;
        padding: 2px;
        width:98%;
        margin: 0px auto 0px auto;
        /*overflow: auto;
        height: 200px;*/}
</style>
<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<td><span class="smallfont"><strong>Administrator's Warning:</strong></span></td>
</tr>
<tr>
<td class="code"><img align="left" src="images/mod.gif">$code</td>
<tr>
</table>


Darat 02-09-2006 09:31 AM

Just tried with your templates and the same problem, switch the tags on and a blank page, switch them off and the page displays fine.

I've double checked the edits of the files you've listed and my edits are correct - could it be you've missed an edit instruction?

Wild-Wing 02-09-2006 02:30 PM

damn thats something i dont know whats wrong. i am not at home right now so i cant double check all my steps i might have forgoten something i dont know maybe i posted all the steps.

Smiry Kin's 02-09-2006 03:02 PM

Wow quiet simple really!

Darat 02-10-2006 03:43 PM

Quote:

Originally Posted by Wild-Wing
damn thats something i dont know whats wrong. i am not at home right now so i cant double check all my steps i might have forgoten something i dont know maybe i posted all the steps.

I reverted back to all orginal files and tried again and I get the same problem.

Lineman28645 02-10-2006 06:33 PM

Installed and working! Very nice!

OndaReal 02-10-2006 07:02 PM

worked like a dream, thanks =)

Darat 02-11-2006 09:51 AM

Damn! Why isn't it working for me? I've even disabled every other plugin and product just to be on the safe side! Frustrating to say the least!

Luggruff 02-11-2006 10:27 AM

uhm.. anyone can just go check these out and use them. In the BB code FAQ.
Solution please?? (pretty worthless if not)

without doing what some other members wrote above, I have no clue in that area of modding.

Delphiprogrammi 02-11-2006 10:59 AM

well,

nice addition BUT it has a serious security hole.*anybody* with a username can go to www.yourboard.com/forum/misc.php?do=bbcode this generates a list of bbcode tags your board uses.The "advanced bbcode permissions hack" only handles permissions for bbcode build into vbulletin not custom bbcode tags so without some way to restrict this it is pretty useless

also ......

DO NOT TURN ON DEBUG MODE ON LIVE SITES

danger Will Robinson danger .....

Smiry Kin's 02-11-2006 10:59 AM

Quote:

Originally Posted by Darat
Damn! Why isn't it working for me? I've even disabled every other plugin and product just to be on the safe side! Frustrating to say the least!

this isnt a plugin :S its just custom bb codes, plugins shouldnt really effect it.. i have this working :s its pretty simple really..

Smiry Kin's 02-11-2006 11:02 AM

Quote:

Originally Posted by Delphiprogrammi
well,

nice addition BUT it has a serious security hole.*anybody* with a username can go to www.yourboard.com/forum/misc.php?do=bbcode this generates a list of bbcode tags your board uses.The "advanced bbcode permissions hack" only handles permissions for bbcode build into vbulletin not custom bbcode tags so without some way to restrict this it is pretty useless

also ......

DO NOT TURN ON DEBUG MODE ON LIVE SITES

danger Will Robinson danger .....

yeh your right dude..

[high]* Smiry Kin's going to uninstall, unless a fix is made soon[/high]

Luggruff 02-11-2006 11:35 AM

Quote:

Originally Posted by Smiry Kin's
yeh your right dude..

[high]* Smiry Kin's going to uninstall, unless a fix is made soon[/high]

*So is Luggruff*

Delphiprogrammi 02-11-2006 03:20 PM

well,

you could add a plugin on hook location bbcodeparse_start which checks the individual permissions using the bitfields from the advanced bbcode permissions hack.But you need to modify this hack a bit.

i'll have a look later no time for it now :D

Darat 02-11-2006 05:19 PM

Although I can't get it to work you can alter the Advanced bbcode permissions mod to control the usergroups that can use the new tags.

Download the Advanced permission add-on and edit the bitfield_advancedbbcodepermissions.xml file to add these two lines to the group options:

<bitfield name="allow_bbcode_admin" group="advanced_bbcode_permissions" phrase="allow_bbcode_admin">1024</bitfield>

<bitfield name="allow_bbcode_mod" group="advanced_bbcode_permissions" phrase="allow_bbcode_mod">2048</bitfield>

Save that. Then open the product-advancedbbcodepermissions.xml file and add these two lines:

<phrase name="allow_bbcode_admin"><![CDATA[[ADMIN]]]></phrase>
<phrase name="allow_bbcode_mod"><![CDATA[[MOD]]]></phrase>

Save that file.

Then install the Advanced permissions product as per the instructions and you can then use that to control permissions to the new "admin" and "mod".

(Word of warning - I can't at the moment test this but it should work!)

Darat 02-12-2006 10:50 AM

I've got this working now - rather embarrassing I'd been mucking around class_bbcode a little while ago on my test forum to see if I could implement this and forgot about them, once I started from original files it all worked first time!

I've modified the advanced bbcode permissions to handle the new tags and that works – so the codes can only be used by a mod or admin however if I use more then one mod box in the thread only the first one is parsed correctly – the subsequent ones are ignored as if I didn’t have permission to use the tag,

Delphiprogrammi 02-12-2006 05:23 PM

well,

if u use that hack called "advanced bbcode permissions" then something like this should work

PHP Code:

if(!$vbulletin->userinfo['permissions']['advanced_bbcode_usergroup_permissions'] & !$vbulletin->bf_ugp_advanced_bbcode_usergroup_permissions['allow_bbcode_modwarn'])//this is set in the bitfield XML 
{
        
//no permission



Darat 02-12-2006 05:29 PM

I've got the advanced bbcode hack installed and working but if I post more then one tag in a thread only the first one is correctly parsed, the subsequent tags are ignored as if I had no permission.

Luggruff 02-15-2006 11:20 AM

Quote:

Originally Posted by Darat
<bitfield name="allow_bbcode_admin" group="advanced_bbcode_permissions" phrase="allow_bbcode_admin">1024</bitfield>

<bitfield name="allow_bbcode_mod" group="advanced_bbcode_permissions" phrase="allow_bbcode_mod">2048</bitfield>

What is 1024 and 2048?

Quote:

Originally Posted by Delphiprogrammi
well,

if u use that hack called "advanced bbcode permissions" then something like this should work

PHP Code:

if(!$vbulletin->userinfo['permissions']['advanced_bbcode_usergroup_permissions'] & !$vbulletin->bf_ugp_advanced_bbcode_usergroup_permissions['allow_bbcode_modwarn'])//this is set in the bitfield XML 
{
        
//no permission



would work? instead of Darat's solution? And where to put it?

Details please !

Delphiprogrammi 02-15-2006 08:22 PM

Quote:

Originally Posted by Luggruff
What is 1024 and 2048?

those are the bitfield values vbulletin uses to identify each bitfield you can read this if you want to better understand it

Quote:

Originally Posted by Luggruff
would work? instead of Darat's solution? And where to put it?

Details please !

that code would check the value of a bitfield.I didn't check if it *does* work correctly.These two tags are a nice thing but it needs some way to reserve it for mods,supermods, or administrators.We need to figure out what hook location can be used to get that effect


All times are GMT. The time now is 05:15 AM.

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.01622 seconds
  • Memory Usage 1,867KB
  • 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
  • (9)bbcode_code_printable
  • (1)bbcode_html_printable
  • (2)bbcode_php_printable
  • (14)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
  • (40)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