source: extensions/BatchDownloader/include/functions.inc.php @ 16400

Last change on this file since 16400 was 16400, checked in by mistic100, 12 years ago
  • display creation date
  • improve set titles for Tags and Calendar
  • add Download history admin page

TODO : User Selection, localization, change archive name to more user-friendly one in the Force-Download

File size: 2.2 KB
Line 
1<?php
2defined('BATCH_DOWNLOAD_PATH') or die('Hacking attempt!');
3
4/**
5 * get BatchDownloader type and type_id from page info
6 * @return: array or false
7 */
8function get_set_info_from_page()
9{
10  global $page;
11 
12  switch ($page['section'])
13  {
14    case 'categories':
15      if (isset($page['chronology_field']))
16      {
17        $batch_type = 'calendar';
18        $batch_id = add_well_known_params_in_url('', 
19          array_intersect_key($page, 
20            array(
21              'chronology_field'=>0,
22              'chronology_style'=>0,
23              'chronology_view'=>0,
24              'chronology_date'=>0,
25          )));
26        $batch_id = ltrim($batch_id, '/');
27      }
28      else if (isset($page['category']))
29      {
30        $batch_type = 'category';
31        $batch_id = $page['category']['id'];
32      }
33      else if (isset($page['flat'])) // this is for the whole gallery only, flat mode for category is above
34      {
35        $batch_type = 'flat';
36        $batch_id = 0;
37      }
38      break;
39    case 'tags':
40      $batch_type = 'tags';
41      $batch_id = implode(',', array_map(create_function('$t', 'return $t["id"];'), $page['tags']));
42      break;
43    case 'search':
44      $batch_type = 'search';
45      $batch_id = $page['search'];
46      break;
47    case 'favorites':
48    case 'most_visited':
49    case 'best_rated':
50    case 'list':
51    case 'recent_pics':
52      $batch_type = $page['section'];
53      $batch_id = 0;
54      break;
55  }
56 
57  if ( isset($batch_type) and isset($batch_id) )
58  {
59    return array('type'=>$batch_type, 'id'=>$batch_id);
60  }
61  else
62  {
63    return false;
64  }
65}
66
67/**
68 * check is current user can use BatchDownloader
69 * @return: boolean
70 */
71function check_download_access()
72{
73  global $user, $conf;
74 
75  if (is_a_guest()) return false;
76  if (is_admin()) return true;
77 
78  if ($user['level'] < $conf['batch_download']['level']) return false;
79 
80  if (!empty($conf['batch_download']['groups']))
81  {
82    $query = '
83SELECT 1 FROM '.USER_GROUP_TABLE.'
84  WHERE
85    user_id = '.$user['id'].'
86    AND group_id IN('.implode(',', $conf['batch_download']['groups']).')
87;';
88    $result = pwg_query($query);
89   
90    if (!pwg_db_num_rows($result)) return false;
91  }
92 
93  return true;
94}
95
96?>
Note: See TracBrowser for help on using the repository browser.