diff --git a/admin/message.php b/admin/message.php index 8e78fc30231..8daf613defa 100644 --- a/admin/message.php +++ b/admin/message.php @@ -34,10 +34,6 @@ require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)); // Get the submitted params $disable = optional_param('disable', 0, PARAM_INT); $enable = optional_param('enable', 0, PARAM_INT); -$uninstall = optional_param('uninstall', 0, PARAM_INT); -$confirm = optional_param('confirm', false, PARAM_BOOL); - -$headingtitle = get_string('managemessageoutputs', 'message'); if (!empty($disable) && confirm_sesskey()) { if (!$processor = $DB->get_record('message_processors', array('id'=>$disable))) { @@ -46,37 +42,14 @@ if (!empty($disable) && confirm_sesskey()) { $DB->set_field('message_processors', 'enabled', '0', array('id'=>$processor->id)); // Disable output } -if (!empty($enable) && confirm_sesskey()) { +if (!empty($enable) && confirm_sesskey() ) { if (!$processor = $DB->get_record('message_processors', array('id'=>$enable))) { print_error('outputdoesnotexist', 'message'); } $DB->set_field('message_processors', 'enabled', '1', array('id'=>$processor->id)); // Enable output } -if (!empty($uninstall) && confirm_sesskey()) { - echo $OUTPUT->header(); - echo $OUTPUT->heading($headingtitle); - - if (!$processor = $DB->get_record('message_processors', array('id'=>$uninstall))) { - print_error('outputdoesnotexist', 'message'); - } - - $processorname = get_string('pluginname', 'message_'.$processor->name); - - if (!$confirm) { - echo $OUTPUT->confirm(get_string('processordeleteconfirm', 'message', $processorname), 'message.php?uninstall='.$processor->id.'&confirm=1', 'message.php'); - echo $OUTPUT->footer(); - exit; - - } else { - message_processor_uninstall($processor->name); - $a->processor = $processorname; - $a->directory = $CFG->dirroot.'/message/output/'.$processor->name; - notice(get_string('processordeletefiles', 'message', $a), 'message.php'); - } -} - -if ($disable || $enable || $uninstall) { +if ($disable || $enable) { $url = new moodle_url('message.php'); redirect($url); } @@ -92,6 +65,6 @@ $messageoutputs = $renderer->manage_messageoutputs($processors); // Display the page echo $OUTPUT->header(); -echo $OUTPUT->heading($headingtitle); +echo $OUTPUT->heading(get_string('managemessageoutputs', 'message')); echo $messageoutputs; echo $OUTPUT->footer(); \ No newline at end of file diff --git a/lang/en/message.php b/lang/en/message.php index b92986af055..0048a0070ff 100644 --- a/lang/en/message.php +++ b/lang/en/message.php @@ -108,8 +108,6 @@ $string['permitted'] = 'Permitted'; $string['page-message-x'] = 'Any message pages'; $string['private_config'] = 'Popup message window'; $string['processortag'] = 'Destination'; -$string['processordeleteconfirm'] = 'You are about to completely delete message processor \'{$a}\'. This will completely delete everything in the database associated with this processor. Are you SURE you want to continue?'; -$string['processordeletefiles'] = 'All data associated with the processor \'{$a->processor}\' has been deleted from the database. To complete the deletion (and prevent the processor re-installing itself), you should now delete this directory from your server: {$a->directory}'; $string['providers_config'] = 'Configure notification methods for incoming messages'; $string['providerstag'] = 'Source'; $string['recent'] = 'Recent'; diff --git a/lib/messagelib.php b/lib/messagelib.php index 64059308236..b86ac100095 100644 --- a/lib/messagelib.php +++ b/lib/messagelib.php @@ -477,7 +477,6 @@ function message_processor_uninstall($name) { $transaction = $DB->start_delegated_transaction(); $DB->delete_records('message_processors', array('name' => $name)); - $DB->delete_records_select('config_plugins', "plugin = ?", array("message_{$name}")); // delete permission preferences only, we do not care about loggedin/loggedoff // defaults, they will be removed on the next attempt to update the preferences $DB->delete_records_select('config_plugins', "plugin = 'message' AND ".$DB->sql_like('name', '?', false), array("{$name}_provider_%")); diff --git a/lib/pluginlib.php b/lib/pluginlib.php index 6943db41fb4..612f9ada2fd 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -1531,60 +1531,14 @@ class plugintype_enrol extends plugintype_base implements plugin_information { class plugintype_message extends plugintype_base implements plugin_information { /** - * @var array An array of processor objects - */ - private $processors; - - /** - * Constructs a plugintype_message instance - */ - protected function __construct() { - global $CFG; - require_once($CFG->dirroot . '/message/lib.php'); - $this->processors = get_message_processors(); - } - - /** - * Returns a URL to the settings page for the plugin if there is one - * * @see plugin_information::get_settings_url() - * @return moodle_url|null */ public function get_settings_url() { - if (isset($this->processors[$this->name])) { - $processor = $this->processors[$this->name]; - if ($processor->available && $processor->hassettings) { - return new moodle_url('settings.php', array('section' => 'messagesetting'.$processor->name)); - } - } - return parent::get_settings_url(); - } - - /** - * Returns true if this plugin is enabled - * - * @see plugintype_interface::is_enabled() - * @return bool - */ - public function is_enabled() { - if (isset($this->processors[$this->name])) { - return $this->processors[$this->name]->configured && $this->processors[$this->name]->enabled; + if (file_exists($this->full_path('settings.php')) or file_exists($this->full_path('settingstree.php'))) { + return new moodle_url('/admin/settings.php', array('section' => 'messagesetting' . $this->name)); } else { - return parent::is_enabled(); - } - } - - /** - * Returns the URL used to uninstall the plugin if there is one. - * - * @see plugintype_interface::get_uninstall_url() - */ - public function get_uninstall_url() { - if (isset($this->processors[$this->name])) { - return new moodle_url('message.php', array('uninstall' => $this->processors[$this->name]->id, 'sesskey' => sesskey())); - } else { - return parent::get_uninstall_url(); + return parent::get_settings_url(); } } }