Test Setup Failed
Push — master ( b88989...23c882 )
by smiley
09:01
created
src/CLIRunner.php 2 patches
Unused Use Statements   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,9 +12,9 @@
 block discarded – undo
12 12
 
13 13
 namespace chillerlan\Threema;
14 14
 
15
-use chillerlan\Threema\Crypto\CryptoInterface;
16 15
 use ReflectionClass;
17 16
 use ReflectionMethod;
17
+use chillerlan\Threema\Crypto\CryptoInterface;
18 18
 
19 19
 /**
20 20
  * 
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 				return $this->log2cli($method->invokeArgs($this, $arguments));
103 103
 			}
104 104
 			catch(GatewayException $gatewayException){
105
-				return $this->log2cli('ERROR: '.$gatewayException->getMessage());
105
+				return $this->log2cli('ERROR: ' . $gatewayException->getMessage());
106 106
 			}
107 107
 		}
108 108
 
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
 	 * @return string
118 118
 	 */
119 119
 	protected function log2cli(string $string):string{
120
-		return PHP_EOL.wordwrap($string, 78, PHP_EOL).PHP_EOL;
120
+		return PHP_EOL . wordwrap($string, 78, PHP_EOL) . PHP_EOL;
121 121
 	}
122 122
 
123 123
 	/**
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
 	 */
146 146
 	public function help():string{
147 147
 		// return info in case no command was found
148
-		$help  = 'Threema Gateway CLI tool.'.PHP_EOL;
149
-		$help .= 'Crypto: '.$this->threemaGateway->cryptoVersion().PHP_EOL.PHP_EOL;
148
+		$help  = 'Threema Gateway CLI tool.' . PHP_EOL;
149
+		$help .= 'Crypto: ' . $this->threemaGateway->cryptoVersion() . PHP_EOL . PHP_EOL;
150 150
 
151 151
 		foreach(self::COMMANDS as $command => $method){
152 152
 			$comment = $this->reflection->getMethod($method)->getDocComment();
@@ -164,10 +164,10 @@  discard block
 block discarded – undo
164 164
 					if(isset($p[1])){
165 165
 						if($p[0] === 'param'){
166 166
 							$p = (explode(' ', trim($p[1]), 3));
167
-							$paramNames[] = '<'.trim($p[1], ' $').'>';
168
-							$d =  trim($p[1]);
167
+							$paramNames[] = '<' . trim($p[1], ' $') . '>';
168
+							$d = trim($p[1]);
169 169
 #							$d .= ' ('.trim($p[0]).'): ';
170
-							$d .= isset($p[2]) ? ': '.trim($p[2]) : '';
170
+							$d .= isset($p[2]) ? ': ' . trim($p[2]) : '';
171 171
 							$paramDoc[] = $d;
172 172
 						}
173 173
 						else if($p[0] === 'return'){
@@ -180,11 +180,11 @@  discard block
 block discarded – undo
180 180
 				}
181 181
 			}
182 182
 
183
-			$help .= PHP_EOL.'threema.php '.$command.' '.implode(' ', $paramNames).PHP_EOL;
184
-			$help .= str_repeat('-', strlen($command)+12).PHP_EOL;
185
-			$help .= PHP_EOL.$comment.PHP_EOL;
186
-			$help .= PHP_EOL.implode(PHP_EOL, $paramDoc).PHP_EOL;
187
-			$help .= PHP_EOL.'Returns: '.$returnDoc.PHP_EOL;
183
+			$help .= PHP_EOL . 'threema.php ' . $command . ' ' . implode(' ', $paramNames) . PHP_EOL;
184
+			$help .= str_repeat('-', strlen($command) + 12) . PHP_EOL;
185
+			$help .= PHP_EOL . $comment . PHP_EOL;
186
+			$help .= PHP_EOL . implode(PHP_EOL, $paramDoc) . PHP_EOL;
187
+			$help .= PHP_EOL . 'Returns: ' . $returnDoc . PHP_EOL;
188 188
 		}
189 189
 
190 190
 		return $help;
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
 	public function getKeypair(string $privateKeyFile = null, string $publicKeyFile = null):string{
198 198
 		$keypair = $this->cryptoInterface->getKeypair();
199 199
 
200
-		return 'private:'.$keypair->privateKey.PHP_EOL.'public:'.$keypair->publicKey;
200
+		return 'private:' . $keypair->privateKey . PHP_EOL . 'public:' . $keypair->publicKey;
201 201
 	}
202 202
 
203 203
 	/**
Please login to merge, or discard this patch.
src/Crypto/CryptoSodium.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 
22 22
 	public function version():string{
23 23
 		/** @noinspection PhpUndefinedNamespaceInspection @noinspection PhpUndefinedFunctionInspection */
24
-		return 'libsodium '.\Sodium\version_string();
24
+		return 'libsodium ' . \Sodium\version_string();
25 25
 	}
