Skip to content

Instantly share code, notes, and snippets.

@timiwahalahti
Created December 2, 2016 09:34
Show Gist options
  • Save timiwahalahti/1017a9e0f9db8bdf7d29397af2c7d681 to your computer and use it in GitHub Desktop.
Save timiwahalahti/1017a9e0f9db8bdf7d29397af2c7d681 to your computer and use it in GitHub Desktop.
( function( $ ) {
// ******************************
// * facebook.js
// *
// * @author Digitoimisto Dude Oy
// * @version 03.11.2016
// ******************************
$(document).ready(function() {
// Facebook feed
function cutString(s, n){
var cut= s.indexOf(' ', n);
if(cut== -1) return s;
return s.substring(0, cut) + '...'
}
$.ajax({
type:"GET",
url: "https://graph.facebook.com/<FBID>/feed?locale=fi_FI", // http://findmyfbid.com/
dataType: "jsonp",
contentType: "text/json; charset=utf-8",
data: {
access_token: '<SOVELLUSKOODI>|<SALAUSKOODI>', // Sovelluskoodi ja salauskoodi peräkkäin: https://developers.facebook.com/apps/1642487816006596/dashboard/
since: '2016-01-01',
date_format: 'U'
},
})
.error(function(w,t,f) {
})
.done(function( result ) {
var data = result.data;
$('.facebook-feed').each(function() {
for( i in data ) {
if(i >= 2) { // Amount of updates shown
return false;
}
// Filter:
// if( !data[i].story ) continue;
// Get real ID of the Facebook update
var id = data[i].id;
getId = id.split('_');
realid = getId[1];
if(data[i].likes == undefined) {
var likes_count = 0;
var likes_text = 'Ei tykkäyksiä';
} else {
var likes = data[i].likes.data;
var likes_count = likes.length;
var likes_text = likes_count + ' tykkäsi lukemastaan';
}
if(data[i].message == undefined) {
if(data[i].description == undefined) {
var message = '<p><span class="fb-icon"></span> <p>' + cutString(data[i].story, 400) + ' &mdash; <b>' + data[i].name + '</b></p>';
} else {
var message = '<p><p><span class="fb-icon"></span> ' + cutString(data[i].description, 400) + '</p>';
}
} else {
var message = '<p><p><span class="fb-icon"></span> ' + cutString(data[i].message, 400) + '</p>';
}
if(data[i].created_time == undefined) {
var date = '';
var meta = '';
} else {
var date = data[i].created_time;
}
if(data[i].created_time != undefined && data[i].likes != undefined) {
var meta = '';
} else {
var meta = formatDate( date*1000 ) + '. ' + likes_text + '. ';
}
var newFeedElem = '<div class="vintagebox-container"><div class="vintagebox-header"></div><div class="vintagebox"><div class="col-md-12"><div class="update"><div class="status-update col-sm-12">' + message + '<p class="facebook-meta">' + meta + '<a href="https://www.facebook.com/<FBPAGENAME>/posts/' + realid + '">Käy tykkäämässä.</a></p></div><!--/.status-update--></div></div></div><!--/.vintagebox--><div class="vintagebox-footer"></div></div>';
$( this ).append( newFeedElem );
}
});
});
function formatDate( date ) {
var d = new Date( date );
var months = [
'tammikuu',
'helmikuu',
'maaliskuu',
'huhtikuu',
'toukokuu',
'kesäkuu',
'heinäkuu',
'elokuu',
'syyskuu',
'lokakuu',
'marraskuu',
'joulukuu'
];
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
return (curr_date + ". " + months[curr_month-1] + "ta, " + curr_year);
}
function convertDate(t) {
var dateRE = /(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)([+\-]\d+):(\d+)/;
var match = t.match(dateRE);
var nums = [], item, date;
if (match) {
for (var i = 1; i < match.length; i++) {
nums.push(parseInt(match[i], 10));
}
if (nums[7] < 0) {
nums[8] *= -1;
}
return(new Date(nums[0], nums[1] - 1, nums[2], nums[3] - nums[6], nums[4] - nums[7], nums[5]));
}
}
});
} )( jQuery );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment