131 lines
No EOL
5.5 KiB
JavaScript
131 lines
No EOL
5.5 KiB
JavaScript
var starter = angular.module('starter.services', []);
|
|
|
|
starter.factory('ApiService', ['$http', '$ionicPopup', '$ionicModal', function ($http, $ionicPopup, $ionicModal) {
|
|
return {
|
|
//login
|
|
login: function(username, password){
|
|
console.log('[JCE] [INFO]: atempting to login.');
|
|
//JCE Login shit:
|
|
var request = "https://mipo.jce.ac.il/index.php/site/login?_dc=1419773997764&formValues=%7B%22form_fields%22%3A%7B%22name%22%3A%22"+username+"%22%2C%22pwd%22%3A%22"+password+"%22%7D%7D&callback=JSON_CALLBACK";
|
|
|
|
return $http.get(request).then(function(resp) {
|
|
|
|
if(resp.data.guest == false){
|
|
window.localStorage['userInfo'] = JSON.stringify(resp.data);
|
|
console.log("[JCE] [INFO]: Success.");
|
|
return true;
|
|
}else{
|
|
var alertPopup = $ionicPopup.alert({
|
|
title: 'שם משתמש או סיסמא שגויים',
|
|
template: 'וודא שוב כי שם המשתמש והסיסמא הינם נכונים.'
|
|
});
|
|
console.log("[JCE] [INFO]: Wrong user/pass.");
|
|
return false;
|
|
}
|
|
|
|
}, function(err) {
|
|
var alertPopup = $ionicPopup.alert({
|
|
title: 'שגיאת רשת',
|
|
template: 'בדוק את החיבור לנתונים'
|
|
});
|
|
console.error('[JCE] [FATAL]: Network Error!', err);
|
|
return false;
|
|
})
|
|
return false;
|
|
},
|
|
update: function(){
|
|
var username = window.localStorage['username'];
|
|
var password = window.localStorage['password'];
|
|
var notes = window.localStorage['notes'] || null;
|
|
var grades = window.localStorage['grades'] || null;
|
|
var agudaPosts = window.localStorage['agudaPosts'] || null;
|
|
|
|
var request = "https://mipo.jce.ac.il/index.php/site/login?_dc=1419773997764&formValues=%7B%22form_fields%22%3A%7B%22name%22%3A%22"+username+"%22%2C%22pwd%22%3A%22"+password+"%22%7D%7D";
|
|
|
|
return $http.get(request).then(function(resp) {
|
|
|
|
if(resp.data.guest == false){
|
|
//Logged in
|
|
//
|
|
//Get Notes:
|
|
$http.get("https://mipo.jce.ac.il/index.php/site/studentMessages").then(function(resp) {
|
|
console.log('Success', resp);
|
|
console.log("[JCE] [INFO] : in update - Got JCE News!");
|
|
if(notes === null){
|
|
window.localStorage['newNotes'] = "true";
|
|
window.localStorage['notes'] = JSON.stringify(resp.data);
|
|
}else if(notes === JSON.stringify(resp.data)){
|
|
console.log("[JCE] [INFO] : in update - no new Notes");
|
|
}else{
|
|
window.localStorage['newNotes'] = "true";
|
|
window.localStorage['notes'] = JSON.stringify(resp.data);
|
|
}
|
|
|
|
}, function(err) {
|
|
console.error('[JCE] [INFO] : in update - can\'t get Notes', err);
|
|
});
|
|
|
|
//Get Grades
|
|
$http.get("https://mipo.jce.ac.il/index.php/site/studentGrades").then(function(resp) {
|
|
console.log('Success', resp);
|
|
console.log("[JCE] [INFO] : in update - Got Grades!");
|
|
if(grades === null){
|
|
window.localStorage['newGrades'] = "true";
|
|
window.localStorage['grades'] = JSON.stringify(resp.data);
|
|
}else if(grades === JSON.stringify(resp.data)){
|
|
console.log("[JCE] [INFO] : in update - no new Grades");
|
|
}else{
|
|
window.localStorage['newGrades'] = "true";
|
|
window.localStorage['grades'] = JSON.stringify(resp.data);
|
|
}
|
|
|
|
}, function(err) {
|
|
console.error('[JCE] [INFO] : in update - can\'t get Grades', err);
|
|
});
|
|
|
|
//Get Aguda Posts
|
|
$http.get("https://ajax.googleapis.com/ajax/services/feed/load?v=2.0&num=10&q=https://www.facebook.com/feeds/page.php?id=597726260353610%26format=rss20").then(function(resp) {
|
|
console.log('Success', resp);
|
|
console.log("[JCE] [INFO] : in update - Got Aguda from Facebook!");
|
|
if(agudaPosts === null){
|
|
window.localStorage['newAguda'] = "true";
|
|
window.localStorage['agudaPosts'] = JSON.stringify(resp.data.responseData.feed.entries);
|
|
}else if(agudaPosts === JSON.stringify(resp.data.responseData.feed.entries)){
|
|
console.log("[JCE] [INFO] : in update - no new newAguda");
|
|
}else{
|
|
window.localStorage['newAguda'] = "true";
|
|
window.localStorage['agudaPosts'] = JSON.stringify(resp.data.responseData.feed.entries);
|
|
}
|
|
|
|
}, function(err) {
|
|
console.error('[JCE] [INFO] : in update - can\'t get Aguda Posts from Facebook', err);
|
|
});
|
|
|
|
//Get Calendar
|
|
//https://mipo.jce.ac.il/index.php/site/timetable
|
|
$http.get("https://mipo.jce.ac.il/index.php/site/timetable").then(function(resp) {
|
|
console.log('Success', resp);
|
|
console.log("[JCE] [INFO] : in update - Got Calendar!");
|
|
window.localStorage['calendar'] = JSON.stringify(resp.data);
|
|
|
|
|
|
}, function(err) {
|
|
console.error('[JCE] [INFO] : in update - can\'t get Calendar', err);
|
|
});
|
|
|
|
}else{
|
|
window.localStorage['loggedIn'] = false;
|
|
|
|
return false;
|
|
}
|
|
|
|
}, function(err) {
|
|
window.localStorage['loggedIn'] = false;
|
|
return false;
|
|
})
|
|
return false;
|
|
|
|
}
|
|
|
|
};
|
|
}]); |