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
This commit is contained in:
matthew.gregg
2008-07-15 23:20:45 -04:00
parent b6efc9889f
commit faa3933fbb
7 changed files with 233 additions and 0 deletions

View File

@@ -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) {