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