MDL-32009 messaging: Add message processor uninstall functionality

This commit is contained in:
Ruslan Kabalin 2011-08-05 14:01:38 +01:00
parent 6f4f0b5228
commit 0210ce1007
4 changed files with 45 additions and 3 deletions

View file

@ -477,6 +477,7 @@ 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_%"));

View file

@ -1563,6 +1563,17 @@ class plugintype_message extends plugintype_base implements plugin_information {
return parent::is_enabled();
}
}
/**
* @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();
}
}
}
/**