assign(array('U_ACTIVE_MENU' => 5 )); // we are searching elements not linked to any virtual category $query = ' SELECT id FROM '.IMAGES_TABLE.' ;'; $all_elements = array_from_query($query, 'id'); $linked_to_virtual = array(); $query = ' SELECT id FROM '.CATEGORIES_TABLE.' WHERE dir IS NULL ;'; $virtual_categories = array_from_query($query, 'id'); if (!empty($virtual_categories)) { $query = ' SELECT DISTINCT(image_id) FROM '.IMAGE_CATEGORY_TABLE.' WHERE category_id IN ('.implode(',', $virtual_categories).') ;'; $linked_to_virtual = array_from_query($query, 'image_id'); } $page['cat_elements_id'] = array_diff($all_elements, $linked_to_virtual); } else if ('duplicates' == $_GET['cat']) { $page['title'] = l10n('Files with same name in more than one physical category'); $template->assign(array('U_ACTIVE_MENU' => 5 )); // we are searching related elements twice or more to physical categories // 1 - Retrieve Files $query = ' SELECT DISTINCT(file) FROM '.IMAGES_TABLE.' GROUP BY file HAVING COUNT(DISTINCT storage_category_id) > 1 ;'; $duplicate_files = array_from_query($query, 'file'); $duplicate_files[]='Nofiles'; // 2 - Retrives related picture ids $query = ' SELECT id, file FROM '.IMAGES_TABLE.' WHERE file IN (\''.implode("','", $duplicate_files).'\') ORDER BY file, id ;'; $page['cat_elements_id'] = array_from_query($query, 'id'); } elseif ('recent'== $_GET['cat']) { $page['title'] = l10n('Recent pictures'); $query = 'SELECT MAX(date_available) AS date FROM '.IMAGES_TABLE; $row = pwg_db_fetch_assoc(pwg_query($query)); if (!empty($row['date'])) { $query = 'SELECT id FROM '.IMAGES_TABLE.' WHERE date_available BETWEEN '.pwg_db_get_recent_period_expression(1, $row['date']).' AND \''.$row['date'].'\''; $page['cat_elements_id'] = array_from_query($query, 'id'); } } // +-----------------------------------------------------------------------+ // | first element to display | // +-----------------------------------------------------------------------+ // $page['start'] contains the number of the first element in its // category. For exampe, $page['start'] = 12 means we must show elements #12 // and $page['nb_images'] next elements if (!isset($_GET['start']) or !is_numeric($_GET['start']) or $_GET['start'] < 0 or (isset($_GET['display']) and 'all' == $_GET['display'])) { $page['start'] = 0; } else { $page['start'] = $_GET['start']; } // +-----------------------------------------------------------------------+ // | open specific mode | // +-----------------------------------------------------------------------+ $_GET['mode'] = !empty($_GET['mode']) ? $_GET['mode'] : 'global'; switch ($_GET['mode']) { case 'global' : { include(dirname(__FILE__).'/element_set_global.php'); break; } case 'unit' : { include(PHPWG_ROOT_PATH.'admin/element_set_unit.php'); break; } } ?>