diff options
Diffstat (limited to 'mod/reportedcontent/actions')
| -rw-r--r-- | mod/reportedcontent/actions/add.php | 45 | ||||
| -rw-r--r-- | mod/reportedcontent/actions/delete.php | 33 | ||||
| -rw-r--r-- | mod/reportedcontent/actions/reportedcontent/add.php | 39 | ||||
| -rw-r--r-- | mod/reportedcontent/actions/reportedcontent/archive.php (renamed from mod/reportedcontent/actions/archive.php) | 20 | ||||
| -rw-r--r-- | mod/reportedcontent/actions/reportedcontent/delete.php | 28 |
5 files changed, 76 insertions, 89 deletions
diff --git a/mod/reportedcontent/actions/add.php b/mod/reportedcontent/actions/add.php deleted file mode 100644 index 0611f7402..000000000 --- a/mod/reportedcontent/actions/add.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php - - /** - * Elgg report action - * - * @package ElggReportContent - */ - - $title = get_input('title'); - $description = get_input('description'); - $address = get_input('address'); - $access = ACCESS_PRIVATE; //this is private and only admins can see it - - if ($title && $address) { - - $report = new ElggObject; - $report->subtype = "reported_content"; - $report->owner_guid = get_loggedin_userid(); - $report->title = $title; - $report->address = $address; - $report->description = $description; - $report->access_id = $access; - - if ($report->save()) { - if (!trigger_plugin_hook('reportedcontent:add', 'system', array('report'=>$report), true)) { - $report->delete(); - register_error(elgg_echo('reportedcontent:failed')); - } else { - system_message(elgg_echo('reportedcontent:success')); - $report->state = "active"; - } - forward($address); - } else { - register_error(elgg_echo('reportedcontent:failed')); - forward($address); - } - - } else { - - register_error(elgg_echo('reportedcontent:failed')); - forward($address); - - } - -?>
\ No newline at end of file diff --git a/mod/reportedcontent/actions/delete.php b/mod/reportedcontent/actions/delete.php deleted file mode 100644 index 3e38d2069..000000000 --- a/mod/reportedcontent/actions/delete.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/** - * Elgg reported content: delete action - * - * @package ElggReportedCOntent - */ - -// Make sure we're logged in and are admin -admin_gatekeeper(); - -// Get input data -$guid = (int) get_input('item'); - -// Make sure we actually have permission to edit -$report = get_entity($guid); -if ($report->getSubtype() == "reported_content" && $report->canEdit()) { - // Delete it! - if (!trigger_plugin_hook('reportedcontent:delete', '$system', array('report'=>$report), true)) { - register_error(elgg_echo("reportedcontent:notdeleted")); - forward('pg/admin/reportedcontent'); - } - - $rowsaffected = $report->delete(); - if ($rowsaffected > 0) { - // Success message - system_message(elgg_echo("reportedcontent:deleted")); - } else { - register_error(elgg_echo("reportedcontent:notdeleted")); - } - - // Forward back to the reported content page - forward('pg/admin/reportedcontent'); -} diff --git a/mod/reportedcontent/actions/reportedcontent/add.php b/mod/reportedcontent/actions/reportedcontent/add.php new file mode 100644 index 000000000..f0a1b05c8 --- /dev/null +++ b/mod/reportedcontent/actions/reportedcontent/add.php @@ -0,0 +1,39 @@ +<?php +/** + * Elgg report action + * + * @package ElggReportContent + */ +$title = get_input('title'); +$description = get_input('description'); +$address = get_input('address'); +$access = ACCESS_PRIVATE; //this is private and only admins can see it + +if ($title && $address) { + + $report = new ElggObject; + $report->subtype = "reported_content"; + $report->owner_guid = elgg_get_logged_in_user_guid(); + $report->title = $title; + $report->address = $address; + $report->description = $description; + $report->access_id = $access; + + if ($report->save()) { + if (!elgg_trigger_plugin_hook('reportedcontent:add', 'system', array('report' => $report), true)) { + $report->delete(); + register_error(elgg_echo('reportedcontent:failed')); + } else { + system_message(elgg_echo('reportedcontent:success')); + $report->state = "active"; + } + forward($address); + } else { + register_error(elgg_echo('reportedcontent:failed')); + forward($address); + } +} else { + + register_error(elgg_echo('reportedcontent:failed')); + forward($address); +} diff --git a/mod/reportedcontent/actions/archive.php b/mod/reportedcontent/actions/reportedcontent/archive.php index 3bd10f520..dd5c6aef1 100644 --- a/mod/reportedcontent/actions/archive.php +++ b/mod/reportedcontent/actions/reportedcontent/archive.php @@ -5,25 +5,23 @@ * @package ElggReportedContent */ -// Make sure we're logged in and are admin -admin_gatekeeper(); +$guid = (int) get_input('guid'); -// Get input data -$guid = (int) get_input('item'); +$report = get_entity($guid); // Make sure we actually have permission to edit -$report = get_entity($guid); if ($report->getSubtype() == "reported_content" && $report->canEdit()) { - // change the state - if (!trigger_plugin_hook('reportedcontent:archive', 'system', array('report'=>$report), TRUE)) { + + // allow another plugin to override + if (!elgg_trigger_plugin_hook('reportedcontent:archive', 'system', array('report' => $report), TRUE)) { system_message(elgg_echo("reportedcontent:notarchived")); - forward('pg/admin/reportedcontent'); + forward(REFERER); } + + // change the state $report->state = "archived"; - // Success message system_message(elgg_echo("reportedcontent:archived")); - // Forward back to the reported content page - forward('pg/admin/reportedcontent'); + forward(REFERER); } diff --git a/mod/reportedcontent/actions/reportedcontent/delete.php b/mod/reportedcontent/actions/reportedcontent/delete.php new file mode 100644 index 000000000..f7d4e2107 --- /dev/null +++ b/mod/reportedcontent/actions/reportedcontent/delete.php @@ -0,0 +1,28 @@ +<?php +/** + * Elgg reported content: delete action + * + * @package ElggReportedContent + */ + +$guid = (int) get_input('guid'); + +$report = get_entity($guid); + +// Make sure we actually have permission to delete +if ($report->getSubtype() == "reported_content" && $report->canEdit()) { + + // give another plugin a chance to override + if (!elgg_trigger_plugin_hook('reportedcontent:delete', 'system', array('report' => $report), TRUE)) { + register_error(elgg_echo("reportedcontent:notdeleted")); + forward(REFERER); + } + + if ($report->delete()) { + system_message(elgg_echo("reportedcontent:deleted")); + } else { + register_error(elgg_echo("reportedcontent:notdeleted")); + } + + forward(REFERER); +} |