26 26
 
27 27
 	/**
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
 			throw new CryptoException('invalid data');
78 78
 		}
79 79
 
80
-		if(!preg_match('/^[a-f\d]{128}$/i', $privateKey.$publicKey)){
80
+		if(!preg_match('/^[a-f\d]{128}$/i', $privateKey . $publicKey)){
81 81
 			throw new CryptoException('invalid keypair');
82 82
 		}
83 83
 
Please login to merge, or discard this patch.
src/Gateway.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
 		$reflectionClass = new ReflectionClass($gatewayOptions->gatewayInterface);
73 73
 
74 74
 		if(!$reflectionClass->implementsInterface(GatewayInterface::class)){
75
-			throw new GatewayException('"'.$gatewayOptions->gatewayInterface.'" does not implement GatewayInterface');
75
+			throw new GatewayException('"' . $gatewayOptions->gatewayInterface . '" does not implement GatewayInterface');
76 76
 		}
77 77
 
78 78
 		$this->gatewayInterface = $reflectionClass->newInstanceArgs([$cryptoInterface, $gatewayOptions]);
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 			return $reflectionMethod->invokeArgs($this->gatewayInterface, $params);
94 94
 		}
95 95
 
96
-		throw new GatewayException('method "'.$method.'" does not exist');
96
+		throw new GatewayException('method "' . $method . '" does not exist');
97 97
 	}
98 98
 
99 99
 	#######################
Please login to merge, or discard this patch.
src/GatewayEndpoint.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
 	 * @throws \chillerlan\TinyCurl\RequestException
66 66
 	 */
