Completed
Push — master ( 736366...88c351 )
by Joas
02:53
created

FilesHooksStatic::fileUpdate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2
Metric Value
dl 0
loc 3
ccs 0
cts 3
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 2
1
<?php
2
3
/**
4
 * ownCloud - Activity App
5
 *
6
 * @author Joas Schilling
7
 * @copyright 2014 Joas Schilling [email protected]
8
 *
9
 * This library is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
11
 * License as published by the Free Software Foundation; either
12
 * version 3 of the License, or any later version.
13
 *
14
 * This library is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
18
 *
19
 * You should have received a copy of the GNU Lesser General Public
20
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
21
 */
22
23
namespace OCA\Activity;
24
25
use OCP\Util;
26
27
/**
28
 * The class to handle the filesystem hooks
29
 */
30
class FilesHooksStatic {
31
	/**
32
	 * Registers the filesystem hooks for basic filesystem operations.
33
	 * All other events has to be triggered by the apps.
34
	 */
35 1
	public static function register() {
36 1
		Util::connectHook('OC_Filesystem', 'post_create', 'OCA\Activity\FilesHooksStatic', 'fileCreate');
37 1
		Util::connectHook('OC_Filesystem', 'post_update', 'OCA\Activity\FilesHooksStatic', 'fileUpdate');
38 1
		Util::connectHook('OC_Filesystem', 'delete', 'OCA\Activity\FilesHooksStatic', 'fileDelete');
39 1
		Util::connectHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', 'OCA\Activity\FilesHooksStatic', 'fileRestore');
40 1
		Util::connectHook('OCP\Share', 'post_shared', 'OCA\Activity\FilesHooksStatic', 'share');
41 1
		Util::connectHook('OCP\Share', 'pre_unshare', 'OCA\Activity\FilesHooksStatic', 'unShare');
42
43 1
		$eventDispatcher = \OC::$server->getEventDispatcher();
44 1
		$eventDispatcher->addListener('OCA\Files::loadAdditionalScripts', ['OCA\Activity\FilesHooksStatic', 'onLoadFilesAppScripts']);
45 1
	}
46
47
	/**
48
	 * @return FilesHooks
49
	 */
50
	static protected function getHooks() {
51
		$app = new AppInfo\Application();
52
		return $app->getContainer()->query('Hooks');
53
	}
54
55
	/**
56
	 * Store the create hook events
57
	 * @param array $params The hook params
58
	 */
59
	public static function fileCreate($params) {
60
		self::getHooks()->fileCreate($params['path']);
61
	}
62
63
	/**
64
	 * Store the update hook events
65
	 * @param array $params The hook params
66
	 */
67
	public static function fileUpdate($params) {
68
		self::getHooks()->fileUpdate($params['path']);
69
	}
70
71
	/**
72
	 * Store the delete hook events
73
	 * @param array $params The hook params
74
	 */
75
	public static function fileDelete($params) {
76
		self::getHooks()->fileDelete($params['path']);
77
	}
78
79
	/**
80
	 * Store the restore hook events
81
	 * @param array $params The hook params
82
	 */
83
	public static function fileRestore($params) {
84
		self::getHooks()->fileRestore($params['filePath']);
85
	}
86
87
	/**
88
	 * Manage sharing events
89
	 * @param array $params The hook params
90
	 */
91
	public static function share($params) {
92
		self::getHooks()->share($params);
93
	}
94
95
	/**
96
	 * Manage sharing events
97
	 * @param array $params The hook params
98
	 */
99
	public static function unShare($params) {
100
		self::getHooks()->unShare($params);
101
	}
102
103
	/**
104
	 * Load additional scripts when the files app is visible
105
	 */
106
	public static function onLoadFilesAppScripts() {
107
		Util::addStyle('activity', 'style');
108
		Util::addScript('activity', 'formatter');
109
		Util::addScript('activity', 'activitymodel');
110
		Util::addScript('activity', 'activitycollection');
111
		Util::addScript('activity', 'activitytabview');
112
		Util::addScript('activity', 'filesplugin');
113
	}
114
}
115