From d79dc8344b529281dfb8a8383c529720a429472b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 29 Jul 2008 22:28:56 -0400 Subject: refactor notice-adding code to one static method on Notice darcs-hash:20080730022856-84dde-f19e4ff5d5ae2603b63b8aebd8f878ec90b3ce22.gz --- classes/Notice.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'classes') diff --git a/classes/Notice.php b/classes/Notice.php index 02526bae2..ef8f7046e 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -75,4 +75,34 @@ class Notice extends DB_DataObject } return true; } + + static function saveNew($profile_id, $content, $source=NULL, $is_local=1) { + + $notice = new Notice(); + $notice->profile_id = $profile_id; + $notice->is_local = $is_local; + $notice->created = DB_DataObject_Cast::dateTime(); + # Default theme uses 'content' for something else + $notice->content = $content; + + $notice->rendered = common_render_content($notice->content, $notice); + + $id = $notice->insert(); + + if (!$id) { + return _('Problem saving notice.'); + } + + $orig = clone($notice); + $notice->uri = common_notice_uri($notice); + + if (!$notice->update($orig)) { + return _('Problem saving notice.'); + } + + common_save_replies($notice); + $notice->saveTags(); + + return $notice; + } } -- cgit v1.2.3-54-g00ecf