mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-23 14:28:45 +01:00
* show package changelog inside EGroupware under about
This commit is contained in:
commit
0d335c2823
422
phpgwapi/inc/class.about.inc.php
Normal file
422
phpgwapi/inc/class.about.inc.php
Normal file
@ -0,0 +1,422 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare: About informations
|
||||
*
|
||||
* rewrite of the old PHPLib based about page
|
||||
* it now uses eTemplate
|
||||
*
|
||||
* This is NO typical eTemplate application as it is not stored in the
|
||||
* correct namespace
|
||||
*
|
||||
* LICENSE: GPL.
|
||||
*
|
||||
* @package api
|
||||
* @subpackage about
|
||||
* @author Sebastian Ebling <hudeldudel@php.net>
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html
|
||||
* @link http://www.egroupware.org
|
||||
* @version SVN: $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Shows informations about eGroupWare
|
||||
* - general information
|
||||
* - installed applications
|
||||
* - installed templates
|
||||
* - installed languages
|
||||
*
|
||||
* Usage:
|
||||
* <code>
|
||||
* $aboutPage = new about();
|
||||
* </code>
|
||||
* The constuctor will do all
|
||||
*
|
||||
* There is no typical so, bo ui structure, this class is all in one
|
||||
*
|
||||
* @since 1.4
|
||||
*/
|
||||
class about
|
||||
{
|
||||
/**
|
||||
* constructor of about class
|
||||
* decides to show tab- or detail view
|
||||
*
|
||||
* @since 1.4
|
||||
*/
|
||||
function about()
|
||||
{
|
||||
// list or detail view
|
||||
$name = 'eGroupWare';
|
||||
$detail = false;
|
||||
$nonavbar = false;
|
||||
|
||||
// application detail?
|
||||
if (isset($_GET['app']) && $_GET['app'] != 'eGroupWare') {
|
||||
$name = basename($_GET['app']);
|
||||
$type = 'application';
|
||||
$detail = true;
|
||||
}
|
||||
|
||||
// template detail?
|
||||
if (isset($_GET['template']) && $_GET['template'] != 'eGroupWare') {
|
||||
$name = basename($_GET['template']);
|
||||
$type = 'template';
|
||||
$detail = true;
|
||||
}
|
||||
|
||||
// navbar or not
|
||||
if (isset($_GET['nonavbar'])) {
|
||||
$nonavbar = $_GET['nonavbar'];
|
||||
}
|
||||
|
||||
|
||||
if ($detail) {
|
||||
$this->_detailView($name, $type, $nonavbar);
|
||||
} else {
|
||||
$this->_listView();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* output of list view
|
||||
* collects data and shows a tabbed view that lists
|
||||
* - general informations
|
||||
* - installed applications
|
||||
* - installed templates
|
||||
* - installed languages
|
||||
*
|
||||
* @return nothing
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _listView()
|
||||
{
|
||||
$text_content = str_replace('GPLLINK',self::$knownLicenses['GPL'],'
|
||||
<p><b>EGroupware is a <a href="GPLLINK" title="read more about open source and the GPL" target="_blank">free</a>
|
||||
enterprise ready groupware software</b> for your network. It enables you to manage contacts, appointments, todos
|
||||
and many more for your whole business.</p>
|
||||
<p><b>EGroupware is a groupware server.</b> It comes with a native web-interface which allowes to access your data
|
||||
from any platform all over the planet. Moreover you also have the choice to access the EGroupware server with
|
||||
your favorite groupware client (Kontact, Evolution, Outlook, iCal, Lightning) and also with your mobile or PDA
|
||||
via SyncML.</p>
|
||||
<p><b>EGroupware is international.</b> At the time, it supports more than
|
||||
<a href="http://www.egroupware.org/languages" target="_blank">25 languages</a> including rtl support.</p>
|
||||
<p><b>EGroupware is platform independent.</b> The server runs on Linux, Mac, Windows and many more other operating systems.
|
||||
On the client side, all you need is a internet browser such as Firefox, Safari, Chrome, Konqueror or Internet Explorer
|
||||
and many more.</p>
|
||||
<p><b>EGroupware is developed by <a href="http://www.stylite.de/" target="_blank">Stylite GmbH</a></b> with contributions
|
||||
from community developers.</p>
|
||||
<br />
|
||||
<p><b>For more information visit the <a href="http://www.egroupware.org" target="_blank">EGroupware Website</a></b></p>');
|
||||
|
||||
// get informations about the applications
|
||||
$apps = array();
|
||||
$apps[] = ''; // first empty row for eTemplate
|
||||
foreach (isset($GLOBALS['egw_info']['user']['apps']['admin']) ?
|
||||
$GLOBALS['egw_info']['apps'] : $GLOBALS['egw_info']['user']['apps'] as $app => $appinfo)
|
||||
{
|
||||
$info = $this->_getParsedAppInfo($app);
|
||||
$apps[] = array(
|
||||
'appImage' => '<img src="'.$info['image'].'" />',
|
||||
'appName' => $appinfo['title'],
|
||||
'appAuthor' => $info['author'],
|
||||
'appMaintainer' => $info['maintainer'],
|
||||
'appVersion' => $info['version'],
|
||||
'appLicense' => $this->_linkLicense($info['license']),
|
||||
'appDetails' => '<a href="'.$GLOBALS['egw_info']['server']['webserver_url'].'/about.php?app='.$app.'&nonavbar=true" onclick="egw_openWindowCentered2(this.href,this.target,750,410,'."'yes'".'); return false;"><img src="'.$GLOBALS['egw']->common->image('phpgwapi','view.png').'" /></a>'
|
||||
);
|
||||
}
|
||||
|
||||
// get informations about the templates
|
||||
$templates = array();
|
||||
$templates[] = ''; // first empty row for eTemplate
|
||||
foreach($GLOBALS['egw']->common->list_templates() as $template => $templateinfo) {
|
||||
$info = $this->_getParsedTemplateInfo($template);
|
||||
$templates[] = array(
|
||||
'templateImage' => '<img src="'.$info['image'].'" />',
|
||||
'templateName' => $templateinfo['name'],
|
||||
'templateAuthor' => $info['author'],
|
||||
'templateMaintainer'=> $info['maintainer'],
|
||||
'templateVersion' => $info['version'],
|
||||
'templateLicense' => $this->_linkLicense($info['license']),
|
||||
'templateDetails' => '<a href="'.$GLOBALS['egw_info']['server']['webserver_url'].'/about.php?template='.$template.'&nonavbar=true" onclick="egw_openWindowCentered2(this.href,this.target,750,410,'."'yes'".'); return false;"><img src="'.$GLOBALS['egw']->common->image('phpgwapi','view.png').'" /></a>'
|
||||
);
|
||||
}
|
||||
|
||||
// get informations about installed languages
|
||||
$translations = array();
|
||||
$translations[] = ''; // first empty row for eTemplate
|
||||
$langs = $GLOBALS['egw']->translation->get_installed_langs();
|
||||
foreach($GLOBALS['egw']->translation->get_installed_langs() as $translation => $translationinfo) {
|
||||
$translations[] = array(
|
||||
'langName' => $translationinfo.' ('.$translation.')'
|
||||
);
|
||||
}
|
||||
|
||||
$changelog = EGW_SERVER_ROOT.'/doc/rpm-build/debian.changes';
|
||||
// fill content array for eTemplate
|
||||
$content = array(
|
||||
'apiVersion' => '<p>'.lang('eGroupWare API version').' '.$GLOBALS['egw_info']['server']['versions']['phpgwapi'].'</p>',
|
||||
'applications' => $apps,
|
||||
'templates' => $templates,
|
||||
'translations' => $translations,
|
||||
'text_content' => $text_content,
|
||||
'changelog' => file_exists($changelog) ? file_get_contents($changelog) : 'not available',
|
||||
);
|
||||
|
||||
$tmpl =& CreateObject('etemplate.etemplate', 'phpgwapi.about.index');
|
||||
$tmpl->exec('phpgwapi.about.index', $content);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* output of detail view for applications or templates
|
||||
*
|
||||
* @param string $name application/template name
|
||||
* @param string $type can be 'application' or 'template' :default $type='application'
|
||||
* @param string $nonavbar don't show navbar :default $nonavbar=false
|
||||
* @return nothing
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _detailView($name, $type='application', $nonavbar=false)
|
||||
{
|
||||
// get the informations
|
||||
switch ($type) {
|
||||
case 'application':
|
||||
$info = $this->_getParsedAppInfo($name);
|
||||
break;
|
||||
case 'template':
|
||||
$info = $this->_getParsedTemplateInfo($name);
|
||||
break;
|
||||
}
|
||||
|
||||
// app names are translated, template names not...
|
||||
if ($type == 'application') {
|
||||
$translatedName = lang($name);
|
||||
} else {
|
||||
$translatedName = $name;
|
||||
}
|
||||
|
||||
// fill content array
|
||||
$content = array(
|
||||
'image' => '<img src="'.$info['image'].'" />',
|
||||
'name' => '<h2>'.$translatedName.'</h2>',
|
||||
'description' => '<p>'.$info['description'].'</p>',
|
||||
'note' => $info['note'],
|
||||
'author' => $info['author'],
|
||||
'maintainer' => $info['maintainer'],
|
||||
'version' => $info['version'],
|
||||
'license' => $this->_linkLicense($info['license'])
|
||||
);
|
||||
|
||||
$tmpl =& CreateObject('etemplate.etemplate', 'phpgwapi.about.detail');
|
||||
if ($nonavbar) {
|
||||
$tmpl->exec('phpgwapi.about.detail', $content, array(), array(), array(), 2);
|
||||
} else {
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('About %1', $translatedName);
|
||||
$tmpl->exec('phpgwapi.about.detail', $content);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* parse template informations from setup.inc.php file
|
||||
*
|
||||
* @param string $template template template name
|
||||
* @return array html formated informations about author(s),
|
||||
* maintainer(s), version, license of the
|
||||
* given application
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _getParsedTemplateInfo($template)
|
||||
{
|
||||
// define the return array
|
||||
$ret = array(
|
||||
'image' => (file_exists($GLOBALS['egw_info']['template'][$template]['icon'])) ? $GLOBALS['egw_info']['template'][$template]['icon'] : $GLOBALS['egw']->common->image('thisdoesnotexist',array('navbar','nonav')),
|
||||
'author' => '',
|
||||
'maintainer' => '',
|
||||
'version' => '',
|
||||
'license' => '',
|
||||
'description' => '',
|
||||
'note' => ''
|
||||
);
|
||||
|
||||
if (!file_exists(EGW_INCLUDE_ROOT . "/phpgwapi/templates/$template/setup/setup.inc.php")) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
include(EGW_INCLUDE_ROOT . "/phpgwapi/templates/$template/setup/setup.inc.php");
|
||||
|
||||
$ret['author'] = $this->_getHtmlPersonalInfo($GLOBALS['egw_info']['template'][$template], 'author');
|
||||
$ret['maintainer'] = $this->_getHtmlPersonalInfo($GLOBALS['egw_info']['template'][$template], 'maintainer');
|
||||
$ret['version'] = $GLOBALS['egw_info']['template'][$template]['version'];
|
||||
$ret['license'] = $GLOBALS['egw_info']['template'][$template]['license'];
|
||||
$ret['description'] = $GLOBALS['egw_info']['template'][$template]['description'];
|
||||
$ret['note'] = $GLOBALS['egw_info']['template'][$template]['note'];
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* parse application informations from setup.inc.php file
|
||||
*
|
||||
* @param string $app application name
|
||||
* @return array html formated informations about author(s),
|
||||
* maintainer(s), version, license of the
|
||||
* given application
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _getParsedAppInfo($app)
|
||||
{
|
||||
// we read all setup files once, as no every app has it's own file
|
||||
static $setup_info;
|
||||
if (is_null($setup_info))
|
||||
{
|
||||
foreach($GLOBALS['egw_info']['apps'] as $_app => $_data)
|
||||
{
|
||||
if (file_exists($file = EGW_INCLUDE_ROOT.'/'.$_app.'/setup/setup.inc.php'))
|
||||
{
|
||||
include($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
$app_info = $GLOBALS['egw_info']['apps'][$app];
|
||||
|
||||
// define the return array
|
||||
$ret = array(
|
||||
'image' => $GLOBALS['egw']->common->image(isset($app_info['icon_app'])?$app_info['icon_app']:$app,
|
||||
isset($app_info['icon'])?$app_info['icon']:array('navbar','nonav')),
|
||||
'author' => '',
|
||||
'maintainer' => '',
|
||||
'version' => $app_info['version'],
|
||||
'license' => '',
|
||||
'description' => '',
|
||||
'note' => ''
|
||||
);
|
||||
|
||||
if (isset($setup_info[$app]))
|
||||
{
|
||||
$ret['author'] = $this->_getHtmlPersonalInfo($setup_info[$app], 'author');
|
||||
$ret['maintainer'] = $this->_getHtmlPersonalInfo($setup_info[$app], 'maintainer');
|
||||
if ($app_info['version'] != $setup_info[$app]['version']) $ret['version'] .= ' ('.$setup_info[$app]['version'].')';
|
||||
$ret['license'] = $setup_info[$app]['license'];
|
||||
$ret['description'] = $setup_info[$app]['description'];
|
||||
$ret['note'] = $setup_info[$app]['note'];
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* helper to parse author and maintainer info from setup_info array
|
||||
*
|
||||
* @param array $setup_info setup_info[$app] array
|
||||
* ($GLOBALS['egw_info']['template'][$template] array for template informations)
|
||||
* @param string $f 'author' or 'maintainer', default='author'
|
||||
* @return string html formated informations about author/maintainer
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _getHtmlPersonalInfo($setup_info, $f = 'author')
|
||||
{
|
||||
$authors = array();
|
||||
// get the author(s)
|
||||
if ($setup_info[$f]) {
|
||||
// author is set
|
||||
if (!is_array($setup_info[$f])) {
|
||||
// author is no array
|
||||
$authors[0]['name'] = $setup_info[$f];
|
||||
if ($setup_info[$f.'_email']) {
|
||||
$authors[0]['email'] = $setup_info[$f.'_email'];
|
||||
}
|
||||
if ($setup_info[$f.'_url']) {
|
||||
$authors[0]['url'] = $setup_info[$f.'_url'];
|
||||
}
|
||||
|
||||
} else {
|
||||
// author is array
|
||||
if ($setup_info[$f]['name']) {
|
||||
// only one author
|
||||
$authors[0]['name'] = $setup_info[$f]['name'];
|
||||
if ($setup_info[$f]['email']) {
|
||||
$authors[0]['email'] = $setup_info[$f]['email'];
|
||||
}
|
||||
if ($setup_info[$f]['url']) {
|
||||
$authors[0]['url'] = $setup_info[$f]['url'];
|
||||
}
|
||||
} else {
|
||||
// may be more authors
|
||||
foreach ($setup_info[$f] as $number => $values) {
|
||||
if ($setup_info[$f][$number]['name']) {
|
||||
$authors[$number]['name'] = $setup_info[$f][$number]['name'];
|
||||
}
|
||||
if ($setup_info[$f][$number]['email']) {
|
||||
$authors[$number]['email'] = $setup_info[$f][$number]['email'];
|
||||
}
|
||||
if ($setup_info[$f][$number]['url']) {
|
||||
$authors[$number]['url'] = $setup_info[$f][$number]['url'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// html format authors
|
||||
$s = '';
|
||||
foreach ($authors as $author) {
|
||||
if ($s != '') {
|
||||
$s .= '<br />';
|
||||
}
|
||||
$s .= lang('name').': '.$author['name'];
|
||||
if ($author['email']) {
|
||||
$s .= '<br />'.lang('email').': <a href="mailto:'.$author['email'].'">'.$author['email'].'</a>';
|
||||
}
|
||||
if ($author['url']) {
|
||||
$s .= '<br />'.lang('url').': <a href="'.$author['url'].'" target="_blank">'.$author['url'].'</a>';
|
||||
}
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
||||
static public $knownLicenses = array(
|
||||
'GPL' => 'http://opensource.org/licenses/gpl-2.0.php',
|
||||
'LGPL' => 'http://opensource.org/licenses/lgpl-2.1.php',
|
||||
'GPL3' => 'http://opensource.org/licenses/gpl-3.0.php',
|
||||
'LGPL3' => 'http://opensource.org/licenses/lgpl-3.0.php',
|
||||
'PHP' => 'http://opensource.org/licenses/php.php',
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* surround license string with link to license if it is known
|
||||
*
|
||||
* @param string $license the license to surround with link
|
||||
* @return string linked licence if known, $licence if not known
|
||||
*
|
||||
* @access private
|
||||
* @since 1.4
|
||||
*/
|
||||
function _linkLicense($license)
|
||||
{
|
||||
$name = is_array($license) ? $license['name'] : $license;
|
||||
$url = is_array($license) && isset($license['url']) ? $license['url'] : '';
|
||||
|
||||
if (!$url && isset(self::$knownLicenses[strtoupper($name)]))
|
||||
{
|
||||
$url = $knownLicenses[$name=strtoupper($name)];
|
||||
}
|
||||
|
||||
return !$url ? $name : '<a href="'.htmlspecialchars($url).'" target="_blank">'.htmlspecialchars($name).'</a>';
|
||||
}
|
||||
}
|
28
phpgwapi/setup/etemplates.inc.php
Normal file
28
phpgwapi/setup/etemplates.inc.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - eTemplates for Application phpgwapi
|
||||
* http://www.egroupware.org
|
||||
* generated by soetemplate::dump4setup() 2010-09-29 13:19
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package phpgwapi
|
||||
* @subpackage setup
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
$templ_version=1;
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.detail','template' => '','lang' => '','group' => '0','version' => '1.4.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:7:{s:4:"type";s:4:"grid";s:7:"no_lang";s:1:"1";s:4:"size";s:9:"70%,,,,,4";s:4:"data";a:5:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:4:"html";s:4:"name";s:5:"image";}s:1:"B";a:3:{s:4:"type";s:4:"html";s:4:"name";s:4:"name";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"size";s:6:",,,,,4";s:7:"options";a:1:{i:5;s:1:"4";}}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:4:"html";s:4:"name";s:11:"description";}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:4:"name";s:4:"note";s:7:"no_lang";s:1:"1";}}i:4;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:4:{s:2:"c1";s:7:"row,top";s:2:"c2";s:7:"row,top";s:2:"c3";s:7:"row,top";s:2:"c4";s:7:"row,top";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"author";s:4:"span";s:2:"th";}s:1:"B";a:3:{s:4:"type";s:4:"html";s:4:"name";s:6:"author";s:7:"no_lang";s:1:"1";}}i:2;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:10:"maintainer";s:4:"span";s:2:"th";}s:1:"B";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:10:"maintainer";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"version";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:7:"version";s:7:"no_lang";s:1:"1";}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"license";}s:1:"B";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:7:"license";}}}s:4:"rows";i:4;s:4:"cols";i:2;s:4:"size";s:6:",,,,,3";s:7:"options";a:1:{i:5;s:1:"3";}}}}s:4:"rows";i:4;s:4:"cols";i:1;s:7:"options";a:2:{i:0;s:3:"70%";i:5;s:1:"4";}}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:5:",,,,5";s:7:"options";a:1:{i:4;s:1:"5";}}}','size' => ',,,,5','style' => '','modified' => '1175950403',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:2:{i:0;a:3:{s:4:"type";s:3:"tab";s:4:"name";s:50:"general|applications|templates|languages|changelog";s:5:"label";s:50:"General|Applications|Templates|Languages|Changelog";}i:1;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:7:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"author";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"maintainer";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"version";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"license";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"details";}}i:2;a:7:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:4:"name";s:16:"${row}[appImage]";s:7:"no_lang";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[appName]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:4:"html";s:4:"name";s:17:"${row}[appAuthor]";s:7:"no_lang";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:4:"html";s:4:"name";s:21:"${row}[appMaintainer]";s:7:"no_lang";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:4:"name";s:18:"${row}[appVersion]";s:7:"no_lang";s:1:"1";}s:1:"F";a:3:{s:4:"type";s:4:"text";s:4:"name";s:18:"${row}[appLicense]";s:7:"no_lang";s:1:"1";}s:1:"G";a:4:{s:4:"type";s:4:"html";s:5:"align";s:6:"center";s:4:"name";s:17:"${row}[appDetail]";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:2;s:4:"cols";i:7;s:4:"name";s:4:"rows";s:8:"disabled";s:1:"1";s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1285755915',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index.applications','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:236:"<strong>This is a list of your available applications.</strong><br />For a complete list of applications available for eGroupWare visit <a href="http://www.egroupware.org/applications" target="_blank">www.egroupware.org/applications</a>";}}i:2;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:7:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:7:{s:4:"type";s:4:"grid";s:4:"size";s:3:",,1";s:4:"name";s:12:"applications";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:7:"options";a:1:{i:2;s:1:"1";}}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"name";s:12:"applications";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"author";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"maintainer";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"version";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"license";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"details";}}i:2;a:7:{s:1:"A";a:4:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[appImage]";s:5:"align";s:6:"center";}s:1:"B";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:15:"${row}[appName]";}s:1:"C";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:17:"${row}[appAuthor]";}s:1:"D";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:21:"${row}[appMaintainer]";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:18:"${row}[appVersion]";}s:1:"F";a:4:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:18:"${row}[appLicense]";s:5:"align";s:6:"center";}s:1:"G";a:4:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:5:"align";s:6:"center";s:4:"name";s:18:"${row}[appDetails]";}}}s:4:"rows";i:2;s:4:"cols";i:7;s:4:"name";s:12:"applications";s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:19:"100%,500,0,,5,,auto";s:7:"options";a:5:{i:0;s:4:"100%";i:1;s:3:"500";i:6;s:4:"auto";i:4;s:1:"5";i:2;s:1:"0";}}}','size' => '100%,600,0,,5,,auto','style' => '','modified' => '1175950363',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index.changelog','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"textarea";s:4:"name";s:9:"changelog";s:8:"readonly";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:17:"100%,500,,,,,auto";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"500";i:6;s:4:"auto";}}}','size' => '100%,600,,,,,auto','style' => '','modified' => '1285756882',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index.general','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"image";s:4:"name";s:4:"logo";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:4:"html";s:4:"name";s:10:"apiVersion";}}i:3;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"hrule";}}i:4;a:1:{s:1:"A";a:2:{s:4:"type";s:4:"html";s:4:"name";s:12:"text_content";}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:17:"600,500,,,5,,auto";s:7:"options";a:4:{i:0;s:3:"600";i:1;s:3:"500";i:6;s:4:"auto";i:4;s:1:"5";}}}','size' => '600,600,,,5,,auto','style' => '','modified' => '1175950348',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index.languages','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:213:"<b>This is a list of your available languages</b><br />For a complete list of languages available for eGroupWare visit <a href="http://www.egroupware.org/languages" target="_blank">www.egroupware.org/languages</a>";}}i:2;a:1:{s:1:"A";a:7:{s:4:"type";s:4:"grid";s:4:"size";s:3:",,0";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"language";}}i:2;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[langName]";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"name";s:12:"translations";s:7:"options";a:1:{i:2;s:1:"0";}}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:18:"100%,500,,,5,,auto";s:7:"options";a:4:{i:0;s:4:"100%";i:1;s:3:"500";i:6;s:4:"auto";i:4;s:1:"5";}}}','size' => '100%,600,,,5,,auto','style' => '','modified' => '1175950333',);
|
||||
|
||||
$templ_data[] = array('name' => 'phpgwapi.about.index.templates','template' => '','lang' => '','group' => '0','version' => '1.8.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:223:"<strong>This is a list of your available templates</strong><br />For a complete list of templates available for eGroupWare visit <a href="http://www.egroupware.org/templates" target="_blank">www.egroupware.org/templates</a>";}}i:2;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"grid";s:4:"name";s:9:"templates";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:7:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"name";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"author";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"maintainer";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"version";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"license";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"details";}}i:2;a:7:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:21:"${row}[templateImage]";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:20:"${row}[templateName]";}s:1:"C";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:22:"${row}[templateAuthor]";}s:1:"D";a:3:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:26:"${row}[templateMaintainer]";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:23:"${row}[templateVersion]";}s:1:"F";a:4:{s:4:"type";s:4:"html";s:7:"no_lang";s:1:"1";s:4:"name";s:23:"${row}[templateLicense]";s:5:"align";s:6:"center";}s:1:"G";a:3:{s:4:"type";s:4:"html";s:4:"name";s:23:"${row}[templateDetails]";s:5:"align";s:6:"center";}}}s:4:"rows";i:2;s:4:"cols";i:7;s:7:"options";a:0:{}}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:18:"100%,500,,,5,,auto";s:7:"options";a:4:{i:0;s:4:"100%";i:1;s:3:"500";i:6;s:4:"auto";i:4;s:1:"5";}}}','size' => '100%,600,,,5,,auto','style' => '','modified' => '1175950302',);
|
||||
|
203
phpgwapi/templates/default/about.index.xet
Normal file
203
phpgwapi/templates/default/about.index.xet
Normal file
@ -0,0 +1,203 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<template id="phpgwapi.about.index.general" template="" lang="" group="0" version="1.8.001">
|
||||
<grid width="600" height="500" spacing="5" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<image src="logo"/>
|
||||
</row>
|
||||
<row>
|
||||
<html id="apiVersion"/>
|
||||
</row>
|
||||
<row>
|
||||
<hrule/>
|
||||
</row>
|
||||
<row>
|
||||
<html id="text_content"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="phpgwapi.about.index.applications" template="" lang="" group="0" version="1.8.001">
|
||||
<grid width="100%" height="500" border="0" spacing="5" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description value="<strong>This is a list of your available applications.</strong><br />For a complete list of applications available for eGroupWare visit <a href="http://www.egroupware.org/applications" target="_blank">www.egroupware.org/applications</a>"/>
|
||||
</row>
|
||||
<row>
|
||||
<grid id="applications">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
<description rows="1" cols="1" id="applications"/>
|
||||
<description value="name"/>
|
||||
<description value="author"/>
|
||||
<description value="maintainer"/>
|
||||
<description value="version"/>
|
||||
<description value="license"/>
|
||||
<description value="details"/>
|
||||
</row>
|
||||
<row class="row" valign="top">
|
||||
<html no_lang="1" id="${row}[appImage]" align="center"/>
|
||||
<html no_lang="1" id="${row}[appName]"/>
|
||||
<html no_lang="1" id="${row}[appAuthor]"/>
|
||||
<html no_lang="1" id="${row}[appMaintainer]"/>
|
||||
<description no_lang="1" id="${row}[appVersion]"/>
|
||||
<html no_lang="1" id="${row}[appLicense]" align="center"/>
|
||||
<html no_lang="1" align="center" id="${row}[appDetails]"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="phpgwapi.about.index.templates" template="" lang="" group="0" version="1.8.001">
|
||||
<grid width="100%" height="500" spacing="5" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description value="<strong>This is a list of your available templates</strong><br />For a complete list of templates available for eGroupWare visit <a href="http://www.egroupware.org/templates" target="_blank">www.egroupware.org/templates</a>"/>
|
||||
</row>
|
||||
<row>
|
||||
<grid id="templates">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
<description/>
|
||||
<description value="name"/>
|
||||
<description value="author"/>
|
||||
<description value="maintainer"/>
|
||||
<description value="version"/>
|
||||
<description value="license"/>
|
||||
<description value="details"/>
|
||||
</row>
|
||||
<row class="row" valign="top">
|
||||
<html no_lang="1" id="${row}[templateImage]"/>
|
||||
<description no_lang="1" id="${row}[templateName]"/>
|
||||
<html no_lang="1" id="${row}[templateAuthor]"/>
|
||||
<html no_lang="1" id="${row}[templateMaintainer]"/>
|
||||
<description no_lang="1" id="${row}[templateVersion]"/>
|
||||
<html no_lang="1" id="${row}[templateLicense]" align="center"/>
|
||||
<html id="${row}[templateDetails]" align="center"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="phpgwapi.about.index.languages" template="" lang="" group="0" version="1.8.001">
|
||||
<grid width="100%" height="500" spacing="5" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<description value="<b>This is a list of your available languages</b><br />For a complete list of languages available for eGroupWare visit <a href="http://www.egroupware.org/languages" target="_blank">www.egroupware.org/languages</a>"/>
|
||||
</row>
|
||||
<row>
|
||||
<grid border="0" id="translations">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
<description value="language"/>
|
||||
</row>
|
||||
<row class="row">
|
||||
<description no_lang="1" id="${row}[langName]"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="phpgwapi.about.index.changelog" template="" lang="" group="0" version="1.8.001">
|
||||
<grid width="100%" height="500" overflow="auto">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<textbox multiline="true" id="changelog" readonly="true"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="phpgwapi.about.index" template="" lang="" group="0" version="1.8.001">
|
||||
<tabbox id="general|applications|templates|languages|changelog">
|
||||
<tabs>
|
||||
<tab label="General" statustext=""/>
|
||||
<tab label="Applications" statustext=""/>
|
||||
<tab label="Templates" statustext=""/>
|
||||
<tab label="Languages" statustext=""/>
|
||||
<tab label="Changelog" statustext=""/>
|
||||
</tabs>
|
||||
<tabpanels>
|
||||
<template id="phpgwapi.about.index.general"/>
|
||||
<template id="phpgwapi.about.index.applications"/>
|
||||
<template id="phpgwapi.about.index.templates"/>
|
||||
<template id="phpgwapi.about.index.languages"/>
|
||||
<template id="phpgwapi.about.index.changelog"/>
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
<grid id="rows">
|
||||
<columns>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
<description/>
|
||||
<description value="name"/>
|
||||
<description value="author"/>
|
||||
<description value="maintainer"/>
|
||||
<description value="version"/>
|
||||
<description value="license"/>
|
||||
<description value="details"/>
|
||||
</row>
|
||||
<row class="row">
|
||||
<html id="${row}[appImage]" no_lang="1"/>
|
||||
<description id="${row}[appName]" no_lang="1"/>
|
||||
<html id="${row}[appAuthor]" no_lang="1"/>
|
||||
<html id="${row}[appMaintainer]" no_lang="1"/>
|
||||
<description id="${row}[appVersion]" no_lang="1"/>
|
||||
<textbox id="${row}[appLicense]" no_lang="1"/>
|
||||
<html align="center" id="${row}[appDetail]" no_lang="1"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
</overlay>
|
Loading…
Reference in New Issue
Block a user