public function view($enumGroupType) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- $displayData = array(); //------------------------- // models & helpers //------------------------- $this->load->model('groups/mgroups', 'clsGroups'); $this->load->helper('groups/groups'); groupExtensionProperties($enumGroupType, $gProps); $displayData['gProps'] =& $gProps; $displayData['enumGroupType'] = $enumGroupType = htmlspecialchars($enumGroupType); $displayData['strGroupType'] = $strGroupType = strXlateContext($enumGroupType); $this->clsGroups->gp_enumGroupType = $enumGroupType; $this->clsGroups->loadActiveGroupsViaType($this->clsGroups->gp_enumGroupType, 'groupName', '', false, null); $displayData['lNumGroups'] = $lNumGroups = $this->clsGroups->lNumGroupList; $displayData['arrGroupList'] = $this->clsGroups->arrGroupList; if ($lNumGroups > 0) { $idx = 0; foreach ($this->clsGroups->arrGroupList as $clsList) { $this->clsGroups->lGroupID = $lGID = $clsList->lKeyID; $displayData['lMembersInGroup'][$idx] = $this->clsGroups->lCountMembersInGroup($lGID, $enumGroupType); ++$idx; } } //---------------------- // set breadcrumbs //---------------------- $displayData['title'] = CS_PROGNAME . ' | Groups'; $displayData['pageTitle'] = anchor('main/menu/admin', 'Admin', 'class="breadcrumb"') . ' | ' . anchor('admin/alists/showLists', 'Lists', 'class="breadcrumb"') . ' | Groups: ' . $strGroupType; $displayData['nav'] = $this->mnav_brain_jar->navData(); $displayData['mainTemplate'] = 'groups/group_view'; $this->load->vars($displayData); $this->load->view('template'); }
function addEdit($enumGroupType, $lGID) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- if (!bAllowAccess('adminOnly')) { return; } $this->load->helper('dl_util/verify_id'); if ($lGID != '0') { verifyID($this, $lGID, 'group ID'); } $displayData = array(); $lGID = (int) $lGID; //------------------------- // models & helpers //------------------------- $this->load->model('groups/mgroups', 'clsGroups'); $this->load->helper('groups/groups'); $this->load->helper('dl_util/web_layout'); $displayData['strGroupType'] = $strGroupType = strXlateContext($enumGroupType); groupExtensionProperties($enumGroupType, $gProps); $displayData['gProps'] =& $gProps; //---------------------------- // validation rules //---------------------------- $this->form_validation->set_error_delimiters('<div class="formError">', '</div>'); $this->form_validation->set_rules('txtGroupName', $strGroupType . ' Group Name', 'trim|callback_groupNameBlankTest|callback_groupNameDupTest[' . $enumGroupType . ',' . $lGID . ']'); if ($gProps->extended) { if ($gProps->lNumBool > 0) { foreach ($gProps->bools as $bField) { $this->form_validation->set_rules($bField->strFormFN, 'Check Box', 'trim'); } } if ($gProps->lNumInt > 0) { echo __FILE__ . ' ' . __LINE__ . '<br>' . "\n"; die; } } if ($this->form_validation->run() == FALSE) { $this->load->library('generic_form'); $displayData['lGID'] = $lGID = (int) $lGID; $displayData['bNew'] = $bNew = $lGID <= 0; $displayData['enumGroupType'] = $this->clsGroups->gp_enumGroupType = $enumGroupType = htmlspecialchars($enumGroupType); if (validation_errors() == '') { $this->clsGroups->loadActiveGroupsViaType($enumGroupType, '', '', true, $lGID); $gl =& $this->clsGroups->arrGroupList[0]; $displayData['strGroupName'] = htmlspecialchars($gl->strGroupName); // set the database values for extended fields if ($gProps->extended) { if ($gProps->lNumBool > 0) { foreach ($gProps->bools as $bField) { $strFN = $bField->strDBFN; $bField->bValue = $gl->{$strFN}; } } if ($gProps->lNumInt > 0) { echo __FILE__ . ' ' . __LINE__ . '<br>' . "\n"; die; } } } else { setOnFormError($displayData); $displayData['strGroupName'] = set_value('txtGroupName'); if ($gProps->extended) { if ($gProps->lNumBool > 0) { foreach ($gProps->bools as $bField) { $bField->bValue = set_value($bField->strFormFN) == 'true'; } } if ($gProps->lNumInt > 0) { echo __FILE__ . ' ' . __LINE__ . '<br>' . "\n"; die; } } } $displayData['nav'] = $this->mnav_brain_jar->navData(); //---------------------- // set breadcrumbs //---------------------- $displayData['title'] = CS_PROGNAME . ' | Groups'; $displayData['pageTitle'] = anchor('main/menu/admin', 'Admin', 'class="breadcrumb"') . ' | ' . anchor('admin/alists/showLists', 'Lists', 'class="breadcrumb"') . ' | ' . anchor('groups/groups_view/view/' . $enumGroupType, 'Groups: ' . $strGroupType, 'class="breadcrumb"') . ' | ' . ($bNew ? 'Add New' : 'Edit'); $displayData['mainTemplate'] = 'groups/group_add_edit_view'; $this->load->vars($displayData); $this->load->view('template'); } else { $bNew = $lGID <= 0; $strGroupCat = strXlateContext($enumGroupType); $this->clsGroups->loadActiveGroupsViaType($this->clsGroups->gp_enumGroupType, '', '', true, -1); $clsList = $this->clsGroups->arrGroupList[0]; $clsList->lKeyID = $lGID; $clsList->strGroupName = xss_clean(trim($_POST['txtGroupName'])); $clsList->dteExpire = strtotime('1/1/2030'); $clsList->bTempGroup = false; $clsList->strNotes = ''; if ($gProps->extended) { if ($gProps->lNumBool > 0) { foreach ($gProps->bools as $bField) { $strFN = $bField->strDBFN; $clsList->{$strFN} = @$_POST[$bField->strFormFN] == 'true'; } } if ($gProps->lNumInt > 0) { echo __FILE__ . ' ' . __LINE__ . '<br>' . "\n"; die; } } if ($bNew) { $this->clsGroups->gp_enumGroupType = $enumGroupType; $this->session->set_flashdata('msg', $strGroupCat . ' Group added'); $this->clsGroups->lAddNewGroupParent(); } else { $this->session->set_flashdata('msg', $strGroupCat . ' Group updated'); $this->clsGroups->updateGroupParentRec(); } redirect('groups/groups_view/view/' . $enumGroupType); } }