/** * 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 __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() { // 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); }