vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Show Thread Enhancements - MARCO1 BBCODE Hide Tags [ hide] [/ hide] (https://vborg.vbsupport.ru/showthread.php?t=235384)

metalguy639 09-03-2010 02:33 AM

Quote:

Originally Posted by xtremecoders (Post 2071578)
SORRY for the MISTAKE.

I was wrong and Problem was appears again.

SO, i found the Problem, and ALL is OK now.



PROBLEM FIXED !!!!!!

Its an array function Syntax Problem and was easy to fix it....

all you have to do is to find and replace inside the script all in_array function with the correct syntax.

Marco uses syntax like ...
in_array($vbulletin->userinfo['usergroupid'],$MARCO1_NoHideUSG) , which is wrong and lead to array corruption.

The Correct is in_array($vbulletin->userinfo['usergroupid'], $MARCO1_NoHideUSG, true))

Steps :

1: Open the
Product MARCO1 BBCODE Hide vB4.xml using an editor like wordpad
2: Edit -> Select all & Delete
3: Paste the next Script.


Code:

<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="marco1_hidebbcode" active="1">
        <title>MARCO1 Hide BBCODE</title>
        <description>Hide X Area From your threads With BBCODES</description>
        <version>2.0</version>
        <url />
        <versioncheckurl />
        <dependencies>
        </dependencies>
        <codes>
        </codes>
        <templates>
        </templates>
        <stylevardfns>
        </stylevardfns>
        <stylevars>
        </stylevars>
        <plugins>
                <plugin active="1" executionorder="126">
                        <title>MARCO1 Hide BBCODE Functions</title>
                        <hookname>postbit_display_complete</hookname>
                        <phpcode><![CDATA[if ($_REQUEST['do'] == 'whatever'){
                        global $vbulletin, $vboptions, $bbuserinfo, $db, $threadid, $postid;
                        $bbuserinfo = $this->registry->userinfo;
                        $postid = $_REQUEST['p'];
                        $hide_call = $_REQUEST['all'];
                        $hide_read = false;
                        $hide_replied = '';
                        $hide_thanked = '';
                       
                                $hide_replied = $db->query("SELECT COUNT(postid) AS count FROM ". TABLE_PREFIX . "post WHERE userid='$bbuserinfo[userid]' AND visible = 1 AND threadid='$post[threadid]'");
                                $myreplies = 0;
                                if($db->num_rows($hide_replied)){
                                        while ($h_post = $db->fetch_array($hide_replied)){
                                                $myreplies += $h_post['count'];
                                        }
                                        $myreplies = vb_number_format($myreplies);
                                }
                                if($myreplies > 0){
                                        $hide_read = true;
                                }
                       
                        if(!$bbuserinfo[userid]){
                                $hide_read = false;
                        }
                        if( $hide_read == true){
                                $hide_post = $db->query_first("SELECT pagetext as 'message' FROM ". TABLE_PREFIX ."post WHERE postid='$postid'");
                                $hide_string = "#\[hide\](.*)\[\/hide\]#siU";
                    require_once(DIR . '/includes/class_bbcode.php');
                    $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
                    $hide_post['message'] = $parser->do_parse($hide_post['message'],true);
                                if(preg_match_all($hide_string, $hide_post['message'], $hide_match)) {
                                        for($i=0; $i<count($hide_match[0]); $i++) {
                                                $hide_replace[$i] ="<fieldset>".$hide_match[1][$i]."</fieldset>";
                                                $hide_post['message']= str_replace($hide_match[0][$i],$hide_replace[$i],$hide_post['message']);
                                        }
                                }
                        }
                        $ajax_on = true;
                        $output = $hide_post['message'];
                        echo "$output";
                        exit;
                }]]></phpcode>
                </plugin>
                <plugin active="1" executionorder="126">
                        <title>MARCO1 Hide BBCODE Functions (M)</title>
                        <hookname>postbit_display_complete</hookname>
                        <phpcode><![CDATA[if ($this->registry->options['MARCO1_BBHideon'] == '1' AND stristr($post['message'],'[hide]')){
                        global $vbulletin, $vboptions, $bbuserinfo, $db, $threadid, $hide_call, $postid;
                        $bbuserinfo = $this->registry->userinfo;
                        $post = $this->post;
                        $hide_read = false;
               
                        $hide_replied = '';
               
                       
                        $hide_stop = 0;
                        if (!empty($this->registry->options['MARCO1_HideForumID'])){
                                $MARCO1_Forum_NOHIDE = explode(" ",$this->registry->options['MARCO1_HideForumID']);
                                if(in_array($thread['forumid'], $MARCO1_Forum_NOHIDE, true)){
                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '\\1', $post['message']);
                                        $hide_stop = 1;
                                }
                        }
                        if($post['userid'] == $bbuserinfo['userid'] AND $hide_stop == 0){
                                $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '<fieldset>\\1</fieldset>', $post['message']);
                                $hide_stop = 1;
                        }
                        if ($hide_stop != 1){
                                if ($this->registry->options['sid_hide_showadmin'] AND $bbuserinfo[usergroupid]==6){
                                        $hide_read = true;
                                }elseif ($this->registry->options['sid_hide_showmod'] AND can_moderate($thread['forumid'])){
                                        $hide_read = true;
                                }
                                $MARCO1_NoHideUSG = split(',',$vbulletin->options['MARCO1_NoHideUSG']);
if ($vbulletin->options['MARCO1_BBHideon'] AND in_array($vbulletin->userinfo['usergroupid'], $MARCO1_NoHideUSG, true)){
                                                $hide_read = true;
                                        }
                                }
                               
                                        $hide_img_set = $hide_img_set + 2 ;
                                        $hide_replied = $db->query("SELECT COUNT(postid) AS count FROM ". TABLE_PREFIX . "post WHERE userid='$bbuserinfo[userid]' AND visible = 1 AND threadid='$post[threadid]'");
                                        $myreplies = 0;
                                        if($db->num_rows($hide_replied)){
                                                while ($h_post = $db->fetch_array($hide_replied)){
                                                        $myreplies += $h_post['count'];
                                                }
                                                $myreplies = vb_number_format($myreplies);
                                        }
                                        if($myreplies > 0){
                                                $hide_read['userid'] = true;
                                        }
                               
                                if (!$hide_call){
                                        $hide_call =$post['postid'];
                                } else {
                                        $hide_call .=",".$post['postid'];
                                }
                               
                                if(!$bbuserinfo[userid]){
                                        $hide_read = false;
                                }
                                if ($hide_read == true){
                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '<fieldset>\\1</fieldset>', $post['message']);
                                } else {
                                       
                                $hide_fetch = $vbulletin->options['MARCO1_HIDEMESSAGE'];

                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', $hide_fetch, $post['message']);
                                }
                        }]]></phpcode>
                </plugin>
                <plugin active="1" executionorder="5">
                        <title>MARCO1 Print Pages Hide BBCODE Functions</title>
                        <hookname>printthread_post</hookname>
                        <phpcode><![CDATA[if($vbulletin->options['MARCO1_BBHideon']AND stristr($post['message'],'[hide]')){
                        global $vbulletin, $vboptions, $bbuserinfo, $db;
                        $bbuserinfo = $vbulletin->userinfo;
                        $hide_read = false;
                        $hide_stop = 0;
                        $hide_img_set = 0;
                        if (!empty($vbulletin->options['MARCO1_HideForumID'])){
                                $MARCO1_hide_forum_stop = explode(" ",$vbulletin->options['MARCO1_HideForumID']);
                                if(in_array($threadinfo['forumid'], $MARCO1_hide_forum_stop, true)){
                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '\\1', $post['message']);
                                        $hide_stop = 1;
                                }
                        }
                        if($post['userid'] == $bbuserinfo['userid'] AND $hide_stop == 0){
                                $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '\\1', $post['message']);
                                $hide_stop = 1;
                        }
                        if ($hide_stop != 1){
                       
                                        $MARCO1_NoHideUSG = split(',',$vbulletin->options['MARCO1_NoHideUSG']);
if ($vbulletin->options['MARCO1_BBHideon'] AND in_array($vbulletin->userinfo['usergroupid'], $MARCO1_NoHideUSG, true)){
                                                $hide_read = true;
                                        }
                               
                               
                                        $hide_img_set = $hide_img_set + 2 ;
                                        $hide_replied = $db->query("SELECT COUNT(postid) AS count FROM ". TABLE_PREFIX . "post WHERE userid='$bbuserinfo[userid]' AND visible = 1 AND threadid='$post[threadid]'");
                                        $myreplies = 0;
                                        if($db->num_rows($hide_replied)){
                                                while ($h_post = $db->fetch_array($hide_replied)){
                                                        $myreplies += $h_post['count'];
                                                }
                                                $myreplies = vb_number_format($myreplies);
                                        }
                                        if($myreplies > 0){
                                                $hide_read['userid'] = true;
                                        }
                               
                       
                                if(!$bbuserinfo[userid]){
                                        $hide_read = false;
                                }
                               
                                $hide_img = $vbulletin->options[MARCO1_HIDEMESSAGE];
                               
                                if($hide_read == true){
                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', '\\1', $post['message']);
                                } else {
                                        $post['message'] = preg_replace('/\\[hide\\](.*)\\[\/hide\\]/siU', $hide_img, $post['message']);
                                }
                        }
                }]]></phpcode>
                </plugin>
        </plugins>
        <phrases>
                <phrasetype name="vBulletin Settings" fieldname="vbsettings">
                        <phrase name="setting_MARCO1_BBHideon_desc" date="1265211380" username="MARCO1" version="1.1"><![CDATA[Choose yes if you want to enable Hide BBCODE]]></phrase>
                        <phrase name="setting_MARCO1_BBHideon_title" date="1265211380" username="MARCO1" version="1.1"><![CDATA[Enable MARCO1 Hide BBCODE ?]]></phrase>
                        <phrase name="setting_MARCO1_HIDEMESSAGE_desc" date="1265211504" username="MARCO1" version="1.1"><![CDATA[That's the Hide content message that's will appear when you hide something using the Mod.]]></phrase>
                        <phrase name="setting_MARCO1_HIDEMESSAGE_title" date="1265211504" username="MARCO1" version="1.1"><![CDATA[What's the Hide Message ?]]></phrase>
                        <phrase name="setting_MARCO1_HideForumID_desc" date="1265675231" username="MARCO1" version="1.1"><![CDATA[Add Forum ID's of forums that you will not need to use BBCODE Hide Content on it.]]></phrase>
                        <phrase name="setting_MARCO1_HideForumID_title" date="1265675231" username="MARCO1" version="1.1"><![CDATA[Excluding Forum of BBCODE Hide]]></phrase>
                        <phrase name="setting_MARCO1_NoHideUSG_desc" date="1265677222" username="MARCO1" version="1.1"><![CDATA[<p>What's the Usergroups that's can view the hidden content without reply ?<br>
        <strong>Separate with ","</strong><br>
        <strong>By Default I allow Moderators, Admins and Super Moderators to see
        hidden content without reply</strong></p>]]></phrase>
                        <phrase name="setting_MARCO1_NoHideUSG_title" date="1265677222" username="MARCO1" version="1.1"><![CDATA[Usergroups Permissions]]></phrase>
                        <phrase name="settinggroup_MARCO1_HIDEBBCODE_SETTINGS" date="1265211320" username="MARCO1" version="1.1"><![CDATA[MARCO1 Hide BBCODE Settings]]></phrase>
                </phrasetype>
        </phrases>
        <options>
                <settinggroup name="MARCO1_HIDEBBCODE_SETTINGS" displayorder="65535">
                        <setting varname="MARCO1_BBHideon" displayorder="10">
                                <datatype>free</datatype>
                                <optioncode>yesno</optioncode>
                                <defaultvalue>1</defaultvalue>
                        </setting>
                        <setting varname="MARCO1_HIDEMESSAGE" displayorder="20">
                                <datatype>free</datatype>
                                <optioncode>textarea</optioncode>
                                <defaultvalue><![CDATA[<img src="images/hide.gif">]]></defaultvalue>
                        </setting>
                        <setting varname="MARCO1_HideForumID" displayorder="30">
                                <datatype>free</datatype>
                                <defaultvalue>0</defaultvalue>
                        </setting>
                        <setting varname="MARCO1_NoHideUSG" displayorder="40">
                                <datatype>free</datatype>
                                <defaultvalue>5,6,7</defaultvalue>
                        </setting>
                </settinggroup>
        </options>
        <helptopics>
        </helptopics>
        <cronentries>
        </cronentries>
        <faqentries>
        </faqentries>
</product>



4: Save the file
5: Upload again the new file using as always vb product manager and install it.

You can see a sample of a working mod HERE

Now all working as it should.

Do it and inform me if is OK...

Xtremecoders.org



Did this now all the tags are unhidden! Help. We had changed the tags to a different word instead of hide before this "fix". Is there a way to get all the hidden content hidden again, there are thousands of threads!

angelimnot 09-03-2010 10:05 PM

Even after the "fix" we are still getting Warning: Cannot use a scalar value as an array in [path]/includes/class_postbit.php(321) : eval()'d code on line 151

Marco???? Any suggestions? Your add 0 thing doesn't work..and you seem to be ignoring everyone.. you wanted us all to vote for your mods but you don't seem to care about answering questions for those of us that did.. really kinda sad.

emreDZ 09-05-2010 11:15 AM

Can we integrate this mod with thanks mod? So that users will be able to see the hidden content when they click on thanks button..

iyama 09-19-2010 05:59 AM

On select page-info the hide text is be seeing.
So why hide if members are look behind the page? :(

Maybe marco must go to update his mods before whe click to vote.

iyama 09-23-2010 01:29 PM

I have take the re-writed version from vbteam and now i have a good hide solution. ;)

angelimnot 09-23-2010 11:17 PM

Quote:

Originally Posted by iyama (Post 2102245)
I have take the re-writed version from vbteam and now i have a good hide solution. ;)

What rewrited version?

angelimnot 09-26-2010 03:29 AM

OK.... here is what we have noticed about this issue... maybe it will help those of you who have a clue about how to fix things ... actually fix it...


1. This error is directly tied into the "hidden" information.. in threads/posts where there is no hidden information this error does not show.

2. This error shows up after *someone* trys to post more than one reply to the thread with the "hidden" information.

3. If this thread with the "hidden" information gets to page 2.. there is no more error....

4. If someone click's "quote" on a thread with 'hidden" information, the "hidden" information is there for them to see.

5. "hidden" information is no longer "hidden" at all when quoted in a blog

6. Once a user gets the scalar error.. the chance of them getting to see the thread with the "hidden" content in it is very slim.. most of the time.. it gives the error on an error page..and they can no longer view the thread at all... sometimes the error shows at the top of the screen and causes the page to load very very very slowly.

I hope this helps!!! Please someone help us fix this!! I've sent a message to Marco asking him to please help us.. or at least tell us he doesn't have a clue what is going wrong.. if he answers.. I will let you all know.

If someone has a working fix to this issue.. and will fix it.. but decides they have to be paid for it.. please contact me at angel@eraps.net and I will discuss reasonable pricing for the fix of the mod.. with some custom things added for my site only.

cloferba 09-29-2010 01:06 PM

i get this error at the top of the forum:

Code:

Warning: Cannot use a scalar value as an array in [path]/includes/class_postbit.php(321) : eval()'d code on line 247

Kolbi 09-29-2010 06:33 PM

I?m getting a similar failure message:

Quote:

Warnung: Cannot use a scalar value as an array in [path]/includes/class_postbit.php(321) : eval()'d code (Zeile 294)
please fix...

sunnylikbeckham 10-01-2010 06:15 PM

hey i want to replace image with some text
how can i do that


All times are GMT. The time now is 03:53 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.01297 seconds
  • Memory Usage 1,840KB
  • 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
  • (2)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (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