1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| // handle the sources
var handle_sources = function() {
// if no external sources - initialize with the local ones
if(settings.src.length == 0) {news_date_sort($lcnb_wrap_obj);}
var g_proxy = 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num='+ settings.max_news +'&callback=?&q=';
$.each(settings.src, function(index, v) {
var src_obj = this;
var params = '';
var to_call = '';
// find the url to call to get the data
switch(this.type) {
if(this.type == 'rss' || this.type == 'pinterest') {
to_call = g_proxy + encodeURIComponent(to_call);
}
// fetch news from the sources
var fetch_news = function(index, type, src, params, src_opts) {
// data to exclude
var exclude = (typeof(settings.hide_elements) == 'undefined') ? '' : settings.hide_elements;
if(typeof(src_opts.hide_elements) == 'string') {exclude = exclude + ',' + src_opts.hide_elements.replace('date.', '');}
// fixed image
var fixed_img = (src_opts.img == undefined) ? false : src_opts.img;
// images max sizes
var max_img_size = (typeof(src_opts.max_img_size) == 'object') ? src_opts.max_img_size : false;
// regular expression to link textual URLs
var url_exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
// fetch
var dataType = (type == "facebook" || type == "twitter") ? "json" : "jsonp";
$.ajax({
url: src,
data: params,
dataType: dataType,
cache: settings.cache_news,
success: function(resp) {
var error = false;
switch(type) {
default: // rss and pinterest
if (resp.responseStatus == 200) {resp = resp.responseData.feed.entries;}
else {error = resp.responseDetails;}
break;
}
default: // rss
// if an image is specified in mediaGroup - override main one
if(!fixed_img) {
if(
typeof( news.mediaGroups) != 'undefined' &&
typeof( news.mediaGroups[0].contents) != 'undefined' &&
typeof( news.mediaGroups[0].contents[0].thumbnails) != 'undefined' &&
typeof( news.mediaGroups[0].contents[0].thumbnails[0].url ) != 'undefined'
) {
fixed_img = news.mediaGroups[0].contents[0].thumbnails[0].url;
var forced_fixed_img = true;
}
}
var fixed_date = normalize_date_str(news.publishedDate);
var d = new Date(fixed_date);
var managed_data = man_feed_descr( $.trim(news.content), fixed_img, max_img_size, settings.src[index].strip_tags, settings.src[index].remove_tags, true);
var news_obj = {
time : d.getTime(),
date : fixed_date,
title : news.title,
txt : managed_data.txt,
link : news.link,
s_link : news.link,
img : managed_data.img
};
if(typeof(forced_fixed_img) != 'undefined') {
fixed_img = false;
}
break;
} |
Partager