From 877924b6e6c5c050de6023a5f9e0c318d5493e34 Mon Sep 17 00:00:00 2001 From: Lars Kneschke Date: Sun, 27 May 2007 07:50:57 +0000 Subject: [PATCH] merge from trunk(revision 23948:23958) to 1.4 branch --- about.php | 364 +++++------------------------------------------------- 1 file changed, 29 insertions(+), 335 deletions(-) diff --git a/about.php b/about.php index 48a88e9b53..bc56f04e2f 100644 --- a/about.php +++ b/about.php @@ -1,343 +1,37 @@ + * @author Ralf Becker + * @license http://www.gnu.org/copyleft/gpl.html + * @link http://www.egroupware.org + * @version SVN: $Id$ + */ + $GLOBALS['egw_info'] = array( 'flags' => array( - 'currentapp' => isset($_GET['app']) && $_GET['app'] != 'eGroupWare' ? $_GET['app'] : 'about', - 'disable_Template_class' => True, - 'noheader' => True, + 'currentapp' => 'home', //'about', + 'disable_Template_class' => true, + 'noheader' => true, + 'nonavbar' => true ) ); + include('header.inc.php'); - + // create the about page +require_once(EGW_API_INC.'/class.about.inc.php'); + $aboutPage = new about(); - - -class about -{ - /** - * template object - */ - var $tpl; - - /** - * constructor of class about - * sets template and calls list or detail view - */ - function about() - { - // create template object - $this->tpl =& CreateObject('phpgwapi.Template', $GLOBALS['egw']->common->get_tpl_dir('phpgwapi')); - $this->tpl->set_file(array( - 'phpgw_about' => 'about.tpl', - 'phpgw_about_unknown' => 'about_unknown.tpl' - )); - - $title = isset($GLOBALS['egw_info']['apps'][$_GET['app']]) ? $GLOBALS['egw_info']['apps'][$_GET['app']]['title'] : 'eGroupWare'; - $GLOBALS['egw_info']['flags']['app_header'] = lang('About %1',$title); - $GLOBALS['egw']->common->egw_header(); - - // list or detail view - $app = isset($_GET['app']) && $_GET['app'] != 'eGroupWare' ? basename($_GET['app']) : 'about'; - if ($app) { - if (!($included = $GLOBALS['egw']->hooks->single('about',$app))) { - $detail = $included = file_exists(EGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php"); - } - } else { - $detail = false; - } - if ($detail) { - $this->_detailView(); - } else { - $this->_listView(); - } - - $GLOBALS['egw']->common->egw_footer(); - } - - - - /** - * output of list view - */ - function _listView() - { - // eGW info - $this->tpl->set_block('phpgw_about', 'egroupware','egroupware'); - $this->tpl->set_var('phpgw_logo',$GLOBALS['egw']->common->image('phpgwapi','logo.gif')); - $this->tpl->set_var('phpgw_version',lang('eGroupWare API version %1',$GLOBALS['egw_info']['server']['versions']['phpgwapi'])); - $this->tpl->set_var('phpgw_message',lang('%1eGroupWare%2 is a multi-user, web-based groupware suite written in %3PHP%4.', - '','','','')); - $this->tpl->pparse('overview', 'egroupware'); - - // app_list_tablestart - $this->tpl->set_block('phpgw_about', 'app_list_tablestart','app_list_tablestart'); - $this->tpl->set_var('phpgw_app_listinfo', lang('List of your available applications')); - $this->tpl->set_var('phpgw_about_th_name', lang('name')); - $this->tpl->set_var('phpgw_about_th_author', lang('author')); - $this->tpl->set_var('phpgw_about_th_maintainer', lang('maintainer')); - $this->tpl->set_var('phpgw_about_th_version', lang('version')); - $this->tpl->set_var('phpgw_about_th_license', lang('license')); - $this->tpl->set_var('phpgw_about_th_details', lang('details')); - $this->tpl->pparse('phpgw_about', 'app_list_tablestart', true); - - // app_list_tablerows - $this->tpl->set_block('phpgw_about', 'app_list_tablerow', 'app_list_tablerow'); - foreach ($GLOBALS['egw_info']['user']['apps'] as $app => $appinfo) { - // get additional information about the application - $info = $this->_getParsedAppInfo($app); - - $this->tpl->set_var('phpgw_about_td_image', $GLOBALS['egw']->common->image($app,array('navbar','nonav'))); - $this->tpl->set_var('phpgw_about_td_title', $appinfo['title']); - $this->tpl->set_var('phpgw_about_td_author', $info['author']); - $this->tpl->set_var('phpgw_about_td_maintainer', $info['maintainer']); - $this->tpl->set_var('phpgw_about_td_version', $info['version']); - $this->tpl->set_var('phpgw_about_td_license', $info['license']); - $this->tpl->set_var('phpgw_about_td_details_img', $GLOBALS['egw']->common->image('phpgwapi','view.png')); - $this->tpl->set_var('phpgw_about_td_details_url', $GLOBALS['egw_info']['server']['webserver_url'].'/about.php?app='.$app); - $this->tpl->pparse('phpgw_about', 'app_list_tablerow', true); - } - - // app_list_table_stop - $this->tpl->set_block('phpgw_about', 'app_list_tablestop','app_list_tablestop'); - $this->tpl->pparse('phpgw_about', 'app_list_tablestop'); - - } - - - - /** - * output of detail view - */ - function _detailView() - { - echo ''; - $app = basename($_GET['app']); - include(EGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php"); - $info = $setup_info[$app]; - $info['icon'] = $GLOBALS['egw']->common->image($app,array('navbar','nonav')); - $info['title'] = $GLOBALS['egw_info']['apps'][$app]['title']; - - $other_infos = array( - 'author' => lang('Author'), - 'maintainer' => lang('Maintainer'), - 'version' => lang('Version'), - 'license' => lang('License'), - ); - if($info[icon]) - { - $icon = $info[icon]; - } - $s = "\n"; - if(trim($icon) != "") - { - $s.= " - "; - } - else - { - $s .= " - "; - } - if ($info['description']) - { - $info['description'] = lang($info['description']); - $s .= "\n"; - if ($info['note']) - { - $info['note'] = lang($info['note']); - $s .= "\n"; - } - - } - foreach ($other_infos as $key => $val) - { - if (isset($info[$key])) - { - $s .= "\n"; - } - } - - if ($info['extra_untranslated']) - { - $s .= "\n"; - } - - $s .= "
\"$info[title]\"

