1
Quest
Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/10 22:07

  • Quest

  • Friend of XOOPS

  • Posts: 1034

  • Since: 2005/11/19


Disregard these below instructs it works but evidently there is a place and way to get bug fixes I had not discovered yet.
Doesn't surprise me one bit!
I checked hacks, fixes, 2.0.14RC1 comments, etc. Searched the XOOPS over and not one d a m n mention anywhere of this fix.

For the fix to the problem see leostotch's post in this thread.

Thank you, msdana, juliette, and leostotch. Sure would have been nice to know, oh-say about a year and half ago when I started with xoops.

Quote:
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.

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.

[quote]<?php
// $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('<b>'._LEFT.'</b><br />',

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_lblock_checkbox->addOptionArray($new_blocks_array);

$r_cblock_checkbox = new XoopsFormCheckBox("<b>"._CENTER."</b><br />",

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_cblock_checkbox->addOptionArray($new_blocks_array);

$r_rblock_checkbox = new XoopsFormCheckBox("<b>"._RIGHT."</b><br />",

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_rblock_checkbox->addOptionArray($new_blocks_array);

// ############## START: multiblock hack ##############
$r_clblock_checkbox = new XoopsFormCheckBox("<b>".CLeftBottom."</b><br />",

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_clblock_checkbox->addOptionArray($new_blocks_array);

$r_ccblock_checkbox = new XoopsFormCheckBox("<b>".CenterBottom."</b><br />",

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_ccblock_checkbox->addOptionArray($new_blocks_array);

$r_crblock_checkbox = new XoopsFormCheckBox("<b>".CRightBottom."</b><br />",

"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] = "<a

href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$val

ue." (ID: ".$key.")</a>";
}
$r_crblock_checkbox->addOptionArray($new_blocks_array);


$r_block_tray = new XoopsFormElementTray(_AM_BLOCKRIGHTS, "<br /><br />");
$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();
?>

2
Anonymous
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 3:37

  • Anonymous

  • Posts: 0

  • Since:


You could have just looked at/downloaded the file from XOOPS svn, revision number 515...

3
msdana
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 4:04

  • msdana

  • Just can't stay away

  • Posts: 817

  • Since: 2005/12/11


Quote:
You could have just looked at/downloaded the file from XOOPS svn, revision number 515...


I am quite sure that I am not the only who doesn't know what SVN means or even how to implement/update/upgrade/integrate or whatever the *oops* you need to do. I took a look at it and it had me switching the page so fast my head was spinning. It requires downloading this and installing that, things which I, as a regular user, don't comprehend, don't want to comprehend, and shouldn't need to comprehend. Not everyone is knowledgeable in the SVN department and I certainly don't want to start installing software/apps that I have no clue how to use or even why I need to use them. So, please be patient with the "general users" and do not expect us to understand how to use SVN.

I have been patiently waiting for the next release to come out to fix this obvious flaw (or bug), and I thank Quest for posting the Layman's instructions on how to get this problem resolved, if only temporarily. I have been working on themes for 2.0.x and wondered how long I would have to wait for this to be resolved. I dare not ask how long something will take, the answer generally given is "patience". And yes, I realize that 2.0.14 is an RC, and expect bugs. But please don't expect "general users" to know how to fix them or understand SVN.

Thanks, Quest! At least you helped a few of my sites running 2.0.14 RC1
[size=x-small]If God is watching us, the least we can do is be entertaining.[/size]
Graphic Worx : Xoops Themes

4
Anonymous
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 4:24

  • Anonymous

  • Posts: 0

  • Since:


I don't expect general users to have to do all that, that's why I gave the direct link and a revision number All that's needed is to type in the number...

Here's a direct link to the page itself. All you need to do is click 'download' and you'll have the changed file that will be in the next release.

I didn't realise though that the file isn't directly downloaded when the 'download' link is clicked - that is the case with cvs, but not here - so you'll still need to copy/paste the page.

5
msdana
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 4:38

  • msdana

  • Just can't stay away

  • Posts: 817

  • Since: 2005/12/11


Hmmm, did a copy/paste and it didn't seem to work.

This is what happened after I updated the module, emptied my templates_c and cache folders:

Resized Image
[size=x-small]If God is watching us, the least we can do is be entertaining.[/size]
Graphic Worx : Xoops Themes

6
Anonymous
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 5:08

  • Anonymous

  • Posts: 0

  • Since:


That's strange, I just tried it myself and it worked

When you pasted the code to grouppermform.php did you paste it over everything that was there?

Maybe try first deleting everything in grouppermform.php, then pasting the SVN code. Then check to make sure no blank spaces were created after the final '?>' (to check just place the cursor after the ?> and use the right arrow button. The cursor should not be able to move forward.) If there are any spaces, remove them.

Does that help?

7
leostotch
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 6:22

  • leostotch

  • Just popping in

  • Posts: 76

  • Since: 2006/4/1 1


Personnally, I'm using the "official" fix without problems (the one from SVN).
Here's what I did:
- I did not touch groupform.php
- I downloaded the updated class/xoopsblock.php that is available here

And that fixed it... As a sidenote, and although I'm a bit more than an "end-user", using fixes I need right now is something I've been doing for weeks, and that never required me to learn using SVN: I just subscribed to the mailing-list, and when I see the fix I need, go to the web interface to download the correct file (to browse a website and click on download is something I'm quite good at )

8
Anonymous
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 6:49

  • Anonymous

  • Posts: 0

  • Since:


Yeah you're right, it's class/xoopsblock.php

The link I gave is the same, only the file name was wrong in my previous post...

9
leostotch
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 8:25

  • leostotch

  • Just popping in

  • Posts: 76

  • Since: 2006/4/1 1


Forgive me, I wrote this after waking up and my half-closed eyes didn't see your second post

10
Quest
Re: Groupform Hack for CenterDown Blocks for Xoops 2.0.14-RC1
  • 2006/6/11 12:59

  • Quest

  • Friend of XOOPS

  • Posts: 1034

  • Since: 2005/11/19


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.

<?php
// $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('<b>'._LEFT.'</b><br />', "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_lblock_checkbox->addOptionArray($new_blocks_array);

$r_cblock_checkbox = new XoopsFormCheckBox("<b>"._CENTER."</b><br />", "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_cblock_checkbox->addOptionArray($new_blocks_array);

$r_rblock_checkbox = new XoopsFormCheckBox("<b>"._RIGHT."</b><br />", "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_rblock_checkbox->addOptionArray($new_blocks_array);

// ############## START: multiblock hack ##############
$r_clblock_checkbox = new XoopsFormCheckBox('<b>'.CLeft_Bottom.'</b><br />', "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_clblock_checkbox->addOptionArray($new_blocks_array);

$r_ccblock_checkbox = new XoopsFormCheckBox('<b>'.Center_Bottom.'</b><br />', "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_ccblock_checkbox->addOptionArray($new_blocks_array);

$r_crblock_checkbox = new XoopsFormCheckBox('<b>'.CRight_Bottom.'</b><br />', "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] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&bid=".$key."'>".$value." (ID: ".$key.")</a>";
}
$r_crblock_checkbox->addOptionArray($new_blocks_array);


$r_block_tray = new XoopsFormElementTray(_AM_BLOCKRIGHTS, "<br /><br />");
$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();
?>

Login

Who's Online

203 user(s) are online (117 user(s) are browsing Support Forums)


Members: 0


Guests: 203


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: May 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits