public function test_insert() { $instance = new $this->myClass($this->conn, 'groups', 'XoopsGroup', 'groupid', 'name'); $obj = new XoopsGroup(); $obj->setDirty(); $value = $instance->insert($obj); $this->assertSame('', $value); }
/** * retrieve groups from the database * * @param CriteriaElement $criteria {@link CriteriaElement} with conditions for the groups * @param bool $id_as_key should the groups' IDs be used as keys for the associative array? * @return mixed Array of groups */ public function getObjects(CriteriaElement $criteria = null, $id_as_key = false) { $ret = array(); $limit = $start = 0; $sql = 'SELECT * FROM ' . $this->db->prefix('groups'); if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { $sql .= ' ' . $criteria->renderWhere(); $limit = $criteria->getLimit(); $start = $criteria->getStart(); } $result = $this->db->query($sql, $limit, $start); if (!$result) { return $ret; } while ($myrow = $this->db->fetchArray($result)) { $group = new XoopsGroup(); $group->assignVars($myrow); if (!$id_as_key) { $ret[] =& $group; } else { $ret[$myrow['groupid']] =& $group; } unset($group); } return $ret; }
/** * __construct * * @param XoopsGroup|XoopsObject &$obj group object */ public function __construct(XoopsGroup &$obj) { $xoops = Xoops::getInstance(); if ($obj->isNew()) { $s_cat_value = ''; $a_mod_value = array(); $r_mod_value = array(); $r_block_value = array(); } else { $sysperm_handler = $xoops->getHandlerGroupperm(); $s_cat_value = $sysperm_handler->getItemIds('system_admin', $obj->getVar('groupid')); $member_handler = $xoops->getHandlerMember(); $thisgroup = $member_handler->getGroup($obj->getVar('groupid')); $moduleperm_handler = $xoops->getHandlerGroupperm(); $a_mod_value = $moduleperm_handler->getItemIds('module_admin', $thisgroup->getVar('groupid')); $r_mod_value = $moduleperm_handler->getItemIds('module_read', $thisgroup->getVar('groupid')); $gperm_handler = $xoops->getHandlerGroupperm(); $r_block_value = $gperm_handler->getItemIds('block_read', $obj->getVar('groupid')); } include_once $xoops->path('/modules/system/constants.php'); $title = $obj->isNew() ? SystemLocale::ADD_NEW_GROUP : SystemLocale::EDIT_GROUP; parent::__construct($title, "groupform", 'admin.php', "post", true); $this->setExtra('enctype="multipart/form-data"'); $name_text = new Xoops\Form\Text(SystemLocale::GROUP_NAME, "name", 4, 50, $obj->getVar('name')); $desc_text = new Xoops\Form\TextArea(SystemLocale::GROUP_DESCRIPTION, "desc", $obj->getVar('description')); $system_catids = new Xoops\Form\ElementTray(SystemLocale::SYSTEM_ADMIN_RIGHTS, ''); $s_cat_checkbox_all = new Xoops\Form\Checkbox('', "catbox", 1); $s_cat_checkbox_all->addOption('allbox', XoopsLocale::ALL); $s_cat_checkbox_all->setExtra(" onclick='xoopsCheckGroup(\"groupform\", \"catbox\" , \"system_catids[]\");' "); $s_cat_checkbox_all->setClass('xo-checkall'); $system_catids->addElement($s_cat_checkbox_all); $s_cat_checkbox = new Xoops\Form\Checkbox('', "system_catids", $s_cat_value); //$s_cat_checkbox->columns = 6; $admin_dir = \XoopsBaseConfig::get('root-path') . '/modules/system/admin/'; $dirlist = XoopsLists::getDirListAsArray($admin_dir); foreach ($dirlist as $file) { include \XoopsBaseConfig::get('root-path') . '/modules/system/admin/' . $file . '/xoops_version.php'; if (!empty($modversion['category'])) { if ($xoops->getModuleConfig('active_' . $file, 'system') == 1) { $s_cat_checkbox->addOption($modversion['category'], $modversion['name']); } } unset($modversion); } unset($dirlist); $system_catids->addElement($s_cat_checkbox); $admin_mids = new Xoops\Form\ElementTray(SystemLocale::MODULE_ADMIN_RIGHTS, ''); $s_admin_checkbox_all = new Xoops\Form\Checkbox('', "adminbox", 1); $s_admin_checkbox_all->addOption('allbox', XoopsLocale::ALL); $s_admin_checkbox_all->setExtra(" onclick='xoopsCheckGroup(\"groupform\", \"adminbox\" , \"admin_mids[]\");' "); $s_admin_checkbox_all->setClass('xo-checkall'); $admin_mids->addElement($s_admin_checkbox_all); $a_mod_checkbox = new Xoops\Form\Checkbox('', "admin_mids[]", $a_mod_value); //$a_mod_checkbox->columns = 5; $module_handler = $xoops->getHandlerModule(); $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->getNameList($criteria)); $admin_mids->addElement($a_mod_checkbox); $read_mids = new Xoops\Form\ElementTray(SystemLocale::MODULE_ACCESS_RIGHTS, ''); $s_mod_checkbox_all = new Xoops\Form\Checkbox('', "readbox", 1); $s_mod_checkbox_all->addOption('allbox', XoopsLocale::ALL); $s_mod_checkbox_all->setExtra(" onclick='xoopsCheckGroup(\"groupform\", \"readbox\" , \"read_mids[]\");' "); $s_mod_checkbox_all->setClass('xo-checkall'); $read_mids->addElement($s_mod_checkbox_all); $r_mod_checkbox = new Xoops\Form\Checkbox('', "read_mids[]", $r_mod_value); //$r_mod_checkbox->columns = 5; $criteria = new CriteriaCompo(new Criteria('hasmain', 1)); $criteria->add(new Criteria('isactive', 1)); $r_mod_checkbox->addOptionArray($module_handler->getNameList($criteria)); $read_mids->addElement($r_mod_checkbox); $criteria = new CriteriaCompo(new Criteria('isactive', 1)); $criteria->setSort("mid"); $criteria->setOrder("ASC"); $module_list = $module_handler->getNameList($criteria); $module_list[0] = SystemLocale::CUSTOM_BLOCK; $block_handler = $xoops->getHandlerBlock(); $blocks_obj = $block_handler->getDistinctObjects(new Criteria("mid", "('" . implode("', '", array_keys($module_list)) . "')", "IN"), true); $blocks_module = array(); foreach (array_keys($blocks_obj) as $bid) { $title = $blocks_obj[$bid]->getVar("title"); $blocks_module[$blocks_obj[$bid]->getVar('mid')][$blocks_obj[$bid]->getVar('bid')] = empty($title) ? $blocks_obj[$bid]->getVar("name") : $title; } ksort($blocks_module); $r_block_tray = new Xoops\Form\ElementTray(SystemLocale::BLOCK_ACCESS_RIGHTS, "<br /><br />"); $s_checkbox_all = new Xoops\Form\Checkbox('', "blocksbox", 1); $s_checkbox_all->addOption('allbox', XoopsLocale::ALL); $s_checkbox_all->setExtra(" onclick='xoopsCheckGroup(\"groupform\", \"blocksbox\" , \"read_bids[]\");' "); $s_checkbox_all->setClass('xo-checkall'); $r_block_tray->addElement($s_checkbox_all); foreach (array_keys($blocks_module) as $mid) { $new_blocks_array = array(); foreach ($blocks_module[$mid] as $key => $value) { $new_blocks_array[$key] = "<a href='" . \XoopsBaseConfig::get('url') . "/modules/system/admin.php?fct=blocksadmin&op=edit&bid={$key}' " . "title='ID: {$key}' rel='external'>{$value}</a>"; } $r_block_checkbox = new Xoops\Form\Checkbox('<strong>' . $module_list[$mid] . '</strong><br />', "read_bids[]", $r_block_value); //$r_block_checkbox->columns = 5; $r_block_checkbox->addOptionArray($new_blocks_array); $r_block_tray->addElement($r_block_checkbox); unset($r_block_checkbox); } if (!$obj->isNew()) { $this->addElement(new Xoops\Form\Hidden('g_id', $obj->getVar('groupid'))); $this->addElement(new Xoops\Form\Hidden("op", "groups_save_update")); } else { $this->addElement(new Xoops\Form\Hidden("op", "groups_save_add")); } $this->addElement(new Xoops\Form\Hidden('fct', 'groups')); $this->addElement($name_text, true); $this->addElement($desc_text); $this->addElement($system_catids); $this->addElement($admin_mids); $this->addElement($read_mids); $this->addElement($r_block_tray); $this->addElement(new Xoops\Form\Button("", "submit", XoopsLocale::A_SUBMIT, "submit")); }
/** * retrieve a specific group * * @param int $id ID of the group to get * @return object XoopsGroup reference to the group object, FALSE if failed */ function &get($id) { $ret = false; if (intval($id) > 0) { $sql = 'SELECT * FROM ' . $this->db->prefix('groups') . ' WHERE groupid=' . $id; if ($result = $this->db->query($sql)) { $numrows = $this->db->getRowsNum($result); if ($numrows == 1) { $group = new XoopsGroup(); $group->assignVars($this->db->fetchArray($result)); $ret =& $group; } } } return $ret; }
/** * */ public function __construct() { parent::__construct(); }
public function test_setToGroups() { $instance = $this->object; $group = new XoopsGroup(); $group->assignVar('groupid', 1); $groups = array($group); $instance->setToGroups($groups); $x = $this->getPropertyValue('toUsers'); $this->assertTrue(is_array($x)); $this->assertInstanceOf('XoopsUser', $x[0]); }
function __constrcut() { parent::__construct(); }
/** * delete a group * * @param XoopsGroup $group reference to the group to delete * @return bool FALSE if failed */ public function deleteGroup(XoopsGroup $group) { $s1 = $this->membershipHandler->deleteAll(new Criteria('groupid', $group->getVar('groupid'))); $s2 = $this->groupHandler->delete($group); return $s1 && $s2; // ? true : false; }
public function test_xoopsClone() { $instance = new XoopsGroup(); $clone = $instance->xoopsClone(); $this->assertInstanceOf('XoopsGroup', $clone); $this->assertTrue($clone->isNew()); // the only difference between instance and clone $x = $clone->getVars(); $y = $instance->getVars(); $this->assertSame($y, $x); }