mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
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:
@@ -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(
|
||||
|
||||
@@ -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
|
||||
);
|
||||
|
||||
@@ -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"';
|
||||
}
|
||||
|
||||
@@ -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 .= '
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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'],
|
||||
|
||||
17
tags.php
17
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),
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user