diff options
-rw-r--r-- | admin.php | 20 | ||||
-rw-r--r-- | admin/admin_phpinfo.php | 82 | ||||
-rw-r--r-- | admin/intro.php | 202 | ||||
-rw-r--r-- | doc/ChangeLog | 11 | ||||
-rw-r--r-- | template/default/admin.tpl | 1 | ||||
-rw-r--r-- | template/default/default.css | 26 |
6 files changed, 250 insertions, 92 deletions
@@ -54,7 +54,8 @@ else if (isset($_GET['user_id'])) $username = get_username($_GET['user_id']); } -if (isset( $_GET['page'] )) +$_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 'intro'; + switch ( $_GET['page'] ) { case 'user_list' : @@ -97,8 +98,6 @@ switch ( $_GET['page'] ) $title = $lang['title_update']; $page_valide = true; break; case 'configuration': $title = $lang['title_configuration']; $page_valide = true; break; - case 'admin_phpinfo': - $title = $lang['phpinfos']; $page_valide = true; break; case 'help': $title = $lang['title_instructions']; $page_valide = true; break; case 'cat_perm': @@ -186,8 +185,17 @@ switch ( $_GET['page'] ) // $page_valide = true; // break; // } - default: - $title = $lang['title_default']; break; + case 'intro' : + { + $_GET['page'] = 'intro'; + $title = $lang['title_default']; + $page_valide = true; + break; + } + default : + { + break; + } } if ( $title == '' ) $title = $lang['title_default']; @@ -225,7 +233,6 @@ $template->assign_vars(array( 'L_GALLERY_INDEX'=>$lang['home'], 'L_GENERAL'=>$lang['general'], 'L_DEFAULT'=>$lang['gallery_default'], - 'L_PHPINFO'=>$lang['phpinfos'], 'L_HISTORY'=>$lang['history'], 'L_FAQ'=>$lang['instructions'], 'L_CONFIGURATION'=>$lang['config'], @@ -255,7 +262,6 @@ $template->assign_vars(array( 'U_HISTORY'=>add_session_id($link_start.'stats' ), 'U_FAQ'=>add_session_id($link_start.'help' ), 'U_SITES'=>add_session_id($link_start.'remote_site'), - 'U_PHPINFO'=>add_session_id($link_start.'admin_phpinfo' ), 'U_MAINTENANCE'=>add_session_id($link_start.'maintenance'), 'U_CONFIG_GENERAL'=>add_session_id($conf_link.'general' ), 'U_CONFIG_COMMENTS'=>add_session_id($conf_link.'comments' ), diff --git a/admin/admin_phpinfo.php b/admin/admin_phpinfo.php deleted file mode 100644 index 8b7c3230e..000000000 --- a/admin/admin_phpinfo.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | PhpWebGallery - a PHP based picture gallery | -// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | -// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net | -// +-----------------------------------------------------------------------+ -// | branch : BSF (Best So Far) -// | file : $RCSfile$ -// | last update : $Date$ -// | last modifier : $Author$ -// | revision : $Revision$ -// +-----------------------------------------------------------------------+ -// | This program is free software; you can redistribute it and/or modify | -// | it under the terms of the GNU General Public License as published by | -// | the Free Software Foundation | -// | | -// | This program is distributed in the hope that it will be useful, but | -// | WITHOUT ANY WARRANTY; without even the implied warranty of | -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | -// | General Public License for more details. | -// | | -// | You should have received a copy of the GNU General Public License | -// | along with this program; if not, write to the Free Software | -// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | -// | USA. | -// +-----------------------------------------------------------------------+ - -if( !defined("PHPWG_ROOT_PATH") ) -{ - die ("Hacking attempt!"); -} - -include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' ); - -ob_start(); -phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES); -$phpinfo = ob_get_contents(); -ob_end_clean(); - -// Get used layout -$layout = (preg_match('#bgcolor#i', $phpinfo)) ? 'old' : 'new'; -$output=''; -// Here we play around a little with the PHP Info HTML to try and stylise -// it along phpBB's lines ... hopefully without breaking anything. The idea -// for this was nabbed from the PHP annotated manual -preg_match_all('#<body[^>]*>(.*)</body>#siU', $phpinfo, $output); - -switch ($layout) -{ - case 'old': - $output = preg_replace('#<table#', '<table class="table2"', $output[1][0]); - $output = preg_replace('# bgcolor="\#(\w){6}"#', '', $output); - $output = preg_replace('#(\w),(\w)#', '\1, \2', $output); - $output = preg_replace('#border="0" cellpadding="3" cellspacing="1" width="600"#', 'border="0" cellspacing="1" cellpadding="4" width="95%"', $output); - $output = preg_replace('#<tr valign="top"><td align="left">(.*?<a .*?</a>)(.*?)</td></tr>#s', '<tr class="row1"><td style="{background-color: #9999cc;}"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td style="{background-color: #9999cc;}">\2</td><td style="{background-color: #9999cc;}">\1</td></tr></table></td></tr>', $output); - $output = preg_replace('#<tr valign="baseline"><td[ ]{0,1}><b>(.*?)</b>#', '<tr><td class="row1" nowrap="nowrap">\1', $output); - $output = preg_replace('#<td align="(center|left)">#', '<td class="row2">', $output); - $output = preg_replace('#<td>#', '<td class="row2">', $output); - $output = preg_replace('#valign="middle"#', '', $output); - $output = preg_replace('#<tr >#', '<tr>', $output); - $output = preg_replace('#<hr(.*?)>#', '', $output); - $output = preg_replace('#<h1 align="center">#i', '<h1>', $output); - $output = preg_replace('#<h2 align="center">#i', '<h2>', $output); - break; - case 'new': - $output = preg_replace('#<table#', '<table class="table2"', $output[1][0]); - $output = preg_replace('#(\w),(\w)#', '\1, \2', $output); - $output = preg_replace('#border="0" cellpadding="3" width="600"#', 'border="0" cellspacing="1" cellpadding="2" width="95%"', $output); - $output = preg_replace('#<tr class="v"><td>(.*?<a .*?</a>)(.*?)</td></tr>#s', '<tr class="throw"><td><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td>\2</td><td>\1</td></tr></table></td></tr>', $output); - $output = preg_replace('#<td>#', '<td style="background-color: #444444;text-align:center;">', $output); - $output = preg_replace('#<th>#', '<th class="throw">', $output); - $output = preg_replace('#class="e"#', 'class="row1"', $output); - $output = preg_replace('#class="v"#', 'class="row2"', $output); - $output = preg_replace('# class="h"#', '', $output); - $output = preg_replace('#<hr />#', '', $output); - preg_match_all('#<div class="center">(.*)</div>#siU', $output, $output); - $output = $output[1][0]; - break; -} -$template->assign_var('ADMIN_CONTENT',$output); - -?>
\ No newline at end of file diff --git a/admin/intro.php b/admin/intro.php new file mode 100644 index 000000000..25369e832 --- /dev/null +++ b/admin/intro.php @@ -0,0 +1,202 @@ +<?php +// +-----------------------------------------------------------------------+ +// | PhpWebGallery - a PHP based picture gallery | +// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | +// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net | +// +-----------------------------------------------------------------------+ +// | branch : BSF (Best So Far) +// | file : $RCSfile$ +// | last update : $Date$ +// | last modifier : $Author$ +// | revision : $Revision$ +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if (!defined('PHPWG_ROOT_PATH')) +{ + die ("Hacking attempt!"); +} +include_once(PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php'); + +// +-----------------------------------------------------------------------+ +// | actions | +// +-----------------------------------------------------------------------+ + +// Check for upgrade : code inspired from punbb +if (isset($_GET['action']) and 'check_upgrade' == $_GET['action']) +{ + if (!ini_get('allow_url_fopen')) + { + array_push( + $page['errors'], + l10n('Unable to check for upgrade since allow_url_fopen is disabled.') + ); + } + else + { + $versions = array('current' => PHPWG_VERSION); + $lines = @file('http://www.phpwebgallery.net/latest_version'); + + // if the current version is a BSF (development branch) build, we check + // the first line, for stable versions, we check the second line + if (preg_match('/^BSF/', $versions{'current'})) + { + $versions{'latest'} = trim($lines[0]); + + // because integer are limited to 4,294,967,296 we need to split BSF + // versions in date.time + foreach ($versions as $key => $value) + { + $versions{$key} = + preg_replace('/BSF_(\d{8})(\d{4})/', '$1.$2', $value); + } + } + else + { + $versions{'latest'} = trim($lines[1]); + } + + if ('' == $versions{'latest'}) + { + array_push( + $page['errors'], + l10n('Check for upgrade failed for unknown reasons.') + ); + } + else if ('%PWGVERSION%' == $versions{'current'}) + { + array_push( + $page['infos'], + l10n('You are running on development sources, no check possible.') + ); + } + else if (version_compare($versions{'current'}, $versions{'latest'}) < 0) + { + array_push( + $page['infos'], + l10n('A new version of PhpWebGallery is available.') + ); + } + else + { + array_push( + $page['infos'], + l10n('You are running the latest version of PhpWebGallery.') + ); + } + } +} +// Show phpinfo() output +else if (isset($_GET['action']) and 'phpinfo' == $_GET['action']) +{ + phpinfo(); + exit(); +} + +// +-----------------------------------------------------------------------+ +// | template init | +// +-----------------------------------------------------------------------+ + +$template->set_filenames(array('intro' => 'admin/intro.tpl')); + +list($mysql_version) = mysql_fetch_row(pwg_query('SELECT VERSION();')); + +$query = ' +SELECT COUNT(*) + FROM '.IMAGES_TABLE.' +;'; +list($nb_elements) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.CATEGORIES_TABLE.' +;'; +list($nb_categories) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.CATEGORIES_TABLE.' + WHERE dir IS NULL +;'; +list($nb_virtual) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.CATEGORIES_TABLE.' + WHERE dir IS NOT NULL +;'; +list($nb_physical) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.USERS_TABLE.' +;'; +list($nb_users) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.GROUPS_TABLE.' +;'; +list($nb_groups) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT COUNT(*) + FROM '.COMMENTS_TABLE.' +;'; +list($nb_comments) = mysql_fetch_row(pwg_query($query)); + +$query = ' +SELECT MIN(date_available) + FROM '.IMAGES_TABLE.' +;'; +list($first_date) = mysql_fetch_row(pwg_query($query)); + +$template->assign_vars( + array( + 'PWG_VERSION' => PHPWG_VERSION, + 'OS' => PHP_OS, + 'PHP_VERSION' => phpversion(), + 'MYSQL_VERSION' => $mysql_version, + 'DB_ELEMENTS' => sprintf(l10n('%d elements'), $nb_elements), + 'DB_CATEGORIES' => + sprintf( + l10n('%d categories including %d physical and %d virtual'), + $nb_categories, + $nb_physical, + $nb_virtual + ), + 'DB_USERS' => sprintf(l10n('%d users'), $nb_users), + 'DB_GROUPS' => sprintf(l10n('%d groups'), $nb_groups), + 'DB_COMMENTS' => sprintf(l10n('%d comments'), $nb_comments), + 'DB_DATE' => + sprintf( + l10n('first element added on %s'), + format_date($first_date, 'mysql_datetime') + ), + 'U_CHECK_UPGRADE' => + add_session_id(PHPWG_ROOT_PATH.'admin.php?action=check_upgrade'), + 'U_PHPINFO' => + add_session_id(PHPWG_ROOT_PATH.'admin.php?action=phpinfo') + ) + ); + +// +-----------------------------------------------------------------------+ +// | sending html code | +// +-----------------------------------------------------------------------+ + +$template->assign_var_from_handle('ADMIN_CONTENT', 'intro'); + +?>
\ No newline at end of file diff --git a/doc/ChangeLog b/doc/ChangeLog index a87ebf2ac..2159cdf39 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,14 @@ +2005-08-15 Pierrick LE GALL + + * new : introduction page to administration section. This page + gives informations about PhpWebGallery version, PHP version, MySQL + version, gallery database informations (number of categories, + elements, users, comments). Ability to request phpwebgallery.net + for upgrade. + + * deletion : of obsolete admin/admin_phpinfo.php page replaced by + a link in introduction page. + 2005-08-14 Pierrick LE GALL * modification : simplification of HTML/CSS code for double select diff --git a/template/default/admin.tpl b/template/default/admin.tpl index 39879fffb..ab8df9d63 100644 --- a/template/default/admin.tpl +++ b/template/default/admin.tpl @@ -17,7 +17,6 @@ <ul class="menu"> <li><a class="adminMenu" href="{U_FAQ}">{L_FAQ}</a></li> <li><a class="adminMenu" href="{U_SITES}">{L_SITES}</a></li> - <li><a class="adminMenu" href="{U_PHPINFO}">{L_PHPINFO}</a></li> <li><a class="adminMenu" href="{U_HISTORY}">{L_HISTORY}</a></li> <li><a class="adminMenu" href="{U_CAT_UPDATE}">{L_UPDATE}</a></li> <li><a class="adminMenu" href="{U_MAINTENANCE}">{lang:Maintenance}</a></li> diff --git a/template/default/default.css b/template/default/default.css index 352f5d5f1..bfadbfa81 100644 --- a/template/default/default.css +++ b/template/default/default.css @@ -26,8 +26,16 @@ input,select,textarea { color:#FFFFCC;} /* Forms font color */ /* ANCHORS */ -a { text-decoration:none; color:#FFFFFF;} -a:hover { text-decoration:none; color:#FFF48E;} +a { + text-decoration: none; + color: #F6B620; +} + +a:hover { + text-decoration:none; + color: #ffee40; +} + a.none:hover { text-decoration:none;} a.image:hover { text-decoration:none;} a.thumbLink:hover { text-decoration:none;} @@ -520,4 +528,18 @@ table.doubleSelect { table.doubleSelect td { padding: 0 5px; +} + +div#adminMain dl { + margin: 10px; +} + +div#adminMain dl>dd { + margin-bottom: 10px; +} + +div#adminMain dl>dt { + margin-bottom: 5px; + font-style: italic; + font-size: 110%; }
\ No newline at end of file |