/** * function addColumnData * <pre> * adds a row entry in this XML object. * </pre> * @param $heading [STRING] the row label * @param $fieldName [STRING] the row id value * @return [void] */ function addColumnData($heading, $fieldName) { $xmlRow = new XMLObject(XMLObject_ColumnList::XML_NODE_COL); $xmlRow->addElement(XMLObject_ColumnList::XML_ELEMENT_HEADING, $heading); $xmlRow->addElement(XMLObject_ColumnList::XML_ELEMENT_FIELDNAME, $fieldName); $this->addXMLObject($xmlRow); }
/** * function addRowData * <pre> * adds a row entry in this XML object. * </pre> * @param $label [STRING] the row label * @param $id [STRING] the row id value * @return [void] */ function addRowData($label, $id) { $xmlRow = new XMLObject(XMLObject_RowList::XML_NODE_ROW); $xmlRow->addElement(XMLObject_RowList::XML_ELEMENT_NAME, $label); $xmlRow->addElement(XMLObject_RowList::XML_ELEMENT_VALUE, $id); $this->addXMLObject($xmlRow); }
/** * function addLink * <pre> * Adds a link item to the menu * </pre> * @param $label [STRING] The label to display for the link. * @param $link [STRING] The actual HREF link * @return [void] */ function addLink($label, $link) { $xmlObject = new XMLObject(XMLObject_Menu::NODE_ITEM); $xmlObject->addElement(XMLObject_Menu::ITEM_TYPE, XMLObject_Menu::ITEM_TYPE_LINK); $xmlObject->addElement(XMLObject_Menu::ITEM_TYPE_LINK_LABEL, $label); $xmlObject->addElement(XMLObject_Menu::ITEM_TYPE_LINK_LINK, $link); $this->addXmlObject($xmlObject); }
/** * function __construct * <pre> * iniitalizes this object * </pre> * @param $name [STRING] the form item's name * @param $value [STRING] the form item's value * @param $error [STRING] the form item's error * @return [void] */ function __construct($name, $value, $error) { parent::__construct(XMLObject_FormItem::XML_NODE_FORMITEM); $this->addElement(XMLObject_FormItem::XML_ELEMENT_NAME, $name); $this->addElement(XMLObject_FormItem::XML_ELEMENT_VALUE, $value); $this->addElement(XMLObject_FormItem::XML_ELEMENT_ERROR, $error); }
/** * function __construct * <pre> * loads a specific application by it's key. * </pre> * @param $db [OBJECT] The db connection for the site * @param $viewer [OBJECT] The viewer object * @param $appKey [STRING] The identifying Key for the application * @return [void] */ function __construct($viewer, $appID = null) { // pass the root node name to the parent constructor parent::__construct(XMLObject_CMSApps::XML_NODE_APP); // store the db & viewer objects $this->db = new Database_Site(); $this->db->connectToDB(SITE_DB_NAME, SITE_DB_PATH, SITE_DB_USER, SITE_DB_PWORD); $this->viewer =& $viewer; // if an appID is provided then if (!is_null($appID)) { // Load this app $this->appID = $appID; $this->loadApp($this->appID); } }
/** * function __construct * <pre> * [classConstructor Description] * </pre> * <pre><code> * [Put PseudoCode Here] * </code></pre> * @param $seriesKey [STRING] The unique Label Key of this Label Data * @return [void] */ function __construct($seriesKey = '') { parent::__construct(XMLObject_Multilingual_Series::NODE_SITE_ROOT); // set the list of field names to manage $fieldNames = 'series_key'; $this->fieldList = explode(',', $fieldNames); $this->pageList = array(); $this->seriesKey = $seriesKey; // setup DB object $this->db = new Database_Site(); $this->db->connectToDB(SITE_DB_NAME, SITE_DB_PATH, SITE_DB_USER, SITE_DB_PWORD); // if a series Key is provided then load the data if ($this->seriesKey != '') { $this->loadData(); } }
/** * function __construct * <pre> * [classConstructor Description] * </pre> * <pre><code> * [Put PseudoCode Here] * </code></pre> * @param $seriesID [STRING] The Page ID this Label is linked to * @param $pageKey [STRING] The unique Label Key of this Label Data * @return [void] */ function __construct($seriesID = '', $pageKey = '') { parent::__construct(XMLObject_Multilingual_Page::NODE_PAGE_ROOT); // set the list of field names to manage $fieldNames = 'page_key'; $this->fieldList = explode(',', $fieldNames); $this->labelsList = array(); $this->seriesID = $seriesID; $this->pageKey = $pageKey; // setup DB object $this->db = new Database_Site(); $this->db->connectToDB(SITE_DB_NAME, SITE_DB_PATH, SITE_DB_USER, SITE_DB_PWORD); // if a seriesID & pageKey were provided then load the data... if ($this->seriesID != '' && $this->pageKey != '') { $this->loadData(); } }
/** * function getLabelXML * <pre> * Prepares all the currently held labels into an XML output. * </pre> * @return [STRING] */ function getLabelXML() { $xmlList = new XMLObject(XMLObject_MultilingualManager::XML_NODE_LABELLIST); foreach ($this->labels as $key => $value) { $label = $this->getLabel($key, $this->languageID); $xmlList->addElement('label', $label, array('key' => $key)); } return $xmlList->getXML(); }
/** * function getXML * * Generates an XML document from the list of applicants. * * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [STRING] Returns an XML formatted string. */ function getXML($isHeaderIncluded = true, $rootNodeName = LanguageLabelList::XML_NODE_NAME) { $xmlObject = new XMLObject($rootNodeName); $this->resultSet->setFirst(); while ($item = $this->resultSet->getNext(new RowLabelBridge_LanguageLabelManager(-1, $this->languageID, $this->multiLingualManager))) { $xmlObject->addXMLObject($item->getXMLObject()); } // end while return $xmlObject->getXML($isHeaderIncluded); }
/** * function addHiddenData * <pre> * Stores a hidden data item in the object * </pre> * @param $name [STRING] the name of the hidden data item * @param $value [STRING] the value of the hidden data item * @return [void] */ function addHiddenData($name, $value) { $xmlItem = new XMLObject(XMLObject_AdminBox::XML_NODE_HIDDEN); $xmlItem->addElement(XMLObject_AdminBox::XML_ELEMENT_HIDDEN_NAME, $name); $xmlItem->addElement(XMLObject_AdminBox::XML_ELEMENT_HIDDEN_VALUE, $value); $this->hiddenData->addXmlObject($xmlItem); }
<sensitivity>public</sensitivity> <product-id>Horde::Kolab</product-id> <display-name>Another lista</display-name> <member> <display-name>Another User</display-name> <smtp-address>other@debian-vm.local</smtp-address> <uid>a2cfdc52365ef429042413bf7717dc85</uid> </member> <member> <display-name>Sample A. User Jr.</display-name> <smtp-address>sample@debian-vm.local</smtp-address> <uid>f538c7e9ad5a63e4452b7db3bc291231</uid> </member> </distribution-list> EOL; $xo = new XMLObject(); $dl = new DistList($xo->readDistList($dlxml, kolabobject::KolabV2)); echo $dl->uid() . "\n\n"; $ml = $dl->members(); for ($i = 0; $i < $ml->size(); $i++) { $m = $ml->get($i); echo "Member [" . $m->type() . "]: " . $m->uid() . "; " . $m->email() . "\n"; } $dl2 = new DistList(); $ml = new vectorcontactref(); $m1 = new ContactReference(ContactReference::UidReference, 'some-uid-value'); $ml->push($m1); $m2 = new ContactReference(ContactReference::EmailReference, 'sample@localhost'); $ml->push($m2); $dl2->setMembers($ml); echo $xo->writeDistList($dl2, kolabobject::KolabV2);
function prepareDisplayData() { // set the page's Template to the Login Template $this->setPageTemplate(PAGE_TEMPLATE_LOGIN); // Compile Login Form Data as XML $formData = new XMLObject('PageContent'); $formData->addElement('formAction', $this->getCallBack(moduleLogin::MODE_SUBMIT)); $formData->addElement('pathToRoot', $this->moduleRootPath); $formData->addElement('errorMessage', $this->errorMessages); $formData->addElement('form_username', moduleLogin::FORM_USERID); $formData->addElement('form_password', moduleLogin::FORM_PASSWORD); $formData->addElement('username', $this->userID); $formData->addElement('password', $this->passWord); $xmlData = $formData->getXML(); $template = new Template($this->moduleRootPath . 'templates/'); $template->setXML('pageContent', $xmlData); $content = $template->fetch(PAGE_LOGIN_TEMPLATE); // Finally store HTML content as this page's content Item $this->addElement(XMLObject_PageContent::NODE_CONTENT, $content); }
/** * function getXML * * Generates an XML document from the list of applicants. * * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [STRING] Returns an XML formatted string. */ function getXML($isHeaderIncluded = true, $rootNodeName = '') { if ($rootNodeName == '') { $rootNodeName = $this->xmlNodeName; } $xmlObject = new XMLObject($rootNodeName); // if given datamanager is of type MultiTableManager then if (is_a($this->searchManager, 'MultiTableManager')) { // echo 'Is a MultiTableManager<br/>'; $this->resultSet->setFirst(); while ($this->resultSet->moveNext()) { // $row = $this->resultSet->getCurrentRow(); // echo 'The row is<pre>'.print_r($row,true).'</pre>'; $this->searchManager->loadFromArray($this->resultSet->getCurrentRow()); $skipIndividualManagers = true; // $xml = $this->searchManager->getXMLObject(true,'',$skipIndividualManagers); // echo 'The XML is <pre>'.print_r($xml,true).'</pre>'; $xmlObject->addXMLObject($this->searchManager->getXMLObject(true, '', $skipIndividualManagers)); } } else { // echo 'Is not a MultiTableManager<br/>'; // else $this->resultSet->setFirst(); while ($item = $this->resultSet->getNext(new $this->searchClassName())) { $xmlObject->addXMLObject($item->getXMLObject()); } // end while } // end if (is_a() ) return $xmlObject->getXML($isHeaderIncluded); }
/** * function loadPage * <pre> * load the page zones and applications given a pageID. * </pre> * @param $pageID [INTEGER] Unique PageID of the page to load. */ function loadPage($pageID) { // now get a list of zones for this page $sql = 'SELECT DISTINCT pageapp_zone FROM ' . SITE_DB_NAME . '.' . XMLObject_CMSPageApp::DB_TABLE_PAGEAPP . ' WHERE page_id=' . $pageID; // for each zone $this->db->runSQL($sql); while ($row = $this->db->retrieveRow()) { // store in this->zones $this->zones[] = $row['pageapp_zone']; } // Create a generic App Object. $currentApp = new XMLObject_CMSApps($this->viewer); // for each zone for ($zoneIndx = 0; $zoneIndx < count($this->zones); $zoneIndx++) { // Create a new zone XML Object $currentZone = new XMLObject(XMLObject_CMSPageApp::XML_NODE_ZONE); $currentZone->addAttribute('name', $this->zones[$zoneIndx]); // get all the applications in the current zone $sql = 'SELECT * FROM ' . SITE_DB_NAME . '.' . XMLObject_CMSPageApp::DB_TABLE_PAGEAPP . ' WHERE page_id=' . $pageID . ' AND pageapp_zone="' . $this->zones[$zoneIndx] . '" ORDER BY pageapp_order'; // for each application $this->db->runSQL($sql); while ($row = $this->db->retrieveRow()) { // Load Application $currentApp->loadApp($row['app_id']); // Store Application in current Zone $currentZone->addElement($currentApp->getNodeName(), $currentApp->getValues()); } // end while // Now store current Zone in this object $this->addElement($currentZone->getNodeName(), $currentZone->getValues()); } // end For Each Zone }
/** * 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; /* * Update any label tags ... */ // example: // $name = $user->getName(); // $this->labels->setLabelTag( '[Title]', '[userName]', $name); // do the join // campuses $campusManager = new RowManager_CampusManager(); $campusManager->setSortOrder('campus_desc'); $multiTableManager = new MultiTableManager(); $multiTableManager->addRowManager($campusManager); // prcs $prcManager = new RowManager_PRCManager(); $multiTableManager->addRowManager($prcManager, new JoinPair($campusManager->getJoinOnCampusID(), $prcManager->getJoinOnCampusID())); // semester $semesterManager = new RowManager_SemesterManager(); // TODO update the semester $semesterManager->setSemesterID(1); $multiTableManager->addRowManager($semesterManager, new JoinPair($prcManager->getJoinOnSemesterID(), $prcManager->getJoinOnSemesterID())); // prc method $prcMethodManager = new RowManager_PrcMethodManager(); $multiTableManager->addRowManager($prcMethodManager, new JoinPair($prcManager->getJoinOnPrcMethodID(), $prcMethodManager->getJoinOnPrcMethodID())); // get ready to make the xml $xmlObject = new XMLObject(); // HEADER //$reportInfoXMLObject = new XMLObject('PRC_REPORT'); //$xmlObject->addXMLObject( $reportInfoXMLObject ); // END HEADER // BODY $bodyXMLObject = new XMLObject('PRC_FOR_SEMESTER'); // construct the iterator $list = new ListIterator($multiTableManager); $list->setFirst(); while ($list->moveNext()) { $itemXMLObject = $list->getCurrentRowXMLObject(false, 'IndividualPRC'); // Finally add this row into the bigger picture $bodyXMLObject->addXMLObject($itemXMLObject); } // multiTableManager->moveNext() $xmlObject->addXMLObject($bodyXMLObject); $xmlDoc = new DOMDocument(); $xmlDoc->loadXML($xmlObject->getXML(false, 'PRCReport')); $numBytesWritten = $xmlDoc->save($this->pathModuleRoot . 'prcReport.xml'); // echo 'Written '.$numBytesWritten.' bytes'; // save the xml data onto the server // return $xmlDoc->saveXML(); // ------- PART 2 -------- // WEEKLY STATS $multiTableManager = new MultiTableManager(); $weeklyManager = new RowManager_WeeklyReportManager(); $multiTableManager->addRowManager($weeklyManager); $campusManager = new RowManager_CampusManager(); $campusManager->setSortOrder('campus_desc'); $multiTableManager->addRowManager($campusManager, new JoinPair($campusManager->getJoinOnCampusID(), $weeklyManager->getJoinOnCampusID())); $weekManager = new RowManager_WeekManager(); $multiTableManager->addRowManager($weekManager, new JoinPair($weekManager->getJoinOnWeekID(), $weeklyManager->getJoinOnWeekID())); $staffManager = new RowManager_StaffManager(); $multiTableManager->addRowManager($staffManager, new JoinPair($weeklyManager->getJoinOnStaffID(), $staffManager->getJoinOnStaffID())); $personManager = new RowManager_PersonManager(); $multiTableManager->addRowManager($personManager, new JoinPair($personManager->getJoinOnPersonID(), $staffManager->getJoinOnPersonID())); // get ready to make the xml $xmlObject = new XMLObject(); // HEADER //$reportInfoXMLObject = new XMLObject('PRC_REPORT'); //$xmlObject->addXMLObject( $reportInfoXMLObject ); // END HEADER // BODY $bodyXMLObject = new XMLObject('WEEKLY_FOR_SEMESTER'); // construct the iterator $list = new ListIterator($multiTableManager); $list->setFirst(); while ($list->moveNext()) { $itemXMLObject = $list->getCurrentRowXMLObject(false, 'IndividualWeek'); // Finally add this row into the bigger picture $bodyXMLObject->addXMLObject($itemXMLObject); } // multiTableManager->moveNext() $xmlObject->addXMLObject($bodyXMLObject); $xmlDoc = new DOMDocument(); $xmlDoc->loadXML($xmlObject->getXML(false, 'Report')); $numBytesWritten = $xmlDoc->save($this->pathModuleRoot . 'weeklyReport.xml'); // echo 'Written '.$numBytesWritten.' bytes'; // save the xml data onto the server // return $xmlDoc->saveXML(); // ------- PART 3 -------- $multiTableManager = new MultiTableManager(); $campusStatsManager = new RowManager_MoreStatsManager(); $multiTableManager->addRowManager($campusStatsManager); $campusManager = new RowManager_CampusManager(); $campusManager->setSortOrder('campus_desc'); $multiTableManager->addRowManager($campusManager, new JoinPair($campusManager->getJoinOnCampusID(), $campusStatsManager->getJoinOnCampusID())); $weekManager = new RowManager_WeekManager(); $multiTableManager->addRowManager($weekManager, new JoinPair($campusStatsManager->getJoinOnWeekID(), $weekManager->getJoinOnWeekID())); $expTypeManager = new RowManager_ExposureTypeManager(); $multiTableManager->addRowManager($expTypeManager, new JoinPair($campusStatsManager->getJoinOnExpTypeID(), $expTypeManager->getJoinOnExpTypeID())); $count = 0; // get ready to make the xml $xmlObject = new XMLObject(); // HEADER //$reportInfoXMLObject = new XMLObject('PRC_REPORT'); //$xmlObject->addXMLObject( $reportInfoXMLObject ); // END HEADER // BODY $bodyXMLObject = new XMLObject('CAMPUS_REPORT'); // construct the iterator $list = new ListIterator($multiTableManager); $list->setFirst(); while ($list->moveNext()) { $itemXMLObject = $list->getCurrentRowXMLObject(false, 'Activity'); $count++; // Finally add this row into the bigger picture $bodyXMLObject->addXMLObject($itemXMLObject); } // multiTableManager->moveNext() echo 'the count is [' . $count . ']<br/>'; $xmlObject->addXMLObject($bodyXMLObject); $xmlDoc = new DOMDocument(); $xmlDoc->loadXML($xmlObject->getXML(false, 'Report')); $numBytesWritten = $xmlDoc->save($this->pathModuleRoot . 'campusReport.xml'); // echo 'Written '.$numBytesWritten.' bytes'; // save the xml data onto the server // return $xmlDoc->saveXML(); // --------------- // OK DONE! // NOTE: this parent method prepares the $this->template with the // common Display data. $this->prepareTemplate($path); // uncomment this line if you are creating a template for this page $templateName = 'page_Reports.php'; // otherwise use the generic site template //$templateName = ''; return $this->template->fetch($templateName); }
/** * function getXMLObject * <pre> * Generates an XML Object from the object's Values array. * NOTE: I'm overridding the parent method due to special case where * the dataManager & labelManager share the same field name (dataManager's * primary key). * </pre> * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [OBJECT] XMLObject */ function getXMLObject($isHeaderIncluded = true, $rootNodeName = '') { // use member root node name if one is not provided. if ($rootNodeName == '') { $rootNodeName = $this->xmlNodeName; } // NOTE: Big picture here, is to make the two seperate XML // descriptions to be 1 blended description. // get the XML objects of the dataManager & labelManager $dataManagerXMLObj = $this->dataManager->getXMLObject(); $labelManagerXMLObj = $this->labelManager->getXMLObject(); // Get their values as Arrays $dataManagerValues = $dataManagerXMLObj->getValues(); $labelManagerValues = $labelManagerXMLObj->getValues(); // NOTE: // in this case, labelManager contains the dataManager's primary key // as the foreign key. In our application we need both values. So // here we rename the labelManager's foreign key instance to // 'viewerLanguage_id' $combinedValues = $dataManagerValues; foreach ($labelManagerValues as $xmlElement) { $key = $xmlElement->getName(); if ($key == 'language_id') { $xmlElement->setName('viewerLanguage_id'); } $combinedValues[] = $xmlElement; } // create new XML Object for output $xmlObject = new XMLObject($rootNodeName); // set those combined values as this Blended XML object $xmlObject->setValues($combinedValues); return $xmlObject; }
/** * function getXMLObject * * Generates an XML Object from the object's Values array. * * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [OBJECT] Returns an XMLObject. */ function getXMLObject($isHeaderIncluded = true, $rootNodeName = '') { // use member root node name if one is not provided. if ($rootNodeName == '') { $rootNodeName = $this->xmlNodeName; } $xmlObject = new XMLObject($rootNodeName); // for each possible field this object manages ... for ($indx = 0; $indx < count($this->fields); $indx++) { $key = $this->fields[$indx]; // if value exists if (isset($this->values[$key])) { // echo 'Value ['.$key.'] Exists<br/>'; $xmlObject->addElement($key, $this->values[$key]); } else { // echo 'Value ['.$key.'] does NOT Exist<br/>'; $xmlObject->addElement($key, ''); } } return $xmlObject; }
/** * function getXMLObject * * Generates an XML Object from the object's Values array. * * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [OBJECT] Returns an XMLObject. */ function getXMLObject($isHeaderIncluded = true, $rootNodeName = '') { $xmlObject = new XMLObject($rootNodeName); // for each possible field this object manages ... for ($indx = 0; $indx < count($this->fields); $indx++) { $key = $this->fields[$indx]; // if value exists if (isset($this->values[$key])) { $xmlObject->addElement($key, $this->values[$key]); } else { $xmlObject->addElement($key, ''); } } return $xmlObject; }
/** * function getXMLObject * <pre> * Generates an XML Object from the object's Values array. * </pre> * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * @param $skipManagers [BOOLEAN] Whether to skip reading individual manager values in favour of overall values * * @return [OBJECT] XMLObject */ function getXMLObject($isHeaderIncluded = true, $rootNodeName = '', $skipManagers = false) { // use member root node name if one is not provided. if ($rootNodeName == '') { $rootNodeName = $this->xmlNodeName; } // NOTE: Big picture here, is to make the individual XML values from // the XMLObjects and combine them into 1 XMLObject for a unified // XML result. // for each rowManager in list $combinedValues = array(); // only use overall result values, NOT values from individual managers (which has problems with LEFT JOINs) if ($skipManagers == true) { $combinedValues = $this->getArrayOfValues($skipManagers); } else { // echo "ROwManager = <pre>".print_r($this->rowManagerList,true)."</pre>"; for ($indx = 0; $indx < count($this->rowManagerList); $indx++) { // pull out XMLValues array $valuesArray = $this->rowManagerList[$indx]->getArrayOfValues(); // echo 'The XML values<pre>'.print_r($valuesArray,true).'</pre>'; // combine them into 1 array of Values $combinedValues = array_merge($combinedValues, $valuesArray); } // echo 'Combined<pre>'.print_r($combinedValues,true).'</pre>'; // exit; } // create new XML Object for output $xmlObject = new XMLObject($rootNodeName); // set those combined values as this Blended XML object foreach ($combinedValues as $key => $value) { $xmlObject->addElement($key, $value); } return $xmlObject; }
/** * function getXML * * Generates an XML document from the list of applicants. * * @param $isHeaderIncluded [BOOL] Determines if we include the '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * * @return [STRING] Returns an XML formatted string. */ function getXML($isHeaderIncluded = true, $rootNodeName = LanguageList::XML_NODE_NAME) { $xmlObject = new XMLObject($rootNodeName); $this->resultSet->setFirst(); while ($item = $this->resultSet->getNext(new RowManager_LanguageManager())) { $xmlObject->addXMLObject($item->getXMLObject()); } // end while return $xmlObject->getXML($isHeaderIncluded); }
/** * function loadData * <pre> * gathers the label data from the DB * </pre> * @return [void] */ function loadData() { // build sql for gathering data // $fieldNames = str_replace('label_moddate','FROM_UNIXTIME(label_moddate) as label_moddate', $this->fieldNames); $sql = 'SELECT * FROM '; $sql .= SITE_DB_NAME . '.' . XMLObject_MultilingualManager::DB_TABLE_TRANSLATION; $sql .= ' WHERE label_id="' . $this->labelID . '"'; $this->db->runSQL($sql); // for each label while ($row = $this->db->retrieveRow()) { // create new XML Object $currentLabel = new XMLObject(XMLObject_Multilingual_Translation::NODE_TRANSLATION); // load Values into XML Object for ($indx = 0; $indx < count($this->fieldList); $indx++) { $fieldName = $this->fieldList[$indx]; $currentLabel->addElement($fieldName, $row[$fieldName]); } // store XML Object into array $this->labelsList[] = $currentLabel; } // next label // Add Each Label entry to this element for ($indx = 0; $indx < count($this->labelsList); $indx++) { $this->addXmlObject($this->labelsList[$indx]); } // next Label }
/** * function getLabelXML * <pre> * Prepares all the currently held labels into an XML output. * </pre> * @return [STRING] */ function getLabelXML() { $xmlList = new XMLObject(RowManager_MultilingualLabelManager::XML_NODE_NAME); $labelKey = RowManager_MultilingualLabelManager::XML_ELEMENT_NAME; foreach ($this->labels as $key => $value) { $label = $this->getLabel($key, $this->languageID); $xmlList->addElement($labelKey, $label, array('key' => $key)); } //echo $xmlList->getXML(); return $xmlList->getXML(); }
/** * function getXML * <pre> * Generates an XML document from the object's Values array. * </pre> * @param $isHeaderIncluded [BOOL] Determines if we include the * '<?xml version="1.0"?>' header. * @param $rootNodeName [STRING] The XML root node name. * @return [STRING] Returns an XML formatted string. */ function getXML($isHeaderIncluded = true, $rootNodeName = '') { // Prepare This object to generate it's XML output. // first store this objects values in a copy. $valuesCopy = $this->xmlValues; // include css list as an element $this->addXmlObject($this->cssList); // include script list as an element $this->addXmlObject($this->scriptList); // include navbar data as an element // $this->addXmlObject( $this->navBar ); $cacheData = $this->navBar->getCache(); $cacheData = str_replace($this->navBar->getPathToRootTag(), $this->pathToRoot, $cacheData); $this->addElement(XMLObject_PageContent::NODE_NAVBAR, $cacheData); // include body list as an element $this->addXmlObject($this->bodyList); // include Menu as an element $this->addXmlObject($this->pageMenu); // set the page's path to Root $this->addElement(XMLObject_PageContent::ELEMENT_PATH_ROOT, $this->pathToRoot); // set the page's title $this->addElement(XMLObject_PageContent::NODE_PAGE_TITLE, $this->pageTitle); // set the page's title $this->addElement(XMLObject_PageContent::NODE_WINDOW_TITLE, $this->windowTitle); // set the page's Header Image $this->addElement(XMLObject_PageContent::NODE_HEADER_IMAGE, $this->pageHeaderImage); // set the page's pageCallBack value $this->addElement(XMLObject_PageContent::NODE_PAGE_CALLBACK, $this->pageCallBack); // Now call the parent getXML to return the XML $returnValue = parent::getXML($isHeaderIncluded, $rootNodeName); // Now restore the values array to their original values. $this->xmlValues = $valuesCopy; return $returnValue; }