tags returned by get_all_tags, get_available_tags contain id key instead of tag_id

(as expected by make_index_url, as $page['tags'] was and as the database model is)

git-svn-id: http://piwigo.org/svn/trunk@1815 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices
2007-02-14 01:37:38 +00:00
parent 711ebcbf2c
commit df3b43d356
8 changed files with 41 additions and 87 deletions

View File

@@ -2,10 +2,9 @@
// +-----------------------------------------------------------------------+
// | 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 |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
@@ -289,7 +288,7 @@ if (count($all_tags) == 0)
else
{
$add_tag_selection = get_html_tag_selection(
get_all_tags(),
$all_tags,
'add_tags'
);
}
@@ -304,21 +303,7 @@ $template->assign_vars(
if (count($page['cat_elements_id']) > 0)
{
// remove tags
$query = '
SELECT tag_id, name, url_name, count(*) counter
FROM '.IMAGE_TAG_TABLE.'
INNER JOIN '.TAGS_TABLE.' ON tag_id = id
WHERE image_id IN ('.implode(',', $page['cat_elements_id']).')
GROUP BY tag_id
;';
$result = pwg_query($query);
$tags = array();
while($row = mysql_fetch_array($result))
{
array_push($tags, $row);
}
$tags = get_common_tags($page['cat_elements_id'], -1);
usort($tags, 'name_compare');
$template->assign_vars(

View File

@@ -2,10 +2,9 @@
// +-----------------------------------------------------------------------+
// | 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 |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
@@ -211,7 +210,7 @@ $all_tags = get_all_tags();
if (count($all_tags) > 0)
{
$tag_selection = get_html_tag_selection(
get_all_tags(),
$all_tags,
'tags',
$selected_tags
);

View File

@@ -558,10 +558,10 @@ function get_html_tag_selection(
'<li>'
.'<label>'
.'<input type="checkbox" name="'.$fieldname.'[]"'
.' value="'.$tag['tag_id'].'"'
.' value="'.$tag['id'].'"'
;
if (in_array($tag['tag_id'], $selecteds))
if (in_array($tag['id'], $selecteds))
{
$output.= ' checked="checked"';
}

View File

@@ -2,14 +2,13 @@
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date: 2006-03-16 23:58:16 +0100 (jeu, 16 mar 2006) $
// | last modifier : $Author: rub $
// | revision : $Revision: 1085 $
// | revision : $Revision: 1085 $
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// | 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 |
@@ -41,7 +40,7 @@ function get_available_tags()
{
// we can find top fatter tags among reachable images
$tags_query = '
SELECT tag_id, name, url_name, count(*) counter
SELECT id, name, url_name, count(*) counter
FROM '.IMAGE_TAG_TABLE.'
INNER JOIN '.TAGS_TABLE.' ON tag_id = id';
@@ -57,7 +56,7 @@ SELECT tag_id, name, url_name, count(*) counter
'WHERE'
);
if (!is_null($where_tag_img))
if (!empty($where_tag_img))
{
// first we need all reachable image ids
$images_query = '
@@ -101,7 +100,7 @@ SELECT DISTINCT image_id
function get_all_tags()
{
$query = '
SELECT id AS tag_id,
SELECT id,
name,
url_name
FROM '.TAGS_TABLE.'
@@ -245,7 +244,7 @@ function get_common_tags($items, $max_tags, $excluded_tag_ids=null)
return array();
}
$query = '
SELECT tag_id, name, url_name, count(*) counter
SELECT id, name, url_name, count(*) counter
FROM '.IMAGE_TAG_TABLE.'
INNER JOIN '.TAGS_TABLE.' ON tag_id = id
WHERE image_id IN ('.implode(',', $items).')';
@@ -255,8 +254,7 @@ SELECT tag_id, name, url_name, count(*) counter
AND tag_id NOT IN ('.implode(',', $excluded_tag_ids).')';
}
$query .='
GROUP BY tag_id
ORDER BY counter DESC';
GROUP BY tag_id';
if ($max_tags>0)
{
$query .= '

View File

@@ -130,12 +130,7 @@ if ('tags' == $page['section'])
array(
'URL' => make_index_url(
array(
'tags' => array(
array(
'id' => $tag['tag_id'],
'url_name' => $tag['url_name'],
),
)
'tags' => array($tag)
)
),
@@ -154,12 +149,7 @@ if ('tags' == $page['section'])
array(
'tags' => array_merge(
$page['tags'],
array(
array(
'id' => $tag['tag_id'],
'url_name' => $tag['url_name'],
),
)
array($tag)
)
)
),

View File

@@ -537,29 +537,23 @@ SELECT c.id,c.name,c.uppercats,c.global_rank
}
//-------------------------------------------------------------- related tags
$query = '
SELECT id, name, url_name
FROM '.IMAGE_TAG_TABLE.'
INNER JOIN '.TAGS_TABLE.' ON tag_id = id
WHERE image_id = '.$image_row['id'].'
;';
$result = pwg_query($query);
$related_tags = array();
while ($row = mysql_fetch_assoc($result))
$related_tags = get_common_tags( array($image_row['id']), -1 );
foreach( $related_tags as $i=>$tag)
{
$row['url'] = make_index_url(
$tag['url'] = make_index_url(
array(
'tags' => array($row)
'tags' => array($tag)
)
);
$row['page_url'] = make_picture_url(
$tag['page_url'] = make_picture_url(
array(
'image_id' => $image_row['id'],
'image_file' => $image_row['file'],
'tags' => array($row),
'tags' => array($tag),
)
);
array_push($related_tags, $row);
unset($tag['counter']);
$related_tags[$i]=$tag;
}
//---------------------------------------------------------- related comments
$query = '
@@ -674,9 +668,8 @@ function ws_tags_getList($params, &$service)
}
for ($i=0; $i<count($tags); $i++)
{
$tags[$i]['id'] = (int)$tags[$i]['tag_id'];
$tags[$i]['id'] = (int)$tags[$i]['id'];
$tags[$i]['counter'] = (int)$tags[$i]['counter'];
unset($tags[$i]['tag_id']);
$tags[$i]['url'] = make_index_url(
array(
'section'=>'tags',
@@ -702,19 +695,18 @@ function ws_tags_getImages($params, &$service)
$tags_by_id = array();
for( $i=0; $i<count($tags); $i++ )
{
$tags[$i]['tag_id']=(int)$tags[$i]['tag_id'];
$tags[$i]['id']=(int)$tags[$i]['tag_id']; //required by make_xxx_url
$tags[$i]['id']=(int)$tags[$i]['id'];
}
foreach( $tags as $tag )
{
$tags_by_id[ $tag['tag_id'] ] = $tag;
$tags_by_id[ $tag['id'] ] = $tag;
if (
in_array($tag['name'], $params['tag_name'])
or
in_array($tag['url_name'], $params['tag_url_name'])
)
{
$tag_ids[] = $tag['tag_id'];
$tag_ids[] = $tag['id'];
}
}
unset($tags);

View File

@@ -225,12 +225,7 @@ if ( $page['section']=='search' and $page['start']==0 )
'related_tags.tag', array(
'URL' => make_index_url(
array(
'tags' => array(
array(
'id' => $tag['tag_id'],
'url_name' => $tag['url_name'],
),
)
'tags' => array($tag)
)
),
'NAME' => $tag['name'],

View File

@@ -2,10 +2,10 @@
// +-----------------------------------------------------------------------+
// | 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 |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | file : $Id$
// | last update : $Date: 2006-03-22 02:01:47 +0100 (mer, 22 mar 2006) $
// | last modifier : $Author: rvelices $
// | revision : $Revision: 1092 $
@@ -33,15 +33,15 @@ function counter_compare($a, $b)
{
if ($a['counter'] == $b['counter'])
{
return tag_id_compare($a, $b);
return id_compare($a, $b);
}
return ($a['counter'] < $b['counter']) ? +1 : -1;
}
function tag_id_compare($a, $b)
function id_compare($a, $b)
{
return ($a['tag_id'] < $b['tag_id']) ? -1 : 1;
return ($a['id'] < $b['id']) ? -1 : 1;
}
// +-----------------------------------------------------------------------+
@@ -94,12 +94,7 @@ foreach ($tags as $tag)
array(
'URL' => make_index_url(
array(
'tags' => array(
array(
'id' => $tag['tag_id'],
'url_name' => $tag['url_name'],
),
),
'tags' => array($tag),
)
),