Last (I hope) paranoic optims ...

- move get_uysername and get_groupname from public to admin/functions.inc.php
- optim in index.php
- tags.tpl does not need smarty modifier included
- move func get_comment_post_key from functions_comment to functions (avoid extra inclusion every time on picture page)

git-svn-id: http://piwigo.org/svn/trunk@3145 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices 2009-02-14 02:24:10 +00:00
parent 290f2c1d39
commit 6c92ade174
9 changed files with 96 additions and 111 deletions

View file

@ -143,7 +143,7 @@ function delete_elements($ids, $physical_deletion=false)
if ($physical_deletion)
{
include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
// we can currently delete physically only photo with no
// storage_category_id (added via pLoader)
//
@ -1864,7 +1864,7 @@ function get_extents($start='')
{
$extents = array_merge($extents, get_extents($path));
}
elseif ( !is_link($path) and file_exists($path)
elseif ( !is_link($path) and file_exists($path)
and get_extension($path) == 'tpl' )
{
$extents[] = substr($path, 21);
@ -2009,7 +2009,7 @@ function fetchRemote($src, &$dest, $user_agent='Piwigo', $step=0)
$host = $src['host'];
$path = isset($src['path']) ? $src['path'] : '/';
$path .= isset($src['query']) ? '?'.$src['query'] : '';
if (($s = @fsockopen($host,80,$errno,$errstr,5)) === false)
{
return false;
@ -2066,4 +2066,59 @@ function fetchRemote($src, &$dest, $user_agent='Piwigo', $step=0)
return true;
}
/**
* returns the groupname corresponding to the given group identifier if
* exists
*
* @param int group_id
* @return mixed
*/
function get_groupname($group_id)
{
$query = '
SELECT name
FROM '.GROUPS_TABLE.'
WHERE id = '.intval($group_id).'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
list($groupname) = mysql_fetch_row($result);
}
else
{
return false;
}
return $groupname;
}
/**
* returns the username corresponding to the given user identifier if exists
*
* @param int user_id
* @return mixed
*/
function get_username($user_id)
{
global $conf;
$query = '
SELECT '.$conf['user_fields']['username'].'
FROM '.USERS_TABLE.'
WHERE '.$conf['user_fields']['id'].' = '.intval($user_id).'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
list($username) = mysql_fetch_row($result);
}
else
{
return false;
}
return $username;
}
?>

View file

@ -493,7 +493,6 @@ function get_languages($target_charset = null)
}
closedir($dir);
@asort($languages);
@reset($languages);
return $languages;
}
@ -1373,17 +1372,6 @@ function load_language($filename, $dirname = '',
$source_file = $f;
break;
}
if ($target_charset=='utf-8')
{ // we accept conversion from ISO-8859-1 to UTF-8
$f = $dir.'.iso-8859-1/'.$filename;
if (file_exists($f))
{
$source_charset = 'iso-8859-1';
$source_file = $f;
break;
}
}
}
if ( !empty($source_file) )
@ -1483,4 +1471,26 @@ function secure_directory($dir)
@file_put_contents($file, 'Not allowed!');
}
}
/**
* returns a "secret key" that is to be sent back when a user enters a comment
*
* @param int image_id
*/
function get_comment_post_key($image_id)
{
global $conf;
$time = time();
return sprintf(
'%s:%s',
$time,
hash_hmac(
'md5',
$time.':'.$image_id,
$conf['secret_key']
)
);
}
?>

View file

