forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-46210 langimport: logging for install/update/remove
Now that we have sceduled tasks updating the langpacks, its useful to log which actions have occured.
- Loading branch information
1 parent
1028f6f
commit ed914e3
Showing
7 changed files
with
461 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
114 changes: 114 additions & 0 deletions
114
admin/tool/langimport/classes/event/langpack_imported.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* The langimport langpack imported event. | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace tool_langimport\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* The tool_langimport langpack imported event class. | ||
* | ||
* @property-read array $other { | ||
* Extra information about event. | ||
* | ||
* - string langcode: the langpage pack code. | ||
* } | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class langpack_imported extends \core\event\base { | ||
/** | ||
* Create instance of event. | ||
* | ||
* @param string $langcode | ||
* @return langpack_updated | ||
*/ | ||
public static function event_with_langcode($langcode) { | ||
$data = array( | ||
'context' => \context_system::instance(), | ||
'other' => array( | ||
'langcode' => $langcode, | ||
) | ||
); | ||
|
||
return self::create($data); | ||
} | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
$this->data['crud'] = 'c'; | ||
$this->data['edulevel'] = self::LEVEL_OTHER; | ||
} | ||
|
||
/** | ||
* Returns description of what happened. | ||
* | ||
* @return string | ||
*/ | ||
public function get_description() { | ||
return "The language pack '{$this->other['langcode']}' was installed."; | ||
} | ||
|
||
/** | ||
* Return localised event name. | ||
* | ||
* @return string | ||
*/ | ||
public static function get_name() { | ||
return get_string('langpackinstalledevent', 'tool_langimport'); | ||
} | ||
|
||
/** | ||
* Returns relevant URL. | ||
* | ||
* @return \moodle_url | ||
*/ | ||
public function get_url() { | ||
return new \moodle_url('/admin/tool/langimport/'); | ||
} | ||
|
||
/** | ||
* Custom validation. | ||
* | ||
* @throws \coding_exception | ||
*/ | ||
protected function validate_data() { | ||
parent::validate_data(); | ||
|
||
if (!isset($this->other['langcode'])) { | ||
throw new \coding_exception('The \'langcode\' value must be set'); | ||
} | ||
// We can't use PARAM_LANG here as the string manager might not be aware of langpack yet. | ||
$cleanedlang = clean_param($this->other['langcode'], PARAM_SAFEDIR); | ||
if ($cleanedlang !== $this->other['langcode']) { | ||
throw new \coding_exception('The \'langcode\' value must be set to a valid language code'); | ||
} | ||
} | ||
} |
115 changes: 115 additions & 0 deletions
115
admin/tool/langimport/classes/event/langpack_removed.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* The langimport langpack removed event. | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace tool_langimport\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* The tool_langimport langpack removed event class. | ||
* | ||
* @property-read array $other { | ||
* Extra information about event. | ||
* | ||
* - string langcode: the langpage pack code. | ||
* } | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class langpack_removed extends \core\event\base { | ||
/** | ||
* Create instance of event. | ||
* | ||
* @param string $langcode | ||
* @return langpack_updated | ||
*/ | ||
public static function event_with_langcode($langcode) { | ||
$data = array( | ||
'context' => \context_system::instance(), | ||
'other' => array( | ||
'langcode' => $langcode, | ||
) | ||
); | ||
|
||
return self::create($data); | ||
} | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
$this->data['crud'] = 'd'; | ||
$this->data['edulevel'] = self::LEVEL_OTHER; | ||
} | ||
|
||
/** | ||
* Returns description of what happened. | ||
* | ||
* @return string | ||
*/ | ||
public function get_description() { | ||
return "The language pack '{$this->other['langcode']}' was removed."; | ||
} | ||
|
||
/** | ||
* Returns relevant URL. | ||
* | ||
* @return \moodle_url | ||
*/ | ||
public function get_url() { | ||
return new \moodle_url('/admin/tool/langimport/'); | ||
} | ||
|
||
/** | ||
* Return localised event name. | ||
* | ||
* @return string | ||
*/ | ||
public static function get_name() { | ||
return get_string('langpackremovedevent', 'tool_langimport'); | ||
} | ||
|
||
/** | ||
* Custom validation. | ||
* | ||
* @throws \coding_exception | ||
*/ | ||
protected function validate_data() { | ||
parent::validate_data(); | ||
|
||
if (!isset($this->other['langcode'])) { | ||
throw new \coding_exception('The \'langcode\' value must be set'); | ||
} | ||
|
||
// We can't use PARAM_LANG here as it queries installed strings. | ||
$cleanedlang = clean_param($this->other['langcode'], PARAM_SAFEDIR); | ||
if ($cleanedlang !== $this->other['langcode']) { | ||
throw new \coding_exception('The \'langcode\' value must be set to a valid language code'); | ||
} | ||
} | ||
} |
114 changes: 114 additions & 0 deletions
114
admin/tool/langimport/classes/event/langpack_updated.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* The langimport langpack updated event. | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace tool_langimport\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* The tool_langimport langpack updated event class. | ||
* | ||
* @property-read array $other { | ||
* Extra information about event. | ||
* | ||
* - string langcode: the langpage pack code. | ||
* } | ||
* | ||
* @package tool_langimport | ||
* @copyright 2014 Dan Poltawski <dan@moodle.com> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class langpack_updated extends \core\event\base { | ||
/** | ||
* Create instance of event. | ||
* | ||
* @param string $langcode | ||
* @return langpack_updated | ||
*/ | ||
public static function event_with_langcode($langcode) { | ||
$data = array( | ||
'context' => \context_system::instance(), | ||
'other' => array( | ||
'langcode' => $langcode, | ||
) | ||
); | ||
|
||
return self::create($data); | ||
} | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
$this->data['crud'] = 'u'; | ||
$this->data['edulevel'] = self::LEVEL_OTHER; | ||
} | ||
|
||
/** | ||
* Returns description of what happened. | ||
* | ||
* @return string | ||
*/ | ||
public function get_description() { | ||
return "The language pack '{$this->other['langcode']}' was updated."; | ||
} | ||
|
||
/** | ||
* Return localised event name. | ||
* | ||
* @return string | ||
*/ | ||
public static function get_name() { | ||
return get_string('langpackupdatedevent', 'tool_langimport'); | ||
} | ||
|
||
/** | ||
* Returns relevant URL. | ||
* | ||
* @return \moodle_url | ||
*/ | ||
public function get_url() { | ||
return new \moodle_url('/admin/tool/langimport/'); | ||
} | ||
|
||
/** | ||
* Custom validation. | ||
* | ||
* @throws \coding_exception | ||
*/ | ||
protected function validate_data() { | ||
parent::validate_data(); | ||
|
||
if (!isset($this->other['langcode'])) { | ||
throw new \coding_exception('The \'langcode\' value must be set'); | ||
} | ||
|
||
$cleanedlang = clean_param($this->other['langcode'], PARAM_LANG); | ||
if ($cleanedlang !== $this->other['langcode']) { | ||
throw new \coding_exception('The \'langcode\' value must be set to a valid language code'); | ||
} | ||
} | ||
} |
Oops, something went wrong.