67 67
 	protected function getResponse(string $endpoint, array $params = [], array $body = []):Response{
68
-		$endpoint = self::API_BASE.$endpoint;
68
+		$endpoint = self::API_BASE . $endpoint;
69 69
 		$params   = array_merge($params, [
70 70
 			'from'   => getenv('THREEMA_GATEWAY_ID'),
71 71
 			'secret' => getenv('THREEMA_GATEWAY_SECRET')
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 			return $response;
82 82
 		}
83 83
 		elseif(array_key_exists($response->info->http_code, self::API_ERRORS)){
84
-			throw new GatewayException('gateway error: '.self::API_ERRORS[$response->info->http_code]);
84
+			throw new GatewayException('gateway error: ' . self::API_ERRORS[$response->info->http_code]);
85 85
 		}
86 86
 
87 87
 		throw new GatewayException('unknown error: "compiles on my machine."'); // @codeCoverageIgnore
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
 	 * @inheritdoc
99 99
 	 */
100 100
 	public function checkCapabilities(string $threemaID):array{
101
-		$response = $this->getResponse('/capabilities/'.$this->checkThreemaID($threemaID))->body->content;
101
+		$response = $this->getResponse('/capabilities/' . $this->checkThreemaID($threemaID))->body->content;
102 102
 		$response = !empty($response) ? explode(',', $response) : [];
103 103
 
104 104
 		sort($response);
@@ -110,35 +110,35 @@  discard block
 block discarded – undo
110 110
 	 * @inheritdoc
111 111
 	 */
112 112
 	public function getIdByPhone(string $phoneno):string{
113
-		return $this->getResponse('/lookup/phone/'.$this->checkPhoneNo($phoneno))->body->content;
113
+		return $this->getResponse('/lookup/phone/' . $this->checkPhoneNo($phoneno))->body->content;
114 114
 	}
115 115
 
116 116
 	/**
117 117
 	 * @inheritdoc
118 118
 	 */
119 119
 	public function getIdByPhoneHash(string $phonenoHash):string{
120
-		return $this->getResponse('/lookup/phone_hash/'.$this->checkHash($phonenoHash))->body->content;
120
+		return $this->getResponse('/lookup/phone_hash/' . $this->checkHash($phonenoHash))->body->content;
121 121
 	}
122 122
 
123 123
 	/**
124 124
 	 * @inheritdoc
125 125
 	 */
126 126
 	public function getIdByEmail(string $email):string{
127
-		return $this->getResponse('/lookup/email/'.$this->checkEmail($email))->body->content;
127
+		return $this->getResponse('/lookup/email/' . $this->checkEmail($email))->body->content;
128 128
 	}
129 129
 
130 130
 	/**
131 131
 	 * @inheritdoc
132 132
 	 */
133 133
 	public function getIdByEmailHash(string $emailHash):string{
134
-		return $this->getResponse('/lookup/email_hash/'.$this->checkHash($emailHash))->body->content;
134
+		return $this->getResponse('/lookup/email_hash/' . $this->checkHash($emailHash))->body->content;
135 135
 	}
136 136
 
137 137
 	/**
138 138
 	 * @inheritdoc
139 139
 	 */
140 140
 	public function getPublicKey(string $threemaID):string{
141
-		return $this->checkHash($this->getResponse('/pubkeys/'.$this->checkThreemaID($threemaID))->body->content);
141
+		return $this->checkHash($this->getResponse('/pubkeys/' . $this->checkThreemaID($threemaID))->body->content);
142 142
 	}
143 143
 
144 144
 	/**
Please login to merge, or discard this patch.
src/GatewayOptions.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
 	/**
26 26
 	 * @var string
27 27
 	 */
28
-	public $configPath = __DIR__.'/../config';
28
+	public $configPath = __DIR__ . '/../config';
29 29
 
30 30
 	/**
31 31
 	 * @var string
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 	/**
36 36
 	 * @var string
37 37
 	 */
38
-	public $storagePath = __DIR__.'/../storage';
38
+	public $storagePath = __DIR__ . '/../storage';
39 39
 
40 40
 	/**
41 41
 	 * full path to the CA Root Certificates for use with CURL/SSL
@@ -43,6 +43,6 @@  discard block
 block discarded – undo
43 43
 	 *
44 44
 	 * @var string
45 45
 	 */
46
-	public $cacert = __DIR__.'/../storage/cacert.pem';
46
+	public $cacert = __DIR__ . '/../storage/cacert.pem';
47 47
 
48 48
 }
Please login to merge, or discard this patch.
src/GatewayInterface.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@
 block discarded – undo
1 1
 <?php
2 2
 /**
3
- * Interface GatewayInterface
4
- *
5
- * @filesource   GatewayInterface.php
6
- * @created      01.04.2016
7
- * @package      chillerlan\Threema
8
- * @author       Smiley <[email protected]>
9
- * @copyright    2016 Smiley
10
- * @license      MIT
11
- */
3
+	 * Interface GatewayInterface
4
+	 *
5
+	 * @filesource   GatewayInterface.php
6
+	 * @created      01.04.2016
7
+	 * @package      chillerlan\Threema
8
+	 * @author       Smiley <[email protected]>
9
+	 * @copyright    2016 Smiley
10
+	 * @license      MIT
11
+	 */
12 12
 
13 13
 namespace chillerlan\Threema;
14 14
 
Please login to merge, or discard this patch.
src/GatewayException.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@
 block discarded – undo
1 1
 <?php
2 2
 /**
3
- * Class GatewayException
4
- *
5
- * @filesource   GatewayException.php
6
- * @created      02.04.2016
7
- * @package      chillerlan\Threema
8
- * @author       Smiley <[email protected]>
9
- * @copyright    2016 Smiley
10
- * @license      MIT
11
- */
3
+	 * Class GatewayException
4
+	 *
5
+	 * @filesource   GatewayException.php
6
+	 * @created      02.04.2016
7
+	 * @package      chillerlan\Threema
8
+	 * @author       Smiley <[email protected]>
9
+	 * @copyright    2016 Smiley
10
+	 * @license      MIT
11
+	 */
12 12
 
13 13
 namespace chillerlan\Threema;
14 14
 
Please login to merge, or discard this patch.
cli/threema.php 2 patches
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -1,11 +1,11 @@
 block discarded – undo
1 1
 <?php
2 2
 /**
3
- * @filesource   threema.php
4
- * @created      02.04.2016
5
- * @author       Smiley <[email protected]>
6
- * @copyright    2016 Smiley
7
- * @license      MIT
8
- */
3
+	 * @filesource   threema.php
4
+	 * @created      02.04.2016
5
+	 * @author       Smiley <[email protected]>
6
+	 * @copyright    2016 Smiley
7
+	 * @license      MIT
8
+	 */
9 9
 
10 10
 namespace chillerlan\ThreemaCLI;
11 11
 
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 namespace chillerlan\ThreemaCLI;
11 11
 
12
-require_once __DIR__.'/../vendor/autoload.php';
12
+require_once __DIR__ . '/../vendor/autoload.php';
13 13
 
14 14
 use chillerlan\Threema\CLIRunner;
15 15
 use chillerlan\Threema\Crypto\CryptoSodium;
@@ -21,9 +21,9 @@  discard block
 block discarded – undo
21 21
 
22 22
 $gatewayOptions                 = new GatewayOptions;
23 23
 $gatewayOptions->configFilename = '.threema'; // @todo TRAVIS REMINDER!
24
-$gatewayOptions->configPath     = __DIR__.'/../config';
25
-$gatewayOptions->storagePath    = __DIR__.'/../storage';
26
-$gatewayOptions->cacert         = __DIR__.'/../storage/cacert.pem';
24
+$gatewayOptions->configPath     = __DIR__ . '/../config';
25
+$gatewayOptions->storagePath    = __DIR__ . '/../storage';
26
+$gatewayOptions->cacert         = __DIR__ . '/../storage/cacert.pem';
27 27
 
28 28
 echo (new CLIRunner(new CryptoSodium, $gatewayOptions))->run($_SERVER['argv']);
29 29
 
Please login to merge, or discard this patch.
public/callback.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -1,58 +1,58 @@
 block discarded – undo
1 1
 <?php
2 2
 /**
3
- *
4
- * @filesource   callback.php
5
- * @created      02.04.2016
6
- * @author       Smiley <[email protected]>
7
- * @copyright    2016 Smiley
8
- * @license      MIT
9
- *
10
- * @todo
11
- * 
12
- * Incoming messages and delivery receipts
13
- *
14
- * If your account is operating in end-to-end encrypted mode and incoming messages have been enabled on it, you can
15
- * specify an HTTPS URL callback that will be called whenever an incoming message or delivery receipt arrives for your
16
- * API identity. You can set or change the callback URL in the Threema Gateway administration panel.
17
- *
18
- * Callback parameters
19
- *
20
- * Your callback URL will be called with the following POST parameters (application/x-www-form-urlencoded):
21
- *
22
- * from sender identity (8 characters)
23
- * to your API identity (8 characters, usually starts with '*')
24
- * messageId message ID assigned by the sender (8 bytes, hex encoded)
25
- * date message date set by the sender (UNIX timestamp)
26
- * nonce nonce used for encryption (24 bytes, hex encoded)
27
- * box encrypted message data (max. 4000 bytes, hex encoded)
28
- * mac Message Authentication Code (32 bytes, hex encoded, see below)
29
- * Note that the message first needs to be decrypted before it can be determined whether it is an incoming text message
30
- * or a delivery receipt.
31
- *
32
- * MAC calculation
33
- *
34
- * For each callback, the server includes a mac parameter than can be used to verify the authenticity of the call and
35
- * the included information. This parameter is calculated as follows:
36
- *
37
- * mac = HMAC-SHA256(from || to || messageId || date || nonce || box, secret)
38
- *
39
- * || denotes concatenation. The parameters are concatenated in the same form as they were included in the POST (i.e.
40
- * including any hex encoding, but not including any URL encoding). The secret that is used for the HMAC operation is
41
- * the API authentication secret.
42
- *
43
- * It is recommended that receivers verify the mac parameter before attempting to parse the other parameters and
44
- * decrypt the message.
45
- *
46
- * Callback results and retry
47
- *
48
- * If the connection to your callback URL fails or your callback does not return an HTTP 200 status, the API will retry
49
- * 3 more times in intervals of 5 minutes. If all attempts fail, the message is discarded.
50
- *
51
- * Certificates and cipher suites
52
- *
53
- * The server that hosts the callback URL must use a valid and trusted SSL/TLS certificate (not self-signed). If in
54
- * doubt, please contact customer service and specify the issuing CA of your certificate.
55
- */
3
+	 *
4
+	 * @filesource   callback.php
5
+	 * @created      02.04.2016
6
+	 * @author       Smiley <[email protected]>
7
+	 * @copyright    2016 Smiley
8
+	 * @license      MIT
9
+	 *
10
+	 * @todo
11
+	 * 
12
+	 * Incoming messages and delivery receipts
13
+	 *
14
+	 * If your account is operating in end-to-end encrypted mode and incoming messages have been enabled on it, you can
15
+	 * specify an HTTPS URL callback that will be called whenever an incoming message or delivery receipt arrives for your
16
+	 * API identity. You can set or change the callback URL in the Threema Gateway administration panel.
17
+	 *
18
+	 * Callback parameters
19
+	 *
20
+	 * Your callback URL will be called with the following POST parameters (application/x-www-form-urlencoded):
21
+	 *
22
+	 * from sender identity (8 characters)
23
+	 * to your API identity (8 characters, usually starts with '*')
24
+	 * messageId message ID assigned by the sender (8 bytes, hex encoded)
25
+	 * date message date set by the sender (UNIX timestamp)
26
+	 * nonce nonce used for encryption (24 bytes, hex encoded)
27
+	 * box encrypted message data (max. 4000 bytes, hex encoded)
28
+	 * mac Message Authentication Code (32 bytes, hex encoded, see below)
29
+	 * Note that the message first needs to be decrypted before it can be determined whether it is an incoming text message
30
+	 * or a delivery receipt.
31
+	 *
32
+	 * MAC calculation
33
+	 *
34
+	 * For each callback, the server includes a mac parameter than can be used to verify the authenticity of the call and
35
+	 * the included information. This parameter is calculated as follows:
36
+	 *
37
+	 * mac = HMAC-SHA256(from || to || messageId || date || nonce || box, secret)
38
+	 *
39
+	 * || denotes concatenation. The parameters are concatenated in the same form as they were included in the POST (i.e.
40
+	 * including any hex encoding, but not including any URL encoding). The secret that is used for the HMAC operation is
41
+	 * the API authentication secret.
42
+	 *
43
+	 * It is recommended that receivers verify the mac parameter before attempting to parse the other parameters and
44
+	 * decrypt the message.
45
+	 *
46
+	 * Callback results and retry
47
+	 *
48
+	 * If the connection to your callback URL fails or your callback does not return an HTTP 200 status, the API will retry
49
+	 * 3 more times in intervals of 5 minutes. If all attempts fail, the message is discarded.
50
+	 *
51
+	 * Certificates and cipher suites
52
+	 *
53
+	 * The server that hosts the callback URL must use a valid and trusted SSL/TLS certificate (not self-signed). If in
54
+	 * doubt, please contact customer service and specify the issuing CA of your certificate.
55
+	 */
56 56
 
57 57
 
58 58
 
Please login to merge, or discard this patch.