@ -21,26 +21,6 @@
// | USA. |
// +-----------------------------------------------------------------------+
/**
* returns a "secret key" that is to be sent back when a user enters a comment
*/
function get_comment_post_key($image_id)
{
global $conf;
$time = time();
return sprintf(
'%s:%s',
$time,
hash_hmac(
'md5',
$time.':'.$image_id,
$conf['secret_key']
)
);
}
//returns string action to perform on a new comment: validate, moderate, reject
function user_comment_check($action, $comment)
{
@ -189,7 +169,7 @@ INSERT INTO '.COMMENTS_TABLE.'
if
(
($comment_action=='validate' and $conf['email_admin_on_comment'])
or
or
($comment_action!='validate' and $conf['email_admin_on_comment_validation'])
)
{

View file

@ -672,34 +672,6 @@ DELETE FROM '.USER_CACHE_CATEGORIES_TABLE.'
);
}
/**
* returns the username corresponding to the given user identifier if exists
*
* @param int user_id
* @return mixed
*/
function get_username($user_id)
{
global $conf;
$query = '
SELECT '.$conf['user_fields']['username'].'
FROM '.USERS_TABLE.'
WHERE '.$conf['user_fields']['id'].' = '.intval($user_id).'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
list($username) = mysql_fetch_row($result);
}
else
{
return false;
}
return $username;
}
/**
* returns user identifier thanks to his name, false if not found
*
@ -933,34 +905,6 @@ function create_user_infos($arg_id, $override_values = null)
}
}
/**
* returns the groupname corresponding to the given group identifier if
* exists
*
* @param int group_id
* @return mixed
*/
function get_groupname($group_id)
{
$query = '
SELECT name
FROM '.GROUPS_TABLE.'
WHERE id = '.intval($group_id).'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
list($groupname) = mysql_fetch_row($result);
}
else
{
return false;
}
return $groupname;
}
/**
* returns the auto login key or false on error
* @param int user_id

View file

@ -88,11 +88,11 @@ elseif ( isset($_POST['content']) )
if ($page['show_comments'])
{
// number of comment for this picture
$query = 'SELECT COUNT(*) AS nb_comments';
$query.= ' FROM '.COMMENTS_TABLE.' WHERE image_id = '.$page['image_id'];
$query.= " AND validated = 'true'";
$query.= ';';
// number of comments for this picture
$query = '
SELECT COUNT(*) AS nb_comments
FROM '.COMMENTS_TABLE.'
WHERE image_id='.$page['image_id']." AND validated = 'true'";
$row = mysql_fetch_array( pwg_query( $query ) );
// navigation bar creation
@ -160,7 +160,6 @@ SELECT id,author,date,image_id,content
if (!is_a_guest()
or (is_a_guest() and $conf['comments_forall']))
{
include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php');
$key = get_comment_post_key($page['image_id']);
$content = '';
if ('reject'===@$comment_action)

View file

@ -522,8 +522,6 @@ SELECT DISTINCT image_id
return new PwgError(WS_ERR_INVALID_PARAM, "Invalid image_id");
}
include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php');
$comm = array(
'author' => trim( stripslashes($params['author']) ),
'content' => trim( stripslashes($params['content']) ),
@ -702,7 +700,6 @@ SELECT id, date, author, content
)
)
{
include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php');
$comment_post_data['author'] = $user['username'];
$comment_post_data['key'] = get_comment_post_key($params['image_id']);
}
@ -1041,15 +1038,15 @@ SELECT
{
// last chance to make the directory writable
@chmod($high_dir, 0777);
if (!is_writable($high_dir))
{
return new PwgError(500, 'high directory has no write access');
}
}
secure_directory($high_dir);
// high resolution path, same name as web size file
$high_path = sprintf(
'%s/%s.%s',
@ -1482,7 +1479,7 @@ function ws_images_setInfo($params, &$service)
// file_sum
// thumbnail_content
// thumbnail_sum
$params['image_id'] = (int)$params['image_id'];
if ($params['image_id'] <= 0)
{
@ -1536,7 +1533,7 @@ SELECT *
array($update)
);
}
if (isset($params['categories']))
{
ws_add_image_category_relations(
@ -1617,7 +1614,7 @@ SELECT
{
$current_rank_of[$cat_id] = 0;
}
if ('auto' == $rank_on_category[$cat_id])
{
$rank_on_category[$cat_id] = $current_rank_of[$cat_id] + 1;

View file

@ -149,7 +149,7 @@ if ($page['display_mode'] == 'letters') {
// flush last letter
if (count($letter['tags']) > 0)
{
$letter['CHANGE_COLUMN'] = false;
unset($letter['CHANGE_COLUMN']);
$letter['TITLE'] = $current_letter;
$template->append(
'letters',

View file

@ -14,7 +14,7 @@
</select>
</li>
{/if}
{if isset($favorite) }
<li><a href="{$favorite.U_FAVORITE}" title="{'del_all_favorites_hint'|@translate}"><img src="{$favorite.FAVORITE_IMG}" class="button" alt="favorite" title="{'del_all_favorites_hint'|@translate}"></a></li>
{/if}
@ -28,7 +28,7 @@
{/if}
{if isset($U_SEARCH_RULES) }
<li><a href="{$U_SEARCH_RULES}" style="border:none;" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/search_rules.png" class="button" alt="(?)"></a></li>
<li><a href="{$U_SEARCH_RULES}" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/search_rules.png" class="button" alt="(?)" /></a></li>
{/if}
{if isset($U_SLIDESHOW) }

View file

@ -41,7 +41,7 @@
{/foreach}
</table>
</fieldset>
{if $letter.CHANGE_COLUMN|@default:false}
{if isset($letter.CHANGE_COLUMN) }
</td>
<td valign="top">
{/if}