Monday, April 18, 2016

MindTouch Core - Fix the Page-Restriction functionality

A couple months ago when I was trying to made a responsive theme for my MindTouch wiki (dekiwiki opensourced version) using BootStrap, I broke the page-restriction functionality for some reasons. In details, It's the "Add to list" button. When I clicked it, the selected user/group did not appear under the "Permission list" list.

After looking into the core for a while, I finally made it work again. Simply as following:

1. Open the special_pagerestrictions.php file (at /path/to/your/dekiwiki/deki/plugins/special_page/special_pagerestrictions/) using nano or any text editor you like

2. Modify this code block with the red line:

var itemSelectHandler = function(sType, aArgs) {
        var oAcInstance = aArgs[0];
        var oData = aArgs[2];  
        if ( oData && oData[0] )
        {
                oAcInstance._elTextbox.value = Deki.$.htmlDecode(oData[1] ? oData[1] : oData[0]);
                jQuery("#autoCompInput").val(oAcInstance._elTextbox.value);
        }
};