aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions_user.inc.php72
1 files changed, 39 insertions, 33 deletions
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index e1a84e1b6..206ccf4a6 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -448,53 +448,59 @@ SELECT id
}
/**
- * update data of user_cache_categorie
+ * compute data of categories branches
*
- * @param int user_id
- * @return null
+ * was internal function of update_user_cache_categorie
+ * move to global because function be redeclare when it's internal
*/
-function update_user_cache_categorie($user_id, $user_forbidden_categories)
+function compute_branch_cat_data(&$cats, &$list_cat_id, &$level, &$ref_level)
{
- function compute_branch_cat_data(&$cats, &$list_cat_id, &$level, &$ref_level)
+ $date = '';
+ $count_images = 0;
+ $count_categories = 0;
+ do
{
- $date = '';
- $count_images = 0;
- $count_categories = 0;
- do
+ $cat_id = array_pop($list_cat_id);
+ if (!is_null($cat_id))
{
- $cat_id = array_pop($list_cat_id);
- if (!is_null($cat_id))
+ // Count images and categories
+ $cats[$cat_id]['count_images'] += $count_images;
+ $cats[$cat_id]['count_categories'] += $count_categories;
+ $count_images = $cats[$cat_id]['count_images'];
+ $count_categories = $cats[$cat_id]['count_categories'] + 1;
+
+ if ((empty($cats[$cat_id]['max_date_last'])) or ($cats[$cat_id]['max_date_last'] < $date))
{
- // Count images and categories
- $cats[$cat_id]['count_images'] += $count_images;
- $cats[$cat_id]['count_categories'] += $count_categories;
- $count_images = $cats[$cat_id]['count_images'];
- $count_categories = $cats[$cat_id]['count_categories'] + 1;
-
- if ((empty($cats[$cat_id]['max_date_last'])) or ($cats[$cat_id]['max_date_last'] < $date))
- {
- $cats[$cat_id]['max_date_last'] = $date;
- $cats[$cat_id]['is_child_date_last'] = true;
- }
- else
- {
- $date = $cats[$cat_id]['max_date_last'];
- }
- $ref_level = substr_count($cats[$cat_id]['global_rank'], '.') + 1;
+ $cats[$cat_id]['max_date_last'] = $date;
+ $cats[$cat_id]['is_child_date_last'] = true;
}
else
{
- $ref_level = 0;
+ $date = $cats[$cat_id]['max_date_last'];
}
- } while ($level <= $ref_level);
-
- // Last cat updating must be added to list for next branch
- if ($ref_level <> 0)
+ $ref_level = substr_count($cats[$cat_id]['global_rank'], '.') + 1;
+ }
+ else
{
- array_push($list_cat_id, $cat_id);
+ $ref_level = 0;
}
+ } while ($level <= $ref_level);
+
+ // Last cat updating must be added to list for next branch
+ if ($ref_level <> 0)
+ {
+ array_push($list_cat_id, $cat_id);
}
+}
+/**
+ * update data of user_cache_categorie
+ *
+ * @param int user_id
+ * @return null
+ */
+function update_user_cache_categorie($user_id, $user_forbidden_categories)
+{
// delete user cache
$query = '
delete from '.USER_CACHE_CATEGORIES_TABLE.'