$info[title]

$info[title]

$info[description]
$info[note]
$val"; - $infos = $info[$key]; - for ($n = 0; is_array($info[$key][$n]) && ($infos = $info[$key][$n]) || !$n; ++$n) - { - if (!is_array($infos) && isset($info[$key.'_email'])) - { - $infos = array('email' => $info[$key.'_email'],'name' => $infos); - } - elseif(!is_array($infos) && isset($info[$key.'_url'])) - { - $infos = array('url' => $info[$key.'_url'],'name' => $infos); - } - if (is_array($infos)) - { - if ($infos['email']) - { - $names = explode('
',$infos['name']); - $emails = split('@|
',$infos['email']); - if (count($names) < count($emails)/2) - { - $names = ''; - } - $infos = ''; - while (list($user,$domain) = $emails) - { - if ($infos) $infos .= '
'; - $name = $names ? array_shift($names) : $user; - $infos .= "$name"; - array_shift($emails); array_shift($emails); - } - } - elseif($infos['url']) - { - $img = $info[$key.'_img']; - if ($img) - { - $img_url = $GLOBALS['egw']->common->image('phpgwapi',$img); - if (!$img_url) - { - $img_url = $GLOBALS['egw']->common->image($info['name'],$img); - } - $infos = '

'.$infos['name'].'
'; - } - else - { - $infos = ''.$infos['name'].''; - } - } - } - $s .= ($n ? '
' : '') . $infos; - } - $s .= "
$info[extra_untranslated]
\n"; - - - $this->tpl->set_block('phpgw_about', 'application','application'); - $this->tpl->set_var('phpgw_app_about', $s); - $this->tpl->pparse('phpgw_about', 'application', True); - } - - - - /** - * parse 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 - */ - function _getParsedAppInfo($app) - { - // define the return array - $ret = array( - 'author' => '', - 'maintainer' => '', - 'version' => '', - 'license' => '' - ); - - if (!file_exists(EGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php")) { - return $ret; - } - - include(EGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php"); - - $ret['license'] = $setup_info[$app]['license']; - $ret['version'] = $setup_info[$app]['version']; - $ret['author'] = $this->_getHtmlPersonalInfo($setup_info, $app, 'author'); - $ret['maintainer'] = $this->_getHtmlPersonalInfo($setup_info, $app, 'maintainer'); - - return $ret; - } - - - - /** - * helper to parse author and maintainer info - * - * @param array setup_info setup_info[$app] array - * @param string app application name - * @param string f 'author' or 'maintainer' - * - * @return string html formated informations of s - */ - function _getHtmlPersonalInfo($setup_info, $app, $f = 'author') - { - $authors = array(); - // get the author(s) - if ($setup_info[$app][$f]) { - // author is set - if (!is_array($setup_info[$app][$f])) { - // author is no array - $authors[0]['name'] = $setup_info[$app][$f]; - if ($setup_info[$app][$f.'_email']) { - $authors[0]['email'] = $setup_info[$app][$f.'_email']; - } - if ($setup_info[$app][$f.'_url']) { - $authors[0]['url'] = $setup_info[$app][$f.'_url']; - } - - } else { - // author is array - if ($setup_info[$app][$f]['name']) { - // only one author - $authors[0]['name'] = $setup_info[$app][$f]['name']; - if ($setup_info[$app][$f]['email']) { - $authors[0]['email'] = $setup_info[$app][$f]['email']; - } - if ($setup_info[$app][$f]['url']) { - $authors[0]['url'] = $setup_info[$app][$f]['url']; - } - } else { - // may be more authors - foreach ($setup_info[$app][$f] as $number => $values) { - if ($setup_info[$app][$f][$number]['name']) { - $authors[$number]['name'] = $setup_info[$app][$f][$number]['name']; - } - if ($setup_info[$app][$f][$number]['email']) { - $authors[$number]['email'] = $setup_info[$app][$f][$number]['email']; - } - if ($setup_info[$app][$f][$number]['url']) { - $authors[$number]['url'] = $setup_info[$app][$f][$number]['url']; - } - } - } - } - } - - // html format authors - $s = ''; - foreach ($authors as $author) { - if ($s != '') { - $s .= '
'; - } - $s .= lang('name').': '.$author['name']; - if ($author['email']) { - $s .= '
'.lang('email').': '.$author['email'].''; - } - if ($author['url']) { - $s .= '
'.lang('url').': '.$author['url'].''; - } - } - return $s; - } -} - -?>