1: <?php
2: /**
3: * XOOPS form element
4: *
5: * You may not change or alter any portion of this comment or credits
6: * of supporting developers from this source code or any supporting source code
7: * which is considered copyrighted (c) material of the original comment or credit authors.
8: * This program is distributed in the hope that it will be useful,
9: * but WITHOUT ANY WARRANTY; without even the implied warranty of
10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11: *
12: * @copyright (c) 2000-2016 XOOPS Project (www.xoops.org)
13: * @license GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html)
14: * @package kernel
15: * @subpackage form
16: * @since 2.0.0
17: * @author Kazumi Ono (AKA onokazu) http://www.myweb.ne.jp/, http://jp.xoops.org/
18: */
19:
20: defined('XOOPS_ROOT_PATH') || exit('Restricted access');
21:
22: /**
23: * Parent
24: */
25: xoops_load('XoopsFormElement');
26:
27: /**
28: * A select field with a choice of available groups
29: */
30: class XoopsFormSelectGroup extends XoopsFormSelect
31: {
32: /**
33: * Constructor
34: *
35: * @param string $caption
36: * @param string $name
37: * @param bool $include_anon Include group "anonymous"?
38: * @param mixed $value Pre-selected value (or array of them).
39: * @param int $size Number of rows. "1" makes a drop-down-list.
40: * @param bool $multiple Allow multiple selections?
41: */
42: public function __construct($caption, $name, $include_anon = false, $value = null, $size = 1, $multiple = false)
43: {
44: parent::__construct($caption, $name, $value, $size, $multiple);
45: /** @var XoopsMemberHandler $member_handler */
46: $member_handler = xoops_getHandler('member');
47: if (!$include_anon) {
48: $this->addOptionArray($member_handler->getGroupList(new Criteria('groupid', XOOPS_GROUP_ANONYMOUS, '!=')));
49: } else {
50: $this->addOptionArray($member_handler->getGroupList());
51: }
52: }
53: }
54: