[opencms-dev] Problem with read deleted files, work online/offline, but not work logout...
Deiverson Silveira
deiverson at solutioncms.com
Tue Nov 25 13:39:44 CET 2014
Hi,
My solution, is not elegance solution, but don´t have time for correcty
solution, used cmspermissionset, dont work change permission instance my
cmsobject, sorry because poor code:
<%@page import="org.opencms.file.
CmsResource"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Date"%>
<%@page import="org.opencms.file.history.I_CmsHistoryResource"%>
<%@page import="org.opencms.jsp.CmsJspLoginBean"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="org.opencms.file.CmsObject"%>
<%@page import="org.opencms.jsp.CmsJspActionElement"%>
<%@ page import="org.opencms.workplace.*" %><%
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request,
response);
boolean testLogin = false;
CmsObject cmso = cms.getCmsObject();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
CmsJspLoginBean loginBean= new CmsJspLoginBean(pageContext, request,
response);
try {
if(loginBean.getUser().isGuestUser()){
cmso.loginUser("Admin", "admin");
testLogin = true;
}
Date dt = null;
String dataConvertida = null;
String dataPesquisada = "01/01/2014 00:01";
I_CmsHistoryResource res = null;
Long dataCurrentLong = null;
Date dataSearchLong = null;
List list = cmso.readDeletedResources("/", true);
String arquivo;
Iterator iter = list.iterator();
out.println("Lista: "+ list.size()+"<br>");
dataPesquisada = request.getParameter("data").toLowerCase();
dataSearchLong = sdf.parse(dataPesquisada);
out.println("Data a ser pesquisada maior que: <b>" + dataPesquisada
+ "</b><br><br>");
while (iter.hasNext()) {
res = (I_CmsHistoryResource)iter.next();
//dataConvertida = String.valueOf(res.getDateLastModified());
dataCurrentLong = res.getDateLastModified();
arquivo = cmso.getSitePath((CmsResource)res);
dt = new Date(dataCurrentLong);
dataConvertida = sdf.format(dt);
if(dataCurrentLong > dataSearchLong.getTime()){
//cmso.readResource(arquivo).getStructureId().toString()
out.println(" <b>Nome do recurso excluido: </b>" + arquivo
+" - <b>UUID:</b> " + res.getResourceId().toString() + " <b>Data da
exclusão:</b> " + dataConvertida + "<br><br>");
}
}
} catch (Exception e) {
out.println("<br><b>O formato da data deve ser dd/mm/yyyy HH:mm
</b>" +e.getMessage());
} finally{
out.println("<br>Operação realizada com sucesso.");
if(testLogin){
session.invalidate();
}
}
%>
2014-11-24 18:46 GMT-02:00 Deiverson Silveira <deiverson at solutioncms.com>:
> I again...
>
> I see the problem:
>
> in classe CmsObject.java, I have this:
>
> public List<I_CmsHistoryResource> readDeletedResources(String
> resourcename, boolean readTree) throws CmsException {
>
> CmsResource resource = readResource(resourcename,
> CmsResourceFilter.ALL);
> return m_securityManager.readDeletedResources(m_context, resource,
> readTree);
> }
>
> This is a problem >>> return
> m_securityManager.readDeletedResources(m_context, resource, readTree);
>
> How can set permission in my object?
>
>
> 2014-11-24 16:59 GMT-02:00 Deiverson Silveira <deiverson at solutioncms.com>:
>
> ahhhh, it is test:
>>
>> cmso.getRequestContext().setSiteRoot(OpenCms.getSiteManager().getDefaultSite().getSiteRoot());
>> cmso.getRequestContext().setCurrentProject(cmso.readProject("Offline"));
>>
>> But dont work, for work online/offline, remove this.
>>
>> 2014-11-24 16:58 GMT-02:00 Deiverson Silveira <deiverson at solutioncms.com>
>> :
>>
>>> Hi List,
>>>
>>> I'm building a code that need to return the list of deleted files and
>>> the uuid from a past date by parameter , however my code works only when I
>>> am logged in, if I force the login on the object with admin, works ,
>>> however it would inject a security breach , this code works online logged
>>> in / offline , the problem is when this offline , the file list is reset ,
>>> someone what should I do to set the permissions of my object so that even
>>> offline return my list of deleted resources?
>>>
>>> My Code (but work logged online and offline, but I need work logout :~( :
>>> <%@page import="org.opencms.file.CmsProject"%>
>>> <%@page import="org.opencms.util.CmsUUID"%>
>>> <%@page import="java.io.File"%>
>>> <%@page import="java.util.Collections"%>
>>> <%@page
>>> import="org.apache.commons.io.comparator.LastModifiedFileComparator"%>
>>> <%@page import="java.util.Date"%>
>>> <%@page import="org.opencms.jsp.CmsJspActionElement"%>
>>> <%@page import="java.text.SimpleDateFormat"%>
>>> <%@page import="org.opencms.file.CmsObject"%>
>>> <%@page import="org.opencms.file.CmsResource"%>
>>> <%@page import="org.opencms.workplace.list.CmsListItem"%>
>>> <%@page import="org.opencms.file.history.I_CmsHistoryResource"%>
>>> <%@page import="org.opencms.main.OpenCms"%>
>>> <%@page import="org.opencms.workplace.list.CmsHtmlList"%>
>>> <%@page import="java.util.List"%>
>>> <%@page import="org.opencms.workplace.commons.CmsDeletedResourcesList"%>
>>> <%@page import="java.util.Iterator"%>
>>> <%@page import="java.util.Set"%>
>>> <%@page import="java.util.Map"%>
>>> <%@ page import="org.opencms.workplace.*" %><%
>>> SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
>>> CmsJspActionElement cms = new CmsJspActionElement(pageContext,
>>> request, response);
>>> CmsObject cmso = cms.getCmsObject();
>>>
>>>
>>> cmso.getRequestContext().setSiteRoot(OpenCms.getSiteManager().getDefaultSite().getSiteRoot());
>>> cmso.getRequestContext().setCurrentProject(cmso.readProject("Offline"));
>>> Date dt = null;
>>> String dataConvertida = null;
>>> String dataPesquisada = "01/01/2014 00:01";
>>> I_CmsHistoryResource res = null;
>>> Long dataCurrentLong = null;
>>> Date dataSearchLong = null;
>>> List list = cmso.readDeletedResources("/", true);
>>> String arquivo;
>>> Iterator iter = list.iterator();
>>> out.println("Lista: "+ list.size()+"<br>");
>>> try {
>>> dataPesquisada = request.getParameter("data").toLowerCase();
>>> dataSearchLong = sdf.parse(dataPesquisada);
>>> out.println("Data a ser pesquisada maior que: <b>" + dataPesquisada +
>>> "</b><br><br>");
>>> while (iter.hasNext()) {
>>> res = (I_CmsHistoryResource)iter.next();
>>> //dataConvertida = String.valueOf(res.getDateLastModified());
>>> dataCurrentLong = res.getDateLastModified();
>>> arquivo = cmso.getSitePath((CmsResource)res);
>>> dt = new Date(dataCurrentLong);
>>> dataConvertida = sdf.format(dt);
>>> if(dataCurrentLong > dataSearchLong.getTime()){
>>> //cmso.readResource(arquivo).getStructureId().toString()
>>> out.println(" <b>Nome do recurso excluido: </b>" + arquivo +" -
>>> <b>UUID:</b> " + res.getResourceId().toString() + " <b>Data da
>>> exclusão:</b> " + dataConvertida + "<br><br>");
>>> }
>>> }
>>> } catch (Exception e) {
>>> out.println("<br><b>O formato da data deve ser dd/mm/yyyy HH:mm </b>"
>>> +e.getMessage());
>>> }
>>> %>
>>>
>>>
>>> Help, please experts!
>>>
>>> Regards,
>>>
>>> Deiverson
>>>
>>>
>>> --
>>> *www.solutioncms.com <http://www.solutioncms.com>The Brazilian Official
>>> Provider OpenCms*
>>>
>>
>>
>>
>> --
>> *www.solutioncms.com <http://www.solutioncms.com>The Brazilian Official
>> Provider OpenCms*
>>
>
>
>
> --
> *www.solutioncms.com <http://www.solutioncms.com>The Brazilian Official
> Provider OpenCms*
>
--
*www.solutioncms.com <http://www.solutioncms.com>The Brazilian Official
Provider OpenCms*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20141125/f183df7b/attachment.htm>
More information about the opencms-dev
mailing list