On second thought.
I tried the fix and it did indeed allow the blocks placed in the center column bottom(below content) to be seen in the groups admin. But the blocks from the center column bottom were in with the other center blocks.
If I use my Hack and the bug fix class/xoopsblock.php then I end up with the block showing in the groups admin in both positions if I place it in the bottom position. Meaning it shows as if it is in the above content center position (when it isn't) and in the below content center position.
If I use the normal modules/system/admin/groups/groupsform.php and the bug fix the center blocks for the bottom position show as just center.
I haven't really installed many modules and but I count a total of 39 blocks alltogether needing managed at this time and as soon as I install a few other modules this will undoubtedly increase exponentially. I need a way to easily determine which blocks are in the above content position and which ones are in the below content position.
I hope this is making sense?
So here is the Hack again. Let the people choose. Maybe the concept could be incorporated into another fix?
Quest
This is now working for me. I have to give the credit to skalpa and mcnaz. All I did was look for the needles and put them in the right stack. Took all day but it works.
(if you changed your class/xoopsblock.php from the SVN bug fix you will need to restore the original class/xoopsblock.php for this to work as intended.
Or the blocks will show in groups admin in both center and center bottom when actually they are only positioned and viewed in the center bottom position(s))
For this to work you should only need to do the folowing:
"Backup your groupform.php before doing this" !
1. Go into yoursite/modules/system/admin/groups
2. Open up the groupform.php with your text editor
3. Highlight all in the form and delete it.
4. Paste the below into the groupform.php and save the file
5. Go to your site and login then to admin/system/modules and update the system module. (you may or may not have to do that)
Test it out. Assign a block to the centerdown, left down or right down or all three. Then go into admin/system/groups and they should be there now.
Note: I also emptied my template_c folder.
// $Id: groupform.php 2 2005-11-02 18:23:29Z skalpa $
// $Id: groupform.php, v1.8 2006/05/15 22:51:30 multiblock $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <
https://xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
// Author: Kazumi Ono (AKA onokazu) //
// URL:
http://www.myweb.ne.jp/,
https://xoops.org/,
http://www.xoopscube.jp/ //
// Project: The XOOPS Project //
// ------------------------------------------------------------------------- //
include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php";
$name_text = new XoopsFormText(_AM_NAME, "name", 30, 50, $name_value);
$desc_text = new XoopsFormTextArea(_AM_DESCRIPTION, "desc", $desc_value);
$s_cat_checkbox = new XoopsFormCheckBox(_AM_SYSTEMRIGHTS, "system_catids[]", $s_cat_value);
//if (isset($s_cat_disable) && $s_cat_disable) {
// $s_cat_checkbox->setExtra('checked="checked" disabled="disabled"');
//}
include_once(XOOPS_ROOT_PATH.'/modules/system/constants.php');
$handle = opendir(XOOPS_ROOT_PATH.'/modules/system/admin');
while (false != $file = readdir($handle)) {
if (strtolower($file) != 'cvs' && !preg_match("/[.]/", $file) && is_dir(XOOPS_ROOT_PATH.'/modules/system/admin/'.$file)) {
include XOOPS_ROOT_PATH.'/modules/system/admin/'.$file.'/xoops_version.php';
if (!empty($modversion['category'])) {
$s_cat_checkbox->addOption($modversion['category'], $modversion['name']);
}
unset($modversion);
}
}
$a_mod_checkbox = new XoopsFormCheckBox(_AM_ACTIVERIGHTS, "admin_mids[]", $a_mod_value);
$module_handler =& xoops_gethandler('module');
$criteria = new CriteriaCompo(new Criteria('hasadmin', 1));
$criteria->add(new Criteria('isactive', 1));
$criteria->add(new Criteria('dirname', 'system', '<>'));
$a_mod_checkbox->addOptionArray($module_handler->getList($criteria));
$r_mod_checkbox = new XoopsFormCheckBox(_AM_ACCESSRIGHTS, "read_mids[]", $r_mod_value);
$criteria = new CriteriaCompo(new Criteria('hasmain', 1));
$criteria->add(new Criteria('isactive', 1));
$r_mod_checkbox->addOptionArray($module_handler->getList($criteria));
$r_lblock_checkbox = new XoopsFormCheckBox('
'._LEFT.'', "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_SIDEBLOCK_LEFT);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_lblock_checkbox->addOptionArray($new_blocks_array);
$r_cblock_checkbox = new XoopsFormCheckBox("
"._CENTER."", "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_CENTERBLOCK_ALL);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_cblock_checkbox->addOptionArray($new_blocks_array);
$r_rblock_checkbox = new XoopsFormCheckBox("
"._RIGHT."", "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_SIDEBLOCK_RIGHT);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_rblock_checkbox->addOptionArray($new_blocks_array);
// ############## START: multiblock hack ##############
$r_clblock_checkbox = new XoopsFormCheckBox('
'.CLeft_Bottom.'', "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_CENTERBLOCK_BOTTOMLEFT);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_clblock_checkbox->addOptionArray($new_blocks_array);
$r_ccblock_checkbox = new XoopsFormCheckBox('
'.Center_Bottom.'', "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_CENTERBLOCK_BOTTOM);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_ccblock_checkbox->addOptionArray($new_blocks_array);
$r_crblock_checkbox = new XoopsFormCheckBox('
'.CRight_Bottom.'', "read_bids[]",$r_block_value);
$new_blocks_array = array();
$blocks_array = XoopsBlock::getAllBlocks("list", XOOPS_CENTERBLOCK_BOTTOMRIGHT);
foreach ($blocks_array as $key=>$value) {
$new_blocks_array[$key] = "
".$value." (ID: ".$key.")";
}
$r_crblock_checkbox->addOptionArray($new_blocks_array);
$r_block_tray = new XoopsFormElementTray(_AM_BLOCKRIGHTS, "
");
$r_block_tray->addElement($r_lblock_checkbox);
$r_block_tray->addElement($r_cblock_checkbox);
$r_block_tray->addElement($r_rblock_checkbox);
$r_block_tray->addElement($r_clblock_checkbox);
$r_block_tray->addElement($r_ccblock_checkbox);
$r_block_tray->addElement($r_crblock_checkbox);
// ############## END: multiblock hack ##############
$op_hidden = new XoopsFormHidden("op", $op_value);
$fct_hidden = new XoopsFormHidden("fct", "groups");
$submit_button = new XoopsFormButton("", "groupsubmit", $submit_value, "submit");
$form = new XoopsThemeForm($form_title, "groupform", "admin.php", "post", true);
$form->addElement($name_text);
$form->addElement($desc_text);
$form->addElement($s_cat_checkbox);
$form->addElement($a_mod_checkbox);
$form->addElement($r_mod_checkbox);
$form->addElement($r_block_tray);
$form->addElement($op_hidden);
$form->addElement($fct_hidden);
if ( !empty($g_id_value) ) {
$g_id_hidden = new XoopsFormHidden("g_id", $g_id_value);
$form->addElement($g_id_hidden);
}
$form->addElement($submit_button);
$form->setRequired($name_text);
$form->display();
?>