diff options
author | matthew.gregg <matthew.gregg@gmail.com> | 2008-07-15 23:20:45 -0400 |
---|---|---|
committer | matthew.gregg <matthew.gregg@gmail.com> | 2008-07-15 23:20:45 -0400 |
commit | faa3933fbb54d0fc4a12145bd0aefa899db30dea (patch) | |
tree | b72d7e33ff8d7f7bc3f9dd93cb59429a89ab0fbf /lib/util.php | |
parent | b6efc9889f589ba5c526f12f8b60f77fd902de6b (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.php | 22 |
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) { |