From 17a14fbd018368a19c52cc7769cf62de7cc2511c Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Sun, 25 Sep 2011 12:47:57 +0200 Subject: [PATCH] MDL-29509 move spamcleaner to admin tools Why? Because this tool does not support contexts, allows data modifications and is intended only for admins. It is still linked from admin reports for now, we will move it elsewhere once we know where to add general new reports. AMOS BEGIN MOV [pluginname,report_spamcleaner],[pluginname,tool_spamcleaner] MOV [spamauto,report_spamcleaner],[spamauto,tool_spamcleaner] MOV [spamcannotdelete,report_spamcleaner],[spamcannotdelete,tool_spamcleaner] MOV [spamcannotfinduser,report_spamcleaner],[spamcannotfinduser,tool_spamcleaner] MOV [spamcleanerintro,report_spamcleaner],[spamcleanerintro,tool_spamcleaner] MOV [spamdeleteall,report_spamcleaner],[spamdeleteall,tool_spamcleaner] MOV [spamdeleteallconfirm,report_spamcleaner],[spamdeleteallconfirm,tool_spamcleaner] MOV [spamdeleteconfirm,report_spamcleaner],[spamdeleteconfirm,tool_spamcleaner] MOV [spamdesc,report_spamcleaner],[spamdesc,tool_spamcleaner] MOV [spameg,report_spamcleaner],[spameg,tool_spamcleaner] MOV [spamfromblog,report_spamcleaner],[spamfromblog,tool_spamcleaner] MOV [spaminvalidresult,report_spamcleaner],[spaminvalidresult,tool_spamcleaner] MOV [spamoperation,report_spamcleaner],[spamoperation,tool_spamcleaner] MOV [spamresult,report_spamcleaner],[spamresult,tool_spamcleaner] MOV [spamsearch,report_spamcleaner],[spamsearch,tool_spamcleaner] AMOS END --- admin/report/spamcleaner/settings.php | 7 ---- admin/{report => tool}/spamcleaner/index.php | 28 ++++++++-------- .../spamcleaner/lang/en/tool_spamcleaner.php} | 10 +++--- admin/{report => tool}/spamcleaner/module.js | 22 ++++++------- admin/tool/spamcleaner/settings.php | 33 +++++++++++++++++++ admin/tool/spamcleaner/version.php | 31 +++++++++++++++++ lib/pluginlib.php | 6 ++-- 7 files changed, 97 insertions(+), 40 deletions(-) delete mode 100644 admin/report/spamcleaner/settings.php rename admin/{report => tool}/spamcleaner/index.php (88%) rename admin/{report/spamcleaner/lang/en/report_spamcleaner.php => tool/spamcleaner/lang/en/tool_spamcleaner.php} (87%) rename admin/{report => tool}/spamcleaner/module.js (82%) create mode 100644 admin/tool/spamcleaner/settings.php create mode 100644 admin/tool/spamcleaner/version.php diff --git a/admin/report/spamcleaner/settings.php b/admin/report/spamcleaner/settings.php deleted file mode 100644 index 7efc70a5984..00000000000 --- a/admin/report/spamcleaner/settings.php +++ /dev/null @@ -1,7 +0,0 @@ -add('reports', new admin_externalpage('reportspamcleaner', get_string('pluginname', 'report_spamcleaner'), "$CFG->wwwroot/$CFG->admin/report/spamcleaner/index.php", 'moodle/site:config')); - diff --git a/admin/report/spamcleaner/index.php b/admin/tool/spamcleaner/index.php similarity index 88% rename from admin/report/spamcleaner/index.php rename to admin/tool/spamcleaner/index.php index b5f1880031f..c2d1272b96d 100644 --- a/admin/report/spamcleaner/index.php +++ b/admin/tool/spamcleaner/index.php @@ -40,7 +40,7 @@ $reset = optional_param('reset', '', PARAM_RAW); $id = optional_param('id', '', PARAM_INT); require_login(); -admin_externalpage_setup('reportspamcleaner'); +admin_externalpage_setup('toolspamcleaner'); // Delete one user if (!empty($del) && confirm_sesskey() && ($id != $USER->id)) { @@ -79,14 +79,14 @@ if (!empty($ignore)) { exit; } -$PAGE->requires->js_init_call('M.report_spamcleaner.init', array(me()), true); +$PAGE->requires->js_init_call('M.tool_spamcleaner.init', array(me()), true); $strings = Array('spaminvalidresult','spamdeleteallconfirm','spamcannotdelete','spamdeleteconfirm'); -$PAGE->requires->strings_for_js($strings, 'report_spamcleaner'); +$PAGE->requires->strings_for_js($strings, 'tool_spamcleaner'); echo $OUTPUT->header(); // Print headers and things -echo $OUTPUT->box(get_string('spamcleanerintro', 'report_spamcleaner')); +echo $OUTPUT->box(get_string('spamcleanerintro', 'tool_spamcleaner')); echo $OUTPUT->box_start(); // The forms section at the top @@ -98,16 +98,16 @@ echo $OUTPUT->box_start(); // The forms section at the top
- +
-

