Completed
Pull Request — master (#250)
by Koen
05:10
created
src/IMAP/Providers/LaravelServiceProvider.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
      * If however the default account is missing a parameter the package default account parameter will be used.
59 59
      * This can be disabled by setting imap.default in your config file to 'false'
60 60
      */
61
-    private function setVendorConfig(){
61
+    private function setVendorConfig() {
62 62
 
63 63
         $config_key = 'imap';
64 64
         $path = __DIR__.'/../../config/'.$config_key.'.php';
@@ -70,17 +70,17 @@  discard block
 block discarded – undo
70 70
 
71 71
         $config = $this->app['config']->get($config_key);
72 72
 
73
-        if(is_array($config)){
74
-            if(isset($config['default'])){
75
-                if(isset($config['accounts']) && $config['default'] != false){
73
+        if (is_array($config)) {
74
+            if (isset($config['default'])) {
75
+                if (isset($config['accounts']) && $config['default'] != false) {
76 76
 
77 77
                     $default_config = $vendor_config['accounts']['default'];
78
-                    if(isset($config['accounts'][$config['default']])){
78
+                    if (isset($config['accounts'][$config['default']])) {
79 79
                         $default_config = array_merge($default_config, $config['accounts'][$config['default']]);
80 80
                     }
81 81
 
82
-                    if(is_array($config['accounts'])){
83
-                        foreach($config['accounts'] as $account_key => $account){
82
+                    if (is_array($config['accounts'])) {
83
+                        foreach ($config['accounts'] as $account_key => $account) {
84 84
                             $config['accounts'][$account_key] = array_merge($default_config, $account);
85 85
                         }
86 86
                     }
@@ -114,23 +114,23 @@  discard block
 block discarded – undo
114 114
         $arrays = func_get_args();
115 115
         $base = array_shift($arrays);
116 116
 
117
-        if(!is_array($base)) $base = empty($base) ? array() : array($base);
117
+        if (!is_array($base)) $base = empty($base) ? array() : array($base);
118 118
 
119
-        foreach($arrays as $append) {
119
+        foreach ($arrays as $append) {
120 120
 
121
-            if(!is_array($append)) $append = array($append);
121
+            if (!is_array($append)) $append = array($append);
122 122
 
123
-            foreach($append as $key => $value) {
123
+            foreach ($append as $key => $value) {
124 124
 
125
-                if(!array_key_exists($key, $base) and !is_numeric($key)) {
125
+                if (!array_key_exists($key, $base) and !is_numeric($key)) {
126 126
                     $base[$key] = $append[$key];
127 127
                     continue;
128 128
                 }
129 129
 
130
-                if(is_array($value) or is_array($base[$key])) {
130
+                if (is_array($value) or is_array($base[$key])) {
131 131
                     $base[$key] = $this->array_merge_recursive_distinct($base[$key], $append[$key]);
132
-                } else if(is_numeric($key)) {
133
-                    if(!in_array($value, $base)) $base[] = $value;
132
+                } else if (is_numeric($key)) {
133
+                    if (!in_array($value, $base)) $base[] = $value;
134 134
                 } else {
135 135
                     $base[$key] = $value;
136 136
                 }
Please login to merge, or discard this patch.
examples/custom_message_mask.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@
 block discarded – undo
16 16
      * New custom method which can be called through a mask
17 17
      * @return string
18 18
      */
19
-    public function token(){
19
+    public function token() {
20 20
         return implode('-', [$this->message_id, $this->uid, $this->message_no]);
21 21
     }
22 22
 
Please login to merge, or discard this patch.
examples/custom_attachment_mask.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@
 block discarded – undo
16 16
      * New custom method which can be called through a mask
17 17
      * @return string
18 18
      */
19
-    public function token(){
19
+    public function token() {
20 20
         return implode('-', [$this->id, $this->getMessage()->getUid(), $this->name]);
21 21
     }
22 22
 
Please login to merge, or discard this patch.
examples/replace_images_with_url.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@
 block discarded – undo
20 20
 /** @var \Webklex\IMAP\Message $message */
21 21
 $message = $folder->query()->limit(1)->get()->first();
22 22
 
23
-$html = $message->getHTMLBody(function($body, $oAttachment){
23
+$html = $message->getHTMLBody(function($body, $oAttachment) {
24 24
     /** @var \Webklex\IMAP\Attachment $oAttachment */
25 25
     if ($oAttachment->id && $oAttachment->getImgSrc() != null) {
26 26
         $oMessage = $oAttachment->getMessage();
Please login to merge, or discard this patch.
src/IMAP/Support/Masks/MessageMask.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      * Get the message html body
30 30
      * @return null
31 31
      */
32
-    public function getHtmlBody(){
32
+    public function getHtmlBody() {
33 33
         $bodies = $this->parent->getBodies();
34 34
         if (!isset($bodies['html'])) {
35 35
             return null;
@@ -46,15 +46,15 @@  discard block
 block discarded – undo
46 46
      */
47 47
     public function getCustomHTMLBody($callback = false) {
48 48
         $body = $this->getHtmlBody();
49
-        if($body === null) return null;
49
+        if ($body === null) return null;
50 50
 
51 51
         if ($callback !== false) {
52 52
             $aAttachment = $this->parent->getAttachments();
53 53
             $aAttachment->each(function($oAttachment) use(&$body, $callback) {
54 54
                 /** @var Attachment $oAttachment */
55
-                if(is_callable($callback)) {
55
+                if (is_callable($callback)) {
56 56
                     $body = $callback($body, $oAttachment);
57
-                }elseif(is_string($callback)) {
57
+                }elseif (is_string($callback)) {
58 58
                     call_user_func($callback, [$body, $oAttachment]);
59 59
                 }
60 60
             });
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
      * @return string|null
71 71
      */
72 72
     public function getHTMLBodyWithEmbeddedBase64Images() {
73
-        return $this->getCustomHTMLBody(function($body, $oAttachment){
73
+        return $this->getCustomHTMLBody(function($body, $oAttachment) {
74 74
             /** @var \Webklex\IMAP\Attachment $oAttachment */
75 75
             if ($oAttachment->id && $oAttachment->getImgSrc() != null) {
76 76
                 $body = str_replace('cid:'.$oAttachment->id, $oAttachment->getImgSrc(), $body);
Please login to merge, or discard this patch.
src/IMAP/Folder.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
 
119 119
         $this->setDelimiter($structure->delimiter);
120 120
         $this->path      = $structure->name;
121
-        $this->full_name  = $this->decodeName($structure->name);
121
+        $this->full_name = $this->decodeName($structure->name);
122 122
         $this->name      = $this->getSimpleName($this->delimiter, $this->full_name);
123 123
 
124 124
         $this->parseAttributes($structure->attributes);
@@ -131,7 +131,7 @@  discard block
 block discarded – undo
131 131
      * @return WhereQuery
132 132
      * @throws Exceptions\ConnectionFailedException
133 133
      */
134
-    public function query($charset = 'UTF-8'){
134
+    public function query($charset = 'UTF-8') {
135 135
         $this->getClient()->checkConnection();
136 136
         $this->getClient()->openFolder($this->path);
137 137
 
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
      * @inheritdoc self::query($charset = 'UTF-8')
143 143
      * @throws Exceptions\ConnectionFailedException
144 144
      */
145
-    public function search($charset = 'UTF-8'){
145
+    public function search($charset = 'UTF-8') {
146 146
         return $this->query($charset);
147 147
     }
148 148
 
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
      * @inheritdoc self::query($charset = 'UTF-8')
151 151
      * @throws Exceptions\ConnectionFailedException
152 152
      */
153
-    public function messages($charset = 'UTF-8'){
153
+    public function messages($charset = 'UTF-8') {
154 154
         return $this->query($charset);
155 155
     }
156 156
 
@@ -315,7 +315,7 @@  discard block
 block discarded – undo
315 315
      * @deprecated 1.2.1:2.0.0 No longer needed. Use Folder::query() instead
316 316
      * @see Folder::query()
317 317
      */
318
-    public function searchMessages(array $where, $fetch_options = null, $fetch_body = true,  $fetch_attachment = true, $fetch_flags = true, $limit = null, $page = 1, $charset = "UTF-8") {
318
+    public function searchMessages(array $where, $fetch_options = null, $fetch_body = true, $fetch_attachment = true, $fetch_flags = true, $limit = null, $page = 1, $charset = "UTF-8") {
319 319
         $this->getClient()->checkConnection();
320 320
 
321 321
         return $this->query($charset)->where($where)->setFetchOptions($fetch_options)->setFetchBody($fetch_body)
@@ -374,7 +374,7 @@  discard block
 block discarded – undo
374 374
      */
375 375
     public function delete($expunge = true) {
376 376
         $status = imap_deletemailbox($this->client->getConnection(), $this->path);
377
-        if($expunge) $this->client->expunge();
377
+        if ($expunge) $this->client->expunge();
378 378
 
379 379
         return $status;
380 380
     }
@@ -391,7 +391,7 @@  discard block
 block discarded – undo
391 391
      */
392 392
     public function move($target_mailbox, $expunge = true) {
393 393
         $status = imap_renamemailbox($this->client->getConnection(), $this->path, $target_mailbox);
394
-        if($expunge) $this->client->expunge();
394
+        if ($expunge) $this->client->expunge();
395 395
 
396 396
         return $status;
397 397
     }
@@ -440,8 +440,8 @@  discard block
 block discarded – undo
440 440
     /**
441 441
      * @param $delimiter
442 442
      */
443
-    public function setDelimiter($delimiter){
444
-        if(in_array($delimiter, [null, '', ' ', false]) === true) {
443
+    public function setDelimiter($delimiter) {
444
+        if (in_array($delimiter, [null, '', ' ', false]) === true) {
445 445
             $delimiter = config('imap.options.delimiter', '/');
446 446
         }
447 447
 
Please login to merge, or discard this patch.
src/IMAP/Query/Query.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
     public function __construct(Client $client, $charset = 'UTF-8') {
69 69
         $this->setClient($client);
70 70
 
71
-        if(config('imap.options.fetch') === IMAP::FT_PEEK) $this->leaveUnread();
71
+        if (config('imap.options.fetch') === IMAP::FT_PEEK) $this->leaveUnread();
72 72
 
73 73
         $this->date_format = config('imap.date_format', 'd M y');
74 74
 
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
     /**
81 81
      * Instance boot method for additional functionality
82 82
      */
83
-    protected function boot(){}
83
+    protected function boot() {}
84 84
 
85 85
     /**
86 86
      * Parse a given value
@@ -88,8 +88,8 @@  discard block
 block discarded – undo
88 88
      *
89 89
      * @return string
90 90
      */
91
-    protected function parse_value($value){
92
-        switch(true){
91
+    protected function parse_value($value) {
92
+        switch (true) {
93 93
             case $value instanceof \Carbon\Carbon:
94 94
                 $value = $value->format($this->date_format);
95 95
                 break;
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
      * @throws MessageSearchValidationException
107 107
      */
108 108
     protected function parse_date($date) {
109
-        if($date instanceof \Carbon\Carbon) return $date;
109
+        if ($date instanceof \Carbon\Carbon) return $date;
110 110
 
111 111
         try {
112 112
             $date = Carbon::parse($date);
@@ -145,16 +145,16 @@  discard block
 block discarded – undo
145 145
      * @return \Illuminate\Support\Collection
146 146
      * @throws \Webklex\IMAP\Exceptions\ConnectionFailedException
147 147
      */
148
-    protected function search(){
148
+    protected function search() {
149 149
         $this->generate_query();
150 150
 
151 151
         /**
152 152
          * Don't set the charset if it isn't used - prevent strange outlook mail server errors
153 153
          * @see https://github.com/Webklex/laravel-imap/issues/100
154 154
          */
155
-        if($this->getCharset() === null){
155
+        if ($this->getCharset() === null) {
156 156
             $available_messages = imap_search($this->getClient()->getConnection(), $this->getRawQuery(), IMAP::SE_UID);
157
-        }else{
157
+        } else {
158 158
             $available_messages = imap_search($this->getClient()->getConnection(), $this->getRawQuery(), IMAP::SE_UID, $this->getCharset());
159 159
         }
160 160
 
@@ -184,15 +184,15 @@  discard block
 block discarded – undo
184 184
 
185 185
                 $options = config('imap.options');
186 186
 
187
-                if(strtolower($options['fetch_order']) === 'desc'){
187
+                if (strtolower($options['fetch_order']) === 'desc') {
188 188
                     $available_messages = $available_messages->reverse();
189 189
                 }
190 190
 
191
-                $query =& $this;
191
+                $query = & $this;
192 192
 
193 193
                 $available_messages->forPage($this->page, $this->limit)->each(function($msgno, $msglist) use(&$messages, $options, $query) {
194 194
                     $oMessage = new Message($msgno, $msglist, $query->getClient(), $query->getFetchOptions(), $query->getFetchBody(), $query->getFetchAttachment(), $query->getFetchFlags());
195
-                    switch ($options['message_key']){
195
+                    switch ($options['message_key']) {
196 196
                         case 'number':
197 197
                             $message_key = $oMessage->getMessageNo();
198 198
                             break;
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
      * @return \Illuminate\Pagination\LengthAwarePaginator
224 224
      * @throws GetMessagesFailedException
225 225
      */
226
-    public function paginate($per_page = 5, $page = null, $page_name = 'imap_page'){
226
+    public function paginate($per_page = 5, $page = null, $page_name = 'imap_page') {
227 227
         $this->page = $page > $this->page ? $page : $this->page;
228 228
         $this->limit = $per_page;
229 229
 
@@ -241,9 +241,9 @@  discard block
 block discarded – undo
241 241
             if (count($statement) == 1) {
242 242
                 $query .= $statement[0];
243 243
             } else {
244
-                if($statement[1] === null){
244
+                if ($statement[1] === null) {
245 245
                     $query .= $statement[0];
246
-                }else{
246
+                } else {
247 247
                     $query .= $statement[0].' "'.$statement[1].'"';
248 248
                 }
249 249
             }
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
      * @return $this
274 274
      */
275 275
     public function limit($limit, $page = 1) {
276
-        if($page >= 1) $this->page = $page;
276
+        if ($page >= 1) $this->page = $page;
277 277
         $this->limit = $limit;
278 278
 
279 279
         return $this;
Please login to merge, or discard this patch.
src/IMAP/Support/PaginatedCollection.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@
 block discarded – undo
69 69
      * @return int|null
70 70
      */
71 71
     public function total($total = null) {
72
-        if($total === null) {
72
+        if ($total === null) {
73 73
             return $this->total;
74 74
         }
75 75
 
Please login to merge, or discard this patch.
src/IMAP/Client.php 1 patch
Spacing   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -173,45 +173,45 @@  discard block
 block discarded – undo
173 173
      * @throws MaskNotFoundException
174 174
      */
175 175
     protected function setMaskFromConfig($config) {
176
-        $default_config  = config("imap.masks");
176
+        $default_config = config("imap.masks");
177 177
 
178
-        if(isset($config['masks'])){
179
-            if(isset($config['masks']['message'])) {
180
-                if(class_exists($config['masks']['message'])) {
178
+        if (isset($config['masks'])) {
179
+            if (isset($config['masks']['message'])) {
180
+                if (class_exists($config['masks']['message'])) {
181 181
                     $this->default_message_mask = $config['masks']['message'];
182
-                }else{
182
+                } else {
183 183
                     throw new MaskNotFoundException("Unknown mask provided: ".$config['masks']['message']);
184 184
                 }
185
-            }else{
186
-                if(class_exists($default_config['message'])) {
185
+            } else {
186
+                if (class_exists($default_config['message'])) {
187 187
                     $this->default_message_mask = $default_config['message'];
188
-                }else{
188
+                } else {
189 189
                     throw new MaskNotFoundException("Unknown mask provided: ".$default_config['message']);
190 190
                 }
191 191
             }
192
-            if(isset($config['masks']['attachment'])) {
193
-                if(class_exists($config['masks']['attachment'])) {
192
+            if (isset($config['masks']['attachment'])) {
193
+                if (class_exists($config['masks']['attachment'])) {
194 194
                     $this->default_message_mask = $config['masks']['attachment'];
195
-                }else{
195
+                } else {
196 196
                     throw new MaskNotFoundException("Unknown mask provided: ".$config['masks']['attachment']);
197 197
                 }
198
-            }else{
199
-                if(class_exists($default_config['attachment'])) {
198
+            } else {
199
+                if (class_exists($default_config['attachment'])) {
200 200
                     $this->default_message_mask = $default_config['attachment'];
201
-                }else{
201
+                } else {
202 202
                     throw new MaskNotFoundException("Unknown mask provided: ".$default_config['attachment']);
203 203
                 }
204 204
             }
205
-        }else{
206
-            if(class_exists($default_config['message'])) {
205
+        } else {
206
+            if (class_exists($default_config['message'])) {
207 207
                 $this->default_message_mask = $default_config['message'];
208
-            }else{
208
+            } else {
209 209
                 throw new MaskNotFoundException("Unknown mask provided: ".$default_config['message']);
210 210
             }
211 211
 
212
-            if(class_exists($default_config['attachment'])) {
212
+            if (class_exists($default_config['attachment'])) {
213 213
                 $this->default_message_mask = $default_config['attachment'];
214
-            }else{
214
+            } else {
215 215
                 throw new MaskNotFoundException("Unknown mask provided: ".$default_config['attachment']);
216 216
             }
217 217
         }
@@ -358,7 +358,7 @@  discard block
 block discarded – undo
358 358
         $pattern = $parent_folder.($hierarchical ? '%' : '*');
359 359
 
360 360
         $items = imap_getmailboxes($this->connection, $this->getAddress(), $pattern);
361
-        if(is_array($items)){
361
+        if (is_array($items)) {
362 362
             foreach ($items as $item) {
363 363
                 $folder = new Folder($this, $item);
364 364
 
@@ -373,7 +373,7 @@  discard block
 block discarded – undo
373 373
             }
374 374
 
375 375
             return $folders;
376
-        }else{
376
+        } else {
377 377
             throw new MailboxFetchingException($this->getLastError());
378 378
         }
379 379
     }
@@ -389,7 +389,7 @@  discard block
 block discarded – undo
389 389
     public function openFolder($folder_path, $attempts = 3) {
390 390
         $this->checkConnection();
391 391
 
392
-        if(property_exists($folder_path, 'path')) {
392
+        if (property_exists($folder_path, 'path')) {
393 393
             $folder_path = $folder_path->path;
394 394
         }
395 395
 
@@ -410,8 +410,8 @@  discard block
 block discarded – undo
410 410
      */
411 411
     public function createFolder($name, $expunge = true) {
412 412
         $this->checkConnection();
413
-        $status = imap_createmailbox($this->getConnection(), $this->getAddress() . imap_utf7_encode($name));
414
-        if($expunge) $this->expunge();
413
+        $status = imap_createmailbox($this->getConnection(), $this->getAddress().imap_utf7_encode($name));
414
+        if ($expunge) $this->expunge();
415 415
 
416 416
         return $status;
417 417
     }
@@ -427,8 +427,8 @@  discard block
 block discarded – undo
427 427
      */
428 428
     public function renameFolder($old_name, $new_name, $expunge = true) {
429 429
         $this->checkConnection();
430
-        $status = imap_renamemailbox($this->getConnection(), $this->getAddress() . imap_utf7_encode($old_name), $this->getAddress() . imap_utf7_encode($new_name));
431
-        if($expunge) $this->expunge();
430
+        $status = imap_renamemailbox($this->getConnection(), $this->getAddress().imap_utf7_encode($old_name), $this->getAddress().imap_utf7_encode($new_name));
431
+        if ($expunge) $this->expunge();
432 432
 
433 433
         return $status;
434 434
     }
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
      */
444 444
     public function deleteFolder($name, $expunge = true) {
445 445
         $this->checkConnection();
446
-        $status = imap_deletemailbox($this->getConnection(), $this->getAddress() . imap_utf7_encode($name));
447
-        if($expunge) $this->expunge();
446
+        $status = imap_deletemailbox($this->getConnection(), $this->getAddress().imap_utf7_encode($name));
447
+        if ($expunge) $this->expunge();
448 448
 
449 449
         return $status;
450 450
     }
@@ -538,7 +538,7 @@  discard block
 block discarded – undo
538 538
         if (!$this->validate_cert) {
539 539
             $address .= '/novalidate-cert';
540 540
         }
541
-        if (in_array($this->encryption,['tls', 'notls', 'ssl'])) {
541
+        if (in_array($this->encryption, ['tls', 'notls', 'ssl'])) {
542 542
             $address .= '/'.$this->encryption;
543 543
         } elseif ($this->encryption === "starttls") {
544 544
             $address .= '/tls';
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
      * @throws InvalidImapTimeoutTypeException
662 662
      */
663 663
     public function setTimeout($type, $timeout) {
664
-        if(0 <= $type && $type <= 4) {
664
+        if (0 <= $type && $type <= 4) {
665 665
             return imap_timeout($type, $timeout);
666 666
         }
667 667
 
@@ -675,8 +675,8 @@  discard block
 block discarded – undo
675 675
      * @return mixed
676 676
      * @throws InvalidImapTimeoutTypeException
677 677
      */
678
-    public function getTimeout($type){
679
-        if(0 <= $type && $type <= 4) {
678
+    public function getTimeout($type) {
679
+        if (0 <= $type && $type <= 4) {
680 680
             return imap_timeout($type);
681 681
         }
682 682
 
@@ -686,7 +686,7 @@  discard block
 block discarded – undo
686 686
     /**
687 687
      * @return string
688 688
      */
689
-    public function getDefaultMessageMask(){
689
+    public function getDefaultMessageMask() {
690 690
         return $this->default_message_mask;
691 691
     }
692 692
 
@@ -697,7 +697,7 @@  discard block
 block discarded – undo
697 697
      * @throws MaskNotFoundException
698 698
      */
699 699
     public function setDefaultMessageMask($mask) {
700
-        if(class_exists($mask)) {
700
+        if (class_exists($mask)) {
701 701
             $this->default_message_mask = $mask;
702 702
 
703 703
             return $this;
@@ -709,7 +709,7 @@  discard block
 block discarded – undo
709 709
     /**
710 710
      * @return string
711 711
      */
712
-    public function getDefaultAttachmentMask(){
712
+    public function getDefaultAttachmentMask() {
713 713
         return $this->default_attachment_mask;
714 714
     }
715 715
 
@@ -720,7 +720,7 @@  discard block
 block discarded – undo
720 720
      * @throws MaskNotFoundException
721 721
      */
722 722
     public function setDefaultAttachmentMask($mask) {
723
-        if(class_exists($mask)) {
723
+        if (class_exists($mask)) {
724 724
             $this->default_attachment_mask = $mask;
725 725
 
726 726
             return $this;
@@ -734,7 +734,7 @@  discard block
 block discarded – undo
734 734
      *
735 735
      * @return Folder
736 736
      */
737
-    public function getFolderPath(){
737
+    public function getFolderPath() {
738 738
         return $this->active_folder;
739 739
     }
740 740
 }
Please login to merge, or discard this patch.