unserver-unify
Version:
191 lines (186 loc) • 7.99 kB
JavaScript
'use strict';
angular.module('bamboo').controller('poizHomeCtrl', function($scope, $location, TopicApi, $state, loginService, ApiService, $rootScope, deviceDetector) {
console.log('-- detected OS / browser / device infos as below');
console.log('os: ' + deviceDetector.os);
console.log('browser: ' + deviceDetector.browser);
console.log('device: ' + deviceDetector.device);
console.log('Desktop:' + deviceDetector.isDesktop());
console.log('Mobile:' + deviceDetector.isMobile());
console.log('Tablet:' + deviceDetector.isTablet());
$rootScope.fullwidthflag = true;
$scope.$on("$destroy", function() {
console.log('-- destroy --');
if ($state.current.name == 'index.advertise' || $state.current.name.indexOf('index.home') > -1) {} else {
$rootScope.fullwidthflag = false;
}
});
loginService.school = loginService.school || {};
//console.log( $location.host())
if (loginService.school.themecolors) {
$scope.coursebtmStyle = {
"background-color": loginService.school.themecolors.coursewidgetbtmcolor
};
}
this.searchCourses = function(q) {
$state.go('index.searchcourse', {
key: q
});
}
//$scope.newsbtmStyle = {"background-color":loginService.school.themecolors.newswidgetbtmcolor};
this.hosturl = $location.host();
$scope._SHOST = ApiService.SHOST;
$scope._RES = ApiService.RES;
$scope.appUrl = ApiService.APPURL;
this.companypath = ApiService.SHOST + '/company/';
this.productpath = ApiService.SHOST + '/product/';
this.defaultProductPhoto = "assets/images/product.png";
var _courses = [];
this.schoolurl = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/";
this.publicUrl = $scope.publicUrl = ApiService.SHOST + "/public/images/";
this.projectUrl = ApiService.SHOST + '/project/';
this.jobUrl = ApiService.SHOST + '/job/';
this.schoolIconUrl = $scope.schoolUrl = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/";
this.teacherPicUrl = ApiService.SHOST + "/photo/" + ApiService.RES + "/teachers/";
this.defaultCoursePhoto = ApiService.SHOST + "/public/images/videos.png";
if (loginService.school.coursephoto) {
this.defaultCoursePhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.coursephoto;
}
this.defaultNewsPhoto = ApiService.SHOST + "/public/images/details.png";
if (loginService.school.newsphoto) {
this.defaultNewsPhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.newsphoto;
}
this.defaultProjectPhoto = "/assets/images/project.png";
if (loginService.school.newsphoto) {
this.defaultProjectPhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.newsphoto;
}
this.defaultJobPhoto = "/assets/images/jobs.png";
if (loginService.school.newsphoto) {
this.defaultJobPhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.newsphoto;
}
this.defaultEventPhoto = ApiService.SHOST + "/public/images/details.png";
if (loginService.school.eventphoto) {
this.defaultEventPhoto = ApiService.SHOST + "/public/" + ApiService.RES + "/school/" + ApiService.gid + "/" + loginService.school.eventphoto;
}
this.defaultCompanyPhoto = "assets/images/company.png";
this.companypath = ApiService.SHOST + '/company/';
this.limits = {
courses: 4,
news: 4,
events: 4,
teachers: 4,
};
if (loginService.school.links) {
var links = [];
angular.forEach(loginService.school.links, function(link) {
if (link.enable) {
links.push(link)
}
})
this.links = links;
}
var self = this;
this.contentready = false;
this.inspectorFlag = false;
//console.log(loginService.user);
if (loginService.user && (loginService.user.is_admin || loginService.user.grole == 'admin' || loginService.user.grole == 'sysmanager' || loginService.user.grole == 'dinspector' || loginService.user.grole == 'sysinspector')) {
self.inspectorFlag = true;
}
$scope.getText = function(string) {
return string.replace(/<[^>]*>/g, "")
}
this.sortmethod; //visitercounter, position,score,update,created,recommend,top
var searchmethod;
// this.getRecommendCourse = function() {
// self.sortmethod = 'position';
// searchmethod = null;
// //getCoursebyCondition();
// }
// this.getHotestCourses = function() {
// self.sortmethod = "visitercounter";
// searchmethod = null;
// //getCoursebyCondition();
// }
this.changeapp = function(name) {
ApiService.changeToState(name);
var url = ApiService.APPURL + '/' + name.toLowerCase();
console.log(url);
window.open(url, '_blank');
}
function getHomeContent() {
if (loginService.school.numberOfNews) {
self.limits.news = loginService.school.numberOfNews;
}
var info = {
action: "gethomenewses",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success) {
var homedata = result.data.data;
self.contentready = true;
$scope._newses = homedata.newses;
$scope.events = homedata.events;
$scope._topics = homedata.blogs;
}
});
}
if (!loginService.isLogged && loginService.school.bslides && loginService.school.bslides.length > 0) {
$state.go('index.advertise');
} else {
if (!loginService.subDomain == "poiz") {
return $state.go('index.home');
}
$scope.slides = loginService.school.slides;
if (ApiService.DID && ApiService.department.slides && ApiService.department.slides.length > 0) {
var _slides = [];
angular.forEach(ApiService.department.slides, function(img, index) {
var info = {
img: img,
index: index
};
_slides.push(info);
})
$scope.slides = _slides;
}
$scope.myInterval = 5000;
$scope.AppLogoUrl = ApiService.SHOST + "/public/" + ApiService.RES + "/schoolapp/" + loginService.school._id + "/";
$scope.urls = loginService.school.urls;
//getHomeContent();
}
var info = {
action: "gethomecompanys",
}
ApiService.post("/business", info).then(function(result) {
if (result.data.success) {
console.log(result.data.data);
self.companys = result.data.data;
}
});
function getProducts() {
var info = {
limit: 8,
start: 0,
action: "getproducts"
};
ApiService.post("/business", info).then(function(result) {
console.log(result);
if (result.data.success) {
self.products = result.data.data.items;
}
})
}
getProducts();
function getBanners() {
ApiService.getSchoolInfo().then(function(school) {
$scope.banners = school.cphotos;
console.log($scope.banners)
});
}
getBanners();
this.searchShopCate = function(index){
console.log(index);
if($scope.banners[index]&&$scope.banners[index].link){
$rootScope.shopCat = $scope.banners[index].link;
}
$state.go('index.company');
}
});