/impl/conf/language/MessageResourcesCourse.properties |
---|
74,7 → 74,17 |
course.validation.role=Comissão de Curso para validação de Programas |
course.pagina.nao.disponivel=De momento a página à qual acedeu não se encontra disponivel, pedimos desculpa por qualquer incómodo que isto lhe possa causar, a administração foi informada deste facto e irá resolver o problema o mais depressa possivel. |
courseunit.programfile.valid=programa <u>Aprovado</u> pela pela comissão de curso |
course.courseunit.program.validate.todo={0} Unidades por aprovar (programa) |
course.menu.home=Inicio |
course.menu.studiesplan=Plano de Estudos |
course.menu.internacionalicao=Internacionalização |
course.menu.labs=Laboratorios |
course.menu.actividades=Actividades |
course.menu.casos=Casos de sucesso |
course.menu.parceiros=Parceiros |
course.menu.faq=FAQ |
/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
7,6 → 7,8 |
course={0} > |
courseunit={0} |
course.nav.without.arrow={0} |
courseunit.menu.unit.old.units=Anos anteriores |
courseunit.menu.unit.other.units=Outros Anos |
courseunit.menu.unit=Unidade |
/impl/conf/WEB-INF/struts/struts-courses.xml |
---|
27,14 → 27,15 |
<action path="/startLoadCourseSeparators" forward="/courseController.do?dispatch=loadSeparators"/> |
<action path="/startLoadCourse" forward="/courseController.do?dispatch=loadSeparators"/> |
<action path="/startLoadMenuCourse" forward="/courseController.do?dispatch=loadMenu"/> |
<action path="/startLoadCourseStudiesPlan" forward="/courseController.do?dispatch=loadPlan"/> |
<!--ESTE E O LINK DO PROGRAMA CURRICULAR--> |
<action path="/startLoadCourse" forward="/courseController.do?dispatch=load"/> |
<action path="/courseController" |
type="pt.estgp.estgweb.web.controllers.courses.CoursesController" |
/impl/conf/app.properties |
---|
85,7 → 85,8 |
##Proxy Servers |
#If is an HTTP Server needs encoding config if FTP needs user pass config |
#This server is the server for unit contents, must be named ionline, it is hardcoded |
server.ionline=ftp://www.global.estgp.pt |
#server.ionline=ftp://www.global.estgp.pt |
server.ionline=ftp://w2.estgp.pt |
server.ionline.start.path= |
ionline.pass=baco |
ionline.user=Baco_web |
/impl/src/java/pt/estgp/estgweb/services/courses/CoursesCommonServices.java |
---|
1,18 → 1,21 |
package pt.estgp.estgweb.services.courses; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.Course; |
import pt.estgp.estgweb.domain.DomainObject; |
import pt.estgp.estgweb.domain.Teacher; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.common.*; |
import pt.estgp.estgweb.services.common.impl.DefaultResult; |
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults; |
import pt.estgp.estgweb.services.common.impl.DefaultResult; |
import pt.estgp.estgweb.services.common.impl.DefaultToDo; |
import pt.estgp.estgweb.services.courseunits.CourseUnitsCommonServices; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import org.apache.log4j.Logger; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.*; |
import java.util.ArrayList; |
import java.util.List; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
59,7 → 62,7 |
defaultResult.setTitle(course.getName()); |
defaultResult.setText(course.getDescription()); |
if (from == null) |
defaultResult.setUrl("/startLoadCourse.do?courseView.id=" + course.getId()); |
defaultResult.setUrl("/startLoadCourseSeparators.do?courseView.id=" + course.getId()); |
else |
defaultResult.setUrl("/user/startLoadCourseFrom" + from + ".do?courseView.id=" + course.getId()); |
searchResults.addResult(defaultResult); |
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java |
---|
180,6 → 180,7 |
} |
catch (Exception e) |
{ |
logger.error(e,e); |
throw new IOException(e.toString()); |
} |
} |
429,12 → 430,21 |
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request); |
parameters.put("contextPath", request.getContextPath()); |
if (userSession.getUsername() != null) |
parameters.put("username", userSession.getUsername()); |
if (userSession.getName() != null) |
parameters.put("name", userSession.getName()); |
if (userSession.getUser() != null) |
parameters.put("roles", userSession.getUser().getRoles()); |
String username = "descolnhecido"; |
String roles = ""; |
String name = username; |
if (userSession != null && userSession.getUsername() != null) |
username = userSession.getUsername(); |
if (userSession != null && userSession.getName() != null) |
name = userSession.getName(); |
if (userSession != null && userSession.getUser() != null) |
roles = userSession.getUser().getRoles(); |
parameters.put("username", username); |
parameters.put("name", name); |
parameters.put("roles", roles); |
parameters.put("ACTUAL", actualNodeId); |
parameters.put("ACTUAL_REMOTE_CHILD", actualRemoteNodeId); |
/impl/src/java/pt/estgp/estgweb/web/WebProxy.java |
---|
1,5 → 1,6 |
package pt.estgp.estgweb.web; |
import org.apache.commons.httpclient.URIException; |
import org.apache.commons.httpclient.util.URIUtil; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.utils.ConfigProperties; |
189,8 → 190,14 |
return in; |
} |
public static void main(String[] args) throws URIException { |
String path = "pagina.php?id=asdasd&jj=kk"; |
String pathFinal = path.indexOf("?") >=0 ? URIUtil.encodePath(path.substring(0,path.indexOf("?")), "ISO-8859-1") + "?" +path.substring(path.indexOf("?")+1) : path; |
System.out.println(pathFinal); |
} |
public static void processHttpRequestService(JspWriter out, String server, String path) throws IOException, ServletException |
{ |
String serverUrl = ConfigProperties.getProperty("server." + server); |
String serverEncoding = ConfigProperties.getProperty(server + ".encoding"); |
String confStartPath = ConfigProperties.getProperty("server." + server + ".start.path"); |
200,7 → 207,11 |
try |
{ |
URL url = new URL(serverUrl + URIUtil.encodePath(path, "ISO-8859-1")); |
String pathFinal = path.indexOf("?") >=0 ? URIUtil.encodePath(path.substring(0,path.indexOf("?")), "ISO-8859-1") + path.substring(path.indexOf("?")) : path; |
System.out.println("Getting: " + serverUrl + pathFinal); |
URL url = new URL(serverUrl + pathFinal); |
URLConnection con = url.openConnection(); |
InputStream stream = con.getInputStream(); |
/impl/src/java/pt/estgp/estgweb/web/utils/RequestUtils.java |
---|
1,11 → 1,9 |
package pt.estgp.estgweb.web.utils; |
import jomm.utils.BytesUtils; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import javax.servlet.http.Cookie; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
19,52 → 17,56 |
{ |
public static String getRequester(HttpServletRequest request, HttpServletResponse response) throws NoCookiesException |
{ |
if(request == null) |
return "unknown"; |
if (request.getCookies() == null || request.getCookies().length == 0) |
{ |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
response.addCookie(cookie); |
return cookie.getValue(); |
} |
else if (request.getCookies() != null && request.getCookies().length > 0) |
{ |
for (Cookie cookie : request.getCookies()) |
{ |
if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
{ |
return cookie.getValue(); |
} |
} |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
response.addCookie(cookie); |
return cookie.getValue(); |
} |
throw new NoCookiesException(); |
// if(request == null) |
// return "unknown"; |
// if (request.getCookies() == null || request.getCookies().length == 0) |
// { |
// Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
// response.addCookie(cookie); |
// return cookie.getValue(); |
// } |
// else if (request.getCookies() != null && request.getCookies().length > 0) |
// { |
// for (Cookie cookie : request.getCookies()) |
// { |
// if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
// { |
// return cookie.getValue(); |
// } |
// } |
// Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
// response.addCookie(cookie); |
// return cookie.getValue(); |
// } |
// throw new NoCookiesException(); |
if(request.getSession() != null) |
return request.getSession().getId(); |
return "unkown"; |
} |
public static boolean existRequester(HttpServletRequest request, HttpServletResponse response) throws NoCookiesException |
{ |
if (request.getCookies() == null || request.getCookies().length == 0) |
{ |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
response.addCookie(cookie); |
return false; |
} |
else if (request.getCookies() != null && request.getCookies().length > 0) |
{ |
for (Cookie cookie : request.getCookies()) |
{ |
if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
{ |
return true; |
} |
} |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
response.addCookie(cookie); |
return false; |
} |
throw new NoCookiesException(); |
// if (request.getCookies() == null || request.getCookies().length == 0) |
// { |
// Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
// response.addCookie(cookie); |
// return false; |
// } |
// else if (request.getCookies() != null && request.getCookies().length > 0) |
// { |
// for (Cookie cookie : request.getCookies()) |
// { |
// if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
// { |
// return true; |
// } |
// } |
// Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
// response.addCookie(cookie); |
// return false; |
// } |
// throw new NoCookiesException(); |
return true; |
} |
private static final String EMPTY_STRING = ""; |
/impl/src/java/pt/estgp/estgweb/web/Globals.java |
---|
2,8 → 2,6 |
import pt.estgp.estgweb.utils.ConfigProperties; |
import javax.servlet.http.HttpServletRequest; |
/** |
* @author Fabio |
* @date 31/Mar/2008 |
15,7 → 13,7 |
public static final String SITE_URL = ConfigProperties.getProperty("site.url"); |
public static final String BACO_SESSION_COOKIE = "BACOSESSIONID"; |
public static final String BACO_SESSION_COOKIE = "JSESSIONID"; |
private static final String PORTAL_MENU_START_LINK_START = "/proxy/"; |
private static final String PORTAL_MENU_START_LINK_END = "/estgp/public/portal"; |
private static final String PUBLIC_MENU_START_LINK_END = "/estgp/public"; |
/impl/src/web/public/courses/courseSeparators.jsp |
---|
13,8 → 13,8 |
<h2>${CourseView.name} (<%=Globals.NATIONAL_INSTITUTION_CODE%> / ${CourseView.code})</h2> |
<logic:notEmpty name="courseView" property="formatedDescription"><p>${courseView.formatedDescription}</p></logic:notEmpty> |
<logic:notEmpty name="courseView" property="externalSitePath"> |
<logic:notEmpty name="CourseView" property="formatedDescription"><p>${CourseView.formatedDescription}</p></logic:notEmpty> |
<logic:notEmpty name="CourseView" property="externalSitePath"> |
<% |
WebProxy.processHttpRequestService(out, CourseView.getExternalSiteServer(), CourseView.getExternalSitePath()); |
%> |
25,6 → 25,8 |
<%--<h3><bean:message key="course.studies.plan"/></h3>--%> |
<%--<bean:write name="CourseView" property="cacheWebDocument" filter="no"/>--%> |
<%--</logic:notEmpty>--%> |
</div> |
/impl/src/web/public/courses/courseMenu.jsp |
---|
16,16 → 16,14 |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul> |
<li><a href="<%=request.getContextPath() + "/startLoadCourseSeparators.do?type=" + request.getAttribute("type") + "&courseView.id=" + CourseView.getId()%>">Inicio</a></li> |
<li><html:link action="/startLoadCourseStudiesPlan?type=${CourseView.degree}&courseView.id=${CourseView.id}">Plano de Estudos</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=internacionalicao">Internacionalização</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=labs">Laboratorios</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=actividades">Actividades</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=casos">Casos de sucesso</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=parceiros">Parceiros</html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=faq">FAQ</html:link></li> |
<li><a href="<%=request.getContextPath() + "/startLoadCourseSeparators.do?content=home&type=" + CourseView.getDegree() + "&courseView.id=" + CourseView.getId()%>"><bean:message key="course.menu.home"/></a></li> |
<li><html:link action="/startLoadCourseStudiesPlan?content=studiesplan&type=${CourseView.degree}&courseView.id=${CourseView.id}"><bean:message key="course.menu.studiesplan"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=internacionalicao"><bean:message key="course.menu.internacionalicao"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=labs"><bean:message key="course.menu.labs"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=actividades"><bean:message key="course.menu.actividades"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=casos"><bean:message key="course.menu.casos"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=parceiros"><bean:message key="course.menu.parceiros"/></html:link></li> |
<li><html:link action="/startLoadMenuCourse?type=${CourseView.degree}&courseView.id=${CourseView.id}&content=faq"><bean:message key="course.menu.faq"/></html:link></li> |
</ul> |
</div> |
</div> |
/impl/src/web/public/courses/topnavCourse.jsp |
---|
6,7 → 6,15 |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace("/courses.do?type=" + request.getAttribute("type"), "module.Courses"); |
topNav.addNavPlace(null, "course", CourseView.getName()); |
topNav.addNavPlace("/courses.do?type=" + CourseView.getDegree() , "course." + CourseView.getDegree()); |
if(request.getParameter("content")!= null) |
{ |
topNav.addNavPlace("/startLoadCourseSeparators.do?content=home&type=" + CourseView.getDegree() + "&courseView.id=" + CourseView.getId() , "course.nav.without.arrow", CourseView.getName()); |
topNav.addNavPlace(null, "course.menu." + request.getParameter("content")); |
} |
else |
topNav.addNavPlace(null, "course.nav.without.arrow", CourseView.getName()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/courses/studiesPlan.jsp |
---|
10,7 → 10,7 |
<jsp:useBean id="CourseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/> |
<div class="seccao"> |
<h2>${CourseView.name} (<%=Globals.NATIONAL_INSTITUTION_CODE%> / ${CourseView.code})</h2> |
<h2><bean:message key="course.studies.plan"/></h2> |
<logic:empty name="CourseView" property="cacheWebDocument"> |
<div class="seccao"> |
25,7 → 25,7 |
</div> |
</logic:empty> |
<logic:notEmpty name="CourseView" property="cacheWebDocument"> |
<h3><bean:message key="course.studies.plan"/></h3> |
<bean:write name="CourseView" property="cacheWebDocument" filter="no"/> |
</logic:notEmpty> |
</div> |
/impl/src/web/public/courses/topnavCourses.jsp |
---|
1,12 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="java.util.*"%> |
<%@ page import="jomm.web.utils.NavPlace" %> |
<%@ page import="jomm.web.utils.NavPlaceServer" %> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "courses"); |
topNav.addNavPlace(null, "course." + request.getParameter("type")); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/courses/courseMenuLoader.jsp |
---|
11,8 → 11,26 |
<jsp:useBean id="CourseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/> |
<% |
String contentsPage = (String) request.getParameter("content"); |
String pagina = "/pagina.php?nome_id=curso_" + CourseView.getCode() + "_" + contentsPage; |
WebProxy.processHttpRequestService(out,"conteudos", pagina); |
%> |
<div class="seccao"> |
<% |
String contentsPage = (String) request.getParameter("content"); |
request.setAttribute("contentM",contentsPage); |
%> |
<h2><bean:message key="course.menu.${contentM}"/></h2> |
<% |
try{ |
String pagina = "/pagina.php?nome_id=curso_" + CourseView.getCode() + "_" + contentsPage; |
WebProxy.processHttpRequestService(out,"conteudos", pagina); |
} |
catch(Throwable e) |
{ |
%> |
<p><bean:message key="course.pagina.nao.disponivel"/></p> |
<% |
} |
%> |
</div> |