aboutsummaryrefslogtreecommitdiffstats
path: root/admin/batch_manager_global.php
diff options
context:
space:
mode:
authormistic100 <mistic@piwigo.org>2014-09-23 09:28:26 +0000
committermistic100 <mistic@piwigo.org>2014-09-23 09:28:26 +0000
commit9d0357e889d603e769e9755fb07fb34334396b6e (patch)
treed3b135de203585b3c3acd8262365b22b98309cf0 /admin/batch_manager_global.php
parent3ef5464b262738487b78a1f3a6a09e3616c391cd (diff)
filter "dissociate" action + display bug of Selectize widget
git-svn-id: http://piwigo.org/svn/trunk@29760 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/batch_manager_global.php')
-rw-r--r--admin/batch_manager_global.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/admin/batch_manager_global.php b/admin/batch_manager_global.php
index d8e9e94f0..4179ed284 100644
--- a/admin/batch_manager_global.php
+++ b/admin/batch_manager_global.php
@@ -529,6 +529,25 @@ SELECT category_id
$template->assign('filter_category_selected', $selected_category);
+// Dissociate from a category : categories listed for dissociation can only
+// represent virtual links. We can't create orphans. Links to physical
+// categories can't be broken.
+if (count($page['cat_elements_id']) > 0)
+{
+ $query = '
+SELECT
+ DISTINCT(category_id) AS id
+ FROM '.IMAGE_CATEGORY_TABLE.' AS ic
+ JOIN '.IMAGES_TABLE.' AS i ON i.id = ic.image_id
+ WHERE ic.image_id IN ('.implode(',', $page['cat_elements_id']).')
+ AND (
+ ic.category_id != i.storage_category_id
+ OR i.storage_category_id IS NULL
+ )
+;';
+
+ $template->assign('associated_categories', query2array($query, 'id', 'id'));
+}
if (count($page['cat_elements_id']) > 0)
{