X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FMember%2FTask.php;h=3d17b53fdf829fa69f45166596770a9bccbbe1a9;hb=d37a188f145798b2b206554a96f3f2ac22eeb72f;hp=86b2c99bf1700e8ad4b5f15f1ff6e8dd72ffb739;hpb=c6acb33bab40ceec877002312db505b9c275357e;p=civicrm-core.git diff --git a/CRM/Member/Task.php b/CRM/Member/Task.php index 86b2c99bf1..3d17b53fdf 100644 --- a/CRM/Member/Task.php +++ b/CRM/Member/Task.php @@ -1,9 +1,9 @@ array( + public static function tasks() { + if (!self::$_tasks) { + self::$_tasks = [ + self::TASK_DELETE => [ 'title' => ts('Delete memberships'), 'class' => 'CRM_Member_Form_Task_Delete', 'result' => FALSE, - ), - 2 => array( + ], + self::TASK_PRINT => [ 'title' => ts('Print selected rows'), 'class' => 'CRM_Member_Form_Task_Print', 'result' => FALSE, - ), - 3 => array( + ], + self::TASK_EXPORT => [ 'title' => ts('Export members'), - 'class' => array( + 'class' => [ 'CRM_Export_Form_Select', 'CRM_Export_Form_Map', - ), + ], 'result' => FALSE, - ), - 4 => array( - 'title' => ts('Email - send now (to %1 or less)', array( + ], + self::TASK_EMAIL => [ + 'title' => ts('Email - send now (to %1 or less)', [ 1 => Civi::settings() ->get('simple_mail_limit'), - )), + ]), 'class' => 'CRM_Member_Form_Task_Email', 'result' => TRUE, - ), - 5 => array( + ], + self::BATCH_UPDATE => [ 'title' => ts('Update multiple memberships'), - 'class' => array( + 'class' => [ 'CRM_Member_Form_Task_PickProfile', 'CRM_Member_Form_Task_Batch', - ), + ], 'result' => TRUE, - ), - 6 => array( + ], + self::LABEL_MEMBERS => [ 'title' => ts('Mailing labels - print'), - 'class' => array( + 'class' => [ 'CRM_Member_Form_Task_Label', - ), + ], 'result' => TRUE, - ), - 7 => array( + ], + self::PDF_LETTER => [ 'title' => ts('Print/merge document for memberships'), 'class' => 'CRM_Member_Form_Task_PDFLetter', 'result' => FALSE, - ), - ); + ], + self::SAVE_SEARCH => [ + 'title' => ts('Group - create smart group'), + 'class' => 'CRM_Contact_Form_Task_SaveSearch', + 'result' => TRUE, + ], + self::SAVE_SEARCH_UPDATE => [ + 'title' => ts('Group - update smart group'), + 'class' => 'CRM_Contact_Form_Task_SaveSearch_Update', + 'result' => TRUE, + ], + ]; //CRM-4418, check for delete if (!CRM_Core_Permission::check('delete in CiviMember')) { - unset(self::$_tasks[1]); + unset(self::$_tasks[self::TASK_DELETE]); } //CRM-12920 - check for edit permission if (!CRM_Core_Permission::check('edit memberships')) { - unset(self::$_tasks[5]); + unset(self::$_tasks[self::BATCH_UPDATE]); } - CRM_Utils_Hook::searchTasks('membership', self::$_tasks); - asort(self::$_tasks); + parent::tasks(); } return self::$_tasks; @@ -137,13 +140,8 @@ class CRM_Member_Task { * @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; + public static function taskTitles() { + return parent::taskTitles(); } /** @@ -151,27 +149,29 @@ class CRM_Member_Task { * of the user * * @param int $permission + * @param array $params * * @return array * set of tasks that are valid for the user */ - public static function &permissionedTaskTitles($permission) { - $tasks = array(); + public static function permissionedTaskTitles($permission, $params = []) { if (($permission == CRM_Core_Permission::EDIT) || CRM_Core_Permission::check('edit memberships') ) { $tasks = self::taskTitles(); } else { - $tasks = array( - 3 => self::$_tasks[3]['title'], - 4 => self::$_tasks[4]['title'], - ); + $tasks = [ + self::TASK_EXPORT => self::$_tasks[self::TASK_EXPORT]['title'], + self::TASK_EMAIL => self::$_tasks[self::TASK_EMAIL]['title'], + ]; //CRM-4418, if (CRM_Core_Permission::check('delete in CiviMember')) { - $tasks[1] = self::$_tasks[1]['title']; + $tasks[self::TASK_DELETE] = self::$_tasks[self::TASK_DELETE]['title']; } } + + $tasks = parent::corePermissionedTaskTitles($tasks, $permission, $params); return $tasks; } @@ -187,13 +187,10 @@ class CRM_Member_Task { public static function getTask($value) { self::tasks(); if (!$value || !CRM_Utils_Array::value($value, self::$_tasks)) { - // make the print task by default - $value = 2; + // Make the print task the default + $value = self::TASK_PRINT; } - return array( - self::$_tasks[$value]['class'], - self::$_tasks[$value]['result'], - ); + return parent::getTask($value); } }