few updates with fb integration and some other changes in user and supports data to android

Conflicts:
	vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb
This commit is contained in:
Harry Bomrah 2013-06-14 16:08:30 +08:00 committed by saurabhbhatia
parent ac58b993c2
commit 5f9190db39
14 changed files with 258 additions and 278 deletions

View File

@ -41,12 +41,11 @@ var sortDescending = function(a, b) {
Array.prototype.indexOfObject = function(object){ Array.prototype.indexOfObject = function(object){
for(i = 0;i < this.length; i++){ for(i = 0;i < this.length; i++){
if(this[i] === object){ if(this[i] === object)
break; break;
}
} }
return i; return i;
}; }
jQuery.ajax = (function(_ajax){ jQuery.ajax = (function(_ajax){
@ -137,7 +136,7 @@ var orbitDesktop = function(dom){
o.getlocation(); o.getlocation();
$.getJSON("/desktop/get_desktop_settings",{"get":"desktop","desktopid":o.desktopId},function(desktopSettings){ $.getJSON("/desktop/get_desktop_settings",{"get":"desktop","desktopid":o.desktopId},function(desktopSettings){
if(desktopSettings){ if(desktopSettings){
if(desktopSettings.theme!=="custom"){ if(desktopSettings.theme!="custom"){
theme = desktopSettings.theme; theme = desktopSettings.theme;
}else{ }else{
theme = "4f8d3f493b67fcd05f086359"; theme = "4f8d3f493b67fcd05f086359";
@ -164,17 +163,17 @@ var orbitDesktop = function(dom){
$(o.contentHolder).empty().load("/desktop/desktop",function(){ $(o.contentHolder).empty().load("/desktop/desktop",function(){
o.desktopData["d_desktop"] = ""; o.desktopData["d_desktop"] = "";
o.initializeDesktop("d_desktop","",false); o.initializeDesktop("d_desktop","",false);
}); })
}else{ }else{
o.customPage(custom_load); o.customPage(custom_load);
} }
}); });
}); })
}; };
}; };
this.customPage = function(customload){ this.customPage = function(customload){
customload = customload.replace("#",""); customload = customload.replace("#","");
if(customload.search("-") !== -1){ if(customload.search("-") != -1){
customload = customload.split("-"); customload = customload.split("-");
o.menu_item($(".docklist a[custom-load="+customload[0]+"]"),true,customload[1]); o.menu_item($(".docklist a[custom-load="+customload[0]+"]"),true,customload[1]);
}else{ }else{
@ -189,7 +188,7 @@ var orbitDesktop = function(dom){
$('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css)); $('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css));
o.loadWallpaper(); o.loadWallpaper();
o.loadIconCache(); o.loadIconCache();
}); })
}; };
this.getlocation = function(){ this.getlocation = function(){
@ -202,11 +201,11 @@ var orbitDesktop = function(dom){
}); });
o.locationdata.formatted_address = data.results[0].formatted_address; o.locationdata.formatted_address = data.results[0].formatted_address;
}); });
}; }
var locationError = function(){ var locationError = function(){
o.notify("Unable to find your location!","alert"); o.notify("Unable to find your location!","alert");
}; }
if (navigator.geolocation) { if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(locationSuccess,locationError); navigator.geolocation.getCurrentPosition(locationSuccess,locationError);
@ -215,7 +214,7 @@ var orbitDesktop = function(dom){
o.notify("Your browser does not support Geolocation!","alert"); o.notify("Your browser does not support Geolocation!","alert");
} }
}; }
this.bindDesktopEvents = function(){ //this function will bind the global handlers to thd desktop, for example doc this.bindDesktopEvents = function(){ //this function will bind the global handlers to thd desktop, for example doc
$(".docklist a").click(function(){ $(".docklist a").click(function(){
@ -261,7 +260,7 @@ var orbitDesktop = function(dom){
error:function(){ error:function(){
o.notify("Please try again later!","imp"); o.notify("Please try again later!","imp");
} }
}; }
$(this).ajaxSubmit(options); $(this).ajaxSubmit(options);
return false; return false;
}); });
@ -288,16 +287,15 @@ var orbitDesktop = function(dom){
url : $e.attr("href"), url : $e.attr("href"),
success : function(data){ success : function(data){
if(typeof data == "string"){ if(typeof data == "string"){
if(ca){ if(ca)
$(ca).html(data); $(ca).html(data);
} else { else{
o.layout_data(data); o.layout_data(data);
// $("div[container=true]").html(data); // $("div[container=true]").html(data);
} }
} }
if(exe){ if(exe)
window.o[o.data_method][exe](data,$e); window.o[o.data_method][exe](data,$e);
}
if(t == "delete"){ if(t == "delete"){
if($e.attr("delete-item")=="true"){ if($e.attr("delete-item")=="true"){
var li_to_delete = $e.parentsUntil("li[item=true]").find("li[item=true]"); var li_to_delete = $e.parentsUntil("li[item=true]").find("li[item=true]");
@ -306,7 +304,7 @@ var orbitDesktop = function(dom){
} }
} }
}); });
}; }
if($e.attr("confirm-message")){ if($e.attr("confirm-message")){
o.confirm({ o.confirm({
buttons : ["Yes","No"], buttons : ["Yes","No"],
@ -316,7 +314,7 @@ var orbitDesktop = function(dom){
if(value){ if(value){
a(); a();
} }
}); })
}else{ }else{
a(); a();
} }
@ -324,8 +322,11 @@ var orbitDesktop = function(dom){
}); });
$(window).resize(function(){ $(window).resize(function(){
$('.tinycanvas').tinyscrollbar_update('relative'); // var ww = $(window).width();
// $("img#thmbackground").attr({"width":ww});
// if( $('.tinycanvas').length > 0 ){
$('.tinycanvas').tinyscrollbar_update('relative');
// }
if($(o.contentHolder).find("div.app_frame").length > 0){ if($(o.contentHolder).find("div.app_frame").length > 0){
$(o.contentHolder).find("div.app_frame").each(function(){ $(o.contentHolder).find("div.app_frame").each(function(){
var app_holder_height = $(this).height() - 72; var app_holder_height = $(this).height() - 72;
@ -348,10 +349,11 @@ var orbitDesktop = function(dom){
var split = function( val ) { var split = function( val ) {
return val.split( /,\s*/ ); return val.split( /,\s*/ );
}; }
var extractLast = function( term ) { var extractLast = function( term ) {
return split( term ).pop(); return split( term ).pop();
}; }
// $("body").on("keydown","*[autocomplete]", function( event ) { // $("body").on("keydown","*[autocomplete]", function( event ) {
// var autocompleteList = $(this).attr("autocomplete-list"); // var autocompleteList = $(this).attr("autocomplete-list");
@ -400,7 +402,7 @@ var orbitDesktop = function(dom){
x = 0; x = 0;
temp_div.append(column); temp_div.append(column);
} }
}); })
if(x != 0){ if(x != 0){
temp_div.append(column); temp_div.append(column);
} }
@ -416,7 +418,7 @@ var orbitDesktop = function(dom){
column.append(ul); column.append(ul);
x++; x++;
temp_div.append(column); temp_div.append(column);
}); })
total_width = (!isNaN(base_width)) ? (base_width + gutter*2 +1) * total_columns : null; total_width = (!isNaN(base_width)) ? (base_width + gutter*2 +1) * total_columns : null;
} }
break; break;
@ -425,11 +427,11 @@ var orbitDesktop = function(dom){
} }
// total_width = (!isNaN(base_width) ? ( base_width + 12 ) * total_columns : null); // total_width = (!isNaN(base_width) ? ( base_width + 12 ) * total_columns : null);
return { return {
"markup":temp_div[0].innerHTML, "markup":temp_div.html(),
"width":total_width, "width":total_width,
"total":entries.length "total":entries.length
}; };
}; }
var check_container = $("<div></div>").html(h).find("div[container=true]"); var check_container = $("<div></div>").html(h).find("div[container=true]");
if(check_container.length > 0){ if(check_container.length > 0){
$("div[container=true]") $("div[container=true]")
@ -445,7 +447,7 @@ var orbitDesktop = function(dom){
$("div[container=true]") $("div[container=true]")
.find("div.tinycanvas") .find("div.tinycanvas")
.prepend('<div class="scrollbar sb_h"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>'); .prepend('<div class="scrollbar sb_h"><div class="track"><div class="thumb thmc2"><div class="end"></div></div></div></div>');
var f = o.layout_data.generate_layout_html(h); var f = o.layout_data.generate_layout_html(h)
$("div[container=true] div.overview").html(f.markup); $("div[container=true] div.overview").html(f.markup);
var settings = {main : ".tinycanvas"}; var settings = {main : ".tinycanvas"};
var tsettings = {}; var tsettings = {};
@ -464,7 +466,7 @@ var orbitDesktop = function(dom){
o.pagination(pagination_link,pagination_variable,page_no); o.pagination(pagination_link,pagination_variable,page_no);
} }
} }
}; }
} }
// call other functions here // call other functions here
o.tinyscrollbar_ext(settings,tsettings); o.tinyscrollbar_ext(settings,tsettings);
@ -472,8 +474,7 @@ var orbitDesktop = function(dom){
o.autocomplete(); o.autocomplete();
o.use_select2(); o.use_select2();
o.check_simple_layout(); o.check_simple_layout();
}; }
this.paging = true; this.paging = true;
this.pagination = function(link,variable,page_no){ this.pagination = function(link,variable,page_no){
var retvalue = null; var retvalue = null;
@ -496,7 +497,7 @@ var orbitDesktop = function(dom){
} }
} }
}); });
}; }
this.insert_new_column = function(index){ this.insert_new_column = function(index){
var column_container = $("div[container=true] .overview"),layout = column_container.attr("content-layout"),base_width = parseInt(column_container.attr("base-width")),column; var column_container = $("div[container=true] .overview"),layout = column_container.attr("content-layout"),base_width = parseInt(column_container.attr("base-width")),column;
@ -506,15 +507,16 @@ var orbitDesktop = function(dom){
switch(layout){ switch(layout){
case "datalist": case "datalist":
column = $("<div class='column type_column' style='width:"+base_width+"px'></div"); column = $("<div class='column type_column' style='width:"+base_width+"px'></div");
break; break;
case "column": case "column":
column = $("<div class='column type_column' style='width:"+base_width+"px'></div"); column = $("<div class='column type_column' style='width:"+base_width+"px'></div");
break; break;
default: default:
return false; return false;
break;
} }
if(index == 0){ if(index == 0){
column.insertBefore(previous_column); column.insertBefore(previous_column)
}else{ }else{
column.insertAfter(previous_column); column.insertAfter(previous_column);
} }
@ -522,29 +524,29 @@ var orbitDesktop = function(dom){
o.tinyscrollbar_ext({ o.tinyscrollbar_ext({
main : ".tinycanvas", main : ".tinycanvas",
fill : base_width * total_columns fill : base_width * total_columns
}); })
return column; return column;
}; }
this.remove_column = function(index){ this.remove_column = function(index){
var column_container = $("div[container=true] .overview"),layout = column_container.attr("content-layout"),column = column_container.find(".column").eq(index),base_width = parseInt(column_container.attr("base-width")); var column_container = $("div[container=true] .overview"),layout = column_container.attr("content-layout"),column = column_container.find(".column").eq(index),base_width = parseInt(column_container.attr("base-width"));
if(column.length == 0){ return false; } if(column.length == 0)return false;
switch(layout){ switch(layout){
case "datalist": case "datalist":
break;
case "column": case "column":
break; break;
default: default:
return false; return false;
break;
} }
column.remove(); column.remove();
var total_columns = column_container.find(".column").length; var total_columns = column_container.find(".column").length;
o.tinyscrollbar_ext({ o.tinyscrollbar_ext({
main : ".tinycanvas", main : ".tinycanvas",
fill : base_width * total_columns fill : base_width * total_columns
}); })
return column; return column;
}; }
this.menu_item = function(dom,customload,submenuitem){ this.menu_item = function(dom,customload,submenuitem){
if(!customload)customload=false; if(!customload)customload=false;
@ -645,12 +647,17 @@ var orbitDesktop = function(dom){
} }
if(dom.length == 0) if(dom.length == 0)
o.layout_data(data); o.layout_data(data);
// $('*[content-type=menu] a').removeClass('thmc1 thmtxt active');
// dom.addClass('thmc1 thmtxt active');
} }
this.initializeDesktop = function(target,url,cache){ //this is for initializing main desktops that are sections and tiles this.initializeDesktop = function(target,url,cache){ //this is for initializing main desktops that are sections and tiles
target = (!target) ? 'desktop' : target; target = (!target) ? 'desktop' : target;
var bindHandlers = function(){ // this function will bind all the handlers in the desktop var bindHandlers = function(){ // this function will bind all the handlers in the desktop
var dragged = null,draggable,lastpos = []; var dragged = null,draggable,lastpos = [];
/* Hotfix - Part 1 */
// var items = $(".gridster ul li");
// items.detach();
o.gridvar = $(".grid ul").find("> li ") o.gridvar = $(".grid ul").find("> li ")
.mousedown(function(e){ .mousedown(function(e){
@ -673,6 +680,15 @@ var orbitDesktop = function(dom){
dragged.addClass("noClick"); dragged.addClass("noClick");
}, },
stop: function(event, ui){ stop: function(event, ui){
// for (var i = 1; i <= 30; i++) {
// // var celement = $(".grid ul .widget[data-col="+i+"]:last");
// $(".grid ul .widget[data-col="+i+"]").each(function(){
// var pos = $(this).position();
// if(pos && (pos.top + $(this).height() + 6) > 550){
// revertbacktiles();
// }
// });
// }
$('.tinycanvas').tinyscrollbar_update('relative'); $('.tinycanvas').tinyscrollbar_update('relative');
var newpos = o.gridvar.serialize(); var newpos = o.gridvar.serialize();
$.post("/desktop/newpositions",{"newpositions":newpos}); $.post("/desktop/newpositions",{"newpositions":newpos});
@ -681,6 +697,16 @@ var orbitDesktop = function(dom){
}) })
.data('gridster'); .data('gridster');
/* Hotfix - Part 2 */
// $.each(items , function (i, e) {
// var item = $(this);
// var columns = parseInt(item.attr("data-sizex"));
// var rows = parseInt(item.attr("data-sizey"));
// var col = parseInt(item.attr("data-col"));
// var row = parseInt(item.attr("data-row"));
// o.gridvar.add_widget(item, columns, rows, col, row);
// });
var revertbacktiles = function(){ var revertbacktiles = function(){
lastpos.push({"col":"","row":""}); lastpos.push({"col":"","row":""});
$(".grid ul li").each(function(i){ $(".grid ul li").each(function(i){
@ -689,6 +715,7 @@ var orbitDesktop = function(dom){
} }
var remove_empty_columns = function(){ var remove_empty_columns = function(){
for (var i = 1; i <= 30; i++) { for (var i = 1; i <= 30; i++) {
// var celement = $(".grid ul .widget[data-col="+i+"]:last");
$(".grid ul .widget[data-col="+i+"]").each(function(){ $(".grid ul .widget[data-col="+i+"]").each(function(){
}); });
@ -708,6 +735,7 @@ var orbitDesktop = function(dom){
dragged.removeClass("noClick"); dragged.removeClass("noClick");
}); });
o.appname_substr('.gridster li');
o.simple_drop_down(); o.simple_drop_down();
o.tinyscrollbar_ext({ o.tinyscrollbar_ext({
main: '.tinycanvas' main: '.tinycanvas'
@ -726,7 +754,12 @@ var orbitDesktop = function(dom){
$.each(tiles,function(i,tile){ $.each(tiles,function(i,tile){
var shape = tile.shape.split(" "); var shape = tile.shape.split(" ");
// if(tile.title == "Weather")console.log("Big - row : " + tile.row + ", col : "+ tile.column);
// if(tile.title == "Google Scholar")console.log("Scholar - row : " + tile.row + ", col : "+ tile.column);
// if(total_x % 2 != 0)
// row = row - y;
// if(i == 7)tile.row = null;
if(tile.row){ if(tile.row){
row = tile.row; row = tile.row;
col = tile.column; col = tile.column;
@ -753,9 +786,9 @@ var orbitDesktop = function(dom){
var f = (tile.fullsize?"fullsize":null); var f = (tile.fullsize?"fullsize":null);
if(tile.data_category == "app"){ if(tile.data_category == "app"){
$li = $('<li data-id="'+tile.id+'" class="app" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile.data_content+'" class="appicon" onclick="return false;" data-url="'+tile.link+'"><img src="'+tile.icon+'" alt="" ></a><h1 class="appname thmtxt text_ofl"><span>'+tile.title+'</span></h1></li>'); $li = $('<li data-id="'+tile.id+'" class="app" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-title="'+tile.title+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile.data_content+'" class="appicon" onclick="return false;" data-url="'+tile.link+'"><img src="'+tile.icon+'" alt="" ></a><h1 class="appname thmtxt">'+tile.title+'</h1></li>');
} else { } else {
$li = $('<li data-id="'+tile.id+'" class="widget '+f+'" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'" js-link="'+tile.js[0].url+'" css-link="'+tile.css.url+'"><span class="tile '+tilecolor+' '+op+'"></span><div class="appholder"></div><h1 class="appname thmtxt text_ofl"><span>'+tile.title+'</span></h1></li>'); $li = $('<li data-id="'+tile.id+'" class="widget '+f+'" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'" js-link="'+tile.js[0].url+'" css-link="'+tile.css.url+'"><span class="tile '+tilecolor+' '+op+'"></span><div class="appholder"></div><h1 class="appname thmtxt">'+tile.title+'</h1></li>');
} }
@ -794,6 +827,8 @@ var orbitDesktop = function(dom){
}); });
} }
if(cache){ if(cache){
bindHandlers();
o.initializeWidgets();
$("#desktop #section_list").empty(); $("#desktop #section_list").empty();
$.each(o.sectionList,function(i,section){ $.each(o.sectionList,function(i,section){
var tempstyle=""; var tempstyle="";
@ -803,7 +838,8 @@ var orbitDesktop = function(dom){
} }
$("#desktop #section_list").append($('<li class="section_name" '+tempstyle+'><a class="admtxt hp hh1" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>')); $("#desktop #section_list").append($('<li class="section_name" '+tempstyle+'><a class="admtxt hp hh1" onclick="return false;" href="'+section._id+'" >'+section.name+'</a></li>'));
}); });
loadTiles(o.sectionId); bindSecondaryHandlers();
o.simple_drop_down();
}else{ }else{
loadSectionList(); loadSectionList();
loadTiles(o.sectionId); loadTiles(o.sectionId);
@ -844,12 +880,18 @@ var orbitDesktop = function(dom){
$result.empty().show(); $result.empty().show();
$applist.hide(); $applist.hide();
// searchArray = $elements.filter(":containsi("+$(this).val()+")").clone(1,1);
// searchArray = $('#app_list').find('[data-title*="'+query+'"]').clone(1,1);
searchArray = $elements.filter(function(){ searchArray = $elements.filter(function(){
var matcher = new RegExp(query, "i"); var matcher = new RegExp(query, "i");
return matcher.test( $(this).find('.appname span')[0].innerHTML ); return matcher.test( $(this).attr('data-title') );
}).clone(1,1); }).clone(1,1);
if(searchArray.length > 0){ if(searchArray.length > 0){
// searchArray.each(function(){
// $(this).hide("fold","fast");
// })
// $("#app_manager #seperator").show();
var i = 0, c = 1; // c for numbers of columns var i = 0, c = 1; // c for numbers of columns
var $column; var $column;
searchArray.each(function(){ searchArray.each(function(){
@ -1049,6 +1091,7 @@ var orbitDesktop = function(dom){
} }
}); });
elementSetting(); elementSetting();
o.appname_substr('#group_wrapper .element');
o.check_simple_layout(); o.check_simple_layout();
} }
var elementSettingsData = {}; var elementSettingsData = {};
@ -1072,7 +1115,7 @@ var orbitDesktop = function(dom){
var $app; var $app;
count++; count++;
elementSettingsData[app.id] = {"sections" : app.sections}; elementSettingsData[app.id] = {"sections" : app.sections};
$app = $('<div class="element w1 h1 thmc2" data-type="'+app.data_category+'" data-title="'+app.title+'" data-author="'+app.author+'" data-version="'+app.version+'" data-update="'+app.last_update+'" data-id="'+app.id+'" data-text-color="'+app.text_color+'" data-background="'+app.background+'" ><span class="tile thmc2"></span><a href="'+app.id+'" class="appicon"><img src="'+app.icon+'" alt="" onclick="return false;"></a><h1 class="appname thmtxt text_ofl"><span>'+app.title+'</span></h1></div>'); $app = $('<div class="element w1 h1 thmc2" data-type="'+app.data_category+'" data-title="'+app.title+'" data-author="'+app.author+'" data-version="'+app.version+'" data-update="'+app.last_update+'" data-id="'+app.id+'" data-text-color="'+app.text_color+'" data-background="'+app.background+'" ><span class="tile thmc2"></span><a href="'+app.id+'" class="appicon"><img src="'+app.icon+'" alt="" onclick="return false;"></a><h1 class="appname thmtxt">'+app.title+'</h1></div>');
if( count > 4 ){ if( count > 4 ){
count = 1, colindex+=1; count = 1, colindex+=1;
$('#app_list').append('<div class="g_col g_col_w1 col'+ colindex +'"/>'); $('#app_list').append('<div class="g_col g_col_w1 col'+ colindex +'"/>');
@ -1090,146 +1133,8 @@ var orbitDesktop = function(dom){
loadApps(); loadApps();
// } // }
}; };
this.t = {}
this.initializeSectionsManager = function(target,url,cache){ // this is init function for section manager
var elementParent,element,slabel;
var bindHandlers = function(){ // this is bind handler for section manager page
var groupWrapperWidth = 0;
$("#sections .group").each(function(){groupWrapperWidth+=$(this).width();})
groupWrapperWidth+=200;
groupWrapperHeight = $(".group").height() + 20;
$("#group_wrapper").width(groupWrapperWidth);
var sortingoptions = {
start:function(){
slabel = $(this).parent().siblings('.section_label');
slabel.find('li:hidden').stop(1,1).fadeIn(500);
},
stop:function(){
slabel.find('li:not(:nth-child(1))').stop(1,1).fadeOut(500);
}
}
$("#sections #group_wrapper .appgroup").sortable(sortingoptions);
$("#sections .section_label li:not(:nth-child(1))").droppable({
drop:function(event, ui){
elementParent = ui.draggable.parents('.group');
elementParentUl = ui.draggable.parents(".appgroup");
var $item = $( this ),
$list = $( '#'+$item.data("category") );
if($list.children('.element').length>=24){
o.notify("Section is full.","alert");
}else{
ui.draggable.hide('fast',function(){
var newul = false;
if($list.find("ul").length == 0){
$list.append(('<ul class="appgroup w1" ></ul>'));
newul = true;
}else if($list.find("ul:eq(0) li").length == 7){
$list.append(('<ul class="appgroup w1" ></ul>'));
newul = true;
}
$(this).appendTo($list.find("ul:last")).fadeIn();
var next_group = elementParent.find(".grp ul").eq(elementParentUl.index() + 1);
if(elementParentUl.index() == 0){
if(elementParentUl.find("li").length < 7){
var element_to_shift = next_group.find("li").eq(0);
if(element_to_shift.length != 0){
elementParentUl.append(element_to_shift);
}
}
}
if(next_group.find("li").length == 0){
next_group.remove();
}
if(elementParentUl.find("li").length == 0){
elementParentUl.remove();
}
if(elementParent.find(".grp ul").length == 0){
elementParent.find(".grp").addClass("no_app");
}else{
elementParent.find(".grp").removeClass("no_app");
}
if(newul){
$("#sections #group_wrapper .appgroup").sortable(sortingoptions);
$list.removeClass("no_app");
}
});
$.post("/desktop/save_desktop_settings",{"save":"appnewsection","appid":ui.draggable.attr("id"),"newsectionid":$(this).data("content"),"desktopid":o.desktopId});
// if(o.sectionId == $(this).data("content") || o.sectionId == elementParent.attr("id")){
o.desktopData["home"]="";
// }
}
$(this).find('span.tile').addClass('op06',400);
},
over:function(){
$(this).find('span.tile').removeClass('op06');
},
out:function(){
$(this).find('span.tile').addClass('op06');
},
accept: '.to_drop'
});
o.tinyscrollbar_ext({
main: '.tinycanvas',
});
};
var loadApps = function(){ // this loads apps from db to in each sections
$.getJSON("/desktop/getapplist",{desktopid:o.desktopId},function(appss){
var $group,$lii,$li;
var z=0;
for(section in o.sectionList){
$group = $('<div class="group" id="'+o.sectionList[section]._id+'"><div class="section_label"><ul class="section_grp"></ul></div><div id="section'+(z+1)+'" class="grp no_app" style="min-width:120px;"></div></div>');
for(x=0;x<4;x++){
if(x==0){
$li = $('<li class="element w1 h1 hp vp thmtxt" data-content="'+o.sectionList[z]._id+'"><span class="tile thmc1"></span><span class="thmtxt">'+o.sectionList[z].name+'</span></li>');
$group.find("ul.section_grp").append($li);
}
if(z!=x){
$lii = $('<li class="element w1 h1 hp vp thmtxt" style="display: none;" data-category="section'+(x+1)+'" data-content="'+o.sectionList[x]._id+'"><span class="tile thmc2 op06"></span><span class="thmtxt">'+o.sectionList[x].name+'</span></li>');
$group.find(".section_grp").append($lii);
}
}
z++;
$("#group_wrapper").append($group);
}
var x = 0;
$.each(appss,function(i,apps){
x = 0;
$.each(apps,function(y,app){
x++;
if(x == 1){
$ul = $('<ul class="appgroup w1" ></ul>');
}
$li = $('<li class="element to_drop w1 hh2 hp vp" data-category="'+app.data_category+'" data-content="'+app.data_content+'" id="'+app._id+'"><div class="appicon"><img src="'+o.iconPath+app.data_content+'.png" class="" width="30" /></div><h1 class="appname thmtxth text_ofl"><span>'+app.title+'</span></h1></li>');
$ul.append($li);
if(x == 7){
$("#group_wrapper #section"+(i+1)).append($ul);
$("#group_wrapper #section"+(i+1)).removeClass("no_app")
x = 0;
}
})
if(x != 0){
$("#group_wrapper #section"+(i+1)).append($ul);
$("#group_wrapper #section"+(i+1)).removeClass("no_app")
}
})
bindHandlers();
})
}
if(cache)
bindHandlers();
else
loadApps();
};
this.initializeSettings = function(target,url,cache){ //this is to initialize setting page this.initializeSettings = function(target,url,cache){ //this is to initialize setting page
this.initializeSettings.account = function(data){} this.initializeSettings.account = function(data){}
@ -1286,6 +1191,8 @@ var orbitDesktop = function(dom){
} }
}); });
}); });
o.single_select();
o.simple_tab();
$('.color-picker').miniColors({ $('.color-picker').miniColors({
change:function(hex){ change:function(hex){
@ -1336,10 +1243,7 @@ var orbitDesktop = function(dom){
$(".stock_wallpaper .ssl_item").click(function(){ $(".stock_wallpaper .ssl_item").click(function(){
var wallpapername = $(this).find("img").attr("alt"); var wallpapername = $(this).find("img").attr("alt");
o.changeWallpaper(wallpapername); o.changeWallpaper(wallpapername);
}); })
o.single_select();
o.simple_tab();
} }
var loadthmc = function(){ // a general function to load the themecolor in color selector var loadthmc = function(){ // a general function to load the themecolor in color selector
$('.color-picker').each(function(){ $('.color-picker').each(function(){
@ -1362,19 +1266,19 @@ var orbitDesktop = function(dom){
color = $('#theme_preview_area .'+cc).css(hex); color = $('#theme_preview_area .'+cc).css(hex);
$(this).miniColors("value", o.rgb2hex(color)); $(this).miniColors("value", o.rgb2hex(color));
}); });
}; }
$.getJSON("/desktop/get_desktop_settings",{"get":"theme","desktopid":o.desktopId},function(theme){ $.getJSON("/desktop/get_desktop_settings",{"get":"theme","desktopid":o.desktopId},function(theme){
$('#st1 .theme_list [id='+theme+']') $('#st1 .theme_list [id='+theme+']')
.addClass("thmc1 active", 300) .addClass("thmc1 active", 300)
.find("span") .find("span")
.addClass("thmtxt"); .addClass("thmtxt");
bindHandlers();
loadthmc();
})
bindHandlers();
loadthmc();
});
} }
this.initializeSettings.connection = function(){ this.initializeSettings.connection = function(){
@ -1449,17 +1353,17 @@ var orbitDesktop = function(dom){
}) })
} }
$.getJSON("/otheraccounts/getaccounts",function(accounts){ // $.getJSON("/otheraccounts/getaccounts",function(accounts){
$.each(accounts,function(i,account){ // $.each(accounts,function(i,account){
$ul = $("#"+account.type+"_connection"); // $ul = $("#"+account.type+"_connection");
$ul.find("input[type=text]").replaceWith("<div class='c_info usrnm'>"+account.email+"</div>") // $ul.find("input[type=text]").replaceWith("<div class='c_info usrnm'>"+account.email+"</div>")
$ul.find("input[type=password]").replaceWith("<div class='c_info pwd'>&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;</div>"); // $ul.find("input[type=password]").replaceWith("<div class='c_info pwd'>&#8226;&#8226;&#8226;&#8226;&#8226;&#8226;</div>");
$ul.find("a[for=new]").text("Edit").attr("for","edit"); // $ul.find("a[for=new]").text("Edit").attr("for","edit");
$ul.find("a[for=delete]").show(); // $ul.find("a[for=delete]").show();
$ul.find(".c_status").text("Connected").addClass("c_status_on"); // $ul.find(".c_status").text("Connected").addClass("c_status_on");
}) // })
bindHandlers(); // bindHandlers();
}) // })
} }
@ -1582,6 +1486,7 @@ var orbitDesktop = function(dom){
}else{ }else{
li.find(".not_status").html("Install on <a href='addthis' for='"+o.sectionList[0]._id+"' style='text-decoration:underline;'>"+o.sectionList[0].name+"</a> <a href='addthis' for='"+o.sectionList[1]._id+"' style='text-decoration:underline;'>"+o.sectionList[1].name+"</a> <a href='addthis' for='"+o.sectionList[2]._id+"' style='text-decoration:underline;'>"+o.sectionList[2].name+"</a> <a href='addthis' for='"+o.sectionList[3]._id+"' style='text-decoration:underline;'>"+o.sectionList[3].name)+"</a>"; li.find(".not_status").html("Install on <a href='addthis' for='"+o.sectionList[0]._id+"' style='text-decoration:underline;'>"+o.sectionList[0].name+"</a> <a href='addthis' for='"+o.sectionList[1]._id+"' style='text-decoration:underline;'>"+o.sectionList[1].name+"</a> <a href='addthis' for='"+o.sectionList[2]._id+"' style='text-decoration:underline;'>"+o.sectionList[2].name+"</a> <a href='addthis' for='"+o.sectionList[3]._id+"' style='text-decoration:underline;'>"+o.sectionList[3].name)+"</a>";
} }
//console.log(section_names);
column.find("ul").append(li); column.find("ul").append(li);
if(counter%4==0){ if(counter%4==0){
$("#apps_store #widget_list").append(column); $("#apps_store #widget_list").append(column);
@ -1609,9 +1514,9 @@ var orbitDesktop = function(dom){
this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper this.loadWallpaper = function(wallpaper){ // this is to load new wallpaper
wallpapernm = (!wallpaper) ? o.themesettings.background : wallpaper; wallpapernm = (!wallpaper) ? o.themesettings.background : wallpaper;
if(!wallpaper){ if(!wallpaper){
$("#thmbackground").css("background-image","url(/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm+")"); $("#thmbackground").attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm);
} else { } else {
$("#thmbackground").css("background-image","url("+o.wallpaperPath+wallpaper+")"); $("#thmbackground").attr("src",o.wallpaperPath+wallpaper);
} }
}; };
@ -1627,11 +1532,11 @@ var orbitDesktop = function(dom){
loading = '<div class="thmtxt o-loading"><i class="icon-spin icon-spinner"></i> Loading</div>'; loading = '<div class="thmtxt o-loading"><i class="icon-spin icon-spinner"></i> Loading</div>';
$.each(elements,function(){ $.each(elements,function(){
var widget = $(this), var widget = $(this),
widget_holder = $(this).find('.appholder'), widget_holder = $(this).find('.appholder')
widget_style = (widget.find('.widget_style').length > 0) ? '' : '<link class="widget_style" rel="stylesheet" href="'+widget.attr("css-link")+'" type="text/css" />'; // widget_style = (widget.find('.widget_style').length > 0) ? '' : '<link class="widget_style" rel="stylesheet" href="'+widget.attr("css-link")+'" type="text/css" />';
if(widget.attr("data-category")=="widget"){ if(widget.attr("data-category")=="widget"){
var widgetname = widget.attr("data-content"); var widgetname = widget.attr("data-content");
widget_holder.before(widget_style).empty(); // widget_holder.before(widget_style).empty();
$.getScript(widget.attr("js-link")).done(function(){ $.getScript(widget.attr("js-link")).done(function(){
// widget.find(".appholder").load(widget.attr("data-content")); // widget.find(".appholder").load(widget.attr("data-content"));
$.ajax({ $.ajax({
@ -1707,7 +1612,6 @@ var orbitDesktop = function(dom){
// ** not sure to update canvas here ( $.tinyscrollbar_update() ) // ** not sure to update canvas here ( $.tinyscrollbar_update() )
var sw = 0, var sw = 0,
$simple_layout = $('#content .overview[content-layout=simple]'); $simple_layout = $('#content .overview[content-layout=simple]');
if($simple_layout.find(".s_column").length > 0){ if($simple_layout.find(".s_column").length > 0){
$simple_layout.each(function(){ $simple_layout.each(function(){
$(this).find(".s_column").filter(":visible").each(function(){ $(this).find(".s_column").filter(":visible").each(function(){
@ -1716,6 +1620,9 @@ var orbitDesktop = function(dom){
$simple_layout.css('width',sw); $simple_layout.css('width',sw);
}); });
} }
// if($simple_layout.find(".s_column").length > 0){
// $simple_layout.css('width',sw);
// }
}; };
this.simple_drop_down = function(){ this.simple_drop_down = function(){
// simple dropdown menu // simple dropdown menu
@ -1734,64 +1641,46 @@ var orbitDesktop = function(dom){
}; };
this.simple_tab = function(){ this.simple_tab = function(){
// tab // tab
var active = 'thmc2 thmtxt', var $anchor = $('.s_tab a[href*=#]'),
normal = 'admtxt admbg'; $tabcontent = $('.st_c');
$('.s_tab').each(function(){ $anchor.each(function(){
var $anchor = $(this).find('a[href*=#]'), $(this).click(function(){
$current_tab = $anchor.filter('[data-active="true"]'); var target = $(this).attr('href');
$anchor.removeClass('thmc2 thmtxt admtxt admbg').addClass('admtxt admbg');
// initialize $(this).toggleClass('thmc2 thmtxt admtxt admbg');
$current_tab.switchClass(normal,active,300); $tabcontent.hide();
$($current_tab.attr('href')).show(); $(target).show();
if( $('.tinycanvas').length > 0 ){
$anchor.each(function(){ $('.tinycanvas').tinyscrollbar_update();
$(this).click(function(){ }
var target = $(this).attr('href'); return false;
$anchor.switchClass(active,normal,200);
$(this)
.switchClass(normal,active,200)
.parents('.s_tab')
.find('a[href*=#]').not('a[href*='+target+']')
.switchClass(active,normal,200);
$(target)
.siblings('.st_c')
.hide()
.end()
.show();
if( $(target).parents('.tinycanvas').length > 0 ){
$(target).parents('.tinycanvas').tinyscrollbar_update();
}
return false;
});
}); });
}); });
}; };
this.simple_switch = function(func){ this.simple_switch = function(func){
$('.s_switch').each(function(){ $('.s_switch').each(function(){
var switcher = $(this).find('.s_switch_switcher'), var $switcher = $(this).find('.s_switch_switcher'),
checkbox = $(this).find('input[type=checkbox]'), $checkbox = $(this).find('input[type=checkbox]'),
status = $(this).find('.s_switch_status'), $status = $(this).find('.s_switch_status'),
toggle = '<span class="s_switch_toggle"></span>', toggle = '<span class="s_switch_toggle"></span>',
text_on = status.attr('status-on'), status_on = $status.attr('status-on'),
text_off = status.attr('status-off'), status_off = $status.attr('status-off'),
status_on = 'thmc2',
status_off = 'admbg2',
ini, set; ini, set;
ini = switcher.hasClass(status_off) ? null : switcher.addClass(status_off); ini = ($switcher.hasClass('admbg2')) ? null : $switcher.addClass('admbg2');
ini = switcher.find('.s_switch_toggle').length < 1 ? checkbox.after(toggle) : null; ini = ($switcher.find('.s_switch_toggle').length < 1) ? $checkbox.after(toggle) : null;
set = checkbox.is(':checked') ? status.text(text_on) : status.text(text_off); set = ($checkbox.is(':checked')) ? $status.text(status_on) : $status.text(status_off);
checkbox.unbind().change(function(){ $checkbox.unbind().change(function(){
var v = $(this).attr('checked'); var v = $(this).attr('checked');
switch (v) { switch (v) {
case 'checked': case 'checked':
switcher.switchClass(status_off,status_on); $switcher.switchClass('admbg2','thmc2');
status.text(text_on); $status.text(status_on);
break; break;
case undefined: case undefined:
switcher.switchClass(status_on,status_off); $switcher.switchClass('thmc2','admbg2');
status.text(text_off); $status.text(status_off);
break; break;
} }
if(typeof func == "function"){ if(typeof func == "function"){
@ -1886,17 +1775,19 @@ var orbitDesktop = function(dom){
fields = fields.replace("]",""); fields = fields.replace("]","");
fields = fields.replace("[",""); fields = fields.replace("[","");
fields = fields.split(","); fields = fields.split(",");
options.formatResult = function(data){ options.formatResult = function(data){
var markup = ""; var markup = "";
var x = 0; var x = 0;
for(i in fields){ for(i = 0;i < fields.length; i++){
if(x > 0)markup += " " + seperator + " ";
x++; if(i > 0)markup += " " + seperator + " ";
if(data[fields[i]]) if(data[fields[i]])
markup += data[fields[i]]; markup += data[fields[i]];
else else
markup += fields[i] + " not available"; markup += fields[i] + " not available";
} }
return markup; return markup;
} }
} }

View File

@ -42,6 +42,7 @@ class DesktopController< ApplicationController
end end
def connections def connections
@url = "http://fb.tp.rulingcom.com/login?callback=http://harry.tp.rulingcom.com/facebook/register_fb?user="+current_user.id.to_s
render "desktop/settings/connections", :layout => false render "desktop/settings/connections", :layout => false
end end
@ -149,9 +150,11 @@ class DesktopController< ApplicationController
def widget_layout def widget_layout
widget = DesktopWidget.find(params[:id]) widget = DesktopWidget.find(params[:id])
# link = '<link href="'+widget.css_default.file.to_s+'" media="screen" rel="stylesheet" type="text/css" />' # link = '<link href="'+widget.css_default.file.to_s+'" media="screen" rel="stylesheet" type="text/css" />'
css = widget.css_default.content;
css = "<style>" + css + "</style>"
content = widget.widget_layout.body content = widget.widget_layout.body
dhtml = content dhtml = css + content
render :text => dhtml.html_safe render :text => dhtml.html_safe
end end
@ -314,5 +317,7 @@ class DesktopController< ApplicationController
b = {"success"=>"true"} b = {"success"=>"true"}
render :json=>b.to_json render :json=>b.to_json
end end
end end

View File

@ -0,0 +1,31 @@
require "net/http"
require "uri"
require 'json'
class FacebookController< ApplicationController
def register_fb
user = User.find(params[:user])
if !user.facebook
user.build_facebook(fb_identifier: params[:identifier],connected: true)
user.save!
end
render :json=>{"success"=>true,"user"=>user.facebook.fb_identifier}.to_json
end
def get_friends
@url = "http://fb.tp.rulingcom.com/get_friends?identifier=" + current_user.facebook.fb_identifier
uri = URI.parse(@url)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
friends = response.body
friends = JSON.parse(friends)
output = Array.new
friends.each do |friend|
output << friend['name']
end
render :json=>{"count"=>friends.count,"friends"=>output}.to_json
end
end

View File

@ -4,5 +4,8 @@ class CssDefault < Stylesheet
# belongs_to :desktop_widget # belongs_to :desktop_widget
belongs_to :css, polymorphic: true belongs_to :css, polymorphic: true
def content
self.file.read.force_encoding("UTF-8") rescue ''
end
end end

View File

@ -0,0 +1,9 @@
class Facebook
include Mongoid::Document
include Mongoid::Timestamps
field :fb_identifier
field :connected, type: Boolean
belongs_to :user
end

View File

@ -26,6 +26,7 @@ class User
has_many :managing_apps,:class_name => "AppManager", :dependent => :destroy has_many :managing_apps,:class_name => "AppManager", :dependent => :destroy
has_one :desktop, :autosave => true, :dependent => :destroy has_one :desktop, :autosave => true, :dependent => :destroy
has_one :facebook, :autosave => true, :dependent => :destroy
has_many :other_accounts, :autosave => true, :dependent => :destroy has_many :other_accounts, :autosave => true, :dependent => :destroy
# has_many :journals, :autosave => true, :dependent => :destroy # has_many :journals, :autosave => true, :dependent => :destroy
# has_many :papers, :autosave => true, :dependent => :destroy # has_many :papers, :autosave => true, :dependent => :destroy

View File

@ -4,7 +4,6 @@
<li class="d_cate"><a callback-method='initializeDesktop' href="desktop/desktop" class="widget_fn wh2 hh2" id='home' onclick="return false;"><span class="widget_icon"><img src="" alt="Home" id="home_icon" width="30" height="30"/></span></a> <li class="d_cate"><a callback-method='initializeDesktop' href="desktop/desktop" class="widget_fn wh2 hh2" id='home' onclick="return false;"><span class="widget_icon"><img src="" alt="Home" id="home_icon" width="30" height="30"/></span></a>
<ul class="dock_child hh2 thmc4" style="width: 180px;"> <ul class="dock_child hh2 thmc4" style="width: 180px;">
<li class="dock_item"><a callback-method='initializeAppManager' href="<%= desktop_app_manager_path %>" class="widget_fn wh2 hh2" id="d_app_manager" onclick="return false;"><span class="widget_icon"><img src="" alt="App Manager" id="app_manager_icon" width="30" height="30"/></span></a></li> <li class="dock_item"><a callback-method='initializeAppManager' href="<%= desktop_app_manager_path %>" class="widget_fn wh2 hh2" id="d_app_manager" onclick="return false;"><span class="widget_icon"><img src="" alt="App Manager" id="app_manager_icon" width="30" height="30"/></span></a></li>
<li class="dock_item"><a callback-method='initializeSectionsManager' href="<%= desktop_allsections_path %>" class="widget_fn wh2 hh2" id="d_sections" custom-load="sections" onclick="return false;"><span class="widget_icon"><img src="" alt="All Sections" id="sections_icon" width="30" height="30"/></span></a></li>
<li class="dock_item"><a callback-method='initializeSettings' href="<%= desktop_settings_path %>" custom-load="settings" class="widget_fn wh2 hh2" id="d_settings" onclick="return false;"><span class="widget_icon"><img src="" alt="Settings" id="settings_icon" width="30" height="30"/></span></a></li> <li class="dock_item"><a callback-method='initializeSettings' href="<%= desktop_settings_path %>" custom-load="settings" class="widget_fn wh2 hh2" id="d_settings" onclick="return false;"><span class="widget_icon"><img src="" alt="Settings" id="settings_icon" width="30" height="30"/></span></a></li>
</ul> </ul>
</li> </li>

View File

@ -1,6 +1,9 @@
<div id="connection_setting" class="overview vp"> <div id="connection_setting" class="overview vp" content-layout="simple">
<ul class="s_form w2 hp" id="facebook_connection"> <a href="" onclick="window.open('<%= @url %>','login_window','height=250,width=400,titlebar=0,statusbar=0,location=0');return false;">Connect FaceBook</a>
<a href="/facebook/get_friends" ajax-remote="get" >Get Friends</a>
<!-- <ul class="s_form w2 hp" id="facebook_connection">
<li><span class="c_status">No Connection</span></li> <li><span class="c_status">No Connection</span></li>
<li><img src="/assets/connection/facebook.png" alt="" class="c_icon"><h1 class="c_name">Facebook</h1></li> <li><img src="/assets/connection/facebook.png" alt="" class="c_icon"><h1 class="c_name">Facebook</h1></li>
<li><label for="">Account</label><input type="text"></li> <li><label for="">Account</label><input type="text"></li>
@ -35,7 +38,7 @@
<a href="gmail" class="setting_btn thmc1 thmtxt hp" onclick="return false;" for="delete" style="display:none;">Remove</a> <a href="gmail" class="setting_btn thmc1 thmtxt hp" onclick="return false;" for="delete" style="display:none;">Remove</a>
</div> </div>
</li> </li>
</ul> </ul> -->
</div> </div>
<!-- <div style="z-index:999;position:relative;"><button onclick="o.tempFunc()">Twitter</button> --> <!-- <div style="z-index:999;position:relative;"><button onclick="o.tempFunc()">Twitter</button> -->

View File

@ -289,6 +289,9 @@ Orbit::Application.routes.draw do
match '/desktop_orbit/eventajaxload'=> 'desktop_orbit#eventajaxload' match '/desktop_orbit/eventajaxload'=> 'desktop_orbit#eventajaxload'
match '/desktop_orbit/gettimelinespan' => 'desktop_orbit#gettimelinespan' match '/desktop_orbit/gettimelinespan' => 'desktop_orbit#gettimelinespan'
match "/facebook/register_fb" => "facebook#register_fb"
match "/facebook/get_friends" => "facebook#get_friends"
#match '/desktop_orbit/eventajaxload' => 'desktop_publications#create_journal' #match '/desktop_orbit/eventajaxload' => 'desktop_publications#create_journal'
#match '/desktop_orbit/eventajaxload' => 'desktop_publications#delete_journal' #match '/desktop_orbit/eventajaxload' => 'desktop_publications#delete_journal'

View File

@ -20,6 +20,7 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
@c = [] @c = []
@ac = @c.inject(@categories,:<<) @ac = @c.inject(@categories,:<<)
@album_category = @albums.map { |a| @categories.include?(a.category_id) } @album_category = @albums.map { |a| @categories.include?(a.category_id) }
end end
def show def show
@ -45,6 +46,8 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
redirect_to panel_gallery_back_end_albums_path redirect_to panel_gallery_back_end_albums_path
end end
def destroy def destroy
album = GalleryAlbum.find(params[:id]) album = GalleryAlbum.find(params[:id])
album.destroy album.destroy
@ -58,7 +61,7 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
@images = @album.gallery_images.all @images = @album.gallery_images.all
@album_name = @album.name_translations @album_name = @album.name_translations
@cover = @album.cover @cover = @album.cover
@tags = get_tags @tags = GalleryTag.all
end end
end end
@ -74,13 +77,21 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
output = Array.new output = Array.new
albums.each do |album| albums.each do |album|
tag_names = Tag.find(album.tagged_ids).map{|t| t.name} tag_names = Array.new
album.tag_ids.each do |tag|
tag_names << GalleryTag.find(tag)[I18n.locale]
end
if album.cover_path
cover_path = album.cover_path
else
cover_path = "/assets/gallery/default.jpg"
end
output << { output << {
album_cover_file: "http://#{request.host_with_port}#{album.cover_path}", album_cover_file: "http://#{request.host_with_port}"+cover_path,
album_name: album.name, album_name: album.name,
album_tag_names: tag_names, album_tag_names: tag_names,
album_link:"http://#{request.host_with_port}#{panel_gallery_back_end_album_get_imgs_json_path(album)}" album_link:"http://#{request.host_with_port}#{panel_gallery_back_end_album_get_imgs_json_path(album)}",
} }
end end
@ -93,7 +104,11 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
output = Array.new output = Array.new
images.each do |image| images.each do |image|
tags = Tag.find(image.tagged_ids).map{|t| t.name} tags = Array.new
image.tag_ids.each do |tag|
tags << GalleryTag.find(tag)[I18n.locale]
end
output << { output << {
image_title: image.title, image_title: image.title,
@ -112,7 +127,10 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
@images = @album.gallery_images.all @images = @album.gallery_images.all
@output = Array.new @output = Array.new
@images.each do |values| @images.each do |values|
tags = Tag.find(values.tagged_ids).map{|t| t.name} tags = Array.new
values.tag_ids.each do |tag|
tags << GalleryTag.find(tag)[I18n.locale]
end
@output << { _id: values.id, @output << { _id: values.id,
theater_link: panel_gallery_back_end_album_image_path(values), theater_link: panel_gallery_back_end_album_image_path(values),
description: values.description, description: values.description,
@ -130,8 +148,8 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
if @authenticated if @authenticated
render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json
else else
@album.tagged_ids.each do |tag| @album.tag_ids.each do |tag|
@tag_names << Tag.find(tag).name @tag_names << GalleryTag.find(tag)[I18n.locale]
end end
render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json
end end
@ -181,7 +199,7 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController
if params['delete_cover'] == "true" if params['delete_cover'] == "true"
@album.update_attributes(:cover=>"default") @album.update_attributes(:cover=>"default")
end end
@tags = get_tags @tags = GalleryTag.all
render :action => :show render :action => :show
end end
end end

View File

@ -4,6 +4,7 @@ Rails.application.routes.draw do
namespace :gallery do namespace :gallery do
namespace :back_end do namespace :back_end do
match "get_albums" => "albums#get_albums" match "get_albums" => "albums#get_albums"
match "upload_image" => "albums#upload_image" match "upload_image" => "albums#upload_image"
match "save_tags" => "tags#save_tags" match "save_tags" => "tags#save_tags"
match "albums/save_tags" => "tags#save_tags" match "albums/save_tags" => "tags#save_tags"

View File

@ -2,7 +2,7 @@ class Panel::Location::BackEnd::LocationsController < OrbitBackendController
include AdminHelper include AdminHelper
before_filter :force_order_for_visitor,:only => [:index, :new, :edit, :create, :update, :delete] before_filter :force_order_for_visitor,:only => [:index, :new, :edit, :create, :update, :delete]
before_filter :force_order_for_user,:except => [:get_locations,:index] before_filter :force_order_for_user,:except => [:get_locations,:index,:get_categories]
def index def index
@location_infos = LocationInfo.all @location_infos = LocationInfo.all
@ -74,6 +74,14 @@ class Panel::Location::BackEnd::LocationsController < OrbitBackendController
description: location.description } description: location.description }
end end
render :json => JSON.pretty_generate({location: @data}) render :json => JSON.pretty_generate(@data)
end
def get_categories
@data = Array.new
@data << { name: "Department",
link: "http://#{request.host_with_port}"+"/panel/location/back_end/locations/get_locations?locale=en" }
render :json => JSON.pretty_generate(@data)
end end
end end

View File

@ -74,4 +74,11 @@ class Panel::Locations::BackEnd::LocationsController < OrbitBackendController
#render :json => {location: @data}.to_json #render :json => {location: @data}.to_json
end end
def get_categories
@data = Array.new
@data << { name: "Department",
link: "http://#{request.host_with_port}"+"/panel/location/back_end/location/get_locations" }
render :json => JSON.pretty_generate(@data)
end
end end

View File

@ -4,6 +4,7 @@ Rails.application.routes.draw do
namespace :back_end do namespace :back_end do
match "locations/get_locations" => "locations#get_locations" match "locations/get_locations" => "locations#get_locations"
match "locations/get_categories" => "locations#get_categories"
resources :locations resources :locations
end end