aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2007-02-22 20:20:30 +0000
committerrub <rub@piwigo.org>2007-02-22 20:20:30 +0000
commit6f03e29735ea395f31d09bbfd15a4e15eaf961e3 (patch)
tree25af7ae0f975493ccc050f48c56a28f72ca5481f
parent20ba76b753f53c00fece9cc727e60414c7e95570 (diff)
o Proposition: improved display of 'x images in y sub-categories' or 'x images in this category' for cases when categories contain both images and sub-categories
o Good idea of this new way for way conf['guest_access'], but I kept last implementation for access methods (Could be useful on future development) git-svn-id: http://piwigo.org/svn/trunk@1851 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--identification.php5
-rw-r--r--include/category_cats.inc.php8
-rw-r--r--include/functions_category.inc.php19
-rw-r--r--include/functions_html.inc.php3
-rw-r--r--include/functions_user.inc.php40
-rw-r--r--nbm.php2
-rw-r--r--password.php5
-rw-r--r--register.php6
-rw-r--r--search_rules.php1
-rw-r--r--ws.php1
10 files changed, 65 insertions, 25 deletions
diff --git a/identification.php b/identification.php
index e1edceb1d..b0d259841 100644
--- a/identification.php
+++ b/identification.php
@@ -29,6 +29,11 @@
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_NONE);
+
//-------------------------------------------------------------- identification
$errors = array();
diff --git a/include/category_cats.inc.php b/include/category_cats.inc.php
index 653d1d869..2acb05f13 100644
--- a/include/category_cats.inc.php
+++ b/include/category_cats.inc.php
@@ -214,7 +214,9 @@ if (count($categories) > 0)
(
$category['nb_images'],
$category['count_images'],
- $category['count_categories']
+ $category['count_categories'],
+ true,
+ '<BR>'
),
'DESCRIPTION' => @$comment,
'NAME' => $name,
@@ -249,7 +251,9 @@ if (count($categories) > 0)
(
$category['nb_images'],
$category['count_images'],
- $category['count_categories']
+ $category['count_categories'],
+ true,
+ '<BR>'
),
'U_IMG_LINK' => make_index_url(
diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php
index 9b38ae440..040d91d9e 100644
--- a/include/functions_category.inc.php
+++ b/include/functions_category.inc.php
@@ -386,16 +386,25 @@ function rank_compare($a, $b)
* @param array categories
* @return string
*/
-function get_display_images_count($cat_nb_images, $cat_count_images, $cat_count_categories, $short_message = true)
+function get_display_images_count($cat_nb_images, $cat_count_images, $cat_count_categories, $short_message = true, $Separator = '\n')
{
$display_text = '';
- if ($cat_count_images>0)
- {//at least one image direct or indirect
+ if ($cat_count_images > 0)
+ {
+ if ($cat_nb_images > 0 and $cat_nb_images < $cat_count_images)
+ {
+ $display_text.= get_display_images_count($cat_nb_images, $cat_nb_images, 0, $short_message, $Separator).$Separator;
+ $cat_count_images-= $cat_nb_images;
+ $cat_nb_images = 0;
+ }
+
+ //at least one image direct or indirect
$display_text.= l10n_dec('image_available', 'images_available', $cat_count_images);
- if ($cat_count_categories==0 or $cat_nb_images>=$cat_count_images)
- {//no descendant categories or descendants do not contain images
+ if ($cat_count_categories == 0 or $cat_nb_images == $cat_count_images)
+ {
+ //no descendant categories or descendants do not contain images
if (! $short_message)
{
$display_text.= ' '.l10n('images_available_cpl');
diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php
index 751749490..c0edf6ed0 100644
--- a/include/functions_html.inc.php
+++ b/include/functions_html.inc.php
@@ -470,7 +470,8 @@ function get_html_menu_category($categories)
$category['nb_images'],
$category['count_images'],
$category['count_categories'],
- false
+ false,
+ ' / '
).'">';
// show total number of images
$menu.= '['.$category['count_images'].']';
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index 57e609eab..6b0b110c8 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -435,7 +435,7 @@ SELECT cat_id
$forbidden_array = array_diff($private_array, $authorized_array);
// if user is not an admin, locked categories are forbidden
- if ( $user_status!='administrator' and $user_status!='webmaster' )
+ if (!is_admin($user_status))
{
$query = '
SELECT id
@@ -981,7 +981,7 @@ SELECT '.$conf['user_fields']['id'].' AS id,
*/
function get_access_type_status($user_status='')
{
- global $user;
+ global $user, $conf;
if ($user_status == '' and isset($user['status']) )
{
@@ -992,6 +992,21 @@ function get_access_type_status($user_status='')
switch ($user_status)
{
case 'guest':
+ {
+ if
+ (
+ !isset($user) or
+ ($user['id']==$conf['guest_id'] and !$conf['guest_access'])
+ )
+ {
+ $access_type_status = ACCESS_NONE;
+ }
+ else
+ {
+ $access_type_status = ACCESS_GUEST;
+ }
+ break;
+ }
case 'generic':
{
$access_type_status = ACCESS_GUEST;
@@ -1022,18 +1037,9 @@ function get_access_type_status($user_status='')
* Test does with user status
* @return bool
*/
-function is_autorize_status($access_type)
+function is_autorize_status($access_type, $user_status = '')
{
- global $user, $conf;
- if (
- !isset($user) or
- ($user['id']==$conf['guest_id'] and $conf['guest_access']==false)
- )
- {
- return ACCESS_NONE>=$access_type;
- }
-
- return (get_access_type_status() >= $access_type);
+ return (get_access_type_status($user_status) >= $access_type);
}
/*
@@ -1042,9 +1048,9 @@ function is_autorize_status($access_type)
* Test does with user status
* @return none
*/
-function check_status( $access_type )
+function check_status($access_type, $user_status = '')
{
- if (!is_autorize_status($access_type) )
+ if (!is_autorize_status($access_type, $user_status))
{
access_denied();
}
@@ -1054,9 +1060,9 @@ function check_status( $access_type )
* Return if user is an administrator
* @return bool
*/
-function is_admin()
+ function is_admin($user_status = '')
{
- return is_autorize_status(ACCESS_ADMINISTRATOR);
+ return is_autorize_status(ACCESS_ADMINISTRATOR, $user_status);
}
/*
diff --git a/nbm.php b/nbm.php
index db6db9236..cb5255608 100644
--- a/nbm.php
+++ b/nbm.php
@@ -27,8 +27,10 @@
// +-----------------------------------------------------------------------+
+//--------------------------------------------------------------------- include
define('PHPWG_ROOT_PATH','./');
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
+check_status(ACCESS_NONE);
include_once(PHPWG_ROOT_PATH.'include/functions_notification.inc.php');
include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
diff --git a/password.php b/password.php
index 9d3833447..ebc6b0804 100644
--- a/password.php
+++ b/password.php
@@ -34,6 +34,11 @@ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_NONE);
+
+// +-----------------------------------------------------------------------+
// | send a new password |
// +-----------------------------------------------------------------------+
diff --git a/register.php b/register.php
index 1aeb6eb1d..68dd36da5 100644
--- a/register.php
+++ b/register.php
@@ -28,6 +28,12 @@
//----------------------------------------------------------- include
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+
+// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_NONE);
+
//----------------------------------------------------------- user registration
if (!$conf['allow_user_registration'])
diff --git a/search_rules.php b/search_rules.php
index d9f0635a5..b3b213352 100644
--- a/search_rules.php
+++ b/search_rules.php
@@ -43,6 +43,7 @@ function inc_exc_str($is_included)
define('PHPWG_ROOT_PATH','./');
include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+check_status(ACCESS_NONE);
include_once( PHPWG_ROOT_PATH.'include/functions_search.inc.php' );
$page['body_id'] = 'thePopuphelpPage';
diff --git a/ws.php b/ws.php
index ca3832a44..124e531f0 100644
--- a/ws.php
+++ b/ws.php
@@ -26,6 +26,7 @@
define ('PHPWG_ROOT_PATH', './');
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
+check_status(ACCESS_NONE);
include_once(PHPWG_ROOT_PATH.'include/ws_core.inc.php');
if ( !$conf['allow_web_services'] )