/** * Determine the form name based on the action. This allows us * to avoid using conditional state machine, much more efficient * and simpler * * @param CRM_Core_Controller $controller the controller object * * @return string the name of the form that will handle the task * @access protected */ function taskName($controller, $formName = 'Search') { // total hack, check POST vars and then session to determine stuff // fix value if print button is pressed if (CRM_Utils_Array::value('_qf_' . $formName . '_next_print', $_POST)) { $value = CRM_Contact_Task::PRINT_CONTACTS; } else { $value = CRM_Utils_Array::value('task', $_POST); } if (!isset($value)) { $value = $this->_controller->get('task'); } $this->_controller->set('task', $value); if ($value) { $componentMode = $this->_controller->get('component_mode'); $modeValue = CRM_Contact_Form_Search::getModeValue($componentMode); $taskClassName = $modeValue['taskClassName']; return $taskClassName::getTask($value); } else { return CRM_Contact_Task::getTask($value); } }
/** * Determine the form name based on the action. This allows us * to avoid using conditional state machine, much more efficient * and simpler * * @param CRM_Core_Controller $controller * The controller object. * * @param string $formName * * @return string * the name of the form that will handle the task */ public function taskName($controller, $formName = 'Search') { // total hack, check POST vars and then session to determine stuff $value = CRM_Utils_Array::value('task', $_POST); if (!isset($value)) { $value = $this->_controller->get('task'); } $this->_controller->set('task', $value); if ($value) { $componentMode = $this->_controller->get('component_mode'); $modeValue = CRM_Contact_Form_Search::getModeValue($componentMode); $taskClassName = $modeValue['taskClassName']; return $taskClassName::getTask($value); } else { return CRM_Contact_Task::getTask($value); } }
/** * Determine the form name based on the action. This allows us * to avoid using conditional state machine, much more efficient * and simpler * * @param CRM_Core_Controller $controller the controller object * * @return string the name of the form that will handle the task * @access protected */ function taskName($controller, $formName = 'Search') { // total hack, check POST vars and then session to determine stuff // fix value if print button is pressed if (CRM_Utils_Array::value('_qf_' . $formName . '_next_print', $_POST)) { $value = CRM_Contact_Task::PRINT_CONTACTS; } else { $value = CRM_Utils_Array::value('task', $_POST); } if (!isset($value)) { $value = $this->_controller->get('task'); } $this->_controller->set('task', $value); if ($value) { $componentMode = $this->_controller->get('component_mode'); require_once 'CRM/Contact/Form/Search.php'; $modeValue = CRM_Contact_Form_Search::getModeValue($componentMode); require_once str_replace('_', DIRECTORY_SEPARATOR, $modeValue['taskClassName']) . '.php'; return eval("return {$modeValue['taskClassName']}::getTask( {$value} );"); } else { return CRM_Contact_Task::getTask($value); } }