diff --git a/admin/report/spamcleaner/index.php b/admin/report/spamcleaner/index.php
index 1f83b18fec1..2dc82f325e6 100755
--- a/admin/report/spamcleaner/index.php
+++ b/admin/report/spamcleaner/index.php
@@ -9,10 +9,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
*/
-// Configuration
-
// List of known spammy keywords, please add more here
+/////////////////////////////////////////////////////////////////////////////////
+
+require_once('../../../config.php');
+require_once($CFG->libdir.'/adminlib.php');
+
+
+// Configuration
+
$autokeywords = array(
"
libdir.'/adminlib.php');
-
$keyword = optional_param('keyword', '', PARAM_RAW);
$autodetect = optional_param('autodetect', '', PARAM_RAW);
$del = optional_param('del', '', PARAM_RAW);
@@ -83,13 +83,13 @@ if (!empty($ignore)) {
exit;
}
+$PAGE->requires->js_init_call('M.report_spamcleaner.init', array(me()), 'report_spamcleaner', true);
+$strings = Array('spaminvalidresult','spamdeleteallconfirm','spamcannotdelete','spamdeleteconfirm');
+$PAGE->requires->strings_for_js($strings, 'report_spamcleaner');
admin_externalpage_print_header();
// Print headers and things
-
-print_spamcleaner_javascript();
-
echo $OUTPUT->box(get_string('spamcleanerintro', 'report_spamcleaner'));
echo $OUTPUT->box_start(); // The forms section at the top
@@ -244,6 +244,7 @@ function print_user_entry($user, $keywords, $count) {
$smalluserobject->auth = $user->auth;
$smalluserobject->firstname = $user->firstname;
$smalluserobject->lastname = $user->lastname;
+ $smalluserobject->username = $user->username;
if (empty($SESSION->users_result[$user->id])) {
$SESSION->users_result[$user->id] = $smalluserobject;
@@ -271,8 +272,8 @@ function print_user_entry($user, $keywords, $count) {
$html .= '
'.format_text($user->description, $user->descriptionformat).' | ';
$html .= '';
- $html .= ' ';
- $html .= '';
+ $html .= ' ';
+ $html .= '';
$html .= ' | ';
$html .= '';
return $html;
@@ -283,13 +284,4 @@ function print_user_entry($user, $keywords, $count) {
}
-function print_spamcleaner_javascript() {
- global $PAGE;
- $PAGE->requires->js('/admin/report/spamcleaner/spamcleaner.js');
- $strings = Array('spaminvalidresult','spamdeleteallconfirm','spamcannotdelete','spamdeleteconfirm');
- $PAGE->requires->strings_for_js($strings, 'report_spamcleaner');
- $PAGE->requires->data_for_js('spamcleaner', Array('me'=>me()));
- //$sesskey = sesskey();
-}
-
echo $OUTPUT->footer();
diff --git a/admin/report/spamcleaner/module.js b/admin/report/spamcleaner/module.js
new file mode 100644
index 00000000000..40d5471ed5c
--- /dev/null
+++ b/admin/report/spamcleaner/module.js
@@ -0,0 +1,93 @@
+M.report_spamcleaner = {
+ Y: null,
+ row: null,
+ me: null,
+
+ del_all: function() {
+ var yes = confirm(mstr.report_spamcleaner.spamdeleteallconfirm);
+ if (yes) {
+ var cfg = {
+ method: "POST",
+ on: {
+ success : function(id, o, args) {
+ try {
+ var resp = M.report_spamcleaner.Y.JSON.parse(o.responseText);
+ } catch(e) {
+ alert(mstr.report_spamcleaner.spaminvalidresult);
+ return;
+ }
+ if (resp == true) {
+ window.location.href=window.location.href;
+ }
+ }
+ }
+ }
+ M.report_spamcleaner.Y.io(M.report_spamcleaner.me+'?delall=yes&sesskey='+M.cfg.sesskey, cfg);
+ }
+ },
+
+ del_user: function(obj, id) {
+ var yes = confirm(mstr.report_spamcleaner.spamdeleteconfirm);
+ if (yes) {
+ M.report_spamcleaner.row = obj;
+ var cfg = {
+ method: "POST",
+ on: {
+ success : function(id, o, args) {
+ try {
+ var resp = M.report_spamcleaner.Y.JSON.parse(o.responseText);
+ } catch(e) {
+ alert(mstr.report_spamcleaner.spaminvalidresult);
+ return;
+ }
+ if (M.report_spamcleaner.row) {
+ if (resp == true) {
+ while(M.report_spamcleaner.row.tagName != 'TR') {
+ M.report_spamcleaner.row = M.report_spamcleaner.row.parentNode;
+ }
+ M.report_spamcleaner.row.parentNode.removeChild(M.report_spamcleaner.row);
+ M.report_spamcleaner.row = null;
+ } else {
+ alert(mstr.report_spamcleaner.spamcannotdelete);
+ }
+ }
+ }
+ }
+ }
+ M.report_spamcleaner.Y.io(M.report_spamcleaner.me+'?del=yes&sesskey='+M.cfg.sesskey+'&id='+id, cfg);
+ }
+ },
+
+ ignore_user: function(obj, id) {
+ M.report_spamcleaner.row = obj;
+ var cfg = {
+ method: "POST",
+ on: {
+ success : function(id, o, args) {
+ try {
+ var resp = M.report_spamcleaner.Y.JSON.parse(o.responseText);
+ } catch(e) {
+ alert(mstr.report_spamcleaner.spaminvalidresult);
+ return;
+ }
+ if (M.report_spamcleaner.row) {
+ if (resp == true){
+ while(M.report_spamcleaner.row.tagName != 'TR') {
+ M.report_spamcleaner.row = M.report_spamcleaner.row.parentNode;
+ }
+ M.report_spamcleaner.row.parentNode.removeChild(M.report_spamcleaner.row);
+ M.report_spamcleaner.row = null;
+ }
+ }
+ }
+ }
+ }
+ M.report_spamcleaner.Y.io(M.report_spamcleaner.me+'?ignore=yes&sesskey='+M.cfg.sesskey+'&id='+id, cfg);
+ },
+
+ init: function(Y, me) {
+ M.report_spamcleaner.Y = Y.use('json', 'io');
+ M.report_spamcleaner.me = me;
+ Y.on("click", M.report_spamcleaner.del_all, "#removeall_btn");
+ }
+}
diff --git a/admin/report/spamcleaner/spamcleaner.js b/admin/report/spamcleaner/spamcleaner.js
deleted file mode 100644
index 4237d137a07..00000000000
--- a/admin/report/spamcleaner/spamcleaner.js
+++ /dev/null
@@ -1,74 +0,0 @@
-var row = null;
-var delall_cb = {
- success: function(o){
- try {
- var resp = YAHOO.lang.JSON.parse(o.responseText);
- } catch(e) {
- alert(mstr.report_spamcleaner.spaminvalidresult);
- return;
- }
- if(resp == true){
- window.location.href=window.location.href;
- }
- }
-}
-function init() {
- YAHOO.util.Event.addListener("removeall_btn", "click", function(){
- var yes = confirm(mstr.report_spamcleaner.spamdeleteallconfirm);
- if(yes){
- var cObj = YAHOO.util.Connect.asyncRequest('POST', spamcleaner.me+'?delall=yes&sesskey='+M.cfg.sesskey, delall_cb);
- }
- });
-}
-var del_cb = {
- success: function(o) {
- try {
- var resp = YAHOO.lang.JSON.parse(o.responseText);
- } catch(e) {
- alert(mstr.report_spamcleaner.spaminvalidresult);
- return;
- }
- if(row) {
- if(resp == true){
- while(row.tagName != 'TR') {
- row = row.parentNode;
- }
- row.parentNode.removeChild(row);
- row = null;
- } else {
- alert(mstr.report_spamcleaner.spamcannotdelete);
- }
- }
- }
-}
-var ignore_cb = {
- success: function(o){
- try {
- var resp = YAHOO.lang.JSON.parse(o.responseText);
- } catch(e) {
- alert(mstr.report_spamcleaner.spaminvalidresult);
- return;
- }
- if(row) {
- if(resp == true){
- while(row.tagName != 'TR') {
- row = row.parentNode;
- }
- row.parentNode.removeChild(row);
- row = null;
- }
- }
- }
-}
-function del_user(obj, id) {
- var yes = confirm(mstr.report_spamcleaner.spamdeleteconfirm);
- if(yes){
- row = obj;
- var cObj = YAHOO.util.Connect.asyncRequest('POST', spamcleaner.me+'?del=yes&sesskey='+M.cfg.sesskey+'&id='+id, del_cb);
- }
-}
-function ignore_user(obj, id) {
- row = obj;
- var cObj = YAHOO.util.Connect.asyncRequest('POST', spamcleaner.me+'?ignore=yes&sesskey='+M.cfg.sesskey+'&id='+id, ignore_cb);
-}
-YAHOO.util.Event.onDOMReady(init);
\ No newline at end of file