vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Inline Moderation Tools (v1.2.1) (https://vborg.vbsupport.ru/showthread.php?t=68791)

rob_daemon 12-08-2004 01:27 PM

Quote:

Originally Posted by sv1cec
Terrific,

Just change your instruction in global.php, it should say:

PHP Code:

if (THIS_SCRIPT == 'showthread' OR THIS_SCRIPT == 'forumdisplay')
{
    
$show['inlinemod'] = true;
}
else
{
    
$show['inlinemod'] = false;


you use forumdisplay.php, while the script name is forumdisplay.

Rgds

Thanks sv1ec, I thought I had changed the upgrade XML file, guess not. I'll do so and then rebuild the HTML instructions :).

Raven: I guess that's a bug in my ZIP packager then for not removing .DS_Store. I'll get rid of it when I repackage the zip tonight. Glad you like the installer :D. I love being able to do Apple/Control + A to select all the text, too. It's so much easier :D.

WebMasterAJ: If you are upgrading, make sure that in global.php the following:

PHP Code:

// #############################################################################
// are we on a script that uses inline moderation
if (THIS_SCRIPT == 'showthread.php' OR THIS_SCRIPT == 'forumdisplay.php')
{
    
$show['inlinemod'] = true;
}
else
{
    
$show['inlinemod'] = false;


Is actually:

PHP Code:

// #############################################################################
// are we on a script that uses inline moderation
if (THIS_SCRIPT == 'showthread' OR THIS_SCRIPT == 'forumdisplay')
{
    
$show['inlinemod'] = true;
}
else
{
    
$show['inlinemod'] = false;



sv1cec 12-08-2004 03:18 PM

I think I found one more little thing. In the threadbit template, your instructions (at least for those upgrading from 1.1.0) ask us to enter:

HTML Code:

<if condition="can_moderate($thread['forumid'])">
                        <td class="alt1" align="center"><if condition="$show['threadmoved']">-<else /><input type="checkbox" id="inlinemod_$thread[threadid]" name="inlinemod_$thread[threadid]" value="1" onclick="select_item($thread[threadid], this);" /></if>
                </if>

I think this should be:

HTML Code:

<if condition="(can_moderate($thread['forumid']) AND $show['inlinemod'])">
                        <td class="alt1" align="center"><if condition="$show['threadmoved']">-<else /><input type="checkbox" id="inlinemod_$thread[threadid]" name="inlinemod_$thread[threadid]" value="1" onclick="select_item($thread[threadid], this);" /></if>
                </if>

or else the checkboxes will appear in the search results.

Rgds

rob_daemon 12-08-2004 03:39 PM

Quote:

Originally Posted by sv1cec
I think I found one more little thing. In the threadbit template, your instructions (at least for those upgrading from 1.1.0) ask us to enter:

HTML Code:

<if condition="can_moderate($thread['forumid'])">
                        <td class="alt1" align="center"><if condition="$show['threadmoved']">-<else /><input type="checkbox" id="inlinemod_$thread[threadid]" name="inlinemod_$thread[threadid]" value="1" onclick="select_item($thread[threadid], this);" /></if>
                </if>

I think this should be:

HTML Code:

<if condition="(can_moderate($thread['forumid']) AND $show['inlinemod'])">
                        <td class="alt1" align="center"><if condition="$show['threadmoved']">-<else /><input type="checkbox" id="inlinemod_$thread[threadid]" name="inlinemod_$thread[threadid]" value="1" onclick="select_item($thread[threadid], this);" /></if>
                </if>

or else the checkboxes will appear in the search results.

Rgds

Thanks. It was hard to remember what I changed and what I didn't as there's no easy way to diff between templates.

sv1cec 12-08-2004 03:43 PM

Quote:

Originally Posted by rob_daemon
Thanks. It was hard to remember what I changed and what I didn't as there's no easy way to diff between templates.

Don't worry, I know what you mean. And your hack touches 4-5 templates, mine deals with about 20 of them.

Rgds

rob_daemon 12-09-2004 12:00 AM

Okay, the ZIP should now be all fixed with those two problems with the instructions and the .DS_Store files are now removed :).

sv1cec 12-09-2004 11:43 AM

I am getting the following error when trying to merge two threads (IDs are: 1791 and 1793)

Database error in vBulletin 3.0.3:

Invalid SQL: UPDATE subscribethread SET threadid = 1791 WHERE threadid IN (1793, 1791)
mysql error: Duplicate entry '1-1791' for key 2

mysql error number: 1062

Date: Thursday 09th of December 2004 08:42:23 AM
Script: http://forum.m1911.org/inlinemod.php
Referer: http://forum.m1911.org/inlinemod.php
Username: John
IP Address: 62.38.176.245

Any idea?

Rgds

rob_daemon 12-09-2004 01:40 PM

Try this:

Find from in ./inlinemod.php:

PHP Code:

case 'merge'

To the next 'break;' statement.

Replace all that with:

PHP Code:

case 'merge':
            if (!
can_moderate($threadinfo['forumid'], 'canmanagethreads'))
            {
                
print_no_permission();
            }
            if (!
is_array($vars['threads']) OR count($vars['threads']) < 2)
            {
                eval(
print_standard_error('error_invalidid'));
            }
            
            if (empty(
$_POST['do']))
            {
                
define('PRINT_TPL''inline_merge_thread');
            }
            else
            {
                if (
$_POST['title'])
                {
                    
toss_cookies();
                    
                    
$sqlthreads implode(', '$vars['threads']);
                    
                    
$firstpost $DB_site->query_first("SELECT * FROM " TABLE_PREFIX "post WHERE threadid IN ($sqlthreads) ORDER BY dateline ASC");
                    
                    
// sort out poll crap
                    
$threadsortdata $DB_site->query("SELECT * FROM " TABLE_PREFIX "thread WHERE threadid IN ($sqlthreads) ORDER BY dateline ASC");
                    
$threadopen 1;
                    
$threadsticky 0;
                    while (
$threadsort $DB_site->fetch_array($threadsortdata))
                    {
                        if (!
$firstthread)
                        {
                            
$firstthread $threadsort['threadid'];
                        }
                        else
                        {
                            
$mergethreads[] = $threadsort['threadid'];
                        }
                        if (
$threadsort['pollid'])
                        {
                            eval(
standard_error('The threads you specified to merge have a poll(s). You can not use inline moderation for this type of merge. Sorry!'));
                        }
                        if (!
$threadsort['visible'] OR $threadsort['isdeleted'])
                        {
                            eval(
standard_error('You can not merge invisible or deleted threads.'));
                        }
                        
                        
// if any thread is sticky or closed, then the new thread is
                        
if ($threadsort['sticky'])
                        {
                            
$threadsticky 1;
                        }
                        if (!
$threadsort['open'])
                        {
                            
$threadopen 0;
                        }
                        
                        
$votenum += $threadsort['votenum'];
                        
$votetotal += $threadsort['votetotal'];
                        
$views += $threadsort['views'];
                        
$rebuildposts[] = $threadsort['firstpostid'];
                    }
                    
                    
$isqlthreads implode(', '$mergethreads);
                    
                    
// post updates...
                    
$DB_site->query("UPDATE " TABLE_PREFIX "post SET threadid = $firstthread WHERE threadid IN ($sqlthreads)");
                    
                    
// set post parentids
                    
$DB_site->query("UPDATE " TABLE_PREFIX "post SET parentid = $firstpost[postid] WHERE threadid = $firstthread AND postid <> $firstpost[postid] AND parentid IN (" implode(', '$rebuildposts) . ")");
                    
                    
// update new thread
                    
$DB_site->query("UPDATE " TABLE_PREFIX "thread SET title = '" addslashes(htmlspecialchars_uni($_POST['title'])) . "', views = $views, open = $threadopen, sticky = $threadsticky, iconid = 0, votenum = $votenum, votetotal = $votetotal WHERE threadid = $firstthread");
                    
                    
// remove old threads
                    
$DB_site->query("DELETE FROM " TABLE_PREFIX "thread WHERE threadid IN ($isqlthreads)");
                    
                    
// thread ratings
                    
$DB_site->query("DELETE FROM " TABLE_PREFIX "threadrate WHERE threadid IN ($isqlthreads)");
                    
                    
// subscriptions
                    
$DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE threadid IN ($isqlthreads)");
                    
                    
// lots-o-updating
                    
foreach ($rebuildposts AS $postid)
                    {
                        
delete_post_index($postid);
                        
build_post_index($postid$vars['forum']);
                    }
                    
                    
build_thread_counters($firstthread);
                    
build_forum_counters($vars['forum']['forumid']);
                    
                    
$url "showthread.php?$session[sessionurl]t=$firstthread&mod=1";
                    eval(
print_standard_redirect('redirect_mergethread'));
                }
                else
                {
                    eval(
standard_error('You did not specify a title!'));
                }
            }
        break; 

I hope that fixes it. Let me know :).

sv1cec 12-09-2004 02:17 PM

Quote:

Originally Posted by rob_daemon
Try this:

Find from in ./inlinemod.php:

PHP Code:

case 'merge'

To the next 'break;' statement.

Replace all that with:

PHP Code:

case 'merge':
            if (!
can_moderate($threadinfo['forumid'], 'canmanagethreads'))
            {
                
print_no_permission();
            }
            if (!
is_array($vars['threads']) OR count($vars['threads']) < 2)
            {
                eval(
print_standard_error('error_invalidid'));
            }
            
            if (empty(
$_POST['do']))
            {
                
define('PRINT_TPL''inline_merge_thread');
            }
            else
            {
                if (
$_POST['title'])
                {
                    
toss_cookies();
                    
                    
$sqlthreads implode(', '$vars['threads']);
                    
                    
$firstpost $DB_site->query_first("SELECT * FROM " TABLE_PREFIX "post WHERE threadid IN ($sqlthreads) ORDER BY dateline ASC");
                    
                    
// sort out poll crap
                    
$threadsortdata $DB_site->query("SELECT * FROM " TABLE_PREFIX "thread WHERE threadid IN ($sqlthreads) ORDER BY dateline ASC");
                    
$threadopen 1;
                    
$threadsticky 0;
                    while (
$threadsort $DB_site->fetch_array($threadsortdata))
                    {
                        if (!
$firstthread)
                        {
                            
$firstthread $threadsort['threadid'];
                        }
                        else
                        {
                            
$mergethreads[] = $threadsort['threadid'];
                        }
                        if (
$threadsort['pollid'])
                        {
                            eval(
standard_error('The threads you specified to merge have a poll(s). You can not use inline moderation for this type of merge. Sorry!'));
                        }
                        if (!
$threadsort['visible'] OR $threadsort['isdeleted'])
                        {
                            eval(
standard_error('You can not merge invisible or deleted threads.'));
                        }
                        
                        
// if any thread is sticky or closed, then the new thread is
                        
if ($threadsort['sticky'])
                        {
                            
$threadsticky 1;
                        }
                        if (!
$threadsort['open'])
                        {
                            
$threadopen 0;
                        }
                        
                        
$votenum += $threadsort['votenum'];
                        
$votetotal += $threadsort['votetotal'];
                        
$views += $threadsort['views'];
                        
$rebuildposts[] = $threadsort['firstpostid'];
                    }
                    
                    
$isqlthreads implode(', '$mergethreads);
                    
                    
// post updates...
                    
$DB_site->query("UPDATE " TABLE_PREFIX "post SET threadid = $firstthread WHERE threadid IN ($sqlthreads)");
                    
                    
// set post parentids
                    
$DB_site->query("UPDATE " TABLE_PREFIX "post SET parentid = $firstpost[postid] WHERE threadid = $firstthread AND postid <> $firstpost[postid] AND parentid IN (" implode(', '$rebuildposts) . ")");
                    
                    
// update new thread
                    
$DB_site->query("UPDATE " TABLE_PREFIX "thread SET title = '" addslashes(htmlspecialchars_uni($_POST['title'])) . "', views = $views, open = $threadopen, sticky = $threadsticky, iconid = 0, votenum = $votenum, votetotal = $votetotal WHERE threadid = $firstthread");
                    
                    
// remove old threads
                    
$DB_site->query("DELETE FROM " TABLE_PREFIX "thread WHERE threadid IN ($isqlthreads)");
                    
                    
// thread ratings
                    
$DB_site->query("DELETE FROM " TABLE_PREFIX "threadrate WHERE threadid IN ($isqlthreads)");
                    
                    
// subscriptions
                    
$DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE threadid IN ($isqlthreads)");
                    
                    
// lots-o-updating
                    
foreach ($rebuildposts AS $postid)
                    {
                        
delete_post_index($postid);
                        
build_post_index($postid$vars['forum']);
                    }
                    
                    
build_thread_counters($firstthread);
                    
build_forum_counters($vars['forum']['forumid']);
                    
                    
$url "showthread.php?$session[sessionurl]t=$firstthread&mod=1";
                    eval(
print_standard_redirect('redirect_mergethread'));
                }
                else
                {
                    eval(
standard_error('You did not specify a title!'));
                }
            }
        break; 

I hope that fixes it. Let me know :).

Sorry, this time the error message is:

Database error in vBulletin 3.0.3:

Invalid SQL: UPDATE subscribethread SET threadid = 1799 WHERE threadid IN (1800)
mysql error: Duplicate entry '1-1799' for key 2

mysql error number: 1062

Date: Thursday 09th of December 2004 11:16:10 AM
Script: http://forum.m1911.org/inlinemod.php
Referer: http://forum.m1911.org/inlinemod.php
Username: John
IP Address: 62.38.176.245

rgds

rob_daemon 12-09-2004 02:43 PM

Quote:

Originally Posted by sv1cec
Sorry, this time the error message is:

Database error in vBulletin 3.0.3:

Invalid SQL: UPDATE subscribethread SET threadid = 1799 WHERE threadid IN (1800)
mysql error: Duplicate entry '1-1799' for key 2

mysql error number: 1062

Date: Thursday 09th of December 2004 11:16:10 AM
Script: http://forum.m1911.org/inlinemod.php
Referer: http://forum.m1911.org/inlinemod.php
Username: John
IP Address: 62.38.176.245

rgds

Honestly, I have on idea. Try finding:

PHP Code:

                    $DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE threadid IN ($isqlthreads)"); 

Replace it with:

PHP Code:

                    $subs $DB_site->query("SELECT * FROM " TABLE_PREFIX "subscribethread WHERE threadid IN ($isqlthreads)");
                    while (
$sub $DB_site->fetch_array($subs))
                    {
                        
$subthreads[] = $sub['subscribethread'];
                    }
                    
$DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE subscribethread IN ($subthreads)"); 


sv1cec 12-09-2004 02:59 PM

Quote:

Originally Posted by rob_daemon
Honestly, I have on idea. Try finding:

PHP Code:

                    $DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE threadid IN ($isqlthreads)"); 

Replace it with:

PHP Code:

                    $subs $DB_site->query("SELECT * FROM " TABLE_PREFIX "subscribethread WHERE threadid IN ($isqlthreads)");
                    while (
$sub $DB_site->fetch_array($subs))
                    {
                        
$subthreads[] = $sub['subscribethread'];
                    }
                    
$DB_site->query("UPDATE " TABLE_PREFIX "subscribethread SET threadid = $firstthread WHERE subscribethread IN ($subthreads)"); 


Nope!

Database error in vBulletin 3.0.3:

Invalid SQL: UPDATE subscribethread SET threadid = 281 WHERE subscribethread IN (Array)
mysql error: Unknown column 'subscribethread' in 'where clause'

mysql error number: 1054

Date: Thursday 09th of December 2004 11:57:56 AM
Script: http://forum.m1911.org/inlinemod.php
Referer: http://forum.m1911.org/inlinemod.php
Username: John
IP Address: 62.38.176.245


All times are GMT. The time now is 03:12 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.01732 seconds
  • Memory Usage 1,937KB
  • 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
  • (4)bbcode_html_printable
  • (11)bbcode_php_printable
  • (6)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