diff options
Diffstat (limited to 'mod/blog/views')
| -rw-r--r-- | mod/blog/views/default/blog/group_module.php | 21 | ||||
| -rw-r--r-- | mod/blog/views/default/blog/sidebar.php | 22 | ||||
| -rw-r--r-- | mod/blog/views/default/blog/sidebar/archives.php | 16 | ||||
| -rw-r--r-- | mod/blog/views/default/blog/sidebar/revisions.php | 12 | ||||
| -rw-r--r-- | mod/blog/views/default/blog/sidebar/tagcloud.php | 31 | ||||
| -rw-r--r-- | mod/blog/views/default/forms/blog/save.php | 64 | ||||
| -rw-r--r-- | mod/blog/views/default/input/datetime.php | 48 | ||||
| -rw-r--r-- | mod/blog/views/default/js/blog/save_draft.php | 122 | ||||
| -rw-r--r-- | mod/blog/views/default/object/blog.php | 53 | ||||
| -rw-r--r-- | mod/blog/views/default/river/object/blog/create.php | 34 | ||||
| -rw-r--r-- | mod/blog/views/default/widgets/blog/content.php | 3 |
11 files changed, 162 insertions, 264 deletions
diff --git a/mod/blog/views/default/blog/group_module.php b/mod/blog/views/default/blog/group_module.php index 8c3fc373f..6082cdafd 100644 --- a/mod/blog/views/default/blog/group_module.php +++ b/mod/blog/views/default/blog/group_module.php @@ -10,24 +10,22 @@ if ($group->blog_enable == "no") { } $all_link = elgg_view('output/url', array( - 'href' => "pg/blog/group/$group->guid/owner", + 'href' => "blog/group/$group->guid/all", 'text' => elgg_echo('link:view:all'), + 'is_trusted' => true, )); -$header = "<span class=\"group-widget-viewall\">$all_link</span>"; -$header .= '<h3>' . elgg_echo('blog:group') . '</h3>'; - - elgg_push_context('widgets'); $options = array( 'type' => 'object', 'subtype' => 'blog', 'container_guid' => elgg_get_page_owner_guid(), + 'metadata_name_value_pairs' => array('name' => 'status', 'value' => 'published'), 'limit' => 6, 'full_view' => false, 'pagination' => false, ); -$content = elgg_list_entities($options); +$content = elgg_list_entities_from_metadata($options); elgg_pop_context(); if (!$content) { @@ -35,9 +33,14 @@ if (!$content) { } $new_link = elgg_view('output/url', array( - 'href' => "pg/blog/add/$group->guid", + 'href' => "blog/add/$group->guid", 'text' => elgg_echo('blog:write'), + 'is_trusted' => true, )); -$content .= "<span class='elgg-widget-more'>$new_link</span>"; -echo elgg_view_module('info', '', $content, array('header' => $header)); +echo elgg_view('groups/profile/module', array( + 'title' => elgg_echo('blog:group'), + 'content' => $content, + 'all_link' => $all_link, + 'add_link' => $new_link, +)); diff --git a/mod/blog/views/default/blog/sidebar.php b/mod/blog/views/default/blog/sidebar.php index 63ed85c0b..0ae2b431c 100644 --- a/mod/blog/views/default/blog/sidebar.php +++ b/mod/blog/views/default/blog/sidebar.php @@ -7,12 +7,24 @@ // fetch & display latest comments if ($vars['page'] == 'all') { - echo elgg_view_latest_comments(0, 'object', 'blog'); + echo elgg_view('page/elements/comments_block', array( + 'subtypes' => 'blog', + )); } elseif ($vars['page'] == 'owner') { - // @todo - what we want is the latest comments on this user's blog posts - elgg does not support this - echo elgg_view_latest_comments(elgg_get_page_owner_guid(), 'object', 'blog'); + echo elgg_view('page/elements/comments_block', array( + 'subtypes' => 'blog', + 'owner_guid' => elgg_get_page_owner_guid(), + )); } -echo elgg_view('blog/sidebar/archives', $vars); +// only users can have archives at present +if ($vars['page'] == 'owner' || $vars['page'] == 'group') { + echo elgg_view('blog/sidebar/archives', $vars); +} -echo elgg_view('blog/sidebar/tagcloud', $vars); +if ($vars['page'] != 'friends') { + echo elgg_view('page/elements/tagcloud_block', array( + 'subtypes' => 'blog', + 'owner_guid' => elgg_get_page_owner_guid(), + )); +} diff --git a/mod/blog/views/default/blog/sidebar/archives.php b/mod/blog/views/default/blog/sidebar/archives.php index a76193831..5098e6e3e 100644 --- a/mod/blog/views/default/blog/sidebar/archives.php +++ b/mod/blog/views/default/blog/sidebar/archives.php @@ -6,20 +6,24 @@ $loggedin_user = elgg_get_logged_in_user_entity(); $page_owner = elgg_get_page_owner_entity(); +if (elgg_instanceof($page_owner, 'user')) { + $url_segment = 'blog/archive/' . $page_owner->username; +} else { + $url_segment = 'blog/group/' . $page_owner->getGUID() . '/archive'; +} + // This is a limitation of the URL schema. if ($page_owner && $vars['page'] != 'friends') { - $dates = blog_get_blog_months($user); - + $dates = array_reverse(get_entity_dates('object', 'blog', $page_owner->getGUID())); + if ($dates) { $title = elgg_echo('blog:archives'); $content = '<ul class="blog-archives">'; - foreach($dates as $date) { - $date = $date->yearmonth; - + foreach ($dates as $date) { $timestamplow = mktime(0, 0, 0, substr($date,4,2) , 1, substr($date, 0, 4)); $timestamphigh = mktime(0, 0, 0, ((int) substr($date, 4, 2)) + 1, 1, substr($date, 0, 4)); - $link = elgg_get_site_url() . 'pg/blog/archive/' . $page_owner->username . '/' . $timestamplow . '/' . $timestamphigh; + $link = elgg_get_site_url() . $url_segment . '/' . $timestamplow . '/' . $timestamphigh; $month = elgg_echo('date:month:' . substr($date, 4, 2), array(substr($date, 0, 4))); $content .= "<li><a href=\"$link\" title=\"$month\">$month</a></li>"; } diff --git a/mod/blog/views/default/blog/sidebar/revisions.php b/mod/blog/views/default/blog/sidebar/revisions.php index b8f07b336..cd2e7f3d8 100644 --- a/mod/blog/views/default/blog/sidebar/revisions.php +++ b/mod/blog/views/default/blog/sidebar/revisions.php @@ -33,17 +33,18 @@ if (elgg_instanceof($blog, 'object', 'blog') && $blog->canEdit()) { $n = count($revisions); $body = '<ul class="blog-revisions">'; - $load_base_url = "pg/blog/edit/{$owner->username}/{$blog->getGUID()}/"; + $load_base_url = "blog/edit/{$blog->getGUID()}"; // show the "published revision" if ($blog->status == 'published') { $load = elgg_view('output/url', array( 'href' => $load_base_url, - 'text' => elgg_echo('blog:status:published') + 'text' => elgg_echo('blog:status:published'), + 'is_trusted' => true, )); $time = "<span class='elgg-subtext'>" - . elgg_view_friendly_time($blog->publish_date) . "</span>"; + . elgg_view_friendly_time($blog->time_created) . "</span>"; $body .= "<li>$load : $time</li>"; } @@ -58,8 +59,9 @@ if (elgg_instanceof($blog, 'object', 'blog') && $blog->canEdit()) { $revision_lang = elgg_echo('blog:revision') . " $n"; } $load = elgg_view('output/url', array( - 'href' => $load_base_url . $revision->id, - 'text' => $revision_lang + 'href' => "$load_base_url/$revision->id", + 'text' => $revision_lang, + 'is_trusted' => true, )); $text = "$load: $time"; diff --git a/mod/blog/views/default/blog/sidebar/tagcloud.php b/mod/blog/views/default/blog/sidebar/tagcloud.php deleted file mode 100644 index 70c454390..000000000 --- a/mod/blog/views/default/blog/sidebar/tagcloud.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -/** - * Blog tag cloud - */ - -$loggedin_user = elgg_get_logged_in_user_entity(); -$page_owner = elgg_get_page_owner_entity(); - -if ($page_owner && $vars['page'] != 'friends') { - - // friends page lists all tags; mine lists owner's - $owner_guid = ($vars['page'] == 'friends') ? '' : $page_owner->getGUID(); - $options = array( - 'type' => 'object', - 'subtype' => 'blog', - 'owner_guid' => $owner_guid, - 'threshold' => 0, - 'limit' => 50, - 'tag_name' => 'tags', - ); - echo elgg_view_tagcloud($options); -} else { - $options = array( - 'type' => 'object', - 'subtype' => 'blog', - 'threshold' => 0, - 'limit' => 50, - 'tag_name' => 'tags', - ); - echo elgg_view_tagcloud($options); -} diff --git a/mod/blog/views/default/forms/blog/save.php b/mod/blog/views/default/forms/blog/save.php index 6020ad4b0..f825acca1 100644 --- a/mod/blog/views/default/forms/blog/save.php +++ b/mod/blog/views/default/forms/blog/save.php @@ -5,13 +5,17 @@ * @package Blog */ +$blog = get_entity($vars['guid']); +$vars['entity'] = $blog; + $draft_warning = $vars['draft_warning']; if ($draft_warning) { - $draft_warning = '<span class="message warning">' . $draft_warning . '</span>'; + $draft_warning = '<span class="mbm elgg-text-help">' . $draft_warning . '</span>'; } $action_buttons = ''; $delete_link = ''; +$preview_button = ''; if ($vars['guid']) { // add a delete button if editing @@ -19,12 +23,24 @@ if ($vars['guid']) { $delete_link = elgg_view('output/confirmlink', array( 'href' => $delete_url, 'text' => elgg_echo('delete'), - 'class' => 'elgg-button-action elgg-state-disabled' + 'class' => 'elgg-button elgg-button-delete float-alt' + )); +} + +// published blogs do not get the preview button +if (!$vars['guid'] || ($blog && $blog->status != 'published')) { + $preview_button = elgg_view('input/submit', array( + 'value' => elgg_echo('preview'), + 'name' => 'preview', + 'class' => 'mls', )); } -$save_button = elgg_view('input/submit', array('value' => elgg_echo('save'))); -$action_buttons = $save_button . $delete_link; +$save_button = elgg_view('input/submit', array( + 'value' => elgg_echo('save'), + 'name' => 'save', +)); +$action_buttons = $save_button . $preview_button . $delete_link; $title_label = elgg_echo('title'); $title_input = elgg_view('input/text', array( @@ -37,7 +53,7 @@ $excerpt_label = elgg_echo('blog:excerpt'); $excerpt_input = elgg_view('input/text', array( 'name' => 'excerpt', 'id' => 'blog_excerpt', - 'value' => html_entity_decode($vars['excerpt'], ENT_COMPAT, 'UTF-8') + 'value' => _elgg_html_decode($vars['excerpt']) )); $body_label = elgg_echo('blog:body'); @@ -48,8 +64,9 @@ $body_input = elgg_view('input/longtext', array( )); $save_status = elgg_echo('blog:save_status'); -if ($vars['publish_date']) { - $saved = date('F j, Y @ H:i', $vars['publish_date']); +if ($vars['guid']) { + $entity = get_entity($vars['guid']); + $saved = date('F j, Y @ H:i', $entity->time_created); } else { $saved = elgg_echo('blog:never'); } @@ -87,15 +104,7 @@ $access_input = elgg_view('input/access', array( 'value' => $vars['access_id'] )); -// not being used -$publish_date_label = elgg_echo('blog:publish_date'); -$publish_date_input = elgg_view('input/datetime', array( - 'name' => 'publish_date', - 'id' => 'blog_publish_date', - 'value' => $vars['publish_date'] -)); - -$categories_input = elgg_view('categories', $vars); +$categories_input = elgg_view('input/categories', $vars); // hidden inputs $container_guid_input = elgg_view('input/hidden', array('name' => 'container_guid', 'value' => elgg_get_page_owner_guid())); @@ -116,15 +125,18 @@ $draft_warning $excerpt_input </div> -<label for="blog_description">$body_label</label> -$body_input -<br /> +<div> + <label for="blog_description">$body_label</label> + $body_input +</div> <div> <label for="blog_tags">$tags_label</label> $tags_input </div> +$categories_input + <div> <label for="blog_comments_on">$comments_label</label> $comments_input @@ -140,15 +152,15 @@ $body_input $status_input </div> -$categories_input - -<div class="elgg-subtext pvm mbn bta"> +<div class="elgg-foot"> + <div class="elgg-subtext mbm"> $save_status <span class="blog-save-status-time">$saved</span> -</div> + </div> -$guid_input -$container_guid_input + $guid_input + $container_guid_input -$action_buttons + $action_buttons +</div> ___HTML; diff --git a/mod/blog/views/default/input/datetime.php b/mod/blog/views/default/input/datetime.php deleted file mode 100644 index 3a7244b88..000000000 --- a/mod/blog/views/default/input/datetime.php +++ /dev/null @@ -1,48 +0,0 @@ -<?php -/** - * A date-time view for the blog publication date. - * - * not being used - */ - -// default date to current time -$publish_date = ($vars['value']) ? $vars['value'] : time(); - -$months = array(); -for ($i=1; $i <= 12; $i++) { - $value = str_pad($i, 2, '0', STR_PAD_LEFT); - $months[$value] = date('M', strtotime("$value/01/2010")); -} - -$month = elgg_view('input/dropdown', array( - 'name' => 'publish_month', - 'value' => date('m', $publish_date), - 'options_values' => $months, - 'class' => 'blog_publish_month', -)); - -$day = elgg_view('input/text', array( - 'name' => 'publish_day', - 'value' => date('d', $publish_date), - 'class' => 'blog_publish_day', -)); - -$year = elgg_view('input/text', array( - 'name' => 'publish_year', - 'value' => date('Y', $publish_date), - 'class' => 'blog_publish_year', -)); - -$hour = elgg_view('input/text', array( - 'name' => 'publish_hour', - 'value' => date('H', $publish_date), - 'class' => 'blog_publish_hour', -)); - -$minute = elgg_view('input/text', array( - 'name' => 'publish_minute', - 'value' => date('i', $publish_date), - 'class' => 'blog_publish_minute', -)); - -echo "$month $day, $year @ $hour:$minute"; diff --git a/mod/blog/views/default/js/blog/save_draft.php b/mod/blog/views/default/js/blog/save_draft.php index 7f3c3bb12..8cd07ff5d 100644 --- a/mod/blog/views/default/js/blog/save_draft.php +++ b/mod/blog/views/default/js/blog/save_draft.php @@ -3,97 +3,65 @@ * Save draft through ajax * * @package Blog - * - * @todo JS 1.8: no. Convert to use elgg.blog.* */ ?> +elgg.provide('elgg.blog'); -<script type="text/javascript"> - setInterval("blogSaveDraft()", 60000); - - /* - * Attempt to save and update the input with the guid. - */ - function blogSaveDraftCallback(data, textStatus, XHR) { - if (textStatus == 'success' && data.success == true) { - var form = $('form[name=blog_post]'); +/* + * Attempt to save and update the input with the guid. + */ +elgg.blog.saveDraftCallback = function(data, textStatus, XHR) { + if (textStatus == 'success' && data.success == true) { + var form = $('form[id=blog-post-edit]'); - // update the guid input element for new posts that now have a guid - form.find('input[name=guid]').val(data.guid); + // update the guid input element for new posts that now have a guid + form.find('input[name=guid]').val(data.guid); - oldDescription = form.find('textarea[name=description]').val(); + oldDescription = form.find('textarea[name=description]').val(); - var d = new Date(); - var mins = d.getMinutes() + ''; - if (mins.length == 1) { - mins = '0' + mins; - } - $(".blog-save-status-time").html(d.toLocaleDateString() + " @ " + d.getHours() + ":" + mins); - } else { - $(".blog-save-status-time").html("<?php echo elgg_echo('error'); ?>"); + var d = new Date(); + var mins = d.getMinutes() + ''; + if (mins.length == 1) { + mins = '0' + mins; } + $(".blog-save-status-time").html(d.toLocaleDateString() + " @ " + d.getHours() + ":" + mins); + } else { + $(".blog-save-status-time").html(elgg.echo('error')); } +}; - function blogSaveDraft() { - if (typeof(tinyMCE) != 'undefined') { - tinyMCE.triggerSave(); - } - - // only save on changed content - var form = $('form[name=blog_post]'); - var description = form.find('textarea[name=description]').val(); - var title = form.find('input[name=title]').val(); - - if (!(description && title) || (description == oldDescription)) { - return false; - } - - var draftURL = "<?php echo elgg_get_site_url(); ?>action/blog/auto_save_revision"; - var postData = form.serializeArray(); - - // force draft status - $(postData).each(function(i, e) { - if (e.name == 'status') { - e.value = 'draft'; - } - }); - - $.post(draftURL, postData, blogSaveDraftCallback, 'json'); +elgg.blog.saveDraft = function() { + if (typeof(tinyMCE) != 'undefined') { + tinyMCE.triggerSave(); } - $(document).ready(function() { - // get a copy of the body to compare for auto save - oldDescription = $('form[name=blog_post]').find('textarea[name=description]').val(); - -/* we don't seems to be using the text counter anymore� - $('#excerpt.excerpt').each(function(){ - var allowed = 200; + // only save on changed content + var form = $('form[id=blog-post-edit]'); + var description = form.find('textarea[name=description]').val(); + var title = form.find('input[name=title]').val(); - // set the initial value - $('#countervalue').text(allowed); - - // bind on key up event - $(this).keyup(function(){ - var counter_value = ((allowed - ($(this).val().length))); + if (!(description && title) || (description == oldDescription)) { + return false; + } - $("#countervalue").removeClass(); + var draftURL = elgg.config.wwwroot + "action/blog/auto_save_revision"; + var postData = form.serializeArray(); - if ((counter_value > 10)) { - $("#countervalue").addClass("positive"); - } - else if ((counter_value <= 10) && (counter_value >= 0)) { - $("#countervalue").addClass("gettingclose"); - } - else if ((counter_value < 0)) { - $("#countervalue").addClass("negative"); - } + // force draft status + $(postData).each(function(i, e) { + if (e.name == 'status') { + e.value = 'draft'; + } + }); - // insert new length - $('#countervalue').text(counter_value); + $.post(draftURL, postData, elgg.blog.saveDraftCallback, 'json'); +}; - }); - }); -*/ - }); +elgg.blog.init = function() { + // get a copy of the body to compare for auto save + oldDescription = $('form[id=blog-post-edit]').find('textarea[name=description]').val(); + + setInterval(elgg.blog.saveDraft, 60000); +}; -</script> +elgg.register_hook_handler('init', 'system', elgg.blog.init);
\ No newline at end of file diff --git a/mod/blog/views/default/object/blog.php b/mod/blog/views/default/object/blog.php index 61abf129f..4403a6006 100644 --- a/mod/blog/views/default/object/blog.php +++ b/mod/blog/views/default/object/blog.php @@ -5,7 +5,7 @@ * @package Blog */ -$full = elgg_extract('full', $vars, FALSE); +$full = elgg_extract('full_view', $vars, FALSE); $blog = elgg_extract('entity', $vars, FALSE); if (!$blog) { @@ -16,15 +16,18 @@ $owner = $blog->getOwnerEntity(); $container = $blog->getContainerEntity(); $categories = elgg_view('output/categories', $vars); $excerpt = $blog->excerpt; +if (!$excerpt) { + $excerpt = elgg_get_excerpt($blog->description); +} -$owner_icon = elgg_view('profile/icon', array('entity' => $owner, 'size' => 'tiny')); +$owner_icon = elgg_view_entity_icon($owner, 'tiny'); $owner_link = elgg_view('output/url', array( - 'href' => "pg/blog/owner/$owner->username", + 'href' => "blog/owner/$owner->username", 'text' => $owner->name, + 'is_trusted' => true, )); -$author_text = elgg_echo('blog:author_by_line', array($owner_link)); -$tags = elgg_view('output/tags', array('tags' => $blog->tags)); -$date = elgg_view_friendly_time($blog->publish_date); +$author_text = elgg_echo('byline', array($owner_link)); +$date = elgg_view_friendly_time($blog->time_created); // The "on" status changes for comments, so best to check for !Off if ($blog->comments_on != 'Off') { @@ -35,6 +38,7 @@ if ($blog->comments_on != 'Off') { $comments_link = elgg_view('output/url', array( 'href' => $blog->getURL() . '#blog-comments', 'text' => $text, + 'is_trusted' => true, )); } else { $comments_link = ''; @@ -43,19 +47,14 @@ if ($blog->comments_on != 'Off') { $comments_link = ''; } -$extra_links = false; -if ($blog->canEdit() && $blog->status != 'published') { - $status_text = elgg_echo("blog:status:{$blog->status}"); - $extra_links = array($status_text); -} - -$metadata = elgg_view('layout/objects/list/metadata', array( - 'entity' => $blog, +$metadata = elgg_view_menu('entity', array( + 'entity' => $vars['entity'], 'handler' => 'blog', - 'links' => $extra_links, + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', )); -$subtitle = "$author_text $date $categories $comments_link"; +$subtitle = "$author_text $date $comments_link $categories"; // do not show the metadata and controls in widget view if (elgg_in_context('widgets')) { @@ -69,24 +68,20 @@ if ($full) { 'class' => 'blog-post', )); - $header = elgg_view_title($blog->title); - $params = array( 'entity' => $blog, 'title' => false, 'metadata' => $metadata, 'subtitle' => $subtitle, - 'tags' => $tags, ); - $list_body = elgg_view('layout/objects/list/body', $params); - - $blog_info = elgg_view_image_block($owner_icon, $list_body); + $params = $params + $vars; + $summary = elgg_view('object/elements/summary', $params); - echo <<<HTML -$header -$blog_info -$body -HTML; + echo elgg_view('object/elements/full', array( + 'summary' => $summary, + 'icon' => $owner_icon, + 'body' => $body, + )); } else { // brief view @@ -95,10 +90,10 @@ HTML; 'entity' => $blog, 'metadata' => $metadata, 'subtitle' => $subtitle, - 'tags' => $tags, 'content' => $excerpt, ); - $list_body = elgg_view('layout/objects/list/body', $params); + $params = $params + $vars; + $list_body = elgg_view('object/elements/summary', $params); echo elgg_view_image_block($owner_icon, $list_body); } diff --git a/mod/blog/views/default/river/object/blog/create.php b/mod/blog/views/default/river/object/blog/create.php index bd2405d42..b808f1bdc 100644 --- a/mod/blog/views/default/river/object/blog/create.php +++ b/mod/blog/views/default/river/object/blog/create.php @@ -4,32 +4,12 @@ */ $object = $vars['item']->getObjectEntity(); -$excerpt = strip_tags($object->excerpt); -$excerpt = elgg_get_excerpt($excerpt); - -$params = array( - 'href' => $object->getURL(), - 'text' => $object->title, -); -$link = elgg_view('output/url', $params); - -$group_string = ''; -$container = $object->getContainerEntity(); -if ($container instanceof ElggGroup) { - $params = array( - 'href' => $container->getURL(), - 'text' => $container->name, - ); - $group_link = elgg_view('output/url', $params); - $group_string = elgg_echo('river:ingroup', array($group_link)); -} -echo elgg_echo('blog:river:create'); - -echo " $link $group_string"; +$excerpt = $object->excerpt ? $object->excerpt : $object->description; +$excerpt = strip_tags($excerpt); +$excerpt = elgg_get_excerpt($excerpt); -if ($excerpt) { - echo '<div class="elgg-river-content">'; - echo $excerpt; - echo '</div>'; -} +echo elgg_view('river/elements/layout', array( + 'item' => $vars['item'], + 'message' => $excerpt, +)); diff --git a/mod/blog/views/default/widgets/blog/content.php b/mod/blog/views/default/widgets/blog/content.php index 713c0f07d..330171662 100644 --- a/mod/blog/views/default/widgets/blog/content.php +++ b/mod/blog/views/default/widgets/blog/content.php @@ -18,10 +18,11 @@ $content = elgg_list_entities($options); echo $content; if ($content) { - $blog_url = "pg/blog/owner/" . elgg_get_page_owner_entity()->username; + $blog_url = "blog/owner/" . elgg_get_page_owner_entity()->username; $more_link = elgg_view('output/url', array( 'href' => $blog_url, 'text' => elgg_echo('blog:moreblogs'), + 'is_trusted' => true, )); echo "<span class=\"elgg-widget-more\">$more_link</span>"; } else { |
