Commit a71409d3 authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gato

Added RSS feed. JM-1128

git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@9199 b35dd754-fafc-0310-a699-88a17e54d16e
parent 995b1446
...@@ -226,6 +226,13 @@ ...@@ -226,6 +226,13 @@
## Added key: 'plugin.admin.uploaded_failure' ## Added key: 'plugin.admin.uploaded_failure'
## Added key: 'plugin.admin.upload_plugin' ## Added key: 'plugin.admin.upload_plugin'
## Added key: 'plugin.admin.upload_plugin.info' ## Added key: 'plugin.admin.upload_plugin.info'
## Added key: 'index.cs_blog'
## Added key: 'index.cs_blog.unavilable'
## Added key: 'ports.edit'
## Updated key: 'sidebar.server-settings'
## Updated key: 'sidebar.server-settings.descr'
## Updated key: 'index.title'
## Updated key: 'index.title.info'
...@@ -239,8 +246,8 @@ title = Openfire ...@@ -239,8 +246,8 @@ title = Openfire
tab.server=Server tab.server=Server
tab.server.descr=Click to manage server settings tab.server.descr=Click to manage server settings
sidebar.server-manager=Server Manager sidebar.server-manager=Server Manager
sidebar.server-settings=Server Settings sidebar.server-settings=Server Information
sidebar.server-settings.descr=Click to manage system settings sidebar.server-settings.descr=Click to view system information
sidebar.system-props=System Properties sidebar.system-props=System Properties
sidebar.system-props.descr=Click to manage server properties sidebar.system-props.descr=Click to manage server properties
sidebar.server-locale=Language and Time sidebar.server-locale=Language and Time
...@@ -738,9 +745,8 @@ header.admin=Admin ...@@ -738,9 +745,8 @@ header.admin=Admin
# Index Page # Index Page
index.title=Server Settings index.title=Server Information
index.title.info=Below are properties for this server. Click the "Edit Properties" button below to \ index.title.info=Below you will find server information, ports being used and latest news about Openfire.
change some of the server settings. Some settings can not be changed.
index.properties=Server Properties index.properties=Server Properties
index.uptime=Server Uptime: index.uptime=Server Uptime:
index.version=Version: index.version=Version:
...@@ -761,6 +767,8 @@ index.memory=Java Memory ...@@ -761,6 +767,8 @@ index.memory=Java Memory
index.update.alert=Update information index.update.alert=Update information
index.update.info=Server version {0} is now available. Click {1}here{2} to download or read the \ index.update.info=Server version {0} is now available. Click {1}here{2} to download or read the \
{3}change log{4} for more information. {3}change log{4} for more information.
index.cs_blog=Ignite Realtime News
index.cs_blog.unavilable=The Ignite Realtime feed is currently unavailable.
# Locale Page # Locale Page
...@@ -1991,7 +1999,7 @@ plugin.admin.deleted_success=Plugin deleted successfully. ...@@ -1991,7 +1999,7 @@ plugin.admin.deleted_success=Plugin deleted successfully.
plugin.admin.deleted_failure=Unable to delete plugin. plugin.admin.deleted_failure=Unable to delete plugin.
plugin.admin.uploaded_success=Plugin uploaded successfully. It may take a short time for the \ plugin.admin.uploaded_success=Plugin uploaded successfully. It may take a short time for the \
plugin to appear in the list of installed plugins. plugin to appear in the list of installed plugins.
plugin.admin.uploaded_failure=Unable to upload plugin. See server error logs. plugin.admin.uploaded_failure=Unable to upload plugin. See server error logs.
plugin.admin.upload_plugin=Upload Plugin plugin.admin.upload_plugin=Upload Plugin
plugin.admin.upload_plugin.info=Plugin files (.jar) can be uploaded directly by using the form below. plugin.admin.upload_plugin.info=Plugin files (.jar) can be uploaded directly by using the form below.
plugin.admin.click_reload=Reload the plugin. plugin.admin.click_reload=Reload the plugin.
...@@ -2350,6 +2358,7 @@ ports.media_proxy.desc=The port used for the proxy service that allows Jingle co ...@@ -2350,6 +2358,7 @@ ports.media_proxy.desc=The port used for the proxy service that allows Jingle co
the XMPP network. the XMPP network.
ports.stun=STUN Service ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT. ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
ports.edit=Edit Ports
# Media Proxy # Media Proxy
......
...@@ -2122,4 +2122,78 @@ stun.settings.primaryport = Puerto Primario ...@@ -2122,4 +2122,78 @@ stun.settings.primaryport = Puerto Primario
stun.settings.secondaryport = Puerto Secundario stun.settings.secondaryport = Puerto Secundario
stun.settings.enabled = Habilitado stun.settings.enabled = Habilitado
stun.settings.change = Cambiar stun.settings.change = Cambiar
index.certificate-warning=Se ha encontrado un certificado RSA que no es v\u00e1lido para el dominio del servidor. index.certificate-warning=Se ha encontrado un certificado RSA que no es v\u00e1lido para el dominio del servidor.
\ No newline at end of file user.roster.nickname=Apodo
user.roster.none_found=No se han encontrado contactos.
user.roster.shared_groups=Grupo compartido
user.roster.sorted=Ordenado por JID
user.roster.subscription=Suscripc\u00f3n
user.roster.title=Lista de Contactos
user.roster.total_items=Total de Contactos
user.roster.jid=JID
user.roster.items_per_page=Contactos por p\u00e1gina
user.roster.item.settings=Configuraci\u00f3n del Contacto
user.roster.info=A continuaci\u00f3n puede ver la lista de contactos del usuario {0}. Haga clic en grupos compartidos en la columna Grupos para ver el detalle del grupo. Recuerde que no contactos pertenecientes a grupos compartidos no puede ser editados.
user.roster.groups=Grupos
user.roster.edited=Contacto editado exitosamente.
user.roster.edit.title=Editar Contacto
user.roster.edit.info=Complete el siguiente formulatio para editar el contacto del usuario {0}.
user.roster.edit=Editar
user.roster.deleted=Contacto borrado exitosamente.
user.roster.delete.title=Borrar Contacto
user.roster.delete.info=\u00bfDesea borrar el contacto {0} de la lista de contacto de {1}?
user.roster.delete.delete=Borrar Contacto
user.roster.click_view=Haga clic para ver...
user.roster.cant_delete=Este contacto pertenece a un grupo compartido por lo que no puede ser borrado desde aqui.
user.roster.added=Contacto agregado exitosamente.
user.roster.add.uneditable_group=Se ha intentado borrar un contacto de un grupo no editable (probablemente un grupo compartido)
user.roster.add.title=Agregar Contacto
user.roster.add.success=Contacto agregado exitosamente.
user.roster.add.required=Campos obligatorios
user.roster.add.new_item=Agregar Nuevo Contacto
user.roster.add.item_exists=Contacto con el mismo JID ya existe.
user.roster.add.info=Complete el siguiente formulario para agregar nuevos contactos al usuario {0}.
user.roster.add.illegal_jid=Se ha ingresado un JID con formato incorrecto.
user.roster.add.error_adding_item=Error al agregar nuevo contacto. Verifique los logs del servidor para m\u00e1s detalle
user.roster.add.add_another=Agregar & Agregar Nuevo
user.roster.add.add=Agregar Contacto
user.roster.add=Agregar Contacto
stun.settings.localenabled=Servidor Local Habilitado
stun.external.title=Servidores STUN Externos
stun.external.server=Servidor
stun.external.port=Puerto
stun.external.error=Servidor o puerto incorrecto.
ssl.import.certificate.boxtitle=Importar Clave Privada y Certificado
ssl.import.certificate.certificate=Contenido del Archivo del Certificado:
ssl.import.certificate.error.certificate=Especifique el contenido del certificado a importar.
ssl.import.certificate.error.import=Un error ha ocurrido al intentar importar una clave privada o certificado firmado.
ssl.import.certificate.error.private-key=Ingrese el contenido de la clave privada.
ssl.import.certificate.private-key=Contenido del archivo conteniendo la clave privada:
ssl.import.certificate.title=Importar Certificado Firmado
ssl.import.certificate.info=Complete el siguiente formulario para importar una clave privada y el certificado que \
fue provisto por una CA. Actualmente claves privadas que utilizan el algoritmo AES no \
pueden ser importadas. Para importarlas primero debera desencriptarlas. Claves encriptadas \
con el algoritmo DES pueden ser importadas. Para desencriptar un archivo con clave privadas \
ejecute el siguiente comando: "openssl rsa -in ssl.key -out decryptedssl.key".
sidebar.user-roster=Lista de Contactos
sidebar.user-roster.descr=Haga clic para ver la lista de contactos de usuarios
sidebar.stun=Seteos de STUN
sidebar.stun.descr=Haga clic para ver seteos de STUN.
sidebar.sidebar-media-services=Servicios de Multimedios
sidebar.media-proxy=Proxy de Multimedios
sidebar.media-proxy.descr=Haga clic para ver la configuraci\u00f3n del proxy de multimedios.
ports.edit=Editar Puertos
plugin.admin.upload_plugin=Subir Plugin
plugin.admin.upload_plugin.info=Complete el siguiente formulario para subir archivos de plugins (.jar).
plugin.admin.uploaded_failure=No se ha podido subir el plugin. Ver log de errores del servidor.
plugin.admin.uploaded_success=Plugin subido exitosamente. Espere unos instantes para que el plugin \
aparezca en la lista de plugins instalados.
muc.room.occupants.affiliation=Afiliaci\u00f3n
muc.room.occupants.detail.info=Personas en el cuarto son listadas en la siguiente tabla:
muc.room.occupants.info=Resumen del cuarto es mostrado en la siguiente tabla:
muc.room.occupants.nickname=Apodo
muc.room.occupants.role=Rol
muc.room.occupants.title=Ocupantes en el cuarto
muc.room.occupants.user=Usuario
index.cs_blog=Novedades de Ignite Realtime
index.cs_blog.unavilable=No se ha podido leer novedades de Ignite Realtime
\ No newline at end of file
...@@ -25,13 +25,18 @@ ...@@ -25,13 +25,18 @@
<%@ page import="org.jivesoftware.openfire.stun.STUNService" %> <%@ page import="org.jivesoftware.openfire.stun.STUNService" %>
<%@ page import="org.jivesoftware.openfire.update.Update" %> <%@ page import="org.jivesoftware.openfire.update.Update" %>
<%@ page import="org.jivesoftware.openfire.update.UpdateManager" %> <%@ page import="org.jivesoftware.openfire.update.UpdateManager" %>
<%@ page import="org.jivesoftware.util.CertificateManager" %>
<%@ page import="org.jivesoftware.util.JiveGlobals" %>
<%@ page import="org.jivesoftware.util.LocaleUtils" %>
<%@ page import="org.jivesoftware.util.StringUtils" %>
<%@ page import="java.net.InetSocketAddress" %> <%@ page import="java.net.InetSocketAddress" %>
<%@ page import="java.net.SocketAddress" %> <%@ page import="java.net.SocketAddress" %>
<%@ page import="java.text.DecimalFormat" %> <%@ page import="java.text.DecimalFormat" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.util.List" %>
<%@ page import="org.jivesoftware.util.*" %>
<%@ page import="com.sun.syndication.fetcher.FeedFetcher" %>
<%@ page import="com.sun.syndication.fetcher.impl.FeedFetcherCache" %>
<%@ page import="com.sun.syndication.fetcher.impl.HashMapFeedInfoCache" %>
<%@ page import="com.sun.syndication.io.FeedException" %>
<%@ page import="com.sun.syndication.feed.synd.SyndEntry" %>
<%@ page import="com.sun.syndication.feed.synd.SyndFeed" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
...@@ -51,12 +56,18 @@ ...@@ -51,12 +56,18 @@
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" /> <jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" />
<% webManager.init(request, response, session, application, out); %> <% webManager.init(request, response, session, application, out); %>
<%! long lastRRSFecth = 0;
SyndFeed lastBlogFeed = null;
SyndFeed lastReleaseFeed = null;
String blogFeedRSS = "http://www.igniterealtime.org/community/blogs/ignite/feeds/posts";
String releaseFeedRSS = "http://www.igniterealtime.org/community/community/feeds/messages?communityID=2017";
%>
<% // Get parameters // <% // Get parameters //
boolean serverOn = (webManager.getXMPPServer() != null); boolean serverOn = (webManager.getXMPPServer() != null);
String interfaceName = JiveGlobals.getXMLProperty("network.interface"); String interfaceName = JiveGlobals.getXMLProperty("network.interface");
ConnectionManagerImpl connectionManager = ((ConnectionManagerImpl) XMPPServer.getInstance().getConnectionManager()); ConnectionManagerImpl connectionManager = ((ConnectionManagerImpl) XMPPServer.getInstance().getConnectionManager());
SocketAcceptor socketAcceptor = connectionManager.getSocketAcceptor(); SocketAcceptor socketAcceptor = connectionManager.getSocketAcceptor();
SocketAcceptor sslSocketAcceptor = connectionManager.getSSLSocketAcceptor(); SocketAcceptor sslSocketAcceptor = connectionManager.getSSLSocketAcceptor();
...@@ -119,172 +130,272 @@ ...@@ -119,172 +130,272 @@
<% <%
} }
%> %>
<p>
<fmt:message key="index.title.info" />
</p>
<style type="text/css"> <style type="text/css">
.bar TD { .bar TD {
padding : 0px; padding : 0px;
} }
#jive-latest-activity .jive-bottom-line {
padding-top: 10px;
border-bottom : 1px #e8a400 solid;
}
#jive-latest-activity {
border: 1px #E8A400 solid;
background-color: #FFF4D8;
font-family: Lucida Grande, Arial, Helvetica, sans-serif;
font-size: 9pt;
padding: 0 10px 10px 10px;
margin-bottom: 10px;
min-height: 280px;
-moz-border-radius: 4px;
width: 350px;
}
#jive-latest-activity h4 {
font-size: 13pt;
margin: 15px 0 4px 0;
}
#jive-latest-activity h5 {
font-size: 9pt;
font-weight: normal;
margin: 15px 0 5px 5px;
padding: 0;
}
#jive-latest-activity .jive-blog-date {
font-size: 8pt;
white-space: nowrap;
}
#jive-latest-activity .jive-feed-icon {
float: right;
padding-top: 10px;
}
</style> </style>
<div class="jive-table"> <p>
<table cellpadding="0" cellspacing="0" border="0" width="100%"> <fmt:message key="index.title.info" />
<thead> </p>
<tr> <table border="0" width="100%">
<th colspan="2"><fmt:message key="index.properties" /></th> <td valign="top">
</tr>
</thead> <!-- <div class="jive-table"> -->
<tbody> <table cellpadding="2" cellspacing="2" border="0" width="100%">
<thead>
<tr>
<th align="left" colspan="3"><fmt:message key="index.properties" /></th>
</tr>
</thead>
<tbody>
<% if (serverOn) { %>
<tr>
<td width="5%">&nbsp;</td>
<td class="c1"><fmt:message key="index.uptime" /></td>
<td>
<%
long now = System.currentTimeMillis();
long lastStarted = webManager.getXMPPServer().getServerInfo().getLastStarted().getTime();
long uptime = now - lastStarted;
String uptimeDisplay = StringUtils.getElapsedTime(uptime);
%>
<% if (uptimeDisplay != null) { %>
<%= uptimeDisplay %> -- started
<% } %>
<% if (serverOn) { %> <%= JiveGlobals.formatDateTime(webManager.getXMPPServer().getServerInfo().getLastStarted()) %>
</td>
</tr>
<tr> <% } %>
<td class="c1"><fmt:message key="index.uptime" /></td>
<td> <tr>
<% <td>&nbsp;</td>
long now = System.currentTimeMillis(); <td class="c1"><fmt:message key="index.version" /></td>
long lastStarted = webManager.getXMPPServer().getServerInfo().getLastStarted().getTime(); <td class="c2">
long uptime = now - lastStarted; <%= AdminConsole.getAppName() %>
String uptimeDisplay = StringUtils.getElapsedTime(uptime); <%= AdminConsole.getVersionString() %>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="c1"><fmt:message key="index.home" /></td>
<td class="c2">
<%= JiveGlobals.getHomeDirectory() %>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="c1">
<fmt:message key="index.server_name" />
</td>
<td class="c2">
<% if (!CertificateManager.isRSACertificate(SSLConfig.getKeyStore(), XMPPServer.getInstance().getServerInfo().getName())) {%>
<img src="images/warning-16x16.gif" width="16" height="16" border="0" alt="<fmt:message key="index.certificate-warning" />" text="<fmt:message key="index.certificate-warning" />">&nbsp;
<% } %>
${webManager.serverInfo.name}
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</tbody>
<thead>
<tr>
<th align="left" colspan="3"><fmt:message key="index.environment" /></th>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;</td>
<td class="c1"><fmt:message key="index.jvm" /></td>
<td class="c2">
<%
String vmName = System.getProperty("java.vm.name");
if (vmName == null) {
vmName = "";
}
else {
vmName = " -- " + vmName;
}
%>
<%= System.getProperty("java.version") %> <%= System.getProperty("java.vendor") %><%= vmName %>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="c1"><fmt:message key="index.app" /></td>
<td class="c2">
<%= application.getServerInfo() %>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="c1"><fmt:message key="index.os" /></td>
<td class="c2">
<%= System.getProperty("os.name") %> / <%= System.getProperty("os.arch") %>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="c1"><fmt:message key="index.local" /></td>
<td class="c2">
<%= JiveGlobals.getLocale() %> / <%= JiveGlobals.getTimeZone().getDisplayName(JiveGlobals.getLocale()) %>
(<%= (JiveGlobals.getTimeZone().getRawOffset()/1000/60/60) %> GMT)
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><fmt:message key="index.memory" /></td>
<td>
<% // The java runtime
Runtime runtime = Runtime.getRuntime();
double freeMemory = (double)runtime.freeMemory()/(1024*1024);
double maxMemory = (double)runtime.maxMemory()/(1024*1024);
double totalMemory = (double)runtime.totalMemory()/(1024*1024);
double usedMemory = totalMemory - freeMemory;
double percentFree = ((maxMemory - usedMemory)/maxMemory)*100.0;
double percentUsed = 100 - percentFree;
int percent = 100-(int)Math.round(percentFree);
DecimalFormat mbFormat = new DecimalFormat("#0.00");
DecimalFormat percentFormat = new DecimalFormat("#0.0");
%> %>
<% if (uptimeDisplay != null) { %> <table cellpadding="0" cellspacing="0" border="0" width="300">
<%= uptimeDisplay %> -- started <tr valign="middle">
<% } %> <td width="99%" valign="middle">
<div class="bar">
<%= JiveGlobals.formatDateTime(webManager.getXMPPServer().getServerInfo().getLastStarted()) %> <table cellpadding="0" cellspacing="0" border="0" width="100%" style="border:1px #666 solid;">
</td> <tr>
</tr> <% if (percent == 0) { %>
<% } %> <td width="100%"><img src="images/percent-bar-left.gif" width="100%" height="8" border="0" alt=""></td>
<tr> <% } else { %>
<td class="c1"><fmt:message key="index.version" /></td>
<td class="c2"> <% if (percent >= 90) { %>
<%= AdminConsole.getAppName() %>
<%= AdminConsole.getVersionString() %> <td width="<%= percent %>%" background="images/percent-bar-used-high.gif"
</td> ><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
</tr>
<tr> <% } else { %>
<td class="c1"><fmt:message key="index.home" /></td>
<td class="c2"> <td width="<%= percent %>%" background="images/percent-bar-used-low.gif"
<%= JiveGlobals.getHomeDirectory() %> ><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
</td>
</tr> <% } %>
<tr> <td width="<%= (100-percent) %>%" background="images/percent-bar-left.gif"
<td class="c1"> ><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
<fmt:message key="index.server_name" /> <% } %>
</td> </tr>
<td class="c2"> </table>
<% if (!CertificateManager.isRSACertificate(SSLConfig.getKeyStore(), XMPPServer.getInstance().getServerInfo().getName())) {%> </div>
<img src="images/warning-16x16.gif" width="16" height="16" border="0" alt="<fmt:message key="index.certificate-warning" />" text="<fmt:message key="index.certificate-warning" />">&nbsp; </td>
<% } %> <td width="1%" nowrap>
${webManager.serverInfo.name} <div style="padding-left:6px;">
</td> <%= mbFormat.format(usedMemory) %> MB of <%= mbFormat.format(maxMemory) %> MB (<%= percentFormat.format(percentUsed) %>%) used
</tr> </div>
</tbody> </td>
<thead>
<tr>
<th colspan="2"><fmt:message key="index.environment" /></th>
</tr>
</thead>
<tbody>
<tr>
<td class="c1"><fmt:message key="index.jvm" /></td>
<td class="c2">
<%
String vmName = System.getProperty("java.vm.name");
if (vmName == null) {
vmName = "";
}
else {
vmName = " -- " + vmName;
}
%>
<%= System.getProperty("java.version") %> <%= System.getProperty("java.vendor") %><%= vmName %>
</td>
</tr>
<tr>
<td class="c1"><fmt:message key="index.app" /></td>
<td class="c2">
<%= application.getServerInfo() %>
</td>
</tr>
<tr>
<td class="c1"><fmt:message key="index.os" /></td>
<td class="c2">
<%= System.getProperty("os.name") %> / <%= System.getProperty("os.arch") %>
</td>
</tr>
<tr>
<td class="c1"><fmt:message key="index.local" /></td>
<td class="c2">
<%= JiveGlobals.getLocale() %> / <%= JiveGlobals.getTimeZone().getDisplayName(JiveGlobals.getLocale()) %>
(<%= (JiveGlobals.getTimeZone().getRawOffset()/1000/60/60) %> GMT)
</td>
</tr>
<tr>
<td><fmt:message key="index.memory" /></td>
<td>
<% // The java runtime
Runtime runtime = Runtime.getRuntime();
double freeMemory = (double)runtime.freeMemory()/(1024*1024);
double maxMemory = (double)runtime.maxMemory()/(1024*1024);
double totalMemory = (double)runtime.totalMemory()/(1024*1024);
double usedMemory = totalMemory - freeMemory;
double percentFree = ((maxMemory - usedMemory)/maxMemory)*100.0;
double percentUsed = 100 - percentFree;
int percent = 100-(int)Math.round(percentFree);
DecimalFormat mbFormat = new DecimalFormat("#0.00");
DecimalFormat percentFormat = new DecimalFormat("#0.0");
%>
<table cellpadding="0" cellspacing="0" border="0" width="300">
<tr valign="middle">
<td width="99%" valign="middle">
<div class="bar">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="border:1px #666 solid;">
<tr>
<% if (percent == 0) { %>
<td width="100%"><img src="images/percent-bar-left.gif" width="100%" height="8" border="0" alt=""></td>
<% } else { %>
<% if (percent >= 90) { %>
<td width="<%= percent %>%" background="images/percent-bar-used-high.gif"
><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
<% } else { %>
<td width="<%= percent %>%" background="images/percent-bar-used-low.gif"
><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
<% } %>
<td width="<%= (100-percent) %>%" background="images/percent-bar-left.gif"
><img src="images/blank.gif" width="1" height="8" border="0" alt=""></td>
<% } %>
</tr> </tr>
</table> </table>
</div> </td>
</td> </tr>
<td width="1%" nowrap> </tbody>
<div style="padding-left:6px;">
<%= mbFormat.format(usedMemory) %> MB of <%= mbFormat.format(maxMemory) %> MB (<%= percentFormat.format(percentUsed) %>%) used
</div>
</td>
</tr>
</table> </table>
</td> <!-- </div> -->
</tr> </td>
</tbody> <td valign="top">
<div id="jive-latest-activity">
<a href="<%= blogFeedRSS %>" class="jive-feed-icon"><img src="images/feed-icon-16x16.gif" alt="" style="border:0;" /></a>
<h4><fmt:message key="index.cs_blog" /></h4>
<% long nowTime = System.currentTimeMillis();
if (lastBlogFeed == null || lastReleaseFeed == null || nowTime - lastRRSFecth > 21600000) {
FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
FeedFetcher feedFetcher = new HttpClientWithTimeoutFeedFetcher(feedInfoCache);
try {
lastBlogFeed = feedFetcher.retrieveFeed(new URL(blogFeedRSS));
lastReleaseFeed = feedFetcher.retrieveFeed(new URL(releaseFeedRSS));
lastRRSFecth = nowTime;
}
catch (Exception ioe) {
// ignore
}
}
%><div class="jive-bottom-line"></div><%
if (lastBlogFeed != null && !lastBlogFeed.getEntries().isEmpty()) {
List entries = lastBlogFeed.getEntries();
for (int i = 0; i < entries.size() && i < 3; i++) {
SyndEntry entry = (SyndEntry) entries.get(i); %>
<h5><a href="<%= entry.getLink() %>"><%= entry.getTitle()%></a>,
<span class="jive-blog-date"><%= JiveGlobals.formatDateTime(entry.getPublishedDate())%></span></h5>
<% }
} else { %>
<fmt:message key="index.cs_blog.unavilable" />
<% }
%><div class="jive-bottom-line"></div><%
if (lastReleaseFeed != null && !lastReleaseFeed.getEntries().isEmpty()) {
List entries = lastReleaseFeed.getEntries();
for (int i = 0; i < entries.size() && i < 3; i++) {
SyndEntry entry = (SyndEntry) entries.get(i); %>
<h5><a href="<%= entry.getLink() %>"><%= entry.getTitle()%></a>,
<span class="jive-blog-date"><%= JiveGlobals.formatDateTime(entry.getPublishedDate())%></span></h5>
<% }
} else { %>
<fmt:message key="index.cs_blog.unavilable" />
<% }
%>
</div>
</td>
</table> </table>
</div>
<br> <br>
...@@ -441,7 +552,6 @@ ...@@ -441,7 +552,6 @@
<td><img src="images/lock.gif" width="16" height="16" border="0"/></td> <td><img src="images/lock.gif" width="16" height="16" border="0"/></td>
<td><fmt:message key="ports.http_bind" /></td> <td><fmt:message key="ports.http_bind" /></td>
<td><fmt:message key="ports.http_bind.desc_secured" /></td> <td><fmt:message key="ports.http_bind.desc_secured" /></td>
<td></td>
</tr> </tr>
<% } %> <% } %>
<% } %> <% } %>
...@@ -473,7 +583,7 @@ ...@@ -473,7 +583,7 @@
<br> <br>
<form action="server-props.jsp"> <form action="server-props.jsp">
<input type="submit" value="<fmt:message key="global.edit_properties" />"> <input type="submit" value="<fmt:message key="ports.edit" />">
</form> </form>
</body> </body>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment