From cb29f5f73e530b776002077f7c9afa45e094ff1c Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 4 Feb 2009 15:29:16 +0000 Subject: Added plugin hook triggers to reportedcontent plugin. Fixes #725 git-svn-id: https://code.elgg.org/elgg/trunk@2646 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/reportedcontent/actions/add.php | 9 +++++++-- mod/reportedcontent/actions/archive.php | 4 ++++ mod/reportedcontent/actions/delete.php | 4 ++++ mod/reportedcontent/languages/en.php | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) (limited to 'mod/reportedcontent') diff --git a/mod/reportedcontent/actions/add.php b/mod/reportedcontent/actions/add.php index 3f818ca3c..c43e14baa 100644 --- a/mod/reportedcontent/actions/add.php +++ b/mod/reportedcontent/actions/add.php @@ -26,8 +26,13 @@ $entity->access_id = $access; if ($entity->save()) { - system_message(elgg_echo('reportedcontent:success')); - $entity->state = "active"; + if (!trigger_plugin_hook('reportedcontent:add', $entity->type, array('entity'=>$entity), true)) { + $entity->delete(); + register_error(elgg_echo('reportedcontent:failed')); + } else { + system_message(elgg_echo('reportedcontent:success')); + $entity->state = "active"; + } forward($address); } else { register_error(elgg_echo('reportedcontent:failed')); diff --git a/mod/reportedcontent/actions/archive.php b/mod/reportedcontent/actions/archive.php index 144b6b864..6f4a41226 100644 --- a/mod/reportedcontent/actions/archive.php +++ b/mod/reportedcontent/actions/archive.php @@ -21,6 +21,10 @@ if ($reported->getSubtype() == "reported_content" && $reported->canEdit()) { // change the state + if (!trigger_plugin_hook('reportedcontent:archive', $entity->type, array('entity'=>$entity), true)) { + system_message(elgg_echo("reportedcontent:notarchived")); + forward("pg/reportedcontent/"); + } $reported->state = "archived"; // Success message diff --git a/mod/reportedcontent/actions/delete.php b/mod/reportedcontent/actions/delete.php index 87ac0e40f..a4090fb19 100644 --- a/mod/reportedcontent/actions/delete.php +++ b/mod/reportedcontent/actions/delete.php @@ -21,6 +21,10 @@ if ($reported->getSubtype() == "reported_content" && $reported->canEdit()) { // Delete it! + if (!trigger_plugin_hook('reportedcontent:delete', $entity->type, array('entity'=>$entity), true)) { + register_error(elgg_echo("reportedcontent:notdeleted")); + forward("pg/reportedcontent/"); + } $rowsaffected = $reported->delete(); if ($rowsaffected > 0) { // Success message diff --git a/mod/reportedcontent/languages/en.php b/mod/reportedcontent/languages/en.php index 7d86386ef..d4941e030 100644 --- a/mod/reportedcontent/languages/en.php +++ b/mod/reportedcontent/languages/en.php @@ -40,6 +40,7 @@ 'reportedcontent:moreinfo' => 'More info', 'reportedcontent:failed' => 'Sorry, the attempt to report this content has failed.', + 'reportedcontent:notarchived' => 'We were not able to archive that report', ); add_translation("en",$english); -- cgit v1.2.3