diff options
author | rvelices <rv-github@modusoptimus.com> | 2008-04-19 03:00:11 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2008-04-19 03:00:11 +0000 |
commit | 55095f9ce9d32fc12a6be8070adf74c9423d1d95 (patch) | |
tree | 81a7b1370b327d8aa1ef34497e393d84c391cbc0 /admin/include/functions.php | |
parent | e57f06df4a089d4fb7ed45fa6f3cc61357ebf3d1 (diff) |
merge -r 2303 from branch-1_7 to trunk
- removed some unused code
- mass_updates function does not need SELECT VERSION()
- rewrote update_uppercats to avoid db update if no change
git-svn-id: http://piwigo.org/svn/trunk@2304 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/include/functions.php')
-rw-r--r-- | admin/include/functions.php | 81 |
1 files changed, 20 insertions, 61 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php index fb9be0cd8..63e173619 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -59,8 +59,6 @@ DELETE FROM '.SITES_TABLE.' // The function works recursively. function delete_categories($ids) { - global $counts; - if (count($ids) == 0) { return; @@ -121,10 +119,6 @@ DELETE FROM '.OLD_PERMALINKS_TABLE.' WHERE cat_id IN ('.implode(',',$ids).')'; pwg_query($query); - if (isset($counts['del_categories'])) - { - $counts['del_categories']+= count($ids); - } trigger_action('delete_categories', $ids); } @@ -135,8 +129,6 @@ DELETE FROM '.OLD_PERMALINKS_TABLE.' // - all the favorites associated to elements function delete_elements($ids) { - global $counts; - if (count($ids) == 0) { return; @@ -198,10 +190,6 @@ DELETE FROM '.IMAGES_TABLE.' ;'; pwg_query($query); - if (isset($counts['del_elements'])) - { - $counts['del_elements']+= count($ids); - } trigger_action('delete_elements', $ids); } @@ -436,21 +424,6 @@ SELECT id } } -function date_convert_back( $date ) -{ - // date arrives at this format : YYYY-MM-DD - // It must be transformed in DD/MM/YYYY - if ( $date != '' ) - { - list($year,$month,$day) = explode( '-', $date ); - return $day.'/'.$month.'/'.$year; - } - else - { - return ''; - } -} - /** * returns an array containing sub-directories which can be a category, * recursive by default @@ -575,9 +548,7 @@ function mass_updates($tablename, $dbfields, $datas) { // depending on the MySQL version, we use the multi table update or N // update queries - $query = 'SELECT VERSION() AS version;'; - list($mysql_version) = mysql_fetch_array(pwg_query($query)); - if (count($datas) < 10 or version_compare($mysql_version, '4.0.4') < 0) + if (count($datas) < 10 or version_compare(mysql_get_server_info(), '4.0.4') < 0) { // MySQL is prior to version 4.0.4, multi table update feature is not // available @@ -1184,48 +1155,36 @@ DELETE */ function update_uppercats() { - $uppercat_ids = array(); - $query = ' -SELECT id, id_uppercat +SELECT id, id_uppercat, uppercats FROM '.CATEGORIES_TABLE.' ;'; - $result = pwg_query($query); - while ($row = mysql_fetch_array($result)) - { - $uppercat_ids[$row['id']] = - !empty($row['id_uppercat']) ? $row['id_uppercat'] : 'NULL'; - } + $cat_map = hash_from_query($query, 'id'); - // uppercats array associates a category id to the list of uppercats id. - $uppercats = array(); - - foreach (array_keys($uppercat_ids) as $id) + $datas = array(); + foreach ($cat_map as $id => $cat) { - $uppercats[$id] = array(); + $upper_list = array(); $uppercat = $id; - - while ($uppercat != 'NULL') + while ($uppercat) { - array_push($uppercats[$id], $uppercat); - $uppercat = $uppercat_ids[$uppercat]; + array_push($upper_list, $uppercat); + $uppercat = $cat_map[$uppercat]['id_uppercat']; } - } - - $datas = array(); - foreach ($uppercats as $id => $list) - { - array_push( - $datas, - array( - 'id' => $id, - 'uppercats' => implode(',', array_reverse($list)) - ) - ); + $new_uppercats = implode(',', array_reverse($upper_list)); + if ($new_uppercats != $cat['uppercats']) + { + array_push( + $datas, + array( + 'id' => $id, + 'uppercats' => $new_uppercats + ) + ); + } } - $fields = array('primary' => array('id'), 'update' => array('uppercats')); mass_updates(CATEGORIES_TABLE, $fields, $datas); } |