public function display() { $fieldsForSelectedModule = PdfManagerHelper::getFields($this->baseModule, true); $selectedField = $fieldsForSelectedModule; $fieldsForSubModule = array(); if (!empty($this->baseLink) && strpos($this->baseLink, 'pdfManagerRelateLink_') === 0) { $selectedField = $this->baseLink; $linkName = substr($this->baseLink, strlen('pdfManagerRelateLink_')); $focus = BeanFactory::newBean($this->baseModule); $focus->id = create_guid(); $linksForSelectedModule = PdfManagerHelper::getLinksForModule($this->baseModule); if (isset($linksForSelectedModule[$linkName]) && $focus->load_relationship($linkName)) { $fieldsForSubModule = PdfManagerHelper::getFields($focus->{$linkName}->getRelatedModuleName()); } } $this->ss->assign('fieldsForSelectedModule', $fieldsForSelectedModule); $this->ss->assign('selectedField', $selectedField); $this->ss->assign('fieldsForSubModule', $fieldsForSubModule); $this->ss->display('modules/PdfManager/tpls/getFields.tpl'); }
/** * Takes an module name and returns a list of fields and links available for this module in PdfManager * * @param string $moduleName * @param boolean $addLinks * @return array */ public static function getFields($moduleName, $addLinks = false) { $fieldsForSelectedModule = array(); if (!empty($moduleName)) { // Retrieve the list of field $fieldsForSelectedModule = PdfManagerHelper::getRelatableFieldsForLink(array('module' => $moduleName)); asort($fieldsForSelectedModule); if (!empty($fieldsForSelectedModule) && $addLinks) { $linksForSelectedModule = PdfManagerHelper::getLinksForModule($moduleName); if (count($linksForSelectedModule) > 0) { //$fieldsForSelectedModule[''] = '-----'; $linksFieldsForSelectedModule = array(); foreach ($linksForSelectedModule as $linkName => $linkDef) { $linksFieldsForSelectedModule['pdfManagerRelateLink_' . $linkName] = $linkDef['label']; } asort($linksFieldsForSelectedModule); //$fieldsForSelectedModule += $linksFieldsForSelectedModule; $fieldsForSelectedModule = array(translate('LBL_FIELDS_LIST', 'PdfManager') => $fieldsForSelectedModule, translate('LBL_LINK_LIST', 'PdfManager') => $linksFieldsForSelectedModule); } } } return $fieldsForSelectedModule; }