From 6c7b53e0b6ee7fcd9c58570d999efa6d1bd158b8 Mon Sep 17 00:00:00 2001 From: rvelices Date: Tue, 6 Jul 2010 20:11:06 +0000 Subject: merge r6668 from trunk - removed function get_extra_fields and its usage (unnecessary + perf issue when retrieving many image ids in a section) - 2 fixes recent feed.php commit * month names were decalated by one * strptime function is not implemented under Windows in php - added somme missing $ROOT_URL in templates git-svn-id: http://piwigo.org/svn/branches/2.1@6669 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/functions.inc.php | 18 +----------------- include/functions_calendar.inc.php | 2 +- include/functions_notification.inc.php | 17 ++++++++++++++--- include/section_init.inc.php | 8 ++++---- 4 files changed, 20 insertions(+), 25 deletions(-) (limited to 'include') diff --git a/include/functions.inc.php b/include/functions.inc.php index 0a93d3927..551ad72c0 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -32,18 +32,6 @@ include_once( PHPWG_ROOT_PATH .'include/functions_url.inc.php' ); include_once( PHPWG_ROOT_PATH .'include/functions_plugins.inc.php' ); //----------------------------------------------------------- generic functions -function get_extra_fields($order_by_fields) -{ - $fields = str_ireplace(array(' order by ', ' desc', ' asc'), - array('', '', ''), - $order_by_fields - ); - if (!empty($fields)) - { - $fields = ','.$fields; - } - return $fields; -} // The function get_moment returns a float value coresponding to the number // of seconds since the unix epoch (1st January 1970) and the microseconds @@ -583,7 +571,7 @@ function redirect_html( $url , $msg = '', $refresh_time = 0) { global $user, $template, $lang_info, $conf, $lang, $t2, $page, $debug; - if (!isset($lang_info)) + if (!isset($lang_info) || !isset($template) ) { $user = build_user( $conf['guest_id'], true); load_language('common.lang'); @@ -591,10 +579,6 @@ function redirect_html( $url , $msg = '', $refresh_time = 0) load_language('lang', PHPWG_ROOT_PATH.'local/', array('no_fallback'=>true, 'local'=>true) ); $template = new Template(PHPWG_ROOT_PATH.'themes', get_default_theme()); } - else - { - $template = new Template(PHPWG_ROOT_PATH.'themes', $user['theme']); - } if (empty($msg)) { diff --git a/include/functions_calendar.inc.php b/include/functions_calendar.inc.php index 5d0329e1d..990443b38 100644 --- a/include/functions_calendar.inc.php +++ b/include/functions_calendar.inc.php @@ -258,7 +258,7 @@ WHERE id IN (' . implode(',',$page['items']) .')'; if ($must_show_list) { - $query = 'SELECT DISTINCT id '.get_extra_fields($conf['order_by']); + $query = 'SELECT DISTINCT id '; $query .= ','.$calendar->date_field; $query .= $calendar->inner_sql.' '.$calendar->get_date_where(); diff --git a/include/functions_notification.inc.php b/include/functions_notification.inc.php index ebb713fb6..363ea7e58 100644 --- a/include/functions_notification.inc.php +++ b/include/functions_notification.inc.php @@ -79,7 +79,7 @@ function custom_notification_query($action, $type, $start, $end) } if (!empty($end)) { - $query .= ' + $query .= ' AND c.validation_date <= \''.$end.'\''; } $query .= get_std_sql_where_restrict_filter('AND').' @@ -94,7 +94,7 @@ function custom_notification_query($action, $type, $start, $end) $query .= ' AND date> \''.$start.'\''; } if (!empty($end)) - { + { $query .= ' AND date <= \''.$end.'\''; } $query .= ' AND validated = \'false\' @@ -619,9 +619,20 @@ function get_title_recent_post_date($date_detail) $exploded_date = strptime($date, '%Y-%m-%d %H:%M:%S'); $title = l10n_dec('%d new image', '%d new images', $date_detail['nb_elements']); - $title .= ' ('.$lang['month'][(int)$exploded_date['tm_mon']].' '.$exploded_date['tm_mday'].')'; + $title .= ' ('.$lang['month'][1+$exploded_date['tm_mon']].' '.$exploded_date['tm_mday'].')'; return $title; } +if(!function_exists("strptime")) +{ + function strptime($date, $fmt) + { + if ($fmt != '%Y-%m-%d %H:%M:%S') + die('Invalid strptime format '.$fmt); + list($y,$m,$d,$H,$M,$S) = preg_split('/[-: ]/', $date); + $res = localtime( mktime($H,$M,$S,$m,$d,$y), true ); + return $res; + } + } ?> \ No newline at end of file diff --git a/include/section_init.inc.php b/include/section_init.inc.php index 48ec6c8d4..35d93ba5c 100644 --- a/include/section_init.inc.php +++ b/include/section_init.inc.php @@ -289,7 +289,7 @@ SELECT id // Main query $query = ' -SELECT DISTINCT(image_id)'.get_extra_fields($conf['order_by']).' +SELECT DISTINCT(image_id) FROM '.IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON id = image_id WHERE @@ -323,7 +323,7 @@ else if (!empty($items) ) { $query = ' -SELECT DISTINCT image_id'.get_extra_fields($conf['order_by']).' +SELECT DISTINCT image_id FROM '.IMAGE_CATEGORY_TABLE.' INNER JOIN '.IMAGES_TABLE.' ON image_id=id WHERE image_id IN ('.implode(',', $items).') '.$forbidden. @@ -440,7 +440,7 @@ SELECT image_id } $query = ' -SELECT DISTINCT(id)'.get_extra_fields($conf['order_by']).' +SELECT DISTINCT(id) FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id WHERE @@ -528,7 +528,7 @@ SELECT DISTINCT(id), average_rate else if ($page['section'] == 'list') { $query =' -SELECT DISTINCT(id)'.get_extra_fields($conf['order_by']).' +SELECT DISTINCT(id) FROM '.IMAGES_TABLE.' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id WHERE image_id IN ('.implode(',', $page['list']).') -- cgit v1.2.3