aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrvelices <rv-github@modusoptimus.com>2007-02-14 01:37:38 +0000
committerrvelices <rv-github@modusoptimus.com>2007-02-14 01:37:38 +0000
commitdf3b43d35601551c3344bf051cdef4ab67de505a (patch)
treef6b9efcb3fb2ba3c2df375fd15e4a2b116b6adce
parent711ebcbf2c1906b6496711eb6973954ecb113d72 (diff)
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
-rw-r--r--admin/element_set_global.php23
-rw-r--r--admin/picture_modify.php7
-rw-r--r--include/functions_html.inc.php4
-rw-r--r--include/functions_tag.inc.php24
-rw-r--r--include/menubar.inc.php14
-rw-r--r--include/ws_functions.inc.php32
-rw-r--r--index.php7
-rw-r--r--tags.php17
8 files changed, 41 insertions, 87 deletions
diff --git a/admin/element_set_global.php b/admin/element_set_global.php
index fc4f7c172..cb55282e2 100644
--- a/admin/element_set_global.php
+++ b/admin/element_set_global.php
@@ -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(
diff --git a/admin/picture_modify.php b/admin/picture_modify.php
index 664503281..9f6877167 100644
--- a/admin/picture_modify.php
+++ b/admin/picture_modify.php
@@ -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
);
diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php
index 490def9ed..3aba87d61 100644
--- a/include/functions_html.inc.php
+++ b/include/functions_html.inc.php
@@ -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"';
}
diff --git a/include/functions_tag.inc.php b/include/functions_tag.inc.php
index 42704d238..c9f239ef7 100644
--- a/include/functions_tag.inc.php
+++ b/include/functions_tag.inc.php
@@ -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 .= '
diff --git a/include/menubar.inc.php b/include/menubar.inc.php
index 030c46cbd..d38290704 100644
--- a/include/menubar.inc.php
+++ b/include/menubar.inc.php
@@ -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)
)
)
),
diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php
index 61b17dc78..5c0221e7e 100644
--- a/include/ws_functions.inc.php
+++ b/include/ws_functions.inc.php
@@ -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);
diff --git a/index.php b/index.php
index 6ce62cc8a..24dbc20e3 100644
--- a/index.php
+++ b/index.php
@@ -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'],
diff --git a/tags.php b/tags.php
index 34c214f25..47c65853c 100644
--- a/tags.php
+++ b/tags.php
@@ -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),
)
),