- remove square/thumb from choices on picture

- fix content margin on password register 
- purge derivative cache by type of derivative
- session saved infos/messages are not given to the page on html redirections
- shorter/faster code in functions_xxx

git-svn-id: http://piwigo.org/svn/trunk@13074 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices
2012-02-09 21:11:34 +00:00
parent 40280db9d8
commit f6825cfb33
11 changed files with 94 additions and 113 deletions
-28
View File
@@ -485,33 +485,5 @@ SELECT image_id
return $image_id;
}
/**
* create a tree from a flat list of categories, no recursivity for high speed
*/
function categories_flatlist_to_tree($categories)
{
$tree = array();
$key_of_cat = array();
foreach ($categories as $key => &$node)
{
$key_of_cat[$node['id']] = $key;
if (!isset($node['id_uppercat']))
{
$tree[$key] = &$node;
}
else
{
if (!isset($categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories']))
{
$categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories'] = array();
}
$categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories'][$key] = &$node;
}
}
return $tree;
}
?>
+24 -47
View File
@@ -73,7 +73,7 @@ where upper('.$conf['user_fields']['email'].') = upper(\''.$mail_address.'\')
function validate_login_case($login)
{
global $conf;
if (defined("PHPWG_INSTALLED"))
{
$query = "
@@ -105,7 +105,7 @@ function search_case_username($username)
$username_lo = strtolower($username);
$SCU_users = array();
$q = pwg_query("
SELECT ".$conf['user_fields']['username']." AS username
FROM `".USERS_TABLE."`;
@@ -114,7 +114,7 @@ function search_case_username($username)
$SCU_users[$r['username']] = strtolower($r['username']);
// $SCU_users is now an associative table where the key is the account as
// registered in the DB, and the value is this same account, in lower case
$users_found = array_keys($SCU_users, $username_lo);
// $users_found is now a table of which the values are all the accounts
// which can be written in lowercase the same way as $username
@@ -130,28 +130,28 @@ function register_user($login, $password, $mail_address,
if ($login == '')
{
array_push($errors, l10n('Please, enter a login'));
$errors[] = l10n('Please, enter a login');
}
if (preg_match('/^.* $/', $login))
{
array_push($errors, l10n('login mustn\'t end with a space character'));
$errors[] = l10n('login mustn\'t end with a space character');
}
if (preg_match('/^ .*$/', $login))
{
array_push($errors, l10n('login mustn\'t start with a space character'));
$errors[] = l10n('login mustn\'t start with a space character');
}
if (get_userid($login))
{
array_push($errors, l10n('this login is already used'));
$errors[] = l10n('this login is already used');
}
if ($login != strip_tags($login))
{
array_push($errors, l10n('html tags are not allowed in login'));
$errors[] = l10n('html tags are not allowed in login');
}
$mail_error = validate_mail_address(null, $mail_address);
if ('' != $mail_error)
{
array_push($errors, $mail_error);
$errors[] = $mail_error;
}
if ($conf['insensitive_case_logon'] == true)
@@ -159,7 +159,7 @@ function register_user($login, $password, $mail_address,
$login_error = validate_login_case($login);
if ($login_error != '')
{
array_push($errors, $login_error);
$errors[] = $login_error;
}
}
@@ -205,15 +205,10 @@ SELECT id
$inserts = array();
while ($row = pwg_db_fetch_assoc($result))
{
array_push
(
$inserts,
array
(
$inserts[] = array(
'user_id' => $next_id,
'group_id' => $row['id']
)
);
);
}
}
@@ -400,7 +395,7 @@ SELECT DISTINCT(id)
if ( empty($forbidden_ids) )
{
array_push( $forbidden_ids, 0 );
$forbidden_ids[] = 0;
}
$userdata['image_access_type'] = 'NOT IN'; //TODO maybe later
$userdata['image_access_list'] = implode(',',$forbidden_ids);
@@ -423,7 +418,7 @@ SELECT COUNT(DISTINCT(image_id)) as total
{
if ($cat['count_images']==0)
{
array_push($forbidden_ids, $cat['cat_id']);
$forbidden_ids[] = $cat['cat_id'];
unset( $user_cache_cats[$cat['cat_id']] );
}
}
@@ -518,27 +513,16 @@ SELECT DISTINCT f.image_id
'AND'
).'
;';
$result = pwg_query($query);
$authorizeds = array();
while ($row = pwg_db_fetch_assoc($result))
{
array_push($authorizeds, $row['image_id']);
}
$authorizeds = array_from_query($query, 'image_id');
$query = '
SELECT image_id
FROM '.FAVORITES_TABLE.'
WHERE user_id = '.$user['id'].'
;';
$result = pwg_query($query);
$favorites = array();
while ($row = pwg_db_fetch_assoc($result))
{
array_push($favorites, $row['image_id']);
}
$favorites = array_from_query($query, 'image_id');
$to_deletes = array_diff($favorites, $authorizeds);
if (count($to_deletes) > 0)
{
$query = '
@@ -564,19 +548,12 @@ DELETE FROM '.FAVORITES_TABLE.'
*/
function calculate_permissions($user_id, $user_status)
{
$private_array = array();
$authorized_array = array();
$query = '
SELECT id
FROM '.CATEGORIES_TABLE.'
WHERE status = \'private\'
;';
$result = pwg_query($query);
while ($row = pwg_db_fetch_assoc($result))
{
array_push($private_array, $row['id']);
}
$private_array = array_from_query($query, 'id');
// retrieve category ids directly authorized to the user
$query = '
@@ -617,7 +594,7 @@ SELECT id
$result = pwg_query($query);
while ($row = pwg_db_fetch_assoc($result))
{
array_push($forbidden_array, $row['id']);
$forbidden_array[] = $row['id'];
}
$forbidden_array = array_unique($forbidden_array);
}
@@ -626,7 +603,7 @@ SELECT id
{// at least, the list contains 0 value. This category does not exists so
// where clauses such as "WHERE category_id NOT IN(0)" will always be
// true.
array_push($forbidden_array, 0);
$forbidden_array[] = 0;
}
return implode(',', $forbidden_array);
@@ -809,7 +786,7 @@ function get_userid_by_email($email)
global $conf;
$email = pwg_db_real_escape_string($email);
$query = '
SELECT
'.$conf['user_fields']['id'].'
@@ -931,7 +908,7 @@ function get_default_theme()
{
return $theme;
}
// let's find the first available theme
$active_themes = get_pwg_themes();
foreach (array_keys(get_pwg_themes()) as $theme_id)
@@ -1158,7 +1135,7 @@ function try_log_user($username, $password, $remember_me)
{
// we force the session table to be clean
pwg_session_gc();
global $conf;
// retrieving the encrypted password of the login submitted
$query = '
@@ -1351,12 +1328,12 @@ function is_adviser()
function can_manage_comment($action, $comment_author_id)
{
global $user, $conf;
if (is_a_guest())
{
return false;
}
if (!in_array($action, array('delete','edit', 'validate')))
{
return false;
+16 -17
View File
@@ -66,7 +66,7 @@ if ( !empty($header_notes) )
}
// No referencing is required
if ( !$conf['meta_ref'] )
if ( !$conf['meta_ref'] )
{
$page['meta_robots']['noindex'] = 1;
$page['meta_robots']['nofollow'] = 1;
@@ -81,8 +81,8 @@ if ( !empty($page['meta_robots']) )
);
}
if ( !isset($page['meta_robots']['noindex']) )
{
$template->assign('meta_ref',1);
{
$template->assign('meta_ref',1);
}
// refresh
@@ -97,23 +97,22 @@ if ( isset( $refresh ) and intval($refresh) >= 0
)
));
}
// messages
foreach (array('errors','infos') as $mode)
{
if (isset($_SESSION['page_'.$mode]))
else
{// messages only if no redirection
foreach (array('errors','infos') as $mode)
{
$page[$mode] = array_merge($page[$mode], $_SESSION['page_'.$mode]);
unset($_SESSION['page_'.$mode]);
}
if (count($page[$mode]) != 0)
{
$template->assign($mode, $page[$mode]);
if (isset($_SESSION['page_'.$mode]))
{
$page[$mode] = array_merge($page[$mode], $_SESSION['page_'.$mode]);
unset($_SESSION['page_'.$mode]);
}
if (count($page[$mode]) != 0)
{
$template->assign($mode, $page[$mode]);
}
}
}
trigger_action('loc_end_page_header');
header('Content-Type: text/html; charset='.get_pwg_charset());
+33 -3
View File
@@ -521,6 +521,36 @@ LIMIT '.(int)$params['per_page'].' OFFSET '.(int)($params['per_page']*$params['p
}
/**
* create a tree from a flat list of categories, no recursivity for high speed
*/
function categories_flatlist_to_tree($categories)
{
$tree = array();
$key_of_cat = array();
foreach ($categories as $key => &$node)
{
$key_of_cat[$node['id']] = $key;
if (!isset($node['id_uppercat']))
{
$tree[$key] = &$node;
}
else
{
if (!isset($categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories']))
{
$categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories'] = array();
}
$categories[ $key_of_cat[ $node['id_uppercat'] ] ]['sub_categories'][$key] = &$node;
}
}
return $tree;
}
/**
* returns a list of categories (web service method)
*/
@@ -1669,9 +1699,9 @@ SELECT
if ('file' == $params['type'])
{
$do_update = false;
$infos = pwg_image_infos($file_path);
foreach (array('width', 'height', 'filesize') as $image_info)
{
if ($infos[$image_info] > $image[$image_info])
@@ -1744,7 +1774,7 @@ SELECT
// pwg.images.addChunk. If "high" is available we use it as "original"
// else we use "file".
remove_chunks($params['original_sum'], 'thumb');
if (isset($params['high_sum']))
{
$original_type = 'high';