IDEMPIERE-2309 Performance: replace Custom Idempiere Homepage (img_back) 639kb->69kb
|
@ -10,58 +10,6 @@
|
|||
|
||||
<link href="standard.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<!--
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
var javawsInstalled = false;
|
||||
if (navigator.mimeTypes && navigator.mimeTypes.length)
|
||||
javawsInstalled = navigator.mimeTypes['application/x-java-jnlp-file'];
|
||||
else
|
||||
isIE = true;
|
||||
function insertLink (url, name)
|
||||
{
|
||||
if (javawsInstalled)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write("You need to install Java or configure Java Web Start");
|
||||
document.write("<br>visit ");
|
||||
document.write("<a href=\"http://java.sun.com/javase/downloads/index.jsp\">" );
|
||||
document.write("Java Installation");
|
||||
document.write("</a><br>");
|
||||
}
|
||||
}
|
||||
function MM_swapImgRestore() { //v3.0
|
||||
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
|
||||
}
|
||||
function MM_preloadImages() { //v3.0
|
||||
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
|
||||
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
|
||||
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
|
||||
}
|
||||
function MM_findObj(n, d) { //v4.01
|
||||
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
|
||||
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
|
||||
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
|
||||
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
|
||||
if(!x && d.getElementById) x=d.getElementById(n); return x;
|
||||
}
|
||||
function MM_swapImage() { //v3.0
|
||||
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
|
||||
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
|
||||
}
|
||||
</script>
|
||||
<script language="VBScript" type="text/vbscript">
|
||||
on error resume next
|
||||
If isIE Then
|
||||
If Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) Then
|
||||
javawsInstalled = false
|
||||
Else
|
||||
javawsInstalled = true
|
||||
End If
|
||||
End If
|
||||
</script>
|
||||
//-->
|
||||
</head>
|
||||
<body leftmargin="0" topmargin="0" onload="MM_preloadImages('idempiere_logo2.gif')" marginheight="0" marginwidth="0">
|
||||
|
||||
|
@ -115,49 +63,6 @@ End If
|
|||
|
||||
<!--DWLayoutTable-->
|
||||
<tbody>
|
||||
<!-- !!! Comment webstart still not supported
|
||||
<tr>
|
||||
|
||||
<td bgcolor="#e9eef5" valign="top" width="23%">
|
||||
<h2>
|
||||
<font color="#000000">Web Start</font>
|
||||
</h2>
|
||||
|
||||
</td>
|
||||
|
||||
<td bgcolor="#fbf8f1" width="77%">
|
||||
<p>
|
||||
<a href="adempiere.jnlp">
|
||||
<img src="webstart.jpg" alt="iDempiere WebStart" align="right" border="0" height="57" width="237">
|
||||
</a>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
</script>
|
||||
Install <a href="http://java.sun.com/javase/downloads/index.jsp" target="sun">Java 6 JRE (Runtime)</a>
|
||||
and press WebStart<br>
|
||||
|
||||
Check also WebStart <a href="http://www.adempiere.org/support/install/webStart.html" target="c">Details</a>.<br>
|
||||
|
||||
If you have trouble starting, try <a href="/admin/adempiereHome/adempiereDirect.jnlp">this</a>
|
||||
(or via <a href="/admin/applet.html">Applet</a>)
|
||||
</p>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
-->
|
||||
<!-- !!! Comment local install supported in a different download
|
||||
<tr>
|
||||
|
||||
<td bgcolor="#e9eef5">
|
||||
<h2><font color="#000000">Local Install </font></h2>
|
||||
</td>
|
||||
|
||||
<td bgcolor="#fbf8f1"><a href="adempiereHome/AdempiereClient.zip"><img src="zip.gif" alt="iDempiere Client Zip" align="right" border="0" height="32" width="32"></a>Install <a href="http://java.sun.com/javase/downloads/index.jsp" target="sun">Java 6 JRE (Runtime)</a>; Download and extract the iDempiere Client <a href="/admin/adempiereHome/AdempiereClient.zip" title="Download iDempiere Client">zip</a> file on your Client;. <br>
|
||||
|
||||
Start iDempiere via RUN_Adempiere </td>
|
||||
|
||||
</tr>
|
||||
-->
|
||||
|
||||
<tr>
|
||||
|
||||
|
@ -224,7 +129,7 @@ Start iDempiere via RUN_Adempiere </td>
|
|||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td>© Copyright 2013 iDempiere - All rights reserved - <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">iDempiere License is GPLv2</a></td>
|
||||
<td>© Copyright 2019 iDempiere - All rights reserved - <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">iDempiere License is GPLv2</a></td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
|
|
@ -12,11 +12,6 @@ Author URI: http://www.bmlaurus.com
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="stylesheet" href="<%=Prop.loadCss()%>">
|
||||
<script type="text/javascript" src="resources/jquery/jquery.js"></script>
|
||||
<% if(Prop.isRssOn()){
|
||||
out.write("<script type=\"text/javascript\" language=\"javascript\" src=\"https://www.google.com/jsapi?key=ABQIAAAAFEyVt-pBJaTXzM__EKlCrBRyn6VRRdQGMLQqRPPw1fs6QDtVcBRGklOHzrf7hmoAX3qgxg4t5ImqRA\"></script>\n");
|
||||
out.write("<script type=\"text/javascript\" language=\"javascript\" src=\"resources/gfeedfetcher.js\"></script>");
|
||||
}
|
||||
%>
|
||||
<title><%=Prop.getProperty(Prop.TITLE) %></title>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -80,28 +75,6 @@ Author URI: http://www.bmlaurus.com
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-rssContent">
|
||||
<div id="rssfeed-wrap">
|
||||
<script type="text/javascript">
|
||||
<% if(Prop.isRssOn()) {
|
||||
out.write("var newsfeed=new gfeedfetcher(\"rssfeeds\", \"rssfeedsclass\", \"_new\");\n");
|
||||
out.write("newsfeed.displayoptions(\"label datetime snippet\");\n");
|
||||
out.write("newsfeed.setentrycontainer(\"p\");\n");
|
||||
out.write("newsfeed.filterfeed(20, \"date\");\n");
|
||||
for(int i=1;i<=5;i++){
|
||||
if(Prop.getProperty(Prop.RSS+i)!=null&&Prop.getProperty(Prop.RSS+i).length()>0){
|
||||
out.write("newsfeed.addFeed(\""+Prop.getProperty(Prop.RSS+i+"Name")+"\",\""+Prop.getProperty(Prop.RSS+i)+"\");\n");
|
||||
}
|
||||
}
|
||||
out.write("newsfeed.init();\n");
|
||||
}
|
||||
%>
|
||||
</script>
|
||||
<% if(Prop.isRssOn())
|
||||
out.write("<p><a class=\"darklink\" href=\"javascript:newsfeed.init()\">"+Prop.getProperty(Prop.RSS_REFRESH)+"</a></p>");
|
||||
%>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-login" class="main-login">
|
||||
<a href="<%=Prop.getProperty(Prop.WEBUI_LINK)%>" target="_self">
|
||||
<img name="img_webui" src="<%=Prop.getImage("img_webui.png")%>" border="0" />
|
||||
|
@ -144,7 +117,7 @@ Author URI: http://www.bmlaurus.com
|
|||
</div>
|
||||
</div>
|
||||
<div id="main-background">
|
||||
<img name="img_background" src="<%=Prop.getImage("img_back.png")%>" border="0"/>
|
||||
<img name="img_background" src="<%=Prop.getImage("img_back.jpg")%>" border="0"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,119 +0,0 @@
|
|||
// -------------------------------------------------------------------
|
||||
// gAjax RSS Feeds Displayer- By Dynamic Drive, available at: http://www.dynamicdrive.com
|
||||
// Created: July 17th, 2007
|
||||
// Updated June 14th, 10': Fixed issue in IE where labels would sometimes be associated with the incorrect feed items
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
var gfeedfetcher_loading_image="resources/indicator.gif" //Full URL to "loading" image. No need to config after this line!!
|
||||
|
||||
google.load("feeds", "1") //Load Google Ajax Feed API (version 1)
|
||||
|
||||
function gfeedfetcher(divid, divClass, linktarget){
|
||||
this.linktarget=linktarget || "" //link target of RSS entries
|
||||
this.feedlabels=[] //array holding lables for each RSS feed
|
||||
this.feedurls=[]
|
||||
this.feeds=[] //array holding combined RSS feeds' entries from Feed API (result.feed.entries)
|
||||
this.feedsfetched=0 //number of feeds fetched
|
||||
this.feedlimit=5
|
||||
this.showoptions="" //Optional components of RSS entry to show (none by default)
|
||||
this.sortstring="date" //sort by "date" by default
|
||||
document.write('<div id="'+divid+'" class="'+divClass+'"></div>') //output div to contain RSS entries
|
||||
this.feedcontainer=document.getElementById(divid)
|
||||
this.itemcontainer="<li>" //default element wrapping around each RSS entry item
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype.addFeed=function(label, url){
|
||||
this.feedlabels[this.feedlabels.length]=label
|
||||
this.feedurls[this.feedurls.length]=url
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype.filterfeed=function(feedlimit, sortstr){
|
||||
this.feedlimit=feedlimit
|
||||
if (typeof sortstr!="undefined")
|
||||
this.sortstring=sortstr
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype.displayoptions=function(parts){
|
||||
this.showoptions=parts //set RSS entry options to show ("date, datetime, time, snippet, label, description")
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype.setentrycontainer=function(containerstr){ //set element that should wrap around each RSS entry item
|
||||
this.itemcontainer="<"+containerstr.toLowerCase()+">"
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype.init=function(){
|
||||
this.feedsfetched=0 //reset number of feeds fetched to 0 (in case init() is called more than once)
|
||||
this.feeds=[] //reset feeds[] array to empty (in case init() is called more than once)
|
||||
this.feedcontainer.innerHTML='<p><img src="'+gfeedfetcher_loading_image+'" /> Retrieving RSS feed(s)</p>'
|
||||
var displayer=this
|
||||
for (var i=0; i<this.feedurls.length; i++){ //loop through the specified RSS feeds' URLs
|
||||
var feedpointer=new google.feeds.Feed(this.feedurls[i]) //create new instance of Google Ajax Feed API
|
||||
var items_to_show=(this.feedlimit<=this.feedurls.length)? 1 : Math.floor(this.feedlimit/this.feedurls.length) //Calculate # of entries to show for each RSS feed
|
||||
if (this.feedlimit%this.feedurls.length>0 && this.feedlimit>this.feedurls.length && i==this.feedurls.length-1) //If this is the last RSS feed, and feedlimit/feedurls.length yields a remainder
|
||||
items_to_show+=(this.feedlimit%this.feedurls.length) //Add that remainder to the number of entries to show for last RSS feed
|
||||
feedpointer.setNumEntries(items_to_show) //set number of items to display
|
||||
feedpointer.load(function(label){
|
||||
return function(r){
|
||||
displayer._fetch_data_as_array(r, label)
|
||||
}
|
||||
}(this.feedlabels[i])) //call Feed.load() to retrieve and output RSS feed.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gfeedfetcher._formatdate=function(datestr, showoptions){
|
||||
var itemdate=new Date(datestr)
|
||||
var parseddate=(showoptions.indexOf("datetime")!=-1)? itemdate.toLocaleString() : (showoptions.indexOf("date")!=-1)? itemdate.toLocaleDateString() : (showoptions.indexOf("time")!=-1)? itemdate.toLocaleTimeString() : ""
|
||||
return "<span class='datefield'>"+parseddate+"</span>"
|
||||
}
|
||||
|
||||
gfeedfetcher._sortarray=function(arr, sortstr){
|
||||
var sortstr=(sortstr=="label")? "ddlabel" : sortstr //change "label" string (if entered) to "ddlabel" instead, for internal use
|
||||
if (sortstr=="title" || sortstr=="ddlabel"){ //sort array by "title" or "ddlabel" property of RSS feed entries[]
|
||||
arr.sort(function(a,b){
|
||||
var fielda=a[sortstr].toLowerCase()
|
||||
var fieldb=b[sortstr].toLowerCase()
|
||||
return (fielda<fieldb)? -1 : (fielda>fieldb)? 1 : 0
|
||||
})
|
||||
}
|
||||
else{ //else, sort by "publishedDate" property (using error handling, as "publishedDate" may not be a valid date str if an error has occured while getting feed
|
||||
try{
|
||||
arr.sort(function(a,b){return new Date(b.publishedDate)-new Date(a.publishedDate)})
|
||||
}
|
||||
catch(err){}
|
||||
}
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype._fetch_data_as_array=function(result, ddlabel){
|
||||
var thisfeed=(!result.error)? result.feed.entries : "" //get all feed entries as a JSON array or "" if failed
|
||||
if (thisfeed==""){ //if error has occured fetching feed
|
||||
alert("Some blog posts could not be loaded: "+result.error.message)
|
||||
}
|
||||
for (var i=0; i<thisfeed.length; i++){ //For each entry within feed
|
||||
result.feed.entries[i].ddlabel=ddlabel //extend it with a "ddlabel" property
|
||||
}
|
||||
this.feeds=this.feeds.concat(thisfeed) //add entry to array holding all feed entries
|
||||
this._signaldownloadcomplete() //signal the retrieval of this feed as complete (and move on to next one if defined)
|
||||
}
|
||||
|
||||
gfeedfetcher.prototype._signaldownloadcomplete=function(){
|
||||
this.feedsfetched+=1
|
||||
if (this.feedsfetched==this.feedurls.length) //if all feeds fetched
|
||||
this._displayresult(this.feeds) //display results
|
||||
}
|
||||
|
||||
|
||||
gfeedfetcher.prototype._displayresult=function(feeds){
|
||||
var rssoutput=(this.itemcontainer=="<li>")? "<ul>\n" : ""
|
||||
gfeedfetcher._sortarray(feeds, this.sortstring)
|
||||
for (var i=0; i<feeds.length; i++){
|
||||
var itemtitle="<a rel=\"nofollow\" href=\"" + feeds[i].link + "\" target=\"" + this.linktarget + "\" class=\"titlefield\">" + feeds[i].title + "</a>"
|
||||
var itemlabel=/label/i.test(this.showoptions)? '<span class="labelfield">['+this.feeds[i].ddlabel+']</span>' : " "
|
||||
var itemdate=gfeedfetcher._formatdate(feeds[i].publishedDate, this.showoptions)
|
||||
var itemdescription=/description/i.test(this.showoptions)? "<br />"+feeds[i].content : /snippet/i.test(this.showoptions)? "<br />"+feeds[i].contentSnippet : ""
|
||||
rssoutput+=this.itemcontainer + itemtitle + " " + itemlabel + " " + itemdate + "\n" + itemdescription + this.itemcontainer.replace("<", "</") + "\n\n"
|
||||
}
|
||||
rssoutput+=(this.itemcontainer=="<li>")? "</ul>" : ""
|
||||
this.feedcontainer.innerHTML=rssoutput
|
||||
}
|
||||
|
Before Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 393 KiB |
After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 624 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 6.2 KiB |
|
@ -24,7 +24,7 @@ public final class Prop implements Serializable {
|
|||
* @author BMLaurus-acanaveral
|
||||
* @uri http://www.bmlaurus.com
|
||||
*/
|
||||
private static final long serialVersionUID = -3973931828485013352L;
|
||||
private static final long serialVersionUID = -2735243406793760873L;
|
||||
|
||||
/** File Property */
|
||||
public static final String HOME_PROPERTY_FILE = "home.properties";
|
||||
|
@ -89,23 +89,8 @@ public final class Prop implements Serializable {
|
|||
public static final String SOC_6 = "Social6";
|
||||
public static final String SOC_7 = "Social7";
|
||||
|
||||
/** RSS Properties */
|
||||
public static final String RSS_ON = "rssOn";
|
||||
public static final String RSS = "rss";
|
||||
public static final String RSS_1_NAME = "rss1Name";
|
||||
public static final String RSS_1 = "rss1";
|
||||
public static final String RSS_2_NAME = "rss2Name";
|
||||
public static final String RSS_2 = "rss2";
|
||||
public static final String RSS_3_NAME = "rss3Name";
|
||||
public static final String RSS_3 = "rss3";
|
||||
public static final String RSS_4_NAME = "rss4Name";
|
||||
public static final String RSS_4 = "rss4";
|
||||
public static final String RSS_5_NAME = "rss5Name";
|
||||
public static final String RSS_5 = "rss5";
|
||||
public static final String RSS_REFRESH = "RssRefreshMessage";
|
||||
|
||||
/**Defaults*/
|
||||
private static final String CREDITS = "Welcome to the iDempiere (OSGi+ADempiere) 3.0 Page!";
|
||||
private static final String CREDITS = "Welcome to the iDempiere (OSGi+ADempiere) 6.1 Page!";
|
||||
private static String LOGO_URL = null;
|
||||
|
||||
|
||||
|
@ -173,8 +158,6 @@ public final class Prop implements Serializable {
|
|||
s_prop.setProperty(CLIENT_NAME, "iDempiere Server");
|
||||
if(s_prop.getProperty(CREDITS_TXT)==null||s_prop.getProperty(CREDITS_TXT).length()<=0)
|
||||
s_prop.setProperty(CREDITS_TXT, CREDITS);
|
||||
if(s_prop.getProperty(RSS_REFRESH)==null||s_prop.getProperty(RSS_REFRESH).length()<=0)
|
||||
s_prop.setProperty(RSS_REFRESH, "Refresh live blog posts");
|
||||
//LINKS
|
||||
if(s_prop.getProperty(FELIX_LINK)==null||s_prop.getProperty(FELIX_LINK).length()<=0)
|
||||
s_prop.setProperty(FELIX_LINK, DEF_FELIX_LINK);
|
||||
|
@ -320,15 +303,6 @@ public final class Prop implements Serializable {
|
|||
return bais.toByteArray();
|
||||
}
|
||||
|
||||
public static boolean isRssOn(){
|
||||
boolean rss=false;
|
||||
if(getProperty(RSS_ON).toUpperCase().equals("TRUE")||
|
||||
getProperty(RSS_ON).toUpperCase().equals("YES")||
|
||||
getProperty(RSS_ON).toUpperCase().equals("Y"))
|
||||
rss=true;
|
||||
return rss;
|
||||
}
|
||||
|
||||
public static void load(){
|
||||
loadProperties(getFileName(false));
|
||||
setDefaults();
|
||||
|
|
|
@ -11,7 +11,7 @@ IrcLink = http://webchat.freenode.net/?channels=idempiere
|
|||
WikiLink = http://wiki.idempiere.org/
|
||||
ForumsLink = http://groups.google.com/group/idempiere
|
||||
SupportRequestLink = http://jira.idempiere.com
|
||||
SupportLink = mailto:support@idempiere.com
|
||||
SupportLink = mailto:idempiere@googlegroups.com
|
||||
OptionLink = https://idempiere.atlassian.net
|
||||
|
||||
#Default Texts
|
||||
|
@ -32,7 +32,7 @@ SupportRequestText = Support Request
|
|||
Facebook = https://www.facebook.com/IDempiere
|
||||
Twitter = https://twitter.com/iDempiere
|
||||
LinkedIn = NONE
|
||||
Google+ = https://groups.google.com/forum/#!forum/idempiere-dev
|
||||
Google+ = https://plus.google.com/communities/107237178393636704520
|
||||
Social5 = NONE
|
||||
Social6 = NONE
|
||||
Social7 = NONE
|
||||
|
@ -41,7 +41,7 @@ Social7 = NONE
|
|||
Title = iDempiere Application Home
|
||||
|
||||
#Custom TemplateName (white or black)
|
||||
TemplateName = black
|
||||
TemplateName = white
|
||||
|
||||
#file:///Linux/&Mac/resources/templates/ --- file://Windows/resources/templates/
|
||||
TemplatePath = resources/templates/
|
||||
|
@ -54,11 +54,3 @@ ClientName = iDempiere Server
|
|||
#Custom Credits & Copyright tail
|
||||
Credits = Welcome to the iDempiere (OSGi+ADempiere) 6.1 Page!
|
||||
Copyriright = || by <a href="http://www.idempiere.org" target="blank">iDempiere Community</a>
|
||||
|
||||
#Custom RSS (rss1 to rss5)
|
||||
rssOn = true
|
||||
RssRefreshMessage = Refresh
|
||||
rss1Name = iDempiere's Blog
|
||||
rss1 = https://groups.google.com/group/idempiere/feed/rss_v2_0_msgs.xml
|
||||
rss2Name = 2 nd Blog
|
||||
rss2 = https://groups.google.com/group/idempiere-es/feed/rss_v2_0_msgs.xml
|
||||
|
|