MDL-21400 spamcleaner converted to YUI3

This commit is contained in:
Petr Skoda
2010-01-23 18:09:54 +00:00
parent 3b01539ccc
commit 9edea336a7
3 changed files with 107 additions and 96 deletions
+14 -22
View File
@@ -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(
"<img",
"fuck",
@@ -25,12 +31,6 @@ $autokeywords = array(
"warcraft"
);
/////////////////////////////////////////////////////////////////////////////////
require_once('../../../config.php');
require_once($CFG->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 .= '<td align="left">'.format_text($user->description, $user->descriptionformat).'</td>';
$html .= '<td width="100px" align="center">';
$html .= '<button onclick="del_user(this,'.$user->id.')">'.get_string('deleteuser', 'admin').'</button><br />';
$html .= '<button onclick="ignore_user(this,'.$user->id.')">'.get_string('ignore', 'admin').'</button>';
$html .= '<button onclick="M.report_spamcleaner.del_user(this,'.$user->id.')">'.get_string('deleteuser', 'admin').'</button><br />';
$html .= '<button onclick="M.report_spamcleaner.ignore_user(this,'.$user->id.')">'.get_string('ignore', 'admin').'</button>';
$html .= '</td>';
$html .= '</tr>';
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();
+93
View File
@@ -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");
}
}
-74
View File
@@ -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);