Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 481 → Rev 485

/impl/conf/language/MessageResources.properties
126,7 → 126,7
fail.role=Lamentamos o incómodo, mas necessita de permissões especiais para aceder a esta área.
fail.owner=Lamentamos o incómodo, mas não tem permissões sobre o objecto ao qual tentou aceder.
fail.timer=Lamentamos o incomodo, mas a acção que tentou efectuar não pode ser executada nesta data.
fail.authenticate=Falhou a autênticação
fail.authenticate=O nome de utilizador ou a palavra passe estão errados. Por favor tente de novo.
 
#palavras comuns
courseunit=Unidade Curricular
/impl/conf/app.properties
446,7 → 446,7
 
 
srusource.path.condition.pattern.01=.[\\\\\\/]Semestre[12][\\\\\\/].
srusource.path.condition.template.01=(<b>{3}</b> - <b>@collection@</b>)
srusource.path.condition.template.01= ... > <b>{3}</b> > @collection@
 
srusource.path.condition.pattern.99=.
srusource.path.condition.template.99=(@collection@)
/impl/src/java/jomm/utils/StringsUtils.java
30,19 → 30,30
 
public static String getFormatedText(String text)
{
return getFormatedText(text,Integer.MAX_VALUE,Integer.MAX_VALUE);
}
public static String getFormatedText(String text, int maxlines, int maxLineSize)
{
int linesCounter = 1;
int lineSize = 0;
if (text == null || text.trim().length() == 0)
return "";
 
StringBuilder finalFormatedText = new StringBuilder();
boolean newLine = true;
for (int i = 0; i < text.length(); i++)
for (int i = 0; i < text.length() && linesCounter < maxlines; i++)
{
lineSize++;
 
if (newLine && text.charAt(i) == ' ')
{
finalFormatedText.append("&nbsp;");
}
else if (text.charAt(i) == '\n')
{
linesCounter++;
lineSize = 0;
finalFormatedText.append("<br>");
newLine = true;
}
63,6 → 74,13
finalFormatedText.append(text.charAt(i));
newLine = false;
}
 
/*Line Size Simulation*/
if(lineSize > maxLineSize)
{
linesCounter++;
lineSize = 0;
}
}
return finalFormatedText.toString();
}
/impl/src/java/jomm/web/ftp/impl/FtpFile.java
46,7 → 46,7
this.lastUpdate = ftpFile.getTimestamp().getTime();
this.name = ftpFile.getName();
this.directory = ftpFile.isDirectory();
this.size = ftpFile.getSize();
this.size = ftpFile.getSize() / 1024;
if(name.lastIndexOf('.')>=0)
this.extension = name.substring(name.lastIndexOf('.'));
if (ftpFile.getType() == FTPFile.DIRECTORY_TYPE)
/impl/src/java/pt/estgp/estgweb/services/common/impl/DefaultResult.java
1,6 → 1,7
package pt.estgp.estgweb.services.common.impl;
 
import pt.estgp.estgweb.services.common.IResult;
import jomm.utils.StringsUtils;
 
