* При работе с конкретными записями, лучше использовать наследников * Так решаются такие проблемы как попытка удалить группу блогов * Исли обработчик не выставлен, то используем методы базового класса * Пример: * * if ('forum' == $vbulletin->GPC['plugin']) * { * require_once DIR . '/includes/class_nntpgate_forum_group.php'; * $nntp_group = new NNTPGate_Forum_Group(); * } */ $vbulletin->input->clean_array_gpc('r', array('plugin' => TYPE_STR, 'group_id' => TYPE_INT)); $nntp_group = null; ($hook = vBulletinHook::fetch_hook('nntp_gate_group_handler')) ? eval($hook) : false; if (is_null($nntp_group) or !$nntp_group instanceof NNTPGate_Group_Base) { $nntp_group = new NNTPGate_Group_Base(); } // ############## ADD/EDIT GROUP SETTINGS ################################ if ($do == 'set_group_settings') { $vbulletin->input->clean_array_gpc('r', array('group_name' => TYPE_STR, 'is_active' => TYPE_INT, 'map_id' => TYPE_INT)); $nntp_group->set_group_id($vbulletin->GPC['group_id']); $nntp_group->set_group_name($vbulletin->GPC['group_name']); $nntp_group->set_plugin_id($vbulletin->GPC['plugin']); $nntp_group->set_is_active($vbulletin->GPC['is_active']); $nntp_group->set_map_id($vbulletin->GPC['map_id']); if ($vbulletin->GPC['group_id']) { define('CP_REDIRECT', $this_script . '.php' . '?do=group_settings' . '&group_id=' . $vbulletin->GPC['group_id'] . '&plugin=' . $vbulletin->GPC['plugin']); } else { define('CP_REDIRECT', $this_script . '.php' . '?do=group_settings' . '&plugin=' . $vbulletin->GPC['plugin']); } // save settings
/** * Get all groups * * @param bool $active * @return array */ public function get_groups_list($active = null) { return parent::get_groups_list($active, self::PLUGIN_ID); }