Blame view

sources/apps/activity/appinfo/update.php 3.34 KB
6d9380f96   Cédric Dupont   Update sources OC...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
  <?php
  
  $installedVersion = OCP\Config::getAppValue('activity', 'installed_version');
  
  if (version_compare($installedVersion, '1.1.6', '<')) {
  	$type_map = array(
  		1 => \OCA\Activity\Data::TYPE_SHARE_CHANGED,
  		2 => \OCA\Activity\Data::TYPE_SHARE_DELETED,
  		3 => \OCA\Activity\Data::TYPE_SHARE_CREATED,
  		4 => \OCA\Activity\Data::TYPE_SHARED,
  		5 => \OCA\Activity\Data::TYPE_SHARED,
  		6 => \OCA\Activity\Data::TYPE_SHARE_CHANGED,
  		7 => \OCA\Activity\Data::TYPE_SHARE_DELETED,
  		8 => \OCA\Activity\Data::TYPE_SHARE_CREATED,
  		9 => \OCA\Activity\Data::TYPE_SHARE_EXPIRED,
  		10 => \OCA\Activity\Data::TYPE_SHARE_RESHARED,
  		11 => \OCA\Activity\Data::TYPE_SHARE_RESHARED,
  		12 => \OCA\Activity\Data::TYPE_SHARE_DOWNLOADED,
  		13 => \OCA\Activity\Data::TYPE_SHARE_UPLOADED,
  		14 => \OCA\Activity\Data::TYPE_STORAGE_QUOTA_90,
  		15 => \OCA\Activity\Data::TYPE_STORAGE_FAILURE,
  		16 => \OCA\Activity\Data::TYPE_SHARE_UNSHARED,
  	);
  
  	foreach ($type_map as $old_type => $new_type) {
  		$query = \OC_DB::prepare('UPDATE `*PREFIX*activity` SET `type` = ? WHERE `type` = ?');
  		$query->execute(array($new_type, $old_type));
  	}
  
  	// fetch from DB
  	$query = \OC_DB::prepare(
  		'SELECT `userid`, `configvalue` '
  		. ' FROM `*PREFIX*preferences` '
  		. ' WHERE `appid` = ? AND `configkey` = ? '
  	);
  	$result = $query->execute(array('activity', 'notify_stream'));
  
  	$preference_map = array(
  		1 => \OCA\Activity\Data::TYPE_SHARE_CHANGED,
  		2 => \OCA\Activity\Data::TYPE_SHARE_DELETED,
  		3 => \OCA\Activity\Data::TYPE_SHARE_CREATED,
  		4 => \OCA\Activity\Data::TYPE_SHARED,
  		9 => \OCA\Activity\Data::TYPE_SHARE_EXPIRED,
  		10 => \OCA\Activity\Data::TYPE_SHARE_RESHARED,
  		12 => \OCA\Activity\Data::TYPE_SHARE_DOWNLOADED,
  		13 => \OCA\Activity\Data::TYPE_SHARE_UPLOADED,
  		14 => \OCA\Activity\Data::TYPE_STORAGE_QUOTA_90,
  		15 => \OCA\Activity\Data::TYPE_STORAGE_FAILURE,
  		16 => \OCA\Activity\Data::TYPE_SHARE_UNSHARED,
  	);
  
  	$query = \OC_DB::prepare('INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, `configkey`, `configvalue`)' . ' VALUES ( ?, ?, ?, ? )');
  	while ($row = $result->fetchRow()) {
  		foreach ($preference_map as $old_type => $new_type) {
  			$query->execute(array(
  				$row['userid'],
  				'activity',
  				'notify_stream_' . $new_type,
  				in_array($old_type, unserialize($row['configvalue'])),
  			));
  		}
  	}
  
  	$query = \OC_DB::prepare('DELETE FROM `*PREFIX*preferences` WHERE `appid` = ? AND (`configkey` = ? OR `configkey` = ?)');
  	$query->execute(array('activity', 'notify_stream', 'notify_email'));
  }
  
  if (version_compare($installedVersion, '1.1.11', '<')) {
  	$query = \OC_DB::prepare(
  		'DELETE FROM `*PREFIX*activity`'
  		. ' WHERE `subject` = ?'
  	);
  
  	$query->execute(array('%s shared %s with you'));
  }
  
  if (version_compare($installedVersion, '1.1.10', '<')) {
  	$subject_map = array(
  		'%s created'		=> 'created_self',
  		'%s created by %s'	=> 'created_by',
  		'%s changed'		=> 'changed_self',
  		'%s changed by %s'	=> 'changed_by',
  		'%s deleted'		=> 'deleted_self',
  		'%s deleted by %s'	=> 'deleted_by',
  		'You shared %s with %s'			=> 'shared_user_self',
  		'You shared %s with group %s'	=> 'shared_group_self',
  		'%s shared %s with you'			=> 'shared_with_by',
  		'You shared %s'					=> 'shared_link_self',
  	);
  
  	foreach ($subject_map as $old_subject => $new_subject) {
  		$query = \OC_DB::prepare('UPDATE `*PREFIX*activity` SET `subject` = ? WHERE `subject` = ?');
  		$query->execute(array($new_subject, $old_subject));
  	}
  }