source: extensions/BatchDownloader/main.inc.php @ 23301

Last change on this file since 23301 was 23290, checked in by mistic100, 11 years ago

WORK IN PROGRESS: allow to download derivatives
TODO: only working with images files, finish download page

File size: 3.4 KB
Line 
1<?php 
2/*
3Plugin Name: Batch Downloader
4Version: auto
5Description: Allows users to download pictures sets in ZIP. Compatible with User Collections.
6Plugin URI: auto
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11defined('PHPWG_ROOT_PATH') or die('Hacking attempt!');
12
13global $conf, $prefixeTable;
14
15defined('BATCH_DOWNLOAD_ID') or define('BATCH_DOWNLOAD_ID', basename(dirname(__FILE__)));
16define('BATCH_DOWNLOAD_PATH',    PHPWG_PLUGINS_PATH . BATCH_DOWNLOAD_ID . '/');
17define('BATCH_DOWNLOAD_TSETS',   $prefixeTable . 'download_sets');
18define('BATCH_DOWNLOAD_TIMAGES', $prefixeTable . 'download_sets_images');
19define('IMAGE_SIZES_TABLE',      $prefixeTable . 'image_sizes');
20define('BATCH_DOWNLOAD_LOCAL',   PHPWG_ROOT_PATH . $conf['data_location'] . 'download_archives/');
21define('BATCH_DOWNLOAD_ADMIN',   get_root_url() . 'admin.php?page=plugin-' . BATCH_DOWNLOAD_ID);
22define('BATCH_DOWNLOAD_PUBLIC',  get_absolute_root_url() . make_index_url(array('section' => 'download')) . '/');
23define('BATCH_DOWNLOAD_VERSION', 'auto');
24
25
26add_event_handler('init', 'batch_download_init');
27
28if (defined('IN_ADMIN'))
29{
30  add_event_handler('get_admin_plugin_menu_links', 'batch_download_admin_menu');
31}
32else
33{
34  add_event_handler('loc_end_section_init', 'batch_download_section_init');
35  add_event_handler('loc_end_index', 'batch_download_page');
36
37  add_event_handler('loc_end_index', 'batch_download_clean');
38
39  add_event_handler('loc_end_index', 'batch_download_index_button', EVENT_HANDLER_PRIORITY_NEUTRAL+10);
40
41  add_event_handler('blockmanager_register_blocks', 'batch_download_add_menublock');
42  add_event_handler('blockmanager_apply', 'batch_download_applymenu');
43}
44
45
46include_once(BATCH_DOWNLOAD_PATH . 'include/BatchDownloader.class.php');
47include_once(BATCH_DOWNLOAD_PATH . 'include/functions.inc.php');
48include_once(BATCH_DOWNLOAD_PATH . 'include/events.inc.php');
49
50
51
52/**
53 * update plugin & unserialize conf & load language
54 */
55function batch_download_init()
56{
57  global $conf, $pwg_loaded_plugins;
58 
59  if (
60    BATCH_DOWNLOAD_VERSION == 'auto' or
61    $pwg_loaded_plugins[BATCH_DOWNLOAD_ID]['version'] == 'auto' or
62    version_compare($pwg_loaded_plugins[BATCH_DOWNLOAD_ID]['version'], BATCH_DOWNLOAD_VERSION, '<')
63  )
64  {
65    include_once(BATCH_DOWNLOAD_PATH . 'include/install.inc.php');
66    batch_download_install();
67   
68    if ( $pwg_loaded_plugins[BATCH_DOWNLOAD_ID]['version'] != 'auto' and BATCH_DOWNLOAD_VERSION != 'auto' )
69    {
70      $query = '
71UPDATE '. PLUGINS_TABLE .'
72SET version = "'. BATCH_DOWNLOAD_VERSION .'"
73WHERE id = "'. BATCH_DOWNLOAD_ID .'"';
74      pwg_query($query);
75     
76      $pwg_loaded_plugins[BATCH_DOWNLOAD_ID]['version'] = BATCH_DOWNLOAD_VERSION;
77     
78      if (defined('IN_ADMIN'))
79      {
80        $_SESSION['page_infos'][] = 'BatchDownloader updated to version '. BATCH_DOWNLOAD_VERSION;
81      }
82    }
83  }
84 
85  $conf['batch_download'] = unserialize($conf['batch_download']);
86  $conf['batch_download']['allowed_ext'] = $conf['picture_ext'];
87  if (!empty($conf['batch_download_additional_ext']))
88  {
89    $conf['batch_download']['allowed_ext'] = array_merge($conf['batch_download']['allowed_ext'], $conf['batch_download_additional_ext']);
90  }
91 
92  load_language('plugin.lang', BATCH_DOWNLOAD_PATH);
93}
94
95/**
96 * admin plugins menu
97 */
98function batch_download_admin_menu($menu) 
99{
100  array_push($menu, array(
101    'NAME' => 'Batch Downloader',
102    'URL' => BATCH_DOWNLOAD_ADMIN,
103  ));
104  return $menu;
105}
106
107?>
Note: See TracBrowser for help on using the repository browser.