Commits

Anonymous committed c543e29

Adding action for delete the content of a spammer and ban it

Comments (0)

Files changed (3)

elgg/actions/admin/user/spammer.php

+<?php
+/**
+ * Elgg mark a user as spammer user
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+
+// block non-admin users - require since this action is not registered
+admin_gatekeeper();
+
+// Get the user
+$guid = get_input('guid');
+$obj = get_entity($guid);
+
+$name = $obj->name;
+$username = $obj->username;
+
+if (($obj instanceof ElggUser) && ($obj->canEdit())) {
+	
+	$options = array ('owner_guids' => $guid);
+	$entities = elgg_get_entities($options);
+
+	foreach( $entities as $entity ){
+		$entity->delete();
+	}
+
+	if($obj->spammer()) {
+		system_message(sprintf(elgg_echo('admin:user:spammer:yes'), $name));
+	} else {
+		register_error(elgg_echo('admin:user:spammer:no'));
+	}
+} else {
+	register_error(elgg_echo('admin:user:spammer:no'));
+}
+
+// forward to user administration if on a user's page as it no longer exists
+$forward = REFERER;
+if (strpos($_SERVER['HTTP_REFERER'], $username) != FALSE) {
+	$forward = "pg/admin/user/";
+}
+
+forward($forward);

elgg/languages/en.php

 	'admin:user:unban:yes' => "User un-banned.",
 	'admin:user:delete:no' => "Can not delete user",
 	'admin:user:delete:yes' => "The user %s has been deleted",
+	'admin:user:spammer:yes' => "The user %s has been banned and his content deleted",
+	'admin:user:spammer:no' => "Can not delete user or his content",
 
 	'admin:user:resetpassword:yes' => "Password reset, user notified.",
 	'admin:user:resetpassword:no' => "Password could not be reset.",

elgg/mod/profile/views/default/profile/menu/adminlinks.php

 				} else {
 					echo elgg_view('output/confirmlink', array('text' => elgg_echo("unban"), 'href' => "{$vars['url']}action/admin/user/unban?guid={$vars['entity']->guid}&__elgg_token=$token&__elgg_ts=$ts"));
 				}
-
+				echo elgg_view('output/confirmlink', array('text' => elgg_echo("spammer"), 'href' => "{$vars['url']}action/admin/user/spammer?guid={$vars['entity']->guid}&__elgg_token=$token&__elgg_ts=$ts"));
 				echo elgg_view('output/confirmlink', array('text' => elgg_echo("delete"), 'href' => "{$vars['url']}action/admin/user/delete?guid={$vars['entity']->guid}&__elgg_token=$token&__elgg_ts=$ts"));
 
 				echo elgg_view('output/confirmlink', array('text' => elgg_echo("resetpassword"), 'href' => "{$vars['url']}action/admin/user/resetpassword?guid={$vars['entity']->guid}&__elgg_token=$token&__elgg_ts=$ts"));
 				}
 			}
 		}
-?>
+?>