/**
* @author Jorge Machado
79,6 → 80,13
return text;
}
 
public String getTextSummary()
{
if(text!=null)
return StringsUtils.getFragment(text,300);
return null;
}
 
public String getUrl() {
return url;
}
/impl/src/java/pt/estgp/estgweb/services/common/CommonServicesManager.java
142,7 → 142,9
{
DefaultResult defaultResult = (DefaultResult) result;
if(defaultResult.getBestFragments() == null || defaultResult.getBestFragments().trim().length() == 0)
{
defaultResult.setBestFragments(LuceneUtils.doStandardHighlights(defaultResult.getText(), query, SEARCH_FRAGMENT_SIZE, SEARCH_MAX_FRAGMENTS));
}
if (!defaultResult.isTitleKey())
{
String title = defaultResult.getTitle();
165,6 → 167,15
if (defaultResult.getText() == null || defaultResult.getText().length() == 0)
defaultResult.setText(text);
}
 
if(defaultResult.getCreator() != null && defaultResult.getCreator().trim().length() > 0)
{
String creator = defaultResult.getCreator();
 
defaultResult.setCreator(LuceneUtils.highlight(defaultResult.getCreator(), query));
if (defaultResult.getCreator() == null || defaultResult.getCreator().length() == 0)
defaultResult.setCreator(creator);
}
}
}
}
/impl/src/java/pt/estgp/estgweb/services/common/IResult.java
17,6 → 17,7
public boolean isSubTitleKey();
public String getBestFragments();
public String getText();
public String getTextSummary();
public boolean isTextKey();
public String getUrl();
public boolean isAbsoluteUrl();
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogDaoImpl.java
120,16 → 120,18
 
public int countBlogs(String query, SearchTypeEnum searchType, List<String> roles, Object o, boolean internal)
{
Criterion c = DaoUtils.createSearchQuery(query,searchType,"description","title");
Criterion c = DaoUtils.createSearchQuery(query,searchType,"description","title","o.name");
Criteria criteria = createRestrictionsCriteria(roles, internal);
criteria.createAlias("owner","o");
criteria.add(c);
return criteria.list().size();
}
 
public List<Blog> searchBlogs(String query, SearchTypeEnum searchTypeEnum, int maxBlogs, int page, List<String> roles, boolean internal)
{
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "description", "title");
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "description", "title","o.name");
Criteria criteria = createRestrictionsCriteria(roles, internal);
criteria.createAlias("owner","o");
criteria.add(c)
.setMaxResults(maxBlogs)
.setFirstResult(page * maxBlogs);
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDaoImpl.java
125,16 → 125,18
 
public int countBlogPosts(String query, SearchTypeEnum searchType, List<String> roles, Object o, boolean internal)
{
Criterion c = DaoUtils.createSearchQuery(query,searchType,"text","title");
Criterion c = DaoUtils.createSearchQuery(query,searchType,"text","title","o.name");
Criteria criteria = createRestrictionsCriteria(roles, internal);
criteria.createAlias("owner","o");
criteria.add(c);
return criteria.list().size();
}
 
public List<BlogPost> searchBlogPosts(String query, SearchTypeEnum searchTypeEnum, int maxBlogs, int page, List<String> roles, boolean internal)
{
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "text", "title");
Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "text", "title","o.name");
Criteria criteria = createRestrictionsCriteria(roles, internal);
criteria.createAlias("owner","o");
criteria.add(c)
.setMaxResults(maxBlogs)
.setFirstResult(page * maxBlogs);
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoUtils.java
44,6 → 44,36
return c;
}
 
public static Criterion createSearchQuery(String query, SearchTypeEnum searchTypeEnum, String field1, String field2,String field3)
{
Criterion c = null;
if (searchTypeEnum == SearchTypeEnum.ExactPhrase)
c = or(or(like(field1, "%" + query + "%"), like(field2, "%" + query + "%")),like(field3, "%" + query + "%"));
else if (searchTypeEnum == SearchTypeEnum.AllWords)
{
String[] fields = query.trim().split(" ");
for (String field : fields)
{
if (c == null)
c = or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%"));
else
c = and(c, or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%")));
}
}
else
{
String[] fields = query.trim().split(" ");
for (String field : fields)
{
if (c == null)
c = or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")),like(field3, "%" + field + "%"));
else
c = or(c, or(or(like(field1, "%" + field + "%"), like(field2, "%" + field + "%")), like(field3, "%" + field + "%")));
}
}
return c;
}
 
public static Criterion createSearchQuery(String query, SearchTypeEnum searchTypeEnum, String field1)
{
Criterion c = null;
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java
264,8 → 264,13
public void persistViewInObjectUser(User user)
{
user.setName(name);
user.setAddress(address);
user.setZip(zip);
user.setCountry(country);
user.setEmail(email);
user.setPhonenumber(phonenumber);
user.setOutEmail(outEmail);
 
user.setPop3server(pop3server);
user.setPop3username(pop3username);
if(pop3password != null && pop3password.length()> 0)
273,9 → 278,12
user.setSkype(skype);
user.setGmail(gmail);
user.setMsn(msn);
user.setPhonenumber(phonenumber);
user.setAddress(address);
user.setZip(zip);
user.setOffice(office);
user.setExt(ext);
 
 
 
user.setScholarDegree(scholarDegree);
if(user.getPassword() != null && user.getPassword().length() > 0 && password != null && password.length() > 0)
{
user.setPassword(BytesUtils.getDigestMD5Hex(password));
/impl/src/java/pt/estgp/estgweb/domain/views/BlogPostView.java
29,6 → 29,7
private String text;
private Image image;
private GenericUser owner;
private long ownerId;
private String ownerUsername;
private String ownerName;
private String ownerEmail;
52,6 → 53,7
this.id = blogPost.getId();
this.owner = blogPost.getOwner();
ownerUsername = owner.getUsername();
ownerId = owner.getId();
ownerName = owner.getName();
ownerEmail = owner.getEmail();
this.blogId = blogPost.getBlog().getId();
203,6 → 205,11
return ownerUsername;
}
 
public long getOwnerId()
{
return ownerId;
}
 
public String getOwnerName()
{
return ownerName;
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java
371,6 → 371,16
return StringsUtils.getFormatedText(text);
}
 
public String getFormatedTextSummary(int maxLines, int maxLineSize)
{
return StringsUtils.getFormatedText(getText(),maxLines, maxLineSize);
}
 
public Boolean getFormatedTextBiggerThenPermited(int maxLines, int maxLineSize)
{
return StringsUtils.getFormatedText(getText()).length() > StringsUtils.getFormatedText(getText(),maxLines, maxLineSize).length();
}
 
public Boolean getTextBiggerThenPermited()
{
if(getInternalUrlPath() != null && getInternalUrlPath().trim().length()>0)
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java
9,6 → 9,8
import java.io.Serializable;
import java.util.*;
 
import jomm.utils.StringsUtils;
 
/**
* @author Jorge Machado
* @date 2/Mar/2008
279,6 → 281,11
return objectives;
}
 
public String getFormatedObjectives()
{
return StringsUtils.getFormatedText(objectives);
}
 
public void setObjectives(String objectives)
{
this.objectives = objectives;
/impl/src/java/pt/estgp/estgweb/web/form/blogs/BlogForm.java
100,9 → 100,9
addMessageWithKeys(errors, httpServletRequest, "errors.required", "blog.description");
if(blogView.getName()!=null)
blogView.setName(blogView.getName().trim());
if(blogView.getName() == null || !StringsUtils.checkLetters09AZazHiffenUnderScore(blogView.getName()))
if(blogView.getName() != null && blogView.getName().trim().length() > 0 && !StringsUtils.checkLetters09AZazHiffenUnderScore(blogView.getName()))
addMessage(errors, httpServletRequest, "blog.bad.name");
else
else if(blogView.getName() != null && blogView.getName().trim().length() > 0)
{
IServiceManager sm;
try
120,7 → 120,8
addMessage(errors, httpServletRequest, "error.500");
}
 
}
}else if(blogView.getName() != null && blogView.getName().trim().length() == 0)
blogView.setName(null);
return errors;
}
 
/impl/src/web/css/style.css
202,7 → 202,7
}
 
#content h2 a {
font-size: 0.8em;
font-size: 1em;
}
 
#content h2 {
/impl/src/web/js/ajax.js
206,7 → 206,9
var objXmlHttp = null;
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera") ;
objXmlHttp=new XMLHttpRequest();
objXmlHttp.onload=handler;
objXmlHttp.onerror=handler;
return objXmlHttp;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
/impl/src/web/layout/searchForm.jsp
39,7 → 39,7
%>
<td class="searchTab">
<html:form action="/search" method="post">
<input type="hidden" name="from" value="home"/>
<!--<input type="hidden" name="from" value="home"/>-->
<input type="hidden" name="dispatch" value="search"/>
<table>
<tr>
47,7 → 47,7
<bean:message key="search"/>
</td>
<td>
<input type="text" class="small" name="query" value="<%=query%>"/>
<input type="text" class="small" name="query" value="<%=query.replace("\"","&quot;")%>"/>
</td>
<td>
<input type="submit" value="<bean:message key="search"/>">
79,7 → 79,7
%>
<html:form action="/search" method="post">
<input type="hidden" name="dispatch" value="search"/>
<input type="hidden" name="from" value="intranet"/>
<input type="hidden" name="from" value="Home"/>
<div class="searchTab">
<html:image page="/imgs/lupa.gif" altKey="search"/><input type="text" class="small" name="query" value="<%=query%>"/> <input type="submit" value=">>">
</div>
90,4 → 90,4
%>
 
 
</baco:isModuleOn>
</baco:isModuleOn>
/impl/src/web/public/search/searchResults.jsp
253,7 → 253,13
<logic:notEmpty name="result" property="creator">
<p><b><bean:message key="search.result.creator"/>:</b> ${result.creator}</p>
</logic:notEmpty>
<p class="fragments">${result.bestFragments}</p>
<logic:empty name="result" property="bestFragments">
<p class="fragments">${result.text}</p>
</logic:empty>
<logic:notEmpty name="result" property="bestFragments">
<p class="fragments">${result.bestFragments}</p>
</logic:notEmpty>
 
<logic:notEmpty name="result" property="directory">
<p class="smallGreen">${result.directory}</p>
<p> <bean:message key="srusource.filter.dirs"/> :
269,7 → 275,7
finalPath += "/" + path;
%>
\
<a href="javascript:searchCall('${searchResults.module.messageKey}_${searchResults.moduleInternalKey}Results','(${searchResults.queryNoEncode}) AND dir:&quot;<%=finalPath%>&quot;','${searchResults.searchType}','0','${searchResults.module.messageKey}','${searchResults.moduleInternalKey}','<%=request.getContextPath()%>/search.do')" onclick="showOne('turnOffFilters${searchResults.module.messageKey}_${searchResults.moduleInternalKey}');return true;">
<a href="javascript:searchCall('${searchResults.module.messageKey}_${searchResults.moduleInternalKey}Results','(<%=searchResults.getQueryNoEncode().replace("\"","&quot;")%>) AND dir:&quot;<%=finalPath%>&quot;','${searchResults.searchType}','0','${searchResults.module.messageKey}','${searchResults.moduleInternalKey}','<%=request.getContextPath()%>/search.do')" onclick="showOne('turnOffFilters${searchResults.module.messageKey}_${searchResults.moduleInternalKey}');return true;">
<%=path%>
</a>
<%
/impl/src/web/public/search/searchForm.jsp
26,7 → 26,7
<bean:message key="search"/>
</td>
<td>
<html:text size="100%" styleClass="small" property="query" value=""/>
<html:text size="100%" styleClass="small" property="query" value=""/>
</td>
<td>
<input type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>">
/impl/src/web/public/search/searchResultsModule.jsp
69,7 → 69,12
<logic:notEmpty name="result" property="creator">
<p><b><bean:message key="search.result.creator"/>:</b> ${result.creator}</p>
</logic:notEmpty>
<p class="fragments">${result.bestFragments}</p>
<logic:empty name="result" property="bestFragments">
<p class="fragments">${result.text}</p>
</logic:empty>
<logic:notEmpty name="result" property="bestFragments">
<p class="fragments">${result.bestFragments}</p>
</logic:notEmpty>
<logic:notEmpty name="result" property="directory">
<p class="smallGreen">${result.directory}</p>
<p> <bean:message key="srusource.filter.dirs"/> :
85,7 → 90,7
finalPath += "/" + path;
%>
\
<a href="javascript:searchCall('${ISearchResults.module.messageKey}_${ISearchResults.moduleInternalKey}Results','(${ISearchResults.queryNoEncode}) AND dir:&quot;<%=finalPath%>&quot;','${ISearchResults.searchType}','0','${ISearchResults.module.messageKey}','${ISearchResults.moduleInternalKey}','<%=request.getContextPath()%>/search.do')" onclick="showOne('turnOffFilters${ISearchResults.module.messageKey}_${ISearchResults.moduleInternalKey}');return true;">
<a href="javascript:searchCall('${ISearchResults.module.messageKey}_${ISearchResults.moduleInternalKey}Results','(<%=ISearchResults.getQueryNoEncode().replace("\"","&quot;")%>) AND dir:&quot;<%=finalPath%>&quot;','${ISearchResults.searchType}','0','${ISearchResults.module.messageKey}','${ISearchResults.moduleInternalKey}','<%=request.getContextPath()%>/search.do')" onclick="showOne('turnOffFilters${ISearchResults.module.messageKey}_${ISearchResults.moduleInternalKey}');return true;">
<%=path%>
</a>
<%
/impl/src/web/public/blogs/blog.jsp
189,7 → 189,7
</tr>
<tr>
<td colspan="2" class="pFooter">
Posted by: (${post.ownerUsername}) ${post.ownerName} [AT] ${post.formatedSaveDate}
Posted by: <html:link page="/startProfile.do?userView.id=${post.ownerId}">(${post.ownerUsername}) ${post.ownerName}</html:link> [AT] ${post.formatedSaveDate}
</td>
</tr>
</baco:canLoad>
229,11 → 229,15
<%
String identifier = "" + BlogView.getId();
if(BlogView.getName() != null && BlogView.getName().length() > 0)
identifier = BlogView.getName();
{ identifier = BlogView.getName();
 
%>
<a href="<%=request.getContextPath()%>/blog/<%=identifier%>">
<%=Globals.SITE_URL + "/blog/" + identifier%>
</a>
<%
}
%>
<bean:message key="blog.owner"/>
<a href="mailto:${BlogView.ownerEmail}">${BlogView.owner.name}</a>
<bean:message key="at"/>
/impl/src/web/public/announcements/getFlashNews.jsp
26,20 → 26,21
<table class="container">
<tr>
<td class="textContainer">
<%if(announcementView.getUrl()==null)
<%
if(announcementView.getUrl()==null)
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getFormatedTextSummary(10,150)%> ... </a></p>
<%}
else if (!announcementView.getTextBiggerThenPermited())
else if (!announcementView.getFormatedTextBiggerThenPermited(10,150))
{%>
<h2><a href="<%=announcementView.getUrl()%>"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getText()%></a></p>
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getFormatedText()%></a></p>
<%}
else
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getFormatedTextSummary(10,150)%> ... </a></p>
<%}%>
</td>
<td class="imageContainer">
/impl/src/web/public/announcements/loadAnnouncement.jsp
55,6 → 55,9
</html:link>
</baco:canManage>
</h2>
<logic:notEmpty name="Announcement" property="url">
<p>URL: <html:link page="${Announcement.url}"><script type="text/javascript">document.write((""+document.location).substr(0,(""+document.location).lastIndexOf("/")));</script>${Announcement.url}</html:link></p>
</logic:notEmpty>
<%
AnnouncementStyleEnum styleEnum = Announcement.getStyleEnum();
 
77,6 → 80,7
%>
 
 
 
<p>
<div class="imageAnnouncement">
<%
308,7 → 312,9
</tr>
<logic:notEmpty name="Announcement" property="url">
<tr>
<td colspan="2"> &nbsp;&nbsp;&gt;&gt; <html:link href="${Announcement.url}">${Announcement.url}</html:link></td>
<td colspan="2">
URL: <html:link page="${Announcement.url}"><script type="text/javascript">document.write((""+document.location).substr(0,(""+document.location).lastIndexOf("/")));</script>${Announcement.url}</html:link>
</td>
</tr>
</logic:notEmpty>
<tr>
/impl/src/web/user/courseunits/courseunit.jsp
39,7 → 39,7
<p>
<baco:cantManage name="CourseUnitView">
<logic:present name="CourseUnitView" property="objectives">
${CourseUnitView.objectives}
${CourseUnitView.formatedObjectives}
</logic:present>
<logic:notPresent name="CourseUnitView" property="objectives">
<bean:message key="courseunit.objectives.not.available"/>