/** * function __construct * <pre> * Initialize the Class ... * </pre> * @param $sortBy [STRING] the field name to sort list by * @return [void] */ function __construct($sortBy = '') { $searchManager = new RowManager_AccountGroupManager(); // NOTE: if you need to narrow the field of the search then uncommnet // the following and set the proper search criteria. //$searchManager->setValueByFieldName('module_isCommonLook', '1' ); $searchManager->setSortOrder($sortBy); $this->resultSet = $searchManager->find(); }
/** * function __construct * <pre> * Initialize the object. * </pre> * @param $pathModuleRoot [STRING] The path to this module's root directory * @param $viewer [OBJECT] The viewer object. * @param $formAction [STRING] The action on a form submit * @param $sortBy [STRING] Field data to sort listManager by. * @param $accountgroup_id [STRING] The init data for the dataManager obj * @return [void] */ function __construct($pathModuleRoot, $viewer, $formAction, $sortBy, $accountgroup_id) { // NOTE: be sure to call the parent constructor before trying to // use the ->formXXX arrays... parent::__construct($formAction, form_AccountGroup::FORM_FIELDS, form_AccountGroup::FORM_FIELD_TYPES); $this->pathModuleRoot = $pathModuleRoot; $this->viewer = $viewer; $this->formAction = $formAction; $this->sortBy = $sortBy; $this->linkValues = array(); $this->linkLabels = array(); $this->linkColumns = array(); $this->accountgroup_id = $accountgroup_id; $this->opType = ''; // see what operation type (if any) is requested... if (isset($_REQUEST['admOpType'])) { $this->opType = $_REQUEST['admOpType']; } $this->shouldDelete = false; // figure out the important fields for the dataManager $fieldsOfInterest = implode(',', $this->formFields); // $this->dataManager = new RowManager_AccountGroupManager( $accountgroup_id ); $accountGroup = new RowManager_AccountGroupManager($accountgroup_id); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = $accountGroup->getXMLNodeName(); $this->bridgeMultiLingualManager = new MultilingualManager($viewer->getLanguageID(), $seriesKey, $pageKey); $this->dataManager = new RowLabelBridge($accountGroup, $this->bridgeMultiLingualManager); $this->dataManager->setFieldsOfInterest($fieldsOfInterest); $this->formValues = $this->dataManager->getArrayOfValues(); // now initialize the labels for this page // start by loading the default field labels for this Module $languageID = $viewer->getLanguageID(); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = moduleAccountAdmin::MULTILINGUAL_PAGE_FIELDS; $this->labels = new MultilingualManager($languageID, $seriesKey, $pageKey); // then load the page specific labels for this page $pageKey = form_AccountGroup::MULTILINGUAL_PAGE_KEY; $this->labels->loadPageLabels($pageKey); // load the site default form link labels $this->labels->setSeriesKey(SITE_LABEL_SERIES_SITE); $this->labels->loadPageLabels(SITE_LABEL_PAGE_FORM_LINKS); }
/** * function getHTML * <pre> * This method returns the HTML data generated by this object. * </pre> * @return [STRING] HTML Display data. */ function getHTML() { // Uncomment the following line if you want to create a template // tailored for this page: //$path = $this->pathModuleRoot.'templates/'; // Otherwise use the standard Templates for the site: $path = SITE_PATH_TEMPLATES; $this->template = new Template($path); // store any additional values to template $this->template->set('formAction', $this->formAction); // store the page labels in XML format... // NOTE: use this location to update any label tags ... // $name = $user->getName(); // $this->labels->setLabelTag( '[Title]', '[userName]', $name); $this->template->setXML('pageLabels', $this->labels->getLabelXML()); // store all the fields to the template $this->setFormFieldsToTemplate(); /* * Form related Template variables: */ // save the list of form fields $this->template->set('formFieldList', $this->formFields); // store the field types being displayed $fieldTypes = explode(',', FormProcessor_EditViewer::FORM_FIELD_TYPES); $this->template->set('formFieldType', $fieldTypes); // store the button label $this->template->set('buttonText', $this->labels->getLabel('[Update]')); /* * Add any additional data required by the template here */ $languageManager = new RowManager_LanguageManager(); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = RowManager_LanguageManager::XML_NODE_NAME; $bridgeMultiLingualManager = new MultilingualManager($this->viewer->getLanguageID(), $seriesKey, $pageKey); $bridgeManager = new LanguageLabelBridge($languageManager, $bridgeMultiLingualManager); $languageList = $bridgeManager->getListIterator(); $languageArray = $languageList->getDropListArray(); $this->template->set('list_language_id', $languageArray); // Account Group Drop List // $accountGroupList = new AccountGroupList( 'accountgroup_key'); $groupMgr = new RowManager_AccountGroupManager(); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = $groupMgr->getXMLNodeName(); $groupMultiLingualManager = new MultilingualManager($this->viewer->getLanguageID(), $seriesKey, $pageKey); $bridgeManager = new RowLabelBridge($groupMgr, $groupMultiLingualManager); $groupList = $bridgeManager->getListIterator(); $accountGroupArray = $groupList->getDropListArray(); $this->template->set('list_accountgroup_id', $accountGroupArray); // uncomment this line if you are creating a template for this page //$templateName = 'page_EditViewer.php'; // otherwise use the generic admin box template $templateName = 'siteFormSingle.php'; return $this->template->fetch($templateName); }
/** * function getHTML * <pre> * This method returns the HTML data generated by this object. * </pre> * @return [STRING] HTML Display data. */ function getHTML() { // Uncomment the following line if you want to create a template // tailored for this page: //$path = $this->pathModuleRoot.'templates/'; // Otherwise use the standard Templates for the site: $path = SITE_PATH_TEMPLATES; /* * store the link values */ // example: // $this->linkValues[ 'view' ] = 'add/new/href/data/here'; // store the link labels $this->linkLabels['edit'] = $this->labels->getLabel('[Edit]'); $this->linkLabels['del'] = $this->labels->getLabel('[Delete]'); $this->linkLabels['cont'] = $this->labels->getLabel('[Continue]'); // $this->linkLabels[ 'view' ] = 'new link label here'; /* * store any additional link Columns */ // example: //$title = $this->labels->getLabel( '[title_groups]'); //$columnLabel = $this->labels->getLabel( '[groups]'); //$link = $this->linkValues[ 'groups' ]; //$fieldName = 'accessgroup_id'; //$this->addLinkColumn( $title, $columnLabel, $link, $fieldName); /* * Update any label tags ... */ // example: $linkManager = new RowManager_NavBarLinksManager($this->navbarlink_id); $seriesKey = moduleNavBar::MULTILINGUAL_SERIES_KEY; $pageKey = $linkManager->getXMLNodeName(); $groupMultiLingual = new MultilingualManager($this->viewer->getLanguageID(), $seriesKey, $pageKey); $bridgeManager = $linkManager->getRowLabelBridge($groupMultiLingual); $name = $bridgeManager->getLabel(); $this->labels->setLabelTag('[Title]', '[linkName]', $name); // NOTE: this parent method prepares the $this->template with the // common AdminBox data. $this->prepareTemplate($path); // store the statevar id to edit $this->template->set('editEntryID', $this->navlinkviewer_id); // store all the fields to the template $this->setFormFieldsToTemplate(); /* * Form related Template variables: */ /* * Insert the date start/end values for the following date fields: */ // example: //$this->template->set( 'startYear_[fieldName]', 2000); //$this->template->set( 'endYear_[fieldName]', 2010); /* * List related Template variables : */ // Store the XML Node name for the Data Access Field List $xmlNodeName = RowManager_NavLinkViewerManager::XML_NODE_NAME; $this->template->set('rowManagerXMLNodeName', $xmlNodeName); // store the primary key field name for the data being displayed $this->template->set('primaryKeyFieldName', 'navlinkviewer_id'); // store data list to the template // NOTE: we initialize it here to make sure we capture any new data // from a recent processData() call. // $this->dataList = new NavLinkViewerList( $this->navbarlink_id, $this->sortBy ); $viewerGroup = new RowManager_NavLinkViewerManager(); $this->dataList = $viewerGroup->getListIterator(); $this->template->setXML('dataList', $this->dataList->getXML()); /* * Add any additional data required by the template here */ $accountGroup = new RowManager_AccountGroupManager(); $multiLingual = new MultilingualManager($this->viewer->getLanguageID()); $rowLabelBridge = $accountGroup->getRowLabelBridge($multiLingual); $viewerMgr = new RowManager_ViewerManager(); $joinPair = new JoinPair($viewerMgr->getJoinOnAccountGroupID(), $accountGroup->getJoinOnAccountGroupID()); $rowLabelBridge->addRowManager($viewerMgr, $joinPair); $rowLabelBridge->setSortOrder('label_label,viewer_userID'); $rowLabelBridge->setLabelTemplate('viewer_userID,label_label', '[label_label]-[viewer_userID]'); $rowLabelBridge->setPrimaryKeyField($viewerMgr->getPrimaryKeyField()); $viewerList = $rowLabelBridge->getListIterator(); $this->template->set('list_viewer_id', $viewerList->getDropListArray()); $templateName = 'siteAdminBox.php'; // if you are creating a custom template for this page then // replace $templateName with the following: //$templateName = 'page_LinkViewer.php'; return $this->template->fetch($templateName); }
/** * function getHTML * <pre> * This method returns the HTML data generated by this object. * </pre> * @return [STRING] HTML Display data. */ function getHTML() { // Make a new Template object $path = SITE_PATH_TEMPLATES; // Replace $path with the following line if you want to create a // template tailored for this page: //$path = $this->pathModuleRoot.'templates/'; $this->template = new Template($path); // store the Row Manager's XML Node Name $this->template->set('rowManagerXMLNodeName', RowManager_ViewerManager::XML_NODE_NAME); // store the field names being displayed $fieldNames = explode(',', page_AccountList::DISPLAY_FIELDS); $this->template->set('dataFieldList', $fieldNames); // store the primary key field name for the data being displayed $this->template->set('primaryKeyFieldName', 'viewer_id'); // store the link values // $this->linkValues[ 'view' ] = 'add/new/href/data/here'; $this->template->set('linkValues', $this->linkValues); // store the link labels $this->linkLabels['add'] = $this->labels->getLabel('[Add]'); $this->linkLabels['edit'] = $this->labels->getLabel('[Edit]'); $this->linkLabels['del'] = $this->labels->getLabel('[Delete]'); $this->linkLabels['cont'] = $this->labels->getLabel('[Continue]'); // $this->linkLabels[ 'view' ] = 'new link label here'; $this->template->set('linkLabels', $this->linkLabels); // store any additional link Columns // example: $title = $this->labels->getLabel('[title_passWord]'); $columnLabel = $this->labels->getLabel('[change]'); $link = $this->linkValues['passWord']; $fieldName = 'viewer_id'; $this->addLinkColumn($title, $columnLabel, $link, $fieldName); $title = $this->labels->getLabel('[title_access]'); $columnLabel = $this->labels->getLabel('[change]'); $link = $this->linkValues['accessLink']; $fieldName = 'viewer_id'; $this->addLinkColumn($title, $columnLabel, $link, $fieldName); $this->template->set('linkColumns', $this->linkColumns); // store the page labels // NOTE: use this location to update any label tags ... // example: // $name = $user->getName(); // $this->labels->setLabelTag( '[Title]', '[userName]', $name); $this->template->setXML('pageLabels', $this->labels->getLabelXML()); // store XML List of Applicants ... $this->template->setXML('dataList', $this->listManager->getXML()); /* * Set up any additional data transfer to the Template here... */ // NOTE: Here we tell the templat to NOT display the Title & Instr // fields. So we can display them in our own template later on... $this->template->set('disableHeading', true); // store language list for display //$languageList = new LanguageList(); $languageManager = new RowManager_LanguageManager(); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = $languageManager->getXMLNodeName(); $multiLingualManager = new MultilingualManager($this->viewer->getLanguageID(), $seriesKey, $pageKey); $bridgeManager = new LanguageLabelBridge($languageManager, $multiLingualManager); $languageList = $bridgeManager->getListIterator(); $languageArray = $languageList->getDropListArray(); $this->template->set('list_language_id', $languageArray); $isActiveList = array(); $isActiveList['1'] = $this->labels->getLabel('[yes]'); $isActiveList['0'] = ' '; //$this->labels->getLabel( '[no]' ); $this->template->set('list_viewer_isActive', $isActiveList); $templateName = 'siteDataList.php'; // if you are creating a custom template for this page then // replace $templateName with the following: //$templateName = 'page_AccountList.php'; $pageAccountList = $this->template->fetch($templateName); // Now create an instance of the page_AccountList template // and add the account List to it. $path = $this->pathModuleRoot . 'templates/'; $template = new Template($path); $template->setXML('pageLabels', $this->labels->getLabelXML()); $template->set('pageContent', $pageAccountList); // now add the data for the Account Group JumpList $groupMgr = new RowManager_AccountGroupManager(); $seriesKey = moduleAccountAdmin::MULTILINGUAL_SERIES_KEY; $pageKey = $groupMgr->getXMLNodeName(); $groupMultiLingualManager = new MultilingualManager($this->viewer->getLanguageID(), $seriesKey, $pageKey); $bridgeManager = new RowLabelBridge($groupMgr, $groupMultiLingualManager); $groupList = $bridgeManager->getListIterator(); $jumpLink = $this->linkValues['jumpLink']; $list = $groupList->getDropListArray(null, $jumpLink); $template->set('jumpList', $list); $template->set('accountGroup', $jumpLink . $this->accountgroup_id); // return template data. $templateName = 'page_AccountList.php'; return $template->fetch($templateName); }
$viewerID = $viewer->getID(); // create a new ViewerManager with the viewerID as the primarykey of the row we // want to work with. $newViewer = new RowManager_ViewerManager($viewerID); echo 'languageID before update = ' . $newViewer->getLanguageID() . '<br>'; $newViewer->setLanguageID(1); $newViewer->updateDBTable(); // now reload the object to get the value from the DB $updatedViewer = new RowManager_ViewerManager($viewerID); echo 'languageID after update = ' . $updatedViewer->getLanguageID() . '<br>'; /* * Using a List iterator to step through a selection of rows */ // now lookup the MC region Access Group // first create a list iterator based on that table $groupManager = new RowManager_AccountGroupManager(); $accountGroups = $groupManager->getListIterator(); $accountGroups->setFirst(); $groupID = -1; while ($group = $accountGroups->getNext()) { if ($group->getLabel() == "MC") { echo '---> Found MC account group!<br>'; $groupID = $group->getID(); } } $viewer->setAccountGroupID($groupID); $viewer->updateDBTable(); // After running this script you should see a new entry in the site.accountadmin_viewer table. /* * Uncomment this for deleting the Row manager Entry */