Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 52 → Rev 53

/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/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>