Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-29-2017, 01:08 PM
kevius kevius is offline
 
Join Date: Oct 2009
Location: France
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Bug in hack mod but author is not responding

Hello,

I'm French. I have a big problem with a vBulletin 4.2 mod :

https://vborg.vbsupport.ru/showthread.php?t=232556

The author is not here since march 2016...

The bug is : if a subject have " or ' character the hack make a SQL error when using it !

" and ' are typicaly french characters and i need a bug fix for this hack.

Is there anybody for this bug fix ?

Here it is the source code of the hack :


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

<product productid="wog_captit" active="1">
    <title>WoG - Change All Post Title In Thread</title>
    <description />
    <version>1.1.0</version>
    <url><![CDATA[https://vborg.vbsupport.ru/misc.php?do=producthelp&pid=wog_captit]]></url>
    <versioncheckurl><![CDATA[https://vborg.vbsupport.ru/misc.php?do=productcheck&pid=wog_captit]]></versioncheckurl>
    <dependencies>
        <dependency dependencytype="vbulletin" minversion="4.0.0" maxversion="" />
    </dependencies>
    <codes>
    </codes>
    <templates>
    </templates>
    <stylevardfns>
    </stylevardfns>
    <stylevars>
    </stylevars>
    <plugins>
        <plugin active="1" executionorder="5">
            <title>WoG - CAPTIT - Threadmanage Display</title>
            <hookname>threadmanage_complete</hookname>
            <phpcode><![CDATA[if ($vbulletin->options['wog_captit_enable'] AND $_REQUEST['do'] == 'editthread') 
{
    $wog_input = array('<label for="cb_open">');
    $wog_output = array('
                    <label for="wog_setall">
                        <input type="checkbox" name="wog_setall" value="yes" id="wog_setall" /> ' . $vbphrase['wog_setall'] . '
                    </label>
                </li>
                <li>
                    <label for="wog_prefixadd">
                        &nbsp;&nbsp;&nbsp;<input type="checkbox" name="wog_prefixadd" value="yes" id="wog_prefixadd" /> ' . construct_phrase($vbphrase['wog_prefixadd'], $vbulletin->options['wog_captit_prefix']) . '
                    </label>
                </li>
                <li>
                    <label for="cb_open">');
    $vbulletin->templatecache['threadadmin_editthread'] = str_replace($wog_input, $wog_output, $vbulletin->templatecache['threadadmin_editthread']);
}]]></phpcode>
        </plugin>
        <plugin active="1" executionorder="5">
            <title>WoG - CAPTIT - Threadmanage Init</title>
            <hookname>threadmanage_update</hookname>
            <phpcode><![CDATA[if ($vbulletin->options['wog_captit_enable'])
{
    $vbulletin->input->clean_array_gpc('p', array(
            'wog_setall'        => TYPE_BOOL,
            'wog_prefixadd'        => TYPE_BOOL,
    ));
    if ($vbulletin->GPC['wog_setall'])
    {
        if ($vbulletin->GPC['wog_prefixadd'])
        {
            $db->query_write("
                UPDATE `" . TABLE_PREFIX . "post` AS `post`
                SET `post`.`title` = '" . $vbulletin->options['wog_captit_prefix'] . $vbulletin->GPC['title'] . "'
                WHERE `post`.`threadid` = '" . $threadinfo['threadid'] . "'
                AND `post`.`postid` != '" . $threadinfo['firstpostid'] . "'
            ");
        }
        else
        {
            $db->query_write("
                UPDATE `" . TABLE_PREFIX . "post` AS `post`
                SET `post`.`title` = '" . $vbulletin->GPC['title'] . "'
                WHERE `post`.`threadid` = '" . $threadinfo['threadid'] . "'
            ");
        }
    }
}]]></phpcode>
        </plugin>
    </plugins>
    <phrases>
        <phrasetype name="Thread Management" fieldname="threadmanage">
            <phrase name="wog_setall" date="1262972458" username="WoG" version="1.0.0"><![CDATA[Set the title of this thread as the title of all posts in this thread]]></phrase>
            <phrase name="wog_prefixadd" date="0" username="WoG" version="1.1.0"><![CDATA[Add predefined prefix ({1}) to all posttitles excepting first post]]></phrase>
        </phrasetype>
        <phrasetype name="vBulletin Settings" fieldname="vbsettings">
            <phrase name="setting_wog_captit_enable_desc" date="0" username="WoG" version="1.0.0"><![CDATA[If 'Yes' - the modification is on.<br /> If 'No'- despite the setting - the modification is turned off.]]></phrase>
            <phrase name="setting_wog_captit_enable_title" date="0" username="WoG" version="1.0.0"><![CDATA[Hack Enabled?]]></phrase>
            <phrase name="setting_wog_captit_prefix_desc" date="0" username="WoG" version="1.1.0"><![CDATA[Please define a prefix, which will be placed before <i>posttitle</i>.<br />HTML is allowed.]]></phrase>
            <phrase name="setting_wog_captit_prefix_title" date="0" username="WoG" version="1.1.0"><![CDATA[Prefix]]></phrase>
            <phrase name="settinggroup_wog_captit_group" date="0" username="WoG" version="1.0.0"><![CDATA[WoG - Change All Post Title In Thread]]></phrase>
        </phrasetype>
    </phrases>
    <options>
        <settinggroup name="wog_captit_group" displayorder="65538">
            <setting varname="wog_captit_enable" displayorder="5">
                <datatype>boolean</datatype>
                <optioncode>yesno</optioncode>
                <defaultvalue>1</defaultvalue>
            </setting>
            <setting varname="wog_captit_prefix" displayorder="10">
                <datatype>free</datatype>
                <defaultvalue><![CDATA[Re:&nbsp;]]></defaultvalue>
            </setting>
        </settinggroup>
    </options>
    <helptopics>
    </helptopics>
    <cronentries>
    </cronentries>
    <faqentries>
    </faqentries>
</product>
Help will be very appreciated !

Thanks a lot

Fred
Reply With Quote
  #2  
Old 03-29-2017, 01:12 PM
Dave Dave is offline
 
Join Date: May 2010
Posts: 2,583
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In that XML file, replace
PHP Code:
        if ($vbulletin->GPC['wog_prefixadd'])
        {
            
$db->query_write("
                UPDATE `" 
TABLE_PREFIX "post` AS `post`
                SET `post`.`title` = '" 
$vbulletin->options['wog_captit_prefix'] . $vbulletin->GPC['title'] . "'
                WHERE `post`.`threadid` = '" 
$threadinfo['threadid'] . "'
                AND `post`.`postid` != '" 
$threadinfo['firstpostid'] . "'
            "
);
        }
        else
        {
            
$db->query_write("
                UPDATE `" 
TABLE_PREFIX "post` AS `post`
                SET `post`.`title` = '" 
$vbulletin->GPC['title'] . "'
                WHERE `post`.`threadid` = '" 
$threadinfo['threadid'] . "'
            "
);
        } 
with
PHP Code:
        if ($vbulletin->GPC['wog_prefixadd'])
        {
            
$db->query_write("
                UPDATE `" 
TABLE_PREFIX "post` AS `post`
                SET `post`.`title` = '" 
$vbulletin->db->escape_string($vbulletin->options['wog_captit_prefix'] . $vbulletin->GPC['title']) . "'
                WHERE `post`.`threadid` = '" 
$threadinfo['threadid'] . "'
                AND `post`.`postid` != '" 
$threadinfo['firstpostid'] . "'
            "
);
        }
        else
        {
            
$db->query_write("
                UPDATE `" 
TABLE_PREFIX "post` AS `post`
                SET `post`.`title` = '" 
$vbulletin->db->escape_string($vbulletin->GPC['title']) . "'
                WHERE `post`.`threadid` = '" 
$threadinfo['threadid'] . "'
            "
);
        } 
Reply With Quote
3 благодарности(ей) от:
grey_goose, MarkFL, Paul M
  #3  
Old 03-29-2017, 01:18 PM
kevius kevius is offline
 
Join Date: Oct 2009
Location: France
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

wouawou !

THANK YOU VERY VERY MUCH !!!!
Reply With Quote
Благодарность от:
MarkFL
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:25 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07504 seconds
  • Memory Usage 2,230KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (4)post_thanks_box_bit
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete