vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   Disable Doubleclick to close/lock thread (https://vborg.vbsupport.ru/showthread.php?t=291070)

tommythejoat 11-19-2012 08:30 PM

Disable Doubleclick to close/lock thread
 
I cannot find a control to disable the feature that locks a thread (or unlocks a locked thread) by double clicking on the thread icon. Is there some way to do that? I seem to have done it accidentally a couple of times now and my moderators are getting annoyed with me.

I don't actually recall locking the threads, but the admin log says it is me. :o

ForceHSS 11-20-2012 12:44 AM

mod tools should be at the end of the topic. Not sure if this is what you are after

tommythejoat 02-18-2014 01:56 PM

My moderators are once again complaining about this feature.

If you are not familiar with the feature, a moderator can lock or unlock a thread by double clicking on the status icon. This can be done accidentally and one might not notice the change in status icon.

I have searched through all the options and settings without spotting this feature.

I have searched the templates and cannot find an action on the icons. I suspect it is somewhere in the JavaScript or perhaps in the PHP code. I have not searched either of those.

Seven Skins 02-18-2014 09:30 PM

You can edit ajax.php file and that will disable this function.

Look for this piece of code and comment out the code in between the curly brackets.


From this...
PHP Code:

if ($_POST['do'] == 'updatethreadopen'
{
blah blah



To this...
PHP Code:

if ($_POST['do'] == 'updatethreadopen'
{
/*
blah blah
*/



ozzy47 02-18-2014 09:55 PM

That will work, but if you want to do it via a plugin, so you will be safe from upgrades, you can add a plugin.

ACP --> Plugins & Products --> Add New Plugin

Product: vBulletin
Hook Location: ajax_start
Title: Disable Double Click to Close/Lock Thread
Execution Order: 5
Plugin PHP Code:
Code:

if ($_POST['do'] == 'updatethreadopen')
{
        $vbulletin->input->clean_array_gpc('p', array(
                'threadid' => TYPE_UINT,
                'open'    => TYPE_BOOL,
        ));
        if ($threadinfo['open'] == 10)
        {        // thread redirect
                exit;
        }
        //load the existing open status to return if no permission
        $open = $threadinfo['open'];
        // changed perms to disable doubleclick
        if (
                can_moderate($threadinfo['forumid'], 'canopenclose_not') // user is moderator
                OR
                (
                        $threadinfo['postuserid'] == $vbulletin->userinfo['userid'] // user is thread first poster
                        AND
                        ($forumperms = fetch_permissions($threadinfo['forumid'])) AND ($forumperms & $vbulletin->bf_ugp_forumpermissions['canopenclose_not']) // user has permission to open / close own threads
                )
        )
        {
                $open = $vbulletin->GPC['open'];

                $threaddata =& datamanager_init('Thread', $vbulletin, ERRTYPE_SILENT, 'threadpost');
                $threaddata->set_existing($threadinfo);
                $threaddata->set('open', $open); // note: mod logging will occur automatically
                if (!$threaddata->save())
                {
                        // didn't change anything
                        $open = !$open;
                }
        }

        $xml = new vB_AJAX_XML_Builder($vbulletin, 'text/xml');
        $xml->add_tag('status', $open ? 'open' : 'closed');
        $xml->print_xml();
}


This way you will be safe from overwriting it during upgrades, and if you ever run Suspect File Versions the file will not show up in the list as containing unexpected contents. :)

TerminatioN 10-23-2014 10:08 PM

Quote:

Originally Posted by ozzy47 (Post 2482234)
That will work, but if you want to do it via a plugin, so you will be safe from upgrades, you can add a plugin.

ACP --> Plugins & Products --> Add New Plugin

Product: vBulletin
Hook Location: ajax_start
Title: Disable Double Click to Close/Lock Thread
Execution Order: 5
Plugin PHP Code:
Code:

if ($_POST['do'] == 'updatethreadopen')
{
        $vbulletin->input->clean_array_gpc('p', array(
                'threadid' => TYPE_UINT,
                'open'    => TYPE_BOOL,
        ));
        if ($threadinfo['open'] == 10)
        {        // thread redirect
                exit;
        }
        //load the existing open status to return if no permission
        $open = $threadinfo['open'];
        // changed perms to disable doubleclick
        if (
                can_moderate($threadinfo['forumid'], 'canopenclose_not') // user is moderator
                OR
                (
                        $threadinfo['postuserid'] == $vbulletin->userinfo['userid'] // user is thread first poster
                        AND
                        ($forumperms = fetch_permissions($threadinfo['forumid'])) AND ($forumperms & $vbulletin->bf_ugp_forumpermissions['canopenclose_not']) // user has permission to open / close own threads
                )
        )
        {
                $open = $vbulletin->GPC['open'];

                $threaddata =& datamanager_init('Thread', $vbulletin, ERRTYPE_SILENT, 'threadpost');
                $threaddata->set_existing($threadinfo);
                $threaddata->set('open', $open); // note: mod logging will occur automatically
                if (!$threaddata->save())
                {
                        // didn't change anything
                        $open = !$open;
                }
        }

        $xml = new vB_AJAX_XML_Builder($vbulletin, 'text/xml');
        $xml->add_tag('status', $open ? 'open' : 'closed');
        $xml->print_xml();
}


This way you will be safe from overwriting it during upgrades, and if you ever run Suspect File Versions the file will not show up in the list as containing unexpected contents. :)

Thanks so much! Been looking for something like this. Works great on 4.2.2


All times are GMT. The time now is 08:27 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.03380 seconds
  • Memory Usage 1,744KB
  • 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
  • (2)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete