Пример #1
0
}
// assign values to the entity, stopping on error.
if (!$error) {
    foreach ($values as $name => $value) {
        $news->{$name} = $value;
    }
}
// only try to save base entity if no errors
if (!$error) {
    if ($news->save()) {
        // remove sticky form entries
        elgg_clear_sticky_form('news');
        // remove autosave draft if exists
        $news->deleteAnnotations('news_auto_save');
        // no longer a brand new post.
        $news->deleteMetadata('new_post');
        // if this was an edit, create a revision annotation
        if (!$new_post && $revision_text) {
            $news->annotate('news_revision', $revision_text);
        }
        system_message(elgg_echo('news:message:saved'));
        $status = $news->status;
        // add to river if changing status or published, regardless of new post
        // because we remove it for drafts.
        if (($new_post || $old_status == 'draft') && $status == 'published') {
            elgg_create_river_item(array('view' => 'river/object/news/create', 'action_type' => 'create', 'subject_guid' => $news->owner_guid, 'object_guid' => $news->getGUID()));
            elgg_trigger_event('publish', 'news', $news);
            // reset the creation time for news posts that move from draft to published
            if ($guid) {
                $news->time_created = time();
                $news->save();