array('title' => ts('Delete Activities'), 'class' => 'CRM_Activity_Form_Task_Delete', 'result' => FALSE, ), 2 => array('title' => ts('Print Activities'), 'class' => 'CRM_Activity_Form_Task_Print', 'result' => FALSE, ), 3 => array('title' => ts('Export Activities'), 'class' => array( 'CRM_Export_Form_Select', 'CRM_Export_Form_Map', ), 'result' => FALSE, ), 4 => array('title' => ts('Batch Update Activities Via Profile'), 'class' => array( 'CRM_Activity_Form_Task_PickProfile', 'CRM_Activity_Form_Task_Batch', ), 'result' => FALSE, ), 5 => array('title' => ts('Send Email to Contacts'), 'class' => array( 'CRM_Activity_Form_Task_PickOption', 'CRM_Activity_Form_Task_Email', ), 'result' => FALSE, ), 6 => array('title' => ts('Send Reply SMS To Contacts'), 'class' => 'CRM_Activity_Form_Task_SMS', 'result' => FALSE, ), ); $config = CRM_Core_Config::singleton(); if (in_array('CiviCase', $config->enableComponents)) { if ( CRM_Core_Permission::check('access all cases and activities') || CRM_Core_Permission::check('access my cases and activities') ) { self::$_tasks[6] = array('title' => ts('File on Case'), 'class' => 'CRM_Activity_Form_Task_FileOnCase', 'result' => FALSE, ); } } //CRM-4418, check for delete if (!CRM_Core_Permission::check('delete activities')) { unset(self::$_tasks[1]); } } CRM_Utils_Hook::searchTasks('activity', self::$_tasks); asort(self::$_tasks); return self::$_tasks; } /** * These tasks are the core set of task titles * on activity * * @return array the set of task titles * @static * @access public */ static function &taskTitles() { self::tasks(); $titles = array(); foreach (self::$_tasks as $id => $value) { // skip Print Activity task if ($id != 2) { $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 * @access public */ static function &permissionedTaskTitles($permission) { $tasks = array(); if ($permission == CRM_Core_Permission::EDIT) { $tasks = self::taskTitles(); } else { $tasks = array( 3 => self::$_tasks[3]['title'], ); //CRM-4418, if (CRM_Core_Permission::check('delete activities')) { $tasks[1] = self::$_tasks[1]['title']; } } return $tasks; } /** * These tasks are the core set of tasks that the user can perform * on activity * * @param int $value * * @return array the set of tasks for a group of activity * @static * @access public */ static function getTask($value) { self::tasks(); if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) { // make the print task by default $value = 2; } return array( self::$_tasks[$value]['class'], self::$_tasks[$value]['result'], ); } }