summaryrefslogtreecommitdiff
path: root/lib/util.php
diff options
context:
space:
mode:
authormatthew.gregg <matthew.gregg@gmail.com>2008-07-15 23:20:45 -0400
committermatthew.gregg <matthew.gregg@gmail.com>2008-07-15 23:20:45 -0400
commitfaa3933fbb54d0fc4a12145bd0aefa899db30dea (patch)
treeb72d7e33ff8d7f7bc3f9dd93cb59429a89ab0fbf /lib/util.php
parentb6efc9889f589ba5c526f12f8b60f77fd902de6b (diff)
Added notice deletion http://laconi.ca/PITS/00045
Removes selected notice and any replies that reference it. Attempts to de-queue anything pending. This patch does not archive notices. darcs-hash:20080716032045-982e4-a0b5d37ecfa84796f1681dda54110094ad1424c6.gz
Diffstat (limited to 'lib/util.php')
-rw-r--r--lib/util.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/util.php b/lib/util.php
index a049ea600..6d409f943 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -751,6 +751,12 @@ function common_fancy_url($action, $args=NULL) {
}
case 'shownotice':
return common_path('notice/'.$args['notice']);
+ case 'deletenotice':
+ if ($args && $args['notice']) {
+ return common_path('deletenotice/'.$args['notice']);
+ } else {
+ return common_path('deletenotice/');
+ }
case 'xrds':
case 'foaf':
return common_path($args['nickname'].'/'.$action);
@@ -965,6 +971,22 @@ function common_enqueue_notice($notice) {
return $result;
}
+function common_dequeue_notice($notice) {
+ $qi = Queue_Item::staticGet($notice->id);
+ if ($qi) {
+ $result = $qi->delete();
+ if (!$result) {
+ $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError');
+ common_log(LOG_ERROR, 'DB error deleting queue item: ' . $last_error->message);
+ return false;
+ }
+ common_log(LOG_DEBUG, 'complete dequeueing notice ID = ' . $notice->id);
+ return $result;
+ } else {
+ return false;
+ }
+}
+
function common_real_broadcast($notice, $remote=false) {
$success = true;
if (!$remote) {