/** * does the element store its data in a join table (1:n) * @return bool */ public function isJoin() { $params = $this->getParams(); if ($params->get('ajax_upload') && (int) $params->get('ajax_max', 4) > 1) { return true; } else { return parent::isJoin(); } }
/** * For processing repeat elements we need to make its * parent id element during the form process * * @param plgFabrik_Element $baseElement repeat element (e.g. db join rendered as checkbox) * * @return plgFabrik_ElementField */ public static function makeParentElement($baseElement) { $pluginManager = FabrikWorker::getPluginManager(); $groupModel = $baseElement->getGroupModel(); $elementModel = $pluginManager->getPlugIn('field', 'element'); $elementModel->getElement()->name = 'parent_id'; $elementModel->getParams()->set('repeat', $baseElement->isJoin()); $elementModel->getElement()->group_id = $groupModel->getId(); $elementModel->setGroupModel($baseElement->getGroupModel()); $elementModel->_joinModel = $groupModel->getJoinModel(); return $elementModel; }
/** * For processing repeat elements we need to make its * parent id element during the form process * * @param plgFabrik_Element $baseElement repeat element (e.g. db join rendered as checkbox) * * @return plgFabrik_ElementField */ public function makeParentElement($baseElement) { $pluginManager = FabrikWorker::getPluginManager(); $groupModel = $baseElement->getGroupModel(); $elementModel = $pluginManager->getPlugIn('field', 'element'); $elementModel->getElement()->name = 'parent_id'; $elementModel->getParams()->set('repeat', $baseElement->isJoin()); $elementModel->getElement()->group_id = $groupModel->getId(); $elementModel->setGroupModel($baseElement->getGroupModel()); // @TODO wrong when element in repeat group $oJoin = $groupModel->getJoinModel()->getJoin(); $elementModel->_aFullNames['parent_id1_1__1_'] = $oJoin->table_join . '___parent_id'; return $elementModel; }