array( 'name' => ts('Edit'), 'url' => 'civicrm/admin/scheduleReminders', 'qs' => 'action=update&id=%%id%%&reset=1', 'title' => ts('Edit Schedule Reminders'), ), CRM_Core_Action::ENABLE => array( 'name' => ts('Enable'), 'ref' => 'crm-enable-disable', 'title' => ts('Enable Label Format'), ), CRM_Core_Action::DISABLE => array( 'name' => ts('Disable'), 'ref' => 'crm-enable-disable', 'title' => ts('Disable Label Format'), ), CRM_Core_Action::DELETE => array( 'name' => ts('Delete'), 'url' => 'civicrm/admin/scheduleReminders', 'qs' => 'action=delete&id=%%id%%', 'title' => ts('Delete Schedule Reminders'), ), ); } return self::$_links; } /** * Get name of edit form. * * @return string * Classname of edit form. */ public function editForm() { return 'CRM_Admin_Form_ScheduleReminders'; } /** * Get edit form name. * * @return string * name of this page. */ public function editName() { return 'ScheduleReminders'; } /** * Get user context. * * @param null $mode * * @return string * user context. */ public function userContext($mode = NULL) { return 'civicrm/admin/scheduleReminders'; } /** * Browse all Scheduled Reminders settings. * * @param null $action */ public function browse($action = NULL) { //CRM-16777: Do not permit access to user, for page 'Administer->Communication->Schedule Reminder', //when do not have 'administer CiviCRM' permission. if (!CRM_Core_Permission::check('administer CiviCRM')) { CRM_Core_Error::fatal(ts('You do not have permission to access this page.')); } // Get list of configured reminders $reminderList = CRM_Core_BAO_ActionSchedule::getList(); if (is_array($reminderList)) { // Add action links to each of the reminders foreach ($reminderList as & $format) { $action = array_sum(array_keys($this->links())); if ($format['is_active']) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } $format['action'] = CRM_Core_Action::formLink( self::links(), $action, array('id' => $format['id']), ts('more'), FALSE, 'actionSchedule.manage.action', 'ActionSchedule', $format['id'] ); } } $this->assign('rows', $reminderList); } }