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

Last change on this file since 24311 was 23589, checked in by mistic100, 11 years ago

advanced parameter to change file pattern

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