array( 'title' => ts('Record Respondents Interview'), 'class' => array( 'CRM_Campaign_Form_Task_Interview', 'CRM_Campaign_Form_Task_Release', ), 'result' => FALSE, ), 2 => array( 'title' => ts('Reserve Respondents'), 'class' => array( 'CRM_Campaign_Form_Task_Reserve', 'CRM_Campaign_Form_Task_Interview', 'CRM_Campaign_Form_Task_Release', ), 'result' => FALSE, ), 3 => array( 'title' => ts('Release Respondents'), 'class' => 'CRM_Campaign_Form_Task_Release', 'result' => FALSE, ), 4 => array( 'title' => ts('Print Respondents'), 'class' => 'CRM_Campaign_Form_Task_Print', 'result' => FALSE, ), ); CRM_Utils_Hook::searchTasks('campaign', self::$_tasks); asort(self::$_tasks); } return self::$_tasks; } /** * These tasks are the core set of task titles * on voters. * * @return array * the set of task titles */ public static function &taskTitles() { self::tasks(); $titles = array(); foreach (self::$_tasks as $id => $value) { $titles[$id] = $value['title']; } return $titles; } /** * Show tasks selectively based on the permission level * of the user * * @param int $permission * * @return array * set of tasks that are valid for the user */ public static function &permissionedTaskTitles($permission) { $tasks = self::taskTitles(); return $tasks; } /** * These tasks are the core set of tasks that the user can perform * on voters. * * @param int $value * * @return array * the set of tasks for a group of voters. */ public static function getTask($value) { self::tasks(); if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) { // make the interview task by default $value = 1; } return array( self::$_tasks[$value]['class'], self::$_tasks[$value]['result'], ); } }