- ordering function moved from admin/update to admin/include/function
- remote_site uses ordering and update_global_rank git-svn-id: http://piwigo.org/svn/trunk@638 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
484a431a7e
commit
1ab32cccb7
3 changed files with 39 additions and 37 deletions
|
@ -1164,4 +1164,41 @@ SELECT image_id
|
|||
'update' => array('representative_picture_id'));
|
||||
mass_updates(CATEGORIES_TABLE, $fields, $datas);
|
||||
}
|
||||
|
||||
/**
|
||||
* order categories (update categories.rank and global_rank database fields)
|
||||
*
|
||||
* the purpose of this function is to give a rank for all categories
|
||||
* (insides its sub-category), even the newer that have none at te
|
||||
* beginning. For this, ordering function selects all categories ordered by
|
||||
* rank ASC then name ASC for each uppercat.
|
||||
*
|
||||
* @returns void
|
||||
*/
|
||||
function ordering()
|
||||
{
|
||||
$current_rank = 0;
|
||||
$current_uppercat = '';
|
||||
|
||||
$query = '
|
||||
SELECT id, if(id_uppercat is null,\'\',id_uppercat) AS id_uppercat
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
ORDER BY id_uppercat,rank,name
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
$datas = array();
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
if ($row['id_uppercat'] != $current_uppercat)
|
||||
{
|
||||
$current_rank = 0;
|
||||
$current_uppercat = $row['id_uppercat'];
|
||||
}
|
||||
$data = array('id' => $row['id'], 'rank' => ++$current_rank);
|
||||
array_push($datas, $data);
|
||||
}
|
||||
|
||||
$fields = array('primary' => array('id'), 'update' => array('rank'));
|
||||
mass_updates(CATEGORIES_TABLE, $fields, $datas);
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -135,6 +135,8 @@ function update_remote_site($listing_file, $site_id)
|
|||
$xml_content = getXmlCode($listing_file);
|
||||
insert_remote_category($xml_content, $site_id, 'NULL', 0);
|
||||
update_category();
|
||||
ordering();
|
||||
update_global_rank();
|
||||
|
||||
$template->assign_block_vars(
|
||||
'update',
|
||||
|
|
|
@ -36,43 +36,6 @@ define('CURRENT_DATE', date('Y-m-d'));
|
|||
// | functions |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
/**
|
||||
* order categories (update categories.rank and global_rank database fields)
|
||||
*
|
||||
* the purpose of this function is to give a rank for all categories
|
||||
* (insides its sub-category), even the newer that have none at te
|
||||
* beginning. For this, ordering function selects all categories ordered by
|
||||
* rank ASC then name ASC for each uppercat.
|
||||
*
|
||||
* @returns void
|
||||
*/
|
||||
function ordering()
|
||||
{
|
||||
$current_rank = 0;
|
||||
$current_uppercat = '';
|
||||
|
||||
$query = '
|
||||
SELECT id, if(id_uppercat is null,\'\',id_uppercat) AS id_uppercat
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
ORDER BY id_uppercat,rank,name
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
$datas = array();
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
if ($row['id_uppercat'] != $current_uppercat)
|
||||
{
|
||||
$current_rank = 0;
|
||||
$current_uppercat = $row['id_uppercat'];
|
||||
}
|
||||
$data = array('id' => $row['id'], 'rank' => ++$current_rank);
|
||||
array_push($datas, $data);
|
||||
}
|
||||
|
||||
$fields = array('primary' => array('id'), 'update' => array('rank'));
|
||||
mass_updates(CATEGORIES_TABLE, $fields, $datas);
|
||||
}
|
||||
|
||||
function insert_local_category($id_uppercat)
|
||||
{
|
||||
global $conf, $page, $user, $lang, $counts;
|
||||
|
|
Loading…
Add table
Reference in a new issue