new themes added to desktop plus theme uploader created
|  | @ -117,7 +117,7 @@ var orbitDesktop = function(dom){ | |||
|   // o = this;
 | ||||
|   this.contentHolder = dom; | ||||
|   this.themesettings = ""; | ||||
|   this.theme = "4f8d3f493b67fcd05f086359"; | ||||
|   this.theme = null; | ||||
|   this.transitionTime = 1000; | ||||
|   this.currenthtml = "home"; | ||||
|   this.currentface = "home"; | ||||
|  | @ -134,22 +134,21 @@ var orbitDesktop = function(dom){ | |||
|     var theme = o.theme; | ||||
|     var custom = false; | ||||
|     o.getlocation(); | ||||
|     o.minimizeBarManager(); | ||||
|     $.getJSON("/desktop/get_desktop_settings",{"get":"desktop","desktopid":o.desktopId},function(desktopSettings){ | ||||
|       if(desktopSettings){ | ||||
|         if(desktopSettings.theme!="custom"){ | ||||
|           theme = desktopSettings.theme; | ||||
|         }else{ | ||||
|           theme = "4f8d3f493b67fcd05f086359"; | ||||
|         if(desktopSettings.theme=="custom"){ | ||||
|           custom = true; | ||||
|         } | ||||
|         theme = desktopSettings.theme; | ||||
|         o.theme = theme; | ||||
|         loadTheme(desktopSettings.customtheme,desktopSettings.wallpaper); | ||||
|       }else{loadTheme();} | ||||
|     }); | ||||
|     var loadTheme = function(customtheme,customwallpaper){   //This function will load the theme from database
 | ||||
|       $.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){ | ||||
|         o.themesettings = eval(ts); | ||||
|         $('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', "/"+o.themefolder+"/"+theme+"/css/"+ts.css)); | ||||
|       $.getJSON("/desktop_themes/settings",{"id":theme},function(ts){ | ||||
|         o.themesettings = ts; | ||||
|         $('head').append( $('<link rel="stylesheet" id="dyn_css" type="text/css" />').attr('href', o.themesettings.css)); | ||||
|         if(custom){ | ||||
|           $("head").find("#dyn_css").remove(); | ||||
|           $("head").append(customtheme); | ||||
|  | @ -182,10 +181,10 @@ var orbitDesktop = function(dom){ | |||
|   }; | ||||
|   this.changeTheme = function(theme){  // this function is used for changing theme
 | ||||
|     o.theme = theme; | ||||
|     $.getJSON("/"+o.themefolder+"/"+theme+"/settings/"+theme+".json",function(ts){ | ||||
|       o.themesettings = eval(ts); | ||||
|     $.getJSON("/desktop_themes/settings",{"id":theme},function(ts){ | ||||
|       o.themesettings = ts; | ||||
|       $('head').find("#dyn_css").remove(); | ||||
|       $('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.themesettings.css)); | ||||
|       o.loadWallpaper(); | ||||
|       o.loadIconCache(); | ||||
|     }) | ||||
|  | @ -553,7 +552,7 @@ var orbitDesktop = function(dom){ | |||
|     var target = dom.attr("id"); | ||||
|     var url = dom.attr("href"); | ||||
|     if(!url)return false; | ||||
|     o.lastlink = url; | ||||
|     | ||||
|     o.data_method = dom.attr("callback-method"); | ||||
|     if(o.currenthtml!=target){ | ||||
|       if(o.desktopData[o.currentface] == "undefined"){ | ||||
|  | @ -599,7 +598,8 @@ var orbitDesktop = function(dom){ | |||
|                   o.sub_menu_item($(o.contentHolder).find("*[content-type=menu] a[load=true]"),o.desktopData[o.currentface]); | ||||
|               } | ||||
|             }catch(EX){} | ||||
|           cache = true; | ||||
| 
 | ||||
|           cache = (o.lastlink == "/desktop/app_manager" ? false : true); | ||||
|           if(typeof o.data_method != "undefined"){ | ||||
|              if(o.data_method != ""){ | ||||
|               window.o[o.data_method](target,url,cache); | ||||
|  | @ -622,6 +622,7 @@ var orbitDesktop = function(dom){ | |||
|         $(this).hide().delay(i*100).fadeIn(600,'easeInOutQuint'); | ||||
|       }); | ||||
|     } | ||||
|      o.lastlink = url; | ||||
|   } | ||||
|   this.sub_menu_item = function(dom,data){ | ||||
|     var sub_data_method = dom.attr('callback-method'); | ||||
|  | @ -745,7 +746,7 @@ var orbitDesktop = function(dom){ | |||
|       $("#desktop #group_wrapper").empty();   | ||||
|       $.getJSON("/desktop/getgroups",{sectionid:id},function(tiles){ | ||||
|         // tiles.sort(o.sortJSON("position",true,parseInt)); 
 | ||||
|         var tilecolors = o.themesettings.tilecolor; | ||||
|         var tilecolors = (o.themesettings.tilecolor ? o.themesettings.tilecolor : ["thmc1","thmc2","thmc3","thmc4"]) ; | ||||
|         var totaltiles_in_a_row = 4; | ||||
|         var opacity = ["op07","op08","op09",""]; | ||||
|         var row = 0, col = 1, x = 1, y = 1, total_x = 0, prev_y = 0;  | ||||
|  | @ -804,7 +805,7 @@ var orbitDesktop = function(dom){ | |||
|     } | ||||
|     var loadSectionList = function(){  //This will load the section list from the db
 | ||||
|       $.getJSON("/desktop/getsectionlist",{desktopid:o.desktopId},function(sectionlist){ | ||||
|         o.sectionList = eval(sectionlist); | ||||
|         o.sectionList = sectionlist; | ||||
|         $.each(sectionlist,function(i,section){ | ||||
|           var tempstyle=""; | ||||
|           if(i==0){ | ||||
|  | @ -1512,9 +1513,8 @@ var orbitDesktop = function(dom){ | |||
|   } | ||||
|   | ||||
|   this.loadWallpaper = function(wallpaper){  // this is to load new wallpaper 
 | ||||
|     wallpapernm = (!wallpaper) ? o.themesettings.background : wallpaper; | ||||
|     if(!wallpaper){ | ||||
|       $("#thmbackground").attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+wallpapernm); | ||||
|       $("#thmbackground").attr("src",o.themesettings.background); | ||||
|     } else { | ||||
|       $("#thmbackground").attr("src",o.wallpaperPath+wallpaper); | ||||
|     } | ||||
|  | @ -1524,7 +1524,7 @@ var orbitDesktop = function(dom){ | |||
|     var imgs = $(".docklist img"); | ||||
|     $.each(imgs,function(){ | ||||
|       var setting_name = $(this).attr("id").replace("_icon",""); | ||||
|       $(this).attr("src","/"+o.themefolder+"/"+o.theme+"/images/"+o.themesettings.icons[setting_name]) | ||||
|       $(this).attr("src","/assets/desktop/icons/"+o.themesettings.icons[setting_name]) | ||||
|     }) | ||||
|   }; | ||||
|   this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
 | ||||
|  | @ -1818,6 +1818,51 @@ var orbitDesktop = function(dom){ | |||
|       } | ||||
|     } | ||||
|   } | ||||
|   this.minimizeBarManager = function(){ | ||||
|     var minimizedApps = [], | ||||
|         minimizeBar = $("#minimizebar"); | ||||
|     this.minimizeBarManager.minimize = function(win){ | ||||
|       minimizedApps.push(win.attr("id")); | ||||
|       var $e = generateMiniBar(win.attr("id")); | ||||
|       $e.find("span[for=title]").text(win.data('title')); | ||||
|       $e.one("click",function(){ | ||||
|         o.minimizeBarManager.maximize(win); | ||||
|       }); | ||||
|       $e.find("span.icon-remove").one("click",function(e){ | ||||
|         o.appWindow.close(win); | ||||
|         e.stopPropagation(); | ||||
|       }); | ||||
|       minimizeBar.append($e); | ||||
|       win.hide(); | ||||
|       // var minimizeOffset = minimizeBar.offset();
 | ||||
|       // win.animate({"left":minimizeOffset.left + "px","top":minimizeOffset.top + "px","height":"25px","width":"200px"},function(){
 | ||||
|          | ||||
|       // });
 | ||||
|        | ||||
|     } | ||||
|     this.minimizeBarManager.maximize = function(win){ | ||||
|       var position = minimizedApps.indexOf(win.attr("id")); | ||||
|       minimizedApps.splice(position,1); | ||||
|       getMiniBar(position).remove(); | ||||
|       win.show(); | ||||
|       updatePositions(); | ||||
|     } | ||||
|     var getMiniBar = function(position){ | ||||
|       return minimizeBar.find("div[data-position="+position+"]"); | ||||
|     } | ||||
|     var generateMiniBar = function(id){ | ||||
|       var position = minimizedApps.indexOf(id), | ||||
|           template = '<div id="mini_'+id+'" data-app-id="'+id+'" data-position="'+position+'" style="height:25px; width:200px; bottom:0; margin:3px 3px 3px 3px; float:right; cursor:pointer;" class="minimize thmc2"><span class="thmtxth" style="font-size:18px;margin 3px 3px;" for="title"></span><span class="icon-remove hh2 hp thmtxt" style="float:right;cursor:pointer;"></span></div>', | ||||
|           $e = $(template); | ||||
|       return $e; | ||||
|     } | ||||
| 
 | ||||
|     var updatePositions = function(){ | ||||
|       minimizeBar.find("div.minimize").each(function(){ | ||||
|         $(this).attr("data-position",minimizedApps.indexOf($(this).data("app-id"))); | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
|   o.initialize(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -116,29 +116,35 @@ var orbitDesktopAPI = function(){ | |||
| 		}) | ||||
| 		return tempArray; | ||||
| 	}; | ||||
| 	this.appWindow = function(settings,callbackfn){ | ||||
| 	this.appWindow = function(options,callbackfn){ | ||||
| 		//takes set of arguments as array and gives callback
 | ||||
| 		//settings.method (string) : like open and close 
 | ||||
| 		//settings.title (string) : the window title
 | ||||
| 		//settings.extUrl (boolean) : true for opening external url else false
 | ||||
| 		//settings.appid (string) : appid.. user can use this appid to open or close or refresh the window
 | ||||
| 		//settings.url (string) : it is the url if you want to force external url to open in appwindow... you have to pass extURL in appid if you want to open externalurl
 | ||||
| 		if(typeof settings == "undefined")settings = {}; | ||||
| 		var settings = { | ||||
| 			method : "open", | ||||
| 			extUrl : true, | ||||
| 			title : "New Window" | ||||
| 		} | ||||
| 		$.extend(settings,options); | ||||
| 		if(!settings.appid){ | ||||
| 			o.notify("Invalid AppID.","imp",3); | ||||
| 			return; | ||||
| 		} | ||||
| 		if(!settings.method)settings.method = "open"; | ||||
| 		if(!settings.extUrl)settings.extUrl = true; | ||||
| 		var isWindow = ($("div.app_frame[data-app="+settings.appid+"]").length > 0 ? $("div.app_frame[data-app="+settings.appid+"]") : null); | ||||
| 		if(isWindow){ | ||||
| 			o.minimizeBarManager.maximize(isWindow); | ||||
| 			return; | ||||
| 		} | ||||
| 		if(settings.method == 'open'){ | ||||
| 			var appurl = "http://www.rulingcom.com"; | ||||
| 			o.windowcounter++; | ||||
| 			if(!settings.title)settings.title = "New Window "+o.windowcounter; | ||||
| 			if(settings.extUrl){ | ||||
| 				if(settings.url){ | ||||
| 					 | ||||
| 					if(settings.url.substr(0,4)!="http")settings.url = "http://"+settings.url; | ||||
| 					console.log(settings.url) | ||||
| 					var urlregex = new RegExp("^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([0-9A-Za-z]+\.)"); | ||||
| 					if(urlregex.test(settings.url)) | ||||
| 						appurl = settings.url; | ||||
|  | @ -152,20 +158,34 @@ var orbitDesktopAPI = function(){ | |||
| 					return; | ||||
| 				} | ||||
| 			} | ||||
| 			var whtml =$('<div id="app_frame_'+o.windowcounter+'" class="thmc2 app_frame" data-app="'+settings.appid+'"><div class="app_frame_header"><div class="dtitle hh2 hp"><span class="thmtxth">'+settings.title+'</span></div><span class="icon-remove hh2 hp thmtxt"></span></div><div id="holder_'+o.windowcounter+'" class="app_holder clear"><iframe src="'+appurl+'" frameborder="0" scrolling="auto"></iframe></div></div>'); | ||||
| 			$(o.contentHolder).append(whtml); | ||||
| 			var whtml =$('<div id="app_frame_'+o.windowcounter+'" class="thmc2 app_frame" data-app="'+settings.appid+'" data-title="'+ settings.title +'"><div class="app_frame_header"><div class="dtitle hh2 hp"><span class="thmtxth">'+settings.title+'</span></div><span class="icon-remove hh2 hp thmtxt"></span><span class="icon-minus hh2 hp thmtxt"></span></div><div id="holder_'+o.windowcounter+'" class="app_holder clear"><iframe src="'+appurl+'" frameborder="0" scrolling="auto"></iframe></div></div>'); | ||||
| 			$("body").append(whtml); | ||||
| 			var parentwindow = $(o.contentHolder).find("#app_frame_"+o.windowcounter); | ||||
| 			var app_holder_height = parentwindow.height() - 72; | ||||
| 			var app_holder_width = parentwindow.width(); | ||||
| 			parentwindow.find("iframe").attr({"height":app_holder_height,"width":app_holder_width}); | ||||
| 			parentwindow.find(".app_holder").height(app_holder_height); | ||||
| 			parentwindow.find(".icon-remove").click(function(){ | ||||
| 				parentwindow.remove(); | ||||
| 				o.appWindow.close(parentwindow); | ||||
| 			}); | ||||
| 			parentwindow.find(".icon-minus").click(function(){ | ||||
| 				o.appWindow.minimize(parentwindow); | ||||
| 			}) | ||||
| 
 | ||||
| 		} | ||||
| 
 | ||||
| 		this.appWindow.close = function(win){ | ||||
| 			win.remove(); | ||||
| 		} | ||||
| 
 | ||||
| 		this.appWindow.minimize = function(win){ | ||||
| 			o.minimizeBarManager.minimize(win) | ||||
| 		} | ||||
| 
 | ||||
| 		if(typeof callbackfn=="function"){ | ||||
| 			callbackfn.call(this); | ||||
| 			callbackfn.call(this,parentwindow); | ||||
| 		} | ||||
| 		return parentwindow; | ||||
| 	}; | ||||
| 	this.toolPopup = function(settings){ | ||||
| 		if(settings == "destroy"){ | ||||
|  |  | |||
|  | @ -772,6 +772,12 @@ a.admtxt.admbg2:hover { | |||
|       line-height: 60px; | ||||
|       font-size: 20px; | ||||
|       cursor: pointer; } | ||||
|      .app_frame .app_frame_header .icon-minus { | ||||
|       display: block; | ||||
|       float: right; | ||||
|       line-height: 60px; | ||||
|       font-size: 20px; | ||||
|       cursor: pointer; } | ||||
| 
 | ||||
| /*Tooltip popup */ | ||||
| .desktop_toolpopup { | ||||
|  |  | |||
| Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 287 B | 
| Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B | 
| Before Width: | Height: | Size: 720 B After Width: | Height: | Size: 720 B | 
| Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 415 B | 
| Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B | 
| Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 436 B | 
| Before Width: | Height: | Size: 589 B After Width: | Height: | Size: 589 B | 
| Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 598 B | 
| Before Width: | Height: | Size: 714 B After Width: | Height: | Size: 714 B | 
| Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 524 B | 
| Before Width: | Height: | Size: 532 B After Width: | Height: | Size: 532 B | 
| Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 454 B | 
| Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 500 B | 
| Before Width: | Height: | Size: 513 B After Width: | Height: | Size: 513 B | 
| Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 533 B | 
| Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 379 B | 
| Before Width: | Height: | Size: 488 B After Width: | Height: | Size: 488 B | 
| Before Width: | Height: | Size: 506 B After Width: | Height: | Size: 506 B | 
| Before Width: | Height: | Size: 670 B After Width: | Height: | Size: 670 B | 
| Before Width: | Height: | Size: 517 B After Width: | Height: | Size: 517 B | 
| Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 805 B | 
| Before Width: | Height: | Size: 481 B After Width: | Height: | Size: 481 B | 
| Before Width: | Height: | Size: 464 B After Width: | Height: | Size: 464 B | 
| Before Width: | Height: | Size: 628 B After Width: | Height: | Size: 628 B | 
| Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 495 B | 
| Before Width: | Height: | Size: 589 B After Width: | Height: | Size: 589 B | 
| Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 524 B | 
| Before Width: | Height: | Size: 575 B After Width: | Height: | Size: 575 B | 
| Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 533 B | 
| Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 557 B | 
| Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 243 B | 
| Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 573 B | 
| Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B | 
| Before Width: | Height: | Size: 362 B After Width: | Height: | Size: 362 B | 
| Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 359 B | 
|  | @ -31,7 +31,7 @@ class DesktopController< ApplicationController | |||
|     render :layout => false | ||||
|   end | ||||
|    | ||||
|   def themes | ||||
|   def get_themes | ||||
|     @themes = DesktopTheme.all | ||||
|   #  raise @themes.inspect | ||||
|     render "desktop/settings/themes", :layout => false | ||||
|  |  | |||
|  | @ -0,0 +1,86 @@ | |||
| class DesktopThemesController < OrbitBackendController | ||||
| 	require "net/http" | ||||
| 	require "uri" | ||||
|   	require 'zip/zip' | ||||
| 
 | ||||
| 	def index | ||||
| 		@desktopThemes = DesktopTheme.all | ||||
| 	end | ||||
| 
 | ||||
| 	def destroy | ||||
| 		dt = DesktopTheme.find(params[:id]) | ||||
| 		dt.destroy | ||||
| 		redirect_to desktop_theme_path | ||||
| 	end | ||||
| 
 | ||||
| 	def upload | ||||
| 	if !params[:desktop_theme].nil? | ||||
| 	    temp_file = Tempfile.new("temp_file") | ||||
| 	    original_file = params[:desktop_theme][:package_file] | ||||
| 	      #if original_file.content_type == 'application/zip' | ||||
| 	        temp_file.write(original_file.read.force_encoding('UTF-8')) | ||||
| 	        temp_file.rewind | ||||
| 	        filename = File.basename(original_file.original_filename,".zip") | ||||
| 	        unzip_widget(temp_file, filename) | ||||
| 	      #else | ||||
| 	      #  flash[:error] = "Upload file should be in zip format" | ||||
| 	      #end | ||||
| 	      temp_file.close | ||||
| 	 end | ||||
| 	end | ||||
| 	def edit | ||||
| 		@dw = DesktopWidget.find(params[:id]) | ||||
| 	end | ||||
| 
 | ||||
| 	 | ||||
| 	def unzip_widget(file, zip_name) | ||||
| 	    Zip::ZipFile.open(file) { |zip_file| | ||||
| 	      dt = DesktopTheme.new.from_json(zip_file.read("#{zip_name}/settings.json")) | ||||
| 	      Dir.mktmpdir('f_path') { |dir| | ||||
| 	        images_entries = [] | ||||
| 	        zip_file.entries.each do |entry| | ||||
| 	          case (path = entry.to_s) | ||||
| 	            when /\A(#{zip_name})\/(theme\.css)\z/ | ||||
| 	                #for default css | ||||
| 	              dt.build_css_default(:file => get_temp_file(zip_file, dir, entry)) | ||||
| 	            when /\A(#{zip_name})\/(background)\/.*((\.jpg)|(\.png)|(\.gif))\z/   #for img | ||||
| 	              images_entries << entry | ||||
| 	          end | ||||
| 	        end | ||||
| 			images_entries.each do |image| | ||||
| 	        	dt.images.build(:file => get_temp_file(zip_file,dir,image)) | ||||
| 	        end	   | ||||
| 	      } | ||||
| 	      dt.save | ||||
| 	    } | ||||
|   end | ||||
|   def get_temp_file(zip_file, dir, entry) | ||||
|     filename = File.basename(entry.to_s) | ||||
|     temp_file = File.new(dir + '/' + filename, 'w+')  | ||||
|     temp_file.write (zip_file.read entry ).force_encoding('UTF-8') | ||||
|     temp_file | ||||
|   end | ||||
| 
 | ||||
|   def settings | ||||
|   	if params[:id] == "custom" | ||||
|   		@id = DesktopTheme.first.id.to_s | ||||
|   	else  | ||||
|   		@id = params[:id] | ||||
|   	end | ||||
|   	dt = DesktopTheme.find(@id) | ||||
|   	if !dt.nil? | ||||
|   		dt['css'] = dt.css_default.file.url | ||||
|   		dt['background'] = dt.images.where(:name=>dt.background).first.file.url | ||||
|   	end | ||||
|   	icons = DesktopTheme::ICONS | ||||
|   	dt['icons'] = icons | ||||
|   	 | ||||
|   	render :json => dt.to_json | ||||
|   end | ||||
| 	 | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -2,7 +2,7 @@ class Desktop | |||
|   include Mongoid::Document | ||||
|   include Mongoid::Timestamps | ||||
|    | ||||
|   field :theme, default: "4f8d3f533b67fcd05f08635a" | ||||
|   field :theme | ||||
|   field :customtheme | ||||
|   field :wallpaper | ||||
|    | ||||
|  |  | |||
|  | @ -1,9 +1,63 @@ | |||
| class DesktopTheme | ||||
|   include Mongoid::Document | ||||
|   include Mongoid::Timestamps | ||||
| 
 | ||||
|   	field :name | ||||
|   	field :author | ||||
|   	field :background | ||||
|   	field :tilecolor ,type: Array, default: ["thmc1","thmc2"]  | ||||
|   	ICONS = { | ||||
|   		"home"=>"d_home.png", | ||||
| 		"app_manager"=>"d_app_manager.png", | ||||
| 		"sections"=>"d_sections.png", | ||||
| 		"settings"=>"d_settings.png", | ||||
| 		"publication"=>"d_publication.png", | ||||
| 		"journal_p"=>"d_journal_p.png", | ||||
| 		"conference_p"=>"d_conference_p.png", | ||||
| 		"books"=>"d_books.png", | ||||
| 		"research"=>"d_research.png", | ||||
| 		"research_d"=>"d_research_d.png", | ||||
| 		"research_p"=>"d_research_p.png", | ||||
| 		"patents"=>"d_patents.png", | ||||
| 		"labs"=>"d_labs.png", | ||||
| 		"experience"=>"d_experience.png", | ||||
| 		"working"=>"d_working.png", | ||||
| 		"education"=>"d_education.png", | ||||
| 		"honors"=>"d_honors.png", | ||||
| 		"activities"=>"d_activities.png", | ||||
| 		"clubs"=>"d_clubs.png", | ||||
| 		"landt"=>"d_landt.png", | ||||
| 		"courses"=>"d_courses.png", | ||||
| 		"homework"=>"d_homework.png", | ||||
| 		"certification"=>"d_certification.png", | ||||
| 		"personal"=>"d_personal.png", | ||||
| 		"mypage"=>"d_mypage.png", | ||||
| 		"blog"=>"d_blog.png", | ||||
| 		"album"=>"d_album.png", | ||||
| 		"calendar"=>"d_calendar.png", | ||||
| 		"files"=>"d_files.png", | ||||
| 		"orbit"=>"d_orbit.png", | ||||
| 		"connection"=>"d_connection.png", | ||||
| 		"appstore"=>"d_appstore.png" | ||||
|   	} | ||||
|   	 | ||||
|   	has_one :css_default, as: :css, :autosave => true, :dependent => :destroy | ||||
| 	has_many :images, as: :imgs, :autosave => true, :dependent => :destroy | ||||
|   	has_and_belongs_to_many :desktops, :autosave => true | ||||
| 	 | ||||
| 	accepts_nested_attributes_for :images, :allow_destroy => true | ||||
| 	 | ||||
| 	# after_save :parse_css_for_images | ||||
| 
 | ||||
|   	# belongs_to :desktop | ||||
| 
 | ||||
| 
 | ||||
|   # 	protected | ||||
|    | ||||
|   field :name | ||||
|   field :author | ||||
|  	# def parse_css_for_images | ||||
| 	 #    self.css_default.parse_urls | ||||
|   # 	end | ||||
| 
 | ||||
|    | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
|   <div id="rwidget" class="wh2 thmc4"> | ||||
|     <ul class="docklist"> | ||||
|       <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: 120px;"> | ||||
|         <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='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> | ||||
|  | @ -62,14 +62,13 @@ | |||
|   </div> | ||||
| </div> | ||||
| <div id="container"> | ||||
| 
 | ||||
|   <div id='ajax_container'> | ||||
| 
 | ||||
| 
 | ||||
|   </div> | ||||
| </div> | ||||
| <!--<div id="orbitbar"></div>--> | ||||
| 
 | ||||
| <div id="minimizebar" style="height:30px; bottom:0px; z-index:10; background-color:#ccc; width:auto; position:absolute; margin:0 30px 0 20px;"></div> | ||||
| <img id="thmbackground"></div> | ||||
| <div id="bgover" ></div> | ||||
| <div id="orbitnote"></div> | ||||
|  |  | |||
|  | @ -9,10 +9,10 @@ | |||
|       <div id="panel_l" class="ph"> | ||||
|         <div class="s_menu sm_v" content-type="menu"> | ||||
|           <ul id='setting_left_nav'> | ||||
|             <li><a href="" class="admtxt hh1 w2 hp" load="true" onclick='return false;'>Overview</a></li> | ||||
|             <li><a href="" class="admtxt hh1 w2 hp" onclick='return false;'>Overview</a></li> | ||||
|             <li><a href="<%= edit_user_registration_path %>" callback-method="account" custom-load="account" class="admtxt hh1 w2 hp" onclick='return false;'>Account</a></li> | ||||
|             <li><a href="<%= desktop_sections_path %>" callback-method="sections" custom-load="sections" class="admtxt hh1 w2 hp" onclick='return false;'>Sections</a></li> | ||||
|             <li><a href="<%= desktop_themes_path %>" callback-method="themes" class="admtxt hh1 w2 hp" onclick='return false;'>Theme</a></li> | ||||
|             <li><a href="<%= desktop_get_themes_path %>" load="true" callback-method="themes" class="admtxt hh1 w2 hp" onclick='return false;'>Theme</a></li> | ||||
|             <li><a href="<%= desktop_connections_path %>" callback-method="connection" class="admtxt hh1 w2 hp" onclick='return false;'>Connection</a></li> | ||||
|           </ul> | ||||
|         </div> | ||||
|  |  | |||
|  | @ -1,16 +1,16 @@ | |||
| <div class="s_tab stb_h"> | ||||
| 	<ul> | ||||
| 		<li><a href="#st1" class="hh1 hp admtxt admbg" data-active="true">Themes</a></li> | ||||
| 		<li><a href="#st1" class="hh1 hp thmc2 thmtxt" data-active="true">Themes</a></li> | ||||
| 		<li><a href="#st2" class="hh1 hp admtxt admbg">Theme Color</a></li> | ||||
| 		<li><a href="#st3" class="hh1 hp admtxt admbg">Wallpaper</a></li> | ||||
| 	</ul> | ||||
| </div> | ||||
| 
 | ||||
| 		<div class="overview tab_holder" content-layout="simple"> | ||||
| 			<div id="st1" class="st_c"> | ||||
| 			<div id="st1" class="st_c" style="display:block;"> | ||||
| 				<div class="theme_list ssl"> | ||||
| 					<% @themes.each do |theme| %> | ||||
| 						<div id="<%= theme.id %>" class="ssl_item"><div class="theme_thumb"><img src="/assets/sample_theme.jpg" alt="" width="120" height="96"></div><span class="theme_name ssl_des"><%= theme.name %></span></div> | ||||
| 						<div id="<%= theme.id %>" class="ssl_item"><div class="theme_thumb"><img src="<%= theme.images.where(:name=>theme.background).first.file.thumb.url %>" alt="" width="120" height="96"></div><span class="theme_name ssl_des"><%= theme.name %></span></div> | ||||
| 						<% end %> | ||||
| 				</div> | ||||
| 			</div> | ||||
|  |  | |||
|  | @ -0,0 +1,16 @@ | |||
| <div> | ||||
| 	<%= @dw.name %> | ||||
| 
 | ||||
| 	<h4>Upload Widget image </h4> | ||||
| 	<div class="main2"> | ||||
| 		<%= form_for @dw, :url => desktop_widget_path(@dw) do |f| %> | ||||
| 
 | ||||
| 		<p> | ||||
| 		<%= f.file_field :image %> | ||||
| 		</p> | ||||
| 		<%= submit_tag  %> | ||||
| 
 | ||||
| 		<% end %> | ||||
| 
 | ||||
| 	</div> | ||||
| </div> | ||||
|  | @ -0,0 +1,9 @@ | |||
| <div> | ||||
| 	<ul> | ||||
| 		<% @desktopThemes.each do |dw| %> | ||||
| 			<li> <%= dw.name %>  | ||||
| 				<%= link_to "Delete", desktop_theme_path(dw), :method=>"delete", :confirm=>"Are you sure?" %> | ||||
| 			</li>  | ||||
| 		<% end %> | ||||
| 	</ul> | ||||
| </div> | ||||
|  | @ -0,0 +1,12 @@ | |||
| <h4>Upload Theme Package </h4> | ||||
| <div class="main2"> | ||||
| 	<%= form_tag '',:multipart => true,:action=>"post" do |f| %> | ||||
| 
 | ||||
| 	<p> | ||||
| 	<%= file_field :desktop_theme,:package_file %> | ||||
| 	</p> | ||||
| 	<%= submit_tag  %> | ||||
| 
 | ||||
| 	<% end %> | ||||
| 
 | ||||
| </div> | ||||
|  | @ -228,6 +228,16 @@ Orbit::Application.routes.draw do | |||
|       get 'delete' | ||||
|       post 'upload' | ||||
|     end | ||||
|   end | ||||
|    match "desktop_themes/settings" => "desktop_themes#settings" | ||||
|   resources :desktop_themes do | ||||
| 
 | ||||
|     collection do | ||||
|       get 'upload' | ||||
|       get 'delete' | ||||
|       post 'upload' | ||||
|     end | ||||
| 
 | ||||
|   end | ||||
| 
 | ||||
|   resources :desktop_apps do | ||||
|  | @ -249,7 +259,7 @@ Orbit::Application.routes.draw do | |||
|   match '/desktop/save_desktop_settings/'=>'desktop#save_desktop_settings' | ||||
|   match '/desktop/getgroups/'=>'desktop#getgroups' | ||||
|   match '/desktop/getsectionlist/'=>'desktop#getsectionlist' | ||||
|   match '/desktop/themes/'=>'desktop#themes' | ||||
|   match '/desktop/get_themes/'=>'desktop#get_themes' | ||||
|   match '/desktop/sections/'=>'desktop#sections' | ||||
|   match '/desktop/getapplist/'=>'desktop#getapplist' | ||||
|   match '/desktop/getapplistforManager/'=>'desktop#getapplistforManager' | ||||
|  | @ -291,6 +301,7 @@ Orbit::Application.routes.draw do | |||
| 
 | ||||
|   match "/facebook/register_fb" => "facebook#register_fb" | ||||
|   match "/facebook/get_friends" => "facebook#get_friends" | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
|   #match '/desktop_orbit/eventajaxload' => 'desktop_publications#create_journal' | ||||
|  |  | |||
|  | @ -1,45 +0,0 @@ | |||
| /*  | ||||
| Theme Color | ||||
| 
 | ||||
| random apply to: | ||||
| .widget_fn - on hover status | ||||
| #search_app .submit | ||||
| .tile | ||||
| 
 | ||||
| */ | ||||
| .thmc1 { background: #6F0; } | ||||
| .thmc2 { background: #C09; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #search_app | ||||
| 
 | ||||
| */ | ||||
| .thmc3 { background: #FFFFFF; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #rwidget | ||||
| 
 | ||||
| */ | ||||
| .thmc4 { background: #000000; } | ||||
| 
 | ||||
| 
 | ||||
| /* Theme Text Color */ | ||||
| .thmtxt { color: #fff; } | ||||
| .thmtxth { color: #000; } | ||||
| 
 | ||||
| /* Group Seprate Color */ | ||||
| .g_sep { border-color: #fff; } | ||||
| 
 | ||||
| /* | ||||
| theme bg image  | ||||
| 
 | ||||
| #thmbackground img - background | ||||
| #bgover - upon #thmbackground | ||||
| 
 | ||||
| */ | ||||
| Before Width: | Height: | Size: 362 KiB | 
| Before Width: | Height: | Size: 4.0 MiB | 
|  | @ -1,39 +0,0 @@ | |||
| { | ||||
| 	"css":"default.css", | ||||
| 	"background":"background.jpg", | ||||
| 	"tilecolor":["thmc1","thmc2"], | ||||
| 	"icons":{ | ||||
| 		"home":"d_home.png", | ||||
| 		"app_manager":"d_app_manager.png", | ||||
| 		"sections":"d_sections.png", | ||||
| 		"settings":"d_settings.png", | ||||
| 		"publication":"d_publication.png", | ||||
| 		"journal_p":"d_journal_p.png", | ||||
| 		"conference_p":"d_conference_p.png", | ||||
| 		"books":"d_books.png", | ||||
| 		"research":"d_research.png", | ||||
| 		"research_d":"d_research_d.png", | ||||
| 		"research_p":"d_research_p.png", | ||||
| 		"patents":"d_patents.png", | ||||
| 		"labs":"d_labs.png", | ||||
| 		"experience":"d_experience.png", | ||||
| 		"working":"d_working.png", | ||||
| 		"education":"d_education.png", | ||||
| 		"honors":"d_honors.png", | ||||
| 		"activities":"d_activities.png", | ||||
| 		"clubs":"d_clubs.png", | ||||
| 		"landt":"d_landt.png", | ||||
| 		"courses":"d_courses.png", | ||||
| 		"homework":"d_homework.png", | ||||
| 		"certification":"d_certification.png", | ||||
| 		"personal":"d_personal.png", | ||||
| 		"mypage":"d_mypage.png", | ||||
| 		"blog":"d_blog.png", | ||||
| 		"album":"d_album.png", | ||||
| 		"calendar":"d_calendar.png", | ||||
| 		"files":"d_files.png", | ||||
| 		"orbit":"d_orbit.png", | ||||
| 		"connection":"d_connection.png", | ||||
| 		"appstore":"d_appstore.png" | ||||
| 		} | ||||
| 	} | ||||
|  | @ -1,45 +0,0 @@ | |||
| /*  | ||||
| Theme Color | ||||
| 
 | ||||
| random apply to: | ||||
| .widget_fn - on hover status | ||||
| #search_app .submit | ||||
| .tile | ||||
| 
 | ||||
| */ | ||||
| .thmc1 { background: #0099CC; } | ||||
| .thmc2 { background: #3366CC; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #search_app | ||||
| 
 | ||||
| */ | ||||
| .thmc3 { background: #FFFFFF; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #rwidget | ||||
| 
 | ||||
| */ | ||||
| .thmc4 { background: #000000; } | ||||
| 
 | ||||
| 
 | ||||
| /* Theme Text Color */ | ||||
| .thmtxt, .thmtxt:hover { color: #fff; } | ||||
| .thmtxth { color: #fff; } | ||||
| 
 | ||||
| /* Group Seprate Color */ | ||||
| .g_sep { border-color: #fff; } | ||||
| 
 | ||||
| /* | ||||
| theme bg image  | ||||
| 
 | ||||
| #thmbackground img - background | ||||
| #bgover - upon #thmbackground | ||||
| 
 | ||||
| */ | ||||
| Before Width: | Height: | Size: 362 KiB | 
| Before Width: | Height: | Size: 535 B | 
| Before Width: | Height: | Size: 720 B | 
| Before Width: | Height: | Size: 415 B | 
| Before Width: | Height: | Size: 553 B | 
| Before Width: | Height: | Size: 436 B | 
| Before Width: | Height: | Size: 589 B | 
| Before Width: | Height: | Size: 598 B | 
| Before Width: | Height: | Size: 714 B | 
| Before Width: | Height: | Size: 524 B | 
| Before Width: | Height: | Size: 532 B | 
| Before Width: | Height: | Size: 454 B | 
| Before Width: | Height: | Size: 500 B | 
| Before Width: | Height: | Size: 513 B | 
| Before Width: | Height: | Size: 533 B | 
| Before Width: | Height: | Size: 379 B | 
| Before Width: | Height: | Size: 488 B | 
| Before Width: | Height: | Size: 506 B | 
| Before Width: | Height: | Size: 670 B | 
| Before Width: | Height: | Size: 517 B | 
| Before Width: | Height: | Size: 805 B | 
| Before Width: | Height: | Size: 481 B | 
| Before Width: | Height: | Size: 464 B | 
| Before Width: | Height: | Size: 628 B | 
| Before Width: | Height: | Size: 495 B | 
| Before Width: | Height: | Size: 589 B | 
| Before Width: | Height: | Size: 524 B | 
| Before Width: | Height: | Size: 575 B | 
| Before Width: | Height: | Size: 533 B | 
| Before Width: | Height: | Size: 557 B | 
| Before Width: | Height: | Size: 243 B | 
| Before Width: | Height: | Size: 573 B | 
| Before Width: | Height: | Size: 553 B | 
|  | @ -1,39 +0,0 @@ | |||
| { | ||||
| 	"css":"default.css", | ||||
| 	"background":"background.jpg", | ||||
| 	"tilecolor":["thmc1","thmc2"], | ||||
| 	"icons":{ | ||||
| 		"home":"d_home.png", | ||||
| 		"app_manager":"d_app_manager.png", | ||||
| 		"sections":"d_sections.png", | ||||
| 		"settings":"d_settings.png", | ||||
| 		"publication":"d_publication.png", | ||||
| 		"journal_p":"d_journal_p.png", | ||||
| 		"conference_p":"d_conference_p.png", | ||||
| 		"books":"d_books.png", | ||||
| 		"research":"d_research.png", | ||||
| 		"research_d":"d_research_d.png", | ||||
| 		"research_p":"d_research_p.png", | ||||
| 		"patents":"d_patents.png", | ||||
| 		"labs":"d_labs.png", | ||||
| 		"experience":"d_experience.png", | ||||
| 		"working":"d_working.png", | ||||
| 		"education":"d_education.png", | ||||
| 		"honors":"d_honors.png", | ||||
| 		"activities":"d_activities.png", | ||||
| 		"clubs":"d_clubs.png", | ||||
| 		"landt":"d_landt.png", | ||||
| 		"courses":"d_courses.png", | ||||
| 		"homework":"d_homework.png", | ||||
| 		"certification":"d_certification.png", | ||||
| 		"personal":"d_personal.png", | ||||
| 		"mypage":"d_mypage.png", | ||||
| 		"blog":"d_blog.png", | ||||
| 		"album":"d_album.png", | ||||
| 		"calendar":"d_calendar.png", | ||||
| 		"files":"d_files.png", | ||||
| 		"orbit":"d_orbit.png", | ||||
| 		"connection":"d_connection.png", | ||||
| 		"appstore":"d_appstore.png" | ||||
| 		} | ||||
| 	} | ||||
|  | @ -1,46 +0,0 @@ | |||
| /*  | ||||
| Theme Color | ||||
| 
 | ||||
| random apply to: | ||||
| .widget_fn - on hover status | ||||
| #search_app .submit | ||||
| .tile | ||||
| 
 | ||||
| */ | ||||
| .thmc1 { background: #B6662C; } | ||||
| .thmc2 { background: #34520C; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #search_app | ||||
| 
 | ||||
| */ | ||||
| .thmc3 { background: #FFFFFF; } | ||||
| 
 | ||||
| /* | ||||
| sub1 Theme Color | ||||
| 
 | ||||
| apply to: | ||||
| #rwidget | ||||
| 
 | ||||
| first one | ||||
| */ | ||||
| .thmc4 { background: #5CA360; } | ||||
| 
 | ||||
| 
 | ||||
| /* Theme Text Color */ | ||||
| .thmtxt, .thmtxt:hover { color: #fff; } | ||||
| .thmtxth { color: #fff; } | ||||
| 
 | ||||
| /* Group Seprate Color */ | ||||
| .g_sep { border-color: #fff; } | ||||
| 
 | ||||
| /* | ||||
| theme bg image  | ||||
| 
 | ||||
| #thmbackground img - background | ||||
| #bgover - upon #thmbackground | ||||
| 
 | ||||
| */ | ||||
| Before Width: | Height: | Size: 258 KiB | 
| Before Width: | Height: | Size: 535 B | 
| Before Width: | Height: | Size: 720 B | 
| Before Width: | Height: | Size: 415 B | 
| Before Width: | Height: | Size: 553 B | 
| Before Width: | Height: | Size: 436 B | 
| Before Width: | Height: | Size: 589 B | 
| Before Width: | Height: | Size: 598 B | 
| Before Width: | Height: | Size: 714 B | 
| Before Width: | Height: | Size: 524 B | 
| Before Width: | Height: | Size: 532 B |