+


- +
@@ -168,7 +168,7 @@ function search_spammers($keywords) { $spamusers_blog = $DB->get_recordset_sql($sql2, $params); $keywordlist = implode(', ', $keywords); - echo $OUTPUT->box(get_string('spamresult', 'report_spamcleaner').s($keywordlist)).' ...'; + echo $OUTPUT->box(get_string('spamresult', 'tool_spamcleaner').s($keywordlist)).' ...'; print_user_list(array($spamusers_desc, $spamusers_blog), $keywords); @@ -186,7 +186,7 @@ function print_user_list($users_rs, $keywords) { foreach ($users_rs as $rs){ foreach ($rs as $user) { if (!$count) { - echo ''; + echo '
 '.get_string('user','admin').''.get_string('spamdesc', 'report_spamcleaner').''.get_string('spamoperation', 'report_spamcleaner').'
'; } $count++; filter_user($user, $keywords, $count); @@ -194,12 +194,12 @@ function print_user_list($users_rs, $keywords) { } if (!$count) { - echo get_string('spamcannotfinduser', 'report_spamcleaner'); + echo get_string('spamcannotfinduser', 'tool_spamcleaner'); } else { echo '
 '.get_string('user','admin').''.get_string('spamdesc', 'tool_spamcleaner').''.get_string('spamoperation', 'tool_spamcleaner').'
'; echo '
- +
'; } } @@ -210,7 +210,7 @@ function filter_user($user, $keywords, $count) { $image_search = true; } if (isset($user->summary)) { - $user->description = '

'.get_string('spamfromblog', 'report_spamcleaner').'

'.$user->summary; + $user->description = '

'.get_string('spamfromblog', 'tool_spamcleaner').'

'.$user->summary; unset($user->summary); } if (preg_match('#wwwroot.')#', $user->description, $matches) @@ -271,8 +271,8 @@ function print_user_entry($user, $keywords, $count) { $html .= ''.format_text($user->description, $user->descriptionformat, array('overflowdiv'=>true)).''; $html .= ''; - $html .= '
'; - $html .= ''; + $html .= '
'; + $html .= ''; $html .= ''; $html .= ''; return $html; diff --git a/admin/report/spamcleaner/lang/en/report_spamcleaner.php b/admin/tool/spamcleaner/lang/en/tool_spamcleaner.php similarity index 87% rename from admin/report/spamcleaner/lang/en/report_spamcleaner.php rename to admin/tool/spamcleaner/lang/en/tool_spamcleaner.php index 9ed913bb201..428f1b0d05d 100644 --- a/admin/report/spamcleaner/lang/en/report_spamcleaner.php +++ b/admin/tool/spamcleaner/lang/en/tool_spamcleaner.php @@ -1,5 +1,4 @@ . /** - * Strings for component 'report_spamcleaner', language 'en', branch 'MOODLE_20_STABLE' + * Strings for component 'tool_spamcleaner', language 'en', branch 'MOODLE_22_STABLE' * - * @package report_spamcleaner - * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package tool + * @subpackage spamcleaner + * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ $string['pluginname'] = 'Spam cleaner'; diff --git a/admin/report/spamcleaner/module.js b/admin/tool/spamcleaner/module.js similarity index 82% rename from admin/report/spamcleaner/module.js rename to admin/tool/spamcleaner/module.js index f63ba904093..d7cd018afec 100644 --- a/admin/report/spamcleaner/module.js +++ b/admin/tool/spamcleaner/module.js @@ -1,12 +1,12 @@ -M.report_spamcleaner = { +M.tool_spamcleaner = { Y: null, row: null, me: null, del_all: function() { - var context = M.report_spamcleaner; + var context = M.tool_spamcleaner; - var yes = confirm(M.str.report_spamcleaner.spamdeleteallconfirm); + var yes = confirm(M.str.tool_spamcleaner.spamdeleteallconfirm); if (yes) { var cfg = { method: "POST", @@ -15,7 +15,7 @@ M.report_spamcleaner = { try { var resp = context.Y.JSON.parse(o.responseText); } catch(e) { - alert(M.str.report_spamcleaner.spaminvalidresult); + alert(M.str.tool_spamcleaner.spaminvalidresult); return; } if (resp == true) { @@ -29,14 +29,14 @@ M.report_spamcleaner = { }, del_user: function(obj, id) { - var context = M.report_spamcleaner; + var context = M.tool_spamcleaner; if (context.Y == null) { // not initialised yet return; } - var yes = confirm(M.str.report_spamcleaner.spamdeleteconfirm); + var yes = confirm(M.str.tool_spamcleaner.spamdeleteconfirm); if (yes) { context.row = obj; var cfg = { @@ -46,7 +46,7 @@ M.report_spamcleaner = { try { var resp = context.Y.JSON.parse(o.responseText); } catch(e) { - alert(M.str.report_spamcleaner.spaminvalidresult); + alert(M.str.tool_spamcleaner.spaminvalidresult); return; } if (context.row) { @@ -57,7 +57,7 @@ M.report_spamcleaner = { context.row.parentNode.removeChild(context.row); context.row = null; } else { - alert(M.str.report_spamcleaner.spamcannotdelete); + alert(M.str.tool_spamcleaner.spamcannotdelete); } } } @@ -68,7 +68,7 @@ M.report_spamcleaner = { }, ignore_user: function(obj, id) { - var context = M.report_spamcleaner; + var context = M.tool_spamcleaner; if (context.Y == null) { // not initilised yet @@ -83,7 +83,7 @@ M.report_spamcleaner = { try { var resp = context.Y.JSON.parse(o.responseText); } catch(e) { - alert(M.str.report_spamcleaner.spaminvalidresult); + alert(M.str.tool_spamcleaner.spaminvalidresult); return; } if (context.row) { @@ -102,7 +102,7 @@ M.report_spamcleaner = { }, init: function(Y, me) { - var context = M.report_spamcleaner; + var context = M.tool_spamcleaner; Y.use('json', 'io-base', function (Y) { context.Y = Y; diff --git a/admin/tool/spamcleaner/settings.php b/admin/tool/spamcleaner/settings.php new file mode 100644 index 00000000000..52bace74658 --- /dev/null +++ b/admin/tool/spamcleaner/settings.php @@ -0,0 +1,33 @@ +. + +/** + * Link to spamcleaner. + * + * For now keep in Reports folder, we should move it elsewhere once we deal with contexts in general reports and navigation + * + * @package tool + * @subpackage unsuproles + * @copyright 2011 Petr Skoda {@link http://skodak.org} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die; + +if ($hassiteconfig) { + $ADMIN->add('reports', new admin_externalpage('toolspamcleaner', get_string('pluginname', 'tool_spamcleaner'), "$CFG->wwwroot/$CFG->admin/tool/spamcleaner/index.php", 'moodle/site:config')); +} + diff --git a/admin/tool/spamcleaner/version.php b/admin/tool/spamcleaner/version.php new file mode 100644 index 00000000000..65541bfb612 --- /dev/null +++ b/admin/tool/spamcleaner/version.php @@ -0,0 +1,31 @@ +. + +/** + * Plugin version info + * + * @package tool + * @subpackage spamcleaner + * @copyright 2011 Petr Skoda {@link http://skodak.org} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die; + +$plugin->version = 2011092500; +$plugin->requires = 2011092100; +$plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics) + diff --git a/lib/pluginlib.php b/lib/pluginlib.php index ec5b6903bce..ab6c9d5884b 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -342,8 +342,7 @@ class plugin_manager { 'report' => array( 'backups', 'configlog', 'courseoverview', - 'log', 'questioninstances', - 'security', 'spamcleaner', 'stats' + 'log', 'questioninstances', 'security', 'stats' ), 'repository' => array( @@ -368,7 +367,8 @@ class plugin_manager { 'tool' => array( 'bloglevelupgrade', 'capability', 'customlang', 'dbtransfer', 'generator', 'health', 'innodb', 'langimport', 'multilangupgrade', 'profiling', - 'qeupgradehelper', 'unittest', 'uploaduser', 'unsuproles', 'xmldb' + 'qeupgradehelper', 'spamcleaner', 'unittest', 'uploaduser', 'unsuproles', + 'xmldb' ), 'webservice' => array( -- 2.43.0