defaults $values = array( 'title' => NULL, 'description' => NULL, 'status' => 'published', 'publish_date' => NULL, 'access_id' => ACCESS_DEFAULT, 'comments_on' => 'On', 'excerpt' => NULL, 'tags' => NULL, 'container_guid' => NULL, 'guid' => NULL ); $forward = $_SERVER['HTTP_REFERER']; $action_buttons = ''; $delete_link = ''; $draft_warning = ''; // if entity is set, we're editing. if (isset ($vars['entity'])) { $blog = $vars['entity']; if (elgg_instanceof($blog, 'object', 'blog')) { // passed in values override sticky values in input views // if in a sticky form, don't send the overrides and let the view figure it out. //if (!elgg_is_sticky_form()) { foreach (array_keys($values) as $field) { $values[$field] = $blog->$field; } // load the revision annotation if requested if (isset($vars['revision']) && $vars['revision'] instanceof ElggAnnotation && $vars['revision']->entity_guid == $blog->getGUID()) { $revision = $vars['revision']; $values['description'] = $vars['revision']->value; } // display a notice if there's an autosaved annotation // and we're not editing it. if ($auto_save_annotations = $blog->getAnnotations('blog_auto_save', 1)) { $auto_save = $auto_save_annotations[0]; } else { $auto_save == FALSE; } if ($auto_save && $auto_save->id != $revision->id) { $draft_warning = '' . elgg_echo('blog:messages:warning:draft') . ''; } //} } else { echo elgg_echo('blog:error:post_not_found'); return FALSE; } // add a delete button if editing $delete_url = "action/blog/delete?guid={$blog->getGUID()}"; $delete_link = elgg_view('output/confirmlink', array( 'href' => $delete_url, 'text' => elgg_echo('delete'), 'class' => 'action-button disabled' )); } $save_button = elgg_view('input/submit', array('value' => elgg_echo('save'))); $action_buttons = $save_button . $delete_link; $title_label = elgg_echo('title'); $title_input = elgg_view('input/text', array( 'internalname' => 'title', 'internalid' => 'blog_title', 'value' => $values['title'] )); $excerpt_label = elgg_echo('blog:excerpt'); $excerpt_input = elgg_view('input/text', array( 'internalname' => 'excerpt', 'internalid' => 'blog_excerpt', 'value' => html_entity_decode($values['excerpt'], ENT_COMPAT, 'UTF-8') )); $body_label = elgg_echo('blog:body'); $body_input = elgg_view('input/longtext', array( 'internalname' => 'description', 'internalid' => 'blog_description', 'value' => $values['description'] )); $save_status = elgg_echo('blog:save_status'); if ($values['publish_date']) { $saved = date('F j, Y @ H:i', $values['publish_date']); } else { $saved = elgg_echo('blog:never'); } $status_label = elgg_echo('blog:status'); $status_input = elgg_view('input/pulldown', array( 'internalname' => 'status', 'internalid' => 'blog_status', 'value' => $values['status'], 'options_values' => array( 'draft' => elgg_echo('blog:status:draft'), 'published' => elgg_echo('blog:status:published') ) )); $comments_label = elgg_echo('comments'); $comments_input = elgg_view('input/pulldown', array( 'internalname' => 'comments_on', 'internalid' => 'blog_comments_on', 'value' => $values['comments_on'], 'options_values' => array('On' => elgg_echo('on'), 'Off' => elgg_echo('off')) )); $tags_label = elgg_echo('tags'); $tags_input = elgg_view('input/tags', array( 'internalname' => 'tags', 'internalid' => 'blog_tags', 'value' => $values['tags'] )); $access_label = elgg_echo('access'); $access_input = elgg_view('input/access', array( 'internalname' => 'access_id', 'internalid' => 'blog_access_id', 'value' => $values['access_id'] )); $publish_date_label = elgg_echo('blog:publish_date'); $publish_date_input = elgg_view('input/datetime', array( 'internalname' => 'publish_date', 'internalid' => 'blog_publish_date', 'value' => $values['publish_date'] )); $categories_input = elgg_view('categories', $vars); // hidden inputs //$container_guid_input = elgg_view('input/hidden', array('internalname' => 'container_guid', 'value' => $values['container_guid'])); $guid_input = elgg_view('input/hidden', array('internalname' => 'guid', 'value' => $values['guid'])); $forward_input = elgg_view('input/hidden', array('internalname' => 'forward', 'value' => $forward)); // editing or creating. if (isset($values['guid'])) { $page_title = elgg_echo('blog:edit') . ": \"{$values['title']}\""; } else { $page_title = elgg_echo('blog:new'); } // display notice if editing an old revision if (isset($vars['revision']) && $vars['revision'] instanceof ElggAnnotation) { $page_title .= ' ' . elgg_echo('blog:edit_revision_notice'); } $form_body = <<<___END

$page_title

$draft_warning

$title_input

$excerpt_input

$body_input

$tags_input

$comments_input

$access_input

$status_input

$categories_input

$save_status $saved

$guid_input $container_guid_input $forward_input $action_buttons ___END; echo elgg_view('input/form', array( 'internalid' => 'blog_post_edit', 'internalname' => 'blog_post', 'action' => "action/blog/save", 'body' => $form_body )); elgg_clear_sticky_form('blog'); ?>