Completed
Push — master ( 10e8bd...36b58b )
by Sander
12:24 queued 04:29
created

Utils   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 31.82%

Importance

Changes 0
Metric Value
dl 0
loc 53
ccs 7
cts 22
cp 0.3182
rs 10
c 0
b 0
f 0
wmc 10
lcom 0
cbo 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A getTime() 0 3 1
A getMicroTime() 0 3 1
A GUID() 0 8 2
A getNameByUid() 0 5 1
B getDirContents() 0 14 5
1
<?php
2
/**
3
 * Nextcloud - passman
4
 *
5
 * @copyright Copyright (c) 2016, Sander Brand ([email protected])
6
 * @copyright Copyright (c) 2016, Marcos Zuriaga Miguel ([email protected])
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU Affero General Public License as
11
 * published by the Free Software Foundation, either version 3 of the
12
 * License, or (at your option) any later version.
13
 *
14
 * This program 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 Affero General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
24
namespace OCA\Passman\Utility;
25
26
class Utils {
27
    /**
28
     * Gets the unix epoch UTC timestamp
29
     * @return int
30
     */
31 1
	public static function getTime() {
32 1
		return (new \DateTime())->getTimestamp();
33
	}
34
	/**
35
	 * @return int the current unix time in milliseconds
36
	 */
37 1
	public static function getMicroTime() {
38 1
		return microtime(true);
39
	}
40
41
    /**
42
     * Generates a Globally Unique ID
43
     * @return string
44
     */
45 2
	public static function GUID() {
46 2
		if (function_exists('com_create_guid') === true)
47
		{
48
			return trim(com_create_guid(), '{}');
49
		}
50
51 2
		return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
52
	}
53
54
	/**
55
	 * @param $uid
56
	 * @return string
57
	 */
58
	public static function getNameByUid($uid){
59
		$um = \OC::$server->getUserManager();
60
		$u = $um->get($uid);
61
		return $u->getDisplayName();
62
	}
63
64
	public static function getDirContents($dir, &$results = array()){
65
		$files = scandir($dir);
66
67
		foreach($files as $value){
68
			$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
69
			if(!is_dir($path)) {
70
				$results[] = $path;
71
			} else if($value != "." && $value != "..") {
72
				Utils::getDirContents($path, $results);
73
				$results[] = $path;
74
			}
75
		}
76
		return $results;
77
	}
78
}