source: extensions/BatchDownloader/include/install.inc.php @ 24842

Last change on this file since 24842 was 23383, checked in by mistic100, 11 years ago

new parameters on config screen "photo_size", "one_archive", "force_pclzip", "direct"

File size: 3.7 KB
Line 
1<?php
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4function batch_download_install() 
5{
6  global $conf, $prefixeTable;
7 
8  // configuration
9  if (empty($conf['batch_download']))
10  {
11    $batch_download_default_config = array(
12      'groups'          => array(),
13      'level'           => 0,
14      'what'            => array('categories','specials','collections'),
15      'photo_size'      => 'original',
16      'archive_prefix'  => 'piwigo',
17      'archive_timeout' => 48, /* hours */
18      'max_elements'    => 500,
19      'max_size'        => 100, /* MB */
20      'last_clean'      => time(),
21      'one_archive'     => false,
22      'force_pclzip'    => false,
23      'direct'          => false,
24      );
25     
26    $conf['batch_download'] = serialize($batch_download_default_config);
27    $conf['batch_download_comment'] = null;
28   
29    conf_update_param('batch_download', $conf['batch_download']);
30    conf_update_param('batch_download_comment', $conf['batch_download_comment']);
31  }
32  else
33  {
34    $new_conf = is_string($conf['batch_download']) ? unserialize($conf['batch_download']) : $conf['batch_download'];
35   
36    if (!isset($new_conf['what']))
37    {
38      $new_conf['what'] = array('categories','specials','collections');
39    }
40    if (!isset($new_conf['one_archive']))
41    {
42      $new_conf['one_archive'] = false;
43      $new_conf['force_pclzip'] = isset($conf['batch_download_force_pclzip']) && $conf['batch_download_force_pclzip'];
44      $new_conf['direct'] = isset($conf['batch_download_direct']) && $conf['batch_download_direct'];
45    }
46   
47    $conf['batch_download'] = serialize($new_conf);
48    conf_update_param('batch_download', $conf['batch_download']);
49  }
50
51  // archives directory
52  if (!file_exists(PHPWG_ROOT_PATH . $conf['data_location'] . 'download_archives/'))
53  {
54    mkgetdir(PHPWG_ROOT_PATH . $conf['data_location'] . 'download_archives/', MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR);
55  }
56
57  // create tables
58  $query = '
59CREATE TABLE IF NOT EXISTS `' . $prefixeTable . 'download_sets` (
60  `id` mediumint(8) NOT NULL AUTO_INCREMENT,
61  `user_id` smallint(5) NOT NULL,
62  `date_creation` datetime NOT NULL,
63  `type` varchar(16) NOT NULL,
64  `type_id` varchar(64) NOT NULL,
65  `size` varchar(16) NOT NULL DEFAULT "original",
66  `nb_zip` smallint(3) NOT NULL DEFAULT 0,
67  `last_zip` smallint(3) NOT NULL DEFAULT 0,
68  `nb_images` mediumint(8) NOT NULL DEFAULT 0,
69  `total_size` int(10) NOT NULL DEFAULT 0,
70  `status` enum("new","ready","download","done") NOT NULL DEFAULT "new",
71  PRIMARY KEY (`id`)
72) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1
73;';
74  pwg_query($query);
75 
76  $query = '
77CREATE TABLE IF NOT EXISTS `' . $prefixeTable . 'download_sets_images` (
78  `set_id` mediumint(8) NOT NULL,
79  `image_id` mediumint(8) NOT NULL,
80  `zip` smallint(5) NOT NULL DEFAULT 0,
81  UNIQUE KEY `UNIQUE` (`set_id`,`image_id`)
82) ENGINE=MyISAM DEFAULT CHARSET=utf8
83;';
84  pwg_query($query);
85 
86  $query = '
87CREATE TABLE IF NOT EXISTS `' . $prefixeTable . 'image_sizes` (
88  `image_id` mediumint(8) NOT NULL,
89  `type` varchar(16) NOT NULL,
90  `width` smallint(9) NOT NULL,
91  `height` smallint(9) NOT NULL,
92  `filesize` mediumint(9) NOT NULL,
93  `filemtime` int(16) NOT NULL,
94  PRIMARY KEY (`image_id`)
95) ENGINE=MyISAM DEFAULT CHARSET=utf8
96;';
97  pwg_query($query);
98 
99  // add a "size" column to download_sets
100  $result = pwg_query('SHOW COLUMNS FROM `' . $prefixeTable . 'download_sets` LIKE "size";');
101  if (!pwg_db_num_rows($result))
102  {     
103    pwg_query('ALTER TABLE `' . $prefixeTable . 'download_sets` ADD `size` varchar(16) NOT NULL DEFAULT "original";');
104  }
105 
106  // add "ready" status
107  pwg_query('ALTER TABLE `' . $prefixeTable . 'download_sets` CHANGE `status` `status` enum("new","ready","download","done") NOT NULL DEFAULT "new";');
108}
109
110?>
Note: See TracBrowser for help on using the repository browser.