/** * @param GenerateEvent $objEvent * @param array $arrCallback */ public static function generateOperation(GenerateEvent $objEvent, array $arrCallback) { $objCallback = new $arrCallback[0](); /** @var \DcaTools\Component\Operation\View $objView */ $controller = $objEvent->getController(); $objView = $controller->getView(); /** @var \DcaTools\Definition\DataContainer $objDataContainer */ $objDataContainer = $controller->getDefinition()->getDataContainer(); // $arrRow, $v['href'], $label, $title, $v['icon'], $attributes, $strTable, $arrRootIds, $arrChildRecordIds, $blnCircularReference, $strPrevious, $strNext $strBuffer = $objCallback->{$arrCallback[1]}($objEvent->getController()->getModel() ? $objEvent->getController()->getModel()->getPropertiesAsArray() : array(), $objView->getHref(), $objView->getLabel(), $objView->getTitle(), $objView->getIcon(), $objView->getAttributes(), $controller->getConfigAttribute('table', $objDataContainer->getName()), $controller->getConfigAttribute('rootIds', array()), $controller->getConfigAttribute('childRecordIds', array()), $controller->getConfigAttribute('circularReference', false), $controller->getConfigAttribute('previous'), $controller->getConfigAttribute('next')); if ($strBuffer == '') { $objView->setVisible(false); } else { $objEvent->setOutput($strBuffer); } }
/** * Create a referer link * * @param Event\GenerateEvent $objEvent * @param array $arrConfig * @param bool $blnStop * * @return bool */ public static function referer(Event\GenerateEvent $objEvent, array $arrConfig = array(), $blnStop = true) { /** @var \DcaTools\Component\Operation\View $view */ $view = $objEvent->getView(); $view->setHref(\Controller::getReferer(true)); $objEvent->setOutput(''); $objEvent->setConfigAttribute('plain', true); return true; }