Blame view

sources/lib/private/files/storage/home.php 1.53 KB
31b7f2792   Kload   Upgrade to ownclo...
1
2
3
4
5
6
7
8
9
10
11
12
13
  <?php
  /**
   * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
   * This file is licensed under the Affero General Public License version 3 or
   * later.
   * See the COPYING-README file.
   */
  
  namespace OC\Files\Storage;
  
  /**
   * Specialized version of Local storage for home directory usage
   */
6d9380f96   Cédric Dupont   Update sources OC...
14
  class Home extends Local implements \OCP\Files\IHomeStorage {
31b7f2792   Kload   Upgrade to ownclo...
15
16
17
18
19
20
21
22
23
24
25
  	/**
  	 * @var string
  	 */
  	protected $id;
  
  	/**
  	 * @var \OC\User\User $user
  	 */
  	protected $user;
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
26
  	 * Construct a Home storage instance
31b7f2792   Kload   Upgrade to ownclo...
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
  	 * @param array $arguments array with "user" containing the
  	 * storage owner and "legacy" containing "true" if the storage is
  	 * a legacy storage with "local::" URL instead of the new "home::" one.
  	 */
  	public function __construct($arguments) {
  		$this->user = $arguments['user'];
  		$datadir = $this->user->getHome();
  		if (isset($arguments['legacy']) && $arguments['legacy']) {
  			// legacy home id (<= 5.0.12)
  			$this->id = 'local::' . $datadir . '/';
  		}
  		else {
  		    $this->id = 'home::' . $this->user->getUID();
  		}
  
  		parent::__construct(array('datadir' => $datadir));
  	}
  
  	public function getId() {
  		return $this->id;
  	}
  
  	/**
  	 * @return \OC\Files\Cache\HomeCache
  	 */
6d9380f96   Cédric Dupont   Update sources OC...
52
53
54
55
  	public function getCache($path = '', $storage = null) {
  		if (!$storage) {
  			$storage = $this;
  		}
31b7f2792   Kload   Upgrade to ownclo...
56
  		if (!isset($this->cache)) {
6d9380f96   Cédric Dupont   Update sources OC...
57
  			$this->cache = new \OC\Files\Cache\HomeCache($storage);
31b7f2792   Kload   Upgrade to ownclo...
58
59
60
61
62
  		}
  		return $this->cache;
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
63
  	 * Returns the owner of this home storage
31b7f2792   Kload   Upgrade to ownclo...
64
65
66
67
68
69
  	 * @return \OC\User\User owner of this home storage
  	 */
  	public function getUser() {
  		return $this->user;
  	}
  }