Profile: Admin
UBOW.blogFetcher = function(options) {
var my=this;
var defaults = {
per_page: 3,
author: 0,
html_before: '',
html_after: ''
};
var $posts = $('#blog-posts');
var $pag = $('#blog-posts-paging');
// initialization
$(function() {
console.log('blogFetcher init...');
var imgZero = new Image();
imgZero.onload = function() {console.log('zero loaded');}
imgZero.src = "/uploads/0.jpg";
my.settings = $.extend({}, defaults, options);
$pag.on('click', 'a', function(e) {
e.preventDefault();
fetch($(this).data("ci-pagination-page"));
});
if (!$posts.html()) fetch('');
});
function format(sum) {
function ban() {
var ban = '';
if (sum['flags'] & 4) {
ban = ' ';
}
else if (sum['banner'].length > 0) {
ban = '';
}
return ban;
}
return my.settings.html_before +
'
' +
'
' +
((my.settings.html_after instanceof Function)? my.settings.html_after(sum) : my.settings.html_after);
}
function fetch(page) {
console.log('blogFetcher fetch...');
$pag.html('loading...');
UBOW.ajax('/blog/fetch/'+page, {per_page:my.settings.per_page,author:my.settings.author}, function(err,dat,msg) {
if (err) return UBOW.handleAjaxError(err,dat,msg);
$posts.empty();
$.each(dat.posts,function(i,summary){
var $post = $(format(summary));
$post.appendTo($posts);
// now wait for banner to load
var img = new Image();
img.onload = function() {
$post.find('img').attr('src', this.src);
$posts.alignElementsSameHeight();
}
img.src = '/uploads/' + summary.banner;
});
$pag.html(dat.page);
$posts.alignElementsSameHeight();
});
}
};
' +
'
' +
'
' +
'' + sum.title + '
' + ban() + sum.etc + '
' +
'