/impl/database.sql |
---|
File deleted |
/impl/conf/app.properties |
---|
62,6 → 62,7 |
announcements.automatic.validation.role.4=administrativeCouncil |
announcements.max.visible=10 |
announcements.top.flash.news.timeout.miliseconds=7000 |
announcements.type.0=news |
announcements.type.1=top.flash.news |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
27,5 → 27,6 |
public static final int NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX=5; |
public static final int NUMBER_ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_INDEX=1; |
public static final int NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX=2; |
public static final int ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT=ConfigProperties.getIntProperty("announcements.top.flash.news.timeout.miliseconds"); |
} |
/impl/src/java/pt/estgp/estgweb/web/filters/UserSessionFilter.java |
---|
45,7 → 45,7 |
{ |
HttpServletRequest hrequest = (HttpServletRequest) request; |
System.out.println(hrequest.getCookies()[0].getValue()); |
if(((HttpServletRequest)request).getServletPath().indexOf("errorNoCookies.do")>=0 || !hrequest.isRequestedSessionIdFromCookie()) |
chain.doFilter(request,response); |
try |
/impl/src/web/css/style.css |
---|
307,20 → 307,26 |
background-color:#4d4d4d; |
} |
#flashTopNews |
#flashTopNews table |
{ |
width:100%; |
} |
#flashTopNews, #flashTopNews table |
{ |
background-color:#4d4d4d; |
height:100px; |
padding:0; |
margin:0; |
} |
#flashTopNews img |
{ |
height:100px; |
} |
.imageNewsTop |
{ |
text-align:right; |
} |
#flashTopNews td,.flashCenterNews td,.flashBottomNews td |
{ |
vertical-align:top; |
379,9 → 385,10 |
.lastnews ul |
{ |
padding:0; |
list-style: none; |
padding-left:5px; |
WIDTH: 160px; |
padding-right:5px; |
width:160px; |
} |
#leftMenuModule h2 |
/impl/src/web/js/ajax.js |
---|
1,154 → 1,160 |
var xmlHttp; |
var servidorBaseUrl = "@server.base.url@"; |
/** |
* |
* AJAX Functions |
* |
* This code is protected under GNU LGPL License |
* |
* @author Jorge Machado |
* @date April 2008 |
**/ |
/** |
* Starts XMLHTTP Ajax request |
* |
* @author Jorge Machado |
* @date April 2008 |
* |
* params: |
* @params HTTP GET Parameters for query string |
* @xmlHttpRequest request |
* @id target element |
* @stateChanged target function |
* @innerPhrase to put while waiting for response |
* @navjsp requested jsp |
*/ |
function startRequest(xmlHttpRequest,params,id,stateChanged,innerPhrase,navjsp) |
{ |
if(innerPhrase != '') |
getObjectById(id).innerHTML = innerPhrase; |
if (xmlHttpRequest==null) |
{ |
alert ("Browser does not support HTTP Request"); |
return; |
} |
var url= navjsp; |
if(params != null && params.length > 0) |
{ |
url=url+"?"+ params; |
url=url+"&sid="+Math.random(); |
} |
else |
{ |
url=url+"?sid="+Math.random(); |
} |
xmlHttpRequest.onreadystatechange=stateChanged; |
xmlHttpRequest.open("GET",url,true); |
xmlHttpRequest.send(null); |
} |
function getObjectById(objectId) { |
// cross-browser function to get an object's style object given its id |
try |
/** |
* Return an HTML element given ID |
* |
* @author Jorge Machado |
* @date April 2008 |
* |
* params: |
* @objectId required object |
*/ |
function getObjectById(objectId) |
{ |
// cross-browser function to get an object's style object given its id |
try |
{ |
if(document.getElementById && document.getElementById(objectId)) |
{ |
if(document.getElementById && document.getElementById(objectId)) { |
// W3C DOM |
return document.getElementById(objectId); |
} else if (document.all(objectId)) { |
return document.getElementById(objectId); |
} |
else if (document.all(objectId)) |
{ |
// MSIE 4 DOM |
return document.all(objectId); |
} else if (document.layers && document.layers[objectId]) { |
return document.all(objectId); |
} |
else if (document.layers && document.layers[objectId]) |
{ |
// NN 4 DOM.. note: this won't find nested layers |
return document.layers[objectId]; |
} else { |
return false; |
} |
return document.layers[objectId]; |
} |
catch(e) |
else |
{ |
return false; |
} |
} // getObjectById |
function GetXmlHttpObject() |
{ |
var objXMLHttp=null; |
if (window.XMLHttpRequest) |
{ |
objXMLHttp=new XMLHttpRequest(); |
} |
else if (window.ActiveXObject) |
{ |
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); |
} |
return objXMLHttp; |
} |
catch(e) |
{ |
return false; |
} |
} |
function GetXmlHttpObject(handler) |
{ |
var objXmlHttp=null; |
if (navigator.userAgent.indexOf("Opera")>=0) |
{ |
alert("This example doesn't work in Opera") ; |
return ; |
} |
if (navigator.userAgent.indexOf("MSIE")>=0) |
{ |
var strName="Msxml2.XMLHTTP"; |
if (navigator.appVersion.indexOf("MSIE 5.5")>=0) |
{ |
strName="Microsoft.XMLHTTP"; |
} |
try |
{ |
objXmlHttp=new ActiveXObject(strName); |
objXmlHttp.onreadystatechange=handler ; |
return objXmlHttp; |
} |
catch(e) |
{ |
alert("Error. Scripting for ActiveX might be disabled") ; |
return ; |
} |
} |
if (navigator.userAgent.indexOf("Mozilla")>=0) |
{ |
objXmlHttp=new XMLHttpRequest(); |
objXmlHttp.onload=handler; |
objXmlHttp.onerror=handler; |
return objXmlHttp; |
} |
} |
/** |
* Creates a new XmlHttpObject |
* @author Jorge Machado |
* @date April 2008 |
* |
* Application Methods Examples |
* |
* |
* params: |
* @handler target xmlHttpObject function |
*/ |
function getImportState() |
function GetXmlHttpObject(handler) |
{ |
xmlHttp=GetXmlHttpObject(stateChangedGetImportState); |
getObjectById("importState").innerHTML = "<div class=\"statusSearch\">Updating import state ....</div>"; |
if (xmlHttp==null) |
{ |
alert ("Browser does not support HTTP Request"); |
return; |
} |
//http://servidor:8080 |
var url= servidorBaseUrl + "/jsp/import/getImportState.jsp"; |
url=url+"?sid="+Math.random(); |
xmlHttp.onreadystatechange=stateChangedGetImportState; |
xmlHttp.open("GET",url,true); |
xmlHttp.send(null); |
} |
function stateChangedGetImportState() |
{ |
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") |
{ |
var html = xmlHttp.responseText; |
getObjectById("importState").innerHTML=html; |
if(!(getObjectById("importStateStatus") != null && getObjectById("importStateStatus").value == 'STOPPED')) |
var objXmlHttp = null; |
if (navigator.userAgent.indexOf("Opera")>=0) |
{ |
alert("This example doesn't work in Opera") ; |
return objXmlHttp; |
} |
if (navigator.userAgent.indexOf("MSIE")>=0) |
{ |
var strName="Msxml2.XMLHTTP"; |
if (navigator.appVersion.indexOf("MSIE 5.5")>=0) |
{ |
setTimeout(getImportState,5000); |
strName="Microsoft.XMLHTTP"; |
} |
} |
try |
{ |
objXmlHttp=new ActiveXObject(strName); |
objXmlHttp.onreadystatechange=handler ; |
return objXmlHttp; |
} |
catch(e) |
{ |
alert("Error. Scripting for ActiveX might be disabled") ; |
return objXmlHttp; |
} |
} |
if (navigator.userAgent.indexOf("Mozilla")>=0) |
{ |
objXmlHttp=new XMLHttpRequest(); |
objXmlHttp.onload=handler; |
objXmlHttp.onerror=handler; |
return objXmlHttp; |
} |
} |
/*************************************************** |
TopFlashNews |
***************************************************/ |
var xmlHttpTopFlashNews; |
var getFlashNewsTimeout; |
var getFlashNewsJsp; |
//GET DESTAQUE |
var iterator = 0; |
var cookie; |
function getFlashNewsNext() |
function getFlashNews(jsp,timeout) |
{ |
getFlashNews(cookie); |
getFlashNewsJsp = jsp; |
getFlashNewsTimeout = timeout; |
getFlashNewsTimeoutCall(); |
} |
function getFlashNews() |
function getFlashNewsTimeoutCall() |
{ |
xmlHttp=GetXmlHttpObject(stateChangedGetFlashNews); |
if (xmlHttp==null) |
{ |
alert ("Browser does not support HTTP Request"); |
return; |
} |
var url= servidorBaseUrl + "/public/announcements/getFlashNews.jsp"; |
url=url+"?sid="+Math.random()+"&iterator="+iterator; |
iterator++; |
xmlHttp.onreadystatechange=stateChangedGetFlashNews; |
xmlHttp.open("GET",url,true); |
xmlHttp.send(null); |
xmlHttpTopFlashNews=GetXmlHttpObject(stateChangedGetFlashNews); |
startRequest(xmlHttpTopFlashNews,"","flashTopNews",stateChangedGetFlashNews,"",getFlashNewsJsp) |
} |
function stateChangedGetFlashNews() |
{ |
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") |
{ |
getObjectById("flashTopNews").innerHTML=xmlHttp.responseText; |
setTimeout(getFlashNews,5000); |
} |
if (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete") |
{ |
getObjectById("flashTopNews").innerHTML=xmlHttpTopFlashNews.responseText; |
setTimeout(getFlashNewsTimeoutCall,getFlashNewsTimeout); |
} |
} |
/impl/src/web/public/index.jsp |
---|
23,10 → 23,11 |
<jomm:messages/> |
<html:errors/> |
<script type="text/javascript"> |
<%--getFlashNews('<%=request.getCookies()[0].getValue()%>');--%> |
getFlashNews(); |
</script> |
<script type="text/javascript"> |
<!-- |
getFlashNews('<%=request.getContextPath()%>/public/announcements/getFlashNews.jsp',<%=Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT%>); |
--> |
</script> |
<div class="indexPage" > |
34,17 → 35,19 |
<h1> <bean:message key="mainAnnouncements"/></h1> |
</div> |
<table id="flashTopNews"> |
<tr> |
<td> |
<div class="textNewsTop"> |
<div id="flashTopNews"> |
<table> |
<tr> |
<td> |
<div class="textNewsTop"> |
<bean:message key="announcements.loading"/> |
</div> |
</td> |
<td class="imageNewsTop"> |
</td> |
</tr> |
</table> |
</div> |
</td> |
<td class="imageNewsTop"> |
</td> |
</tr> |
</table> |
</div> |
<table class="flashCenterNews"> |
<tr> |
52,10 → 55,10 |
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<logic:equal value="bottom.flash.news" name="item" property="type"> |
<%if(centerAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX) |
{ |
{ |
%> |
<td class="imageNewsCenter"> |
<img src="<%=request.getContextPath()%>/imgs/destaque_2_1.jpg"/> |
<img src="<%=request.getContextPath()%>/imgs/destaque_2_1.jpg"/> |
</td> |
<td> |
<div class="titleNewsCenter"> |
66,11 → 69,11 |
</div> |
</td> |
<% |
} |
else{ |
} |
centerAnnouncements++; |
%> |
} |
else{ |
} |
centerAnnouncements++; |
%> |
</logic:equal> |
</logic:iterate> |
</div> |
82,16 → 85,16 |
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<logic:equal value="news" name="item" property="type"> |
<%if(bottomAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX) |
{ |
{ |
%> |
<td class="imageNewsBottom"> |
<img src="<%=request.getContextPath()%>/imgs/destaque_3_3.gif"/> |
</td> |
<% |
} |
else{ |
} |
bottomAnnouncements++; |
} |
else{ |
} |
bottomAnnouncements++; |
%> |
</logic:equal> |
</logic:iterate> |
103,8 → 106,8 |
<logic:iterate length="5" id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<logic:equal value="news" name="item" property="type"> |
<% |
if(bottomAnnouncements<=4) |
{ |
if(bottomAnnouncements<=4) |
{ |
%> |
<td width="50px"> |
<div class="titleNewsBottom"> |
115,8 → 118,8 |
</div> |
</td> |
<% |
} |
bottomAnnouncements++; |
} |
bottomAnnouncements++; |
%> |
</logic:equal> |
</logic:iterate> |
/impl/src/web/public/announcements/getFlashNews.jsp |
---|
20,18 → 20,20 |
Object[] arguments = new Object[]{}; |
AnnouncementView announcementView = (AnnouncementView) sm.execute(RequestUtils.getRequester(request), "LoadTopFlashNewsIterate", arguments, names); |
%> |
<tr> |
<td> |
<div id="textNewsTop"> |
<div class="titleNewsTop"> |
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></html:link> |
<table> |
<tr> |
<td> |
<div id="textNewsTop"> |
<div class="titleNewsTop"> |
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></html:link> |
</div> |
<div class="descriptionNewsTop"> |
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></html:link> |
</div> |
</div> |
<div class="descriptionNewsTop"> |
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></html:link> |
</div> |
</div> |
</td> |
<td class="imageNewsTop"> |
<%if(announcementView.getBigImage() != null){%><img alt="<%=announcementView.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=announcementView.getBigImage().getId()%>"><%}%> |
</td> |
</tr> |
</td> |
<td class="imageNewsTop"> |
<%if(announcementView.getBigImage() != null){%><img alt="<%=announcementView.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=announcementView.getBigImage().getId()%>"><%}%> |
</td> |
</tr> |
</table> |
/impl/src/web/public/announcements/announcements.jsp |
---|
17,34 → 17,24 |
<div class="lastNews"> |
<div class="header"> |
<h1><bean:message key="announcements"/></h1> |
<h1><bean:message key="announcements"/></h1> |
</div> |
<table class="lastNewsBlock"> |
<tr> |
<td> |
<logic:present name="Announcements"> |
<div class="listClean"> |
<ul> |
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<li> |
<logic:empty name="item" property="url"> |
<logic:equal value="news" name="item" property="type"> |
<div class="titleLastNews"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div> |
</logic:equal> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<logic:equal value="news" name="item" property="type"> |
<div class="titleLastNews"><html:link href="${item.url}">${item.title}</html:link></div> |
</logic:equal> |
</logic:notEmpty> |
</li> |
</logic:iterate> |
</ul> |
</div> |
</logic:present> |
</td> |
</tr> |
</table> |
<div class="lastNewsBlock"> |
<logic:present name="Announcements"> |
<ul> |
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<logic:equal value="news" name="item" property="type"> |
<li> |
<logic:empty name="item" property="url"> |
<div class="titleLastNews"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<div class="titleLastNews"><html:link href="${item.url}">${item.title}</html:link></div> |
</logic:notEmpty> |
</li> |
</logic:equal> |
</logic:iterate> |
</ul> |
</logic:present> |
</div> |
</div> |
/impl/build.xml |
---|
277,7 → 277,7 |
</fileset> |
</copy> |
<replace file="${build.dir.war}/js/ajax.js"> |
<replacefilter token="@server.base.url@" value="${service.url}"/> |
<replacefilter token="@server.base.url@" value="${tomcat.context.path}"/> |
</replace> |
</target> |