@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | * |
20 | 20 | */ |
21 | 21 | public function perform() { |
22 | - echo "[-] CreateEnvJob starting" . PHP_EOL; |
|
22 | + echo "[-] CreateEnvJob starting".PHP_EOL; |
|
23 | 23 | // This is a bit icky, but there is no easy way of capturing a failed deploy by using the PHP Resque |
24 | 24 | try { |
25 | 25 | $envCreate = DNCreateEnvironment::get()->byId($this->args['createID']); |
@@ -31,11 +31,11 @@ discard block |
||
31 | 31 | $envCreate->createEnvironment(); |
32 | 32 | |
33 | 33 | } catch(Exception $e) { |
34 | - echo "[-] CreateEnvJob failed" . PHP_EOL; |
|
34 | + echo "[-] CreateEnvJob failed".PHP_EOL; |
|
35 | 35 | throw $e; |
36 | 36 | } |
37 | 37 | $this->updateStatus('Finished'); |
38 | - echo "[-] CreateEnvJob finished" . PHP_EOL; |
|
38 | + echo "[-] CreateEnvJob finished".PHP_EOL; |
|
39 | 39 | } |
40 | 40 | |
41 | 41 | /** |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | */ |
90 | 90 | public function setEnvironmentDir($environmentDir) { |
91 | 91 | if($environmentDir[0] != "/") { |
92 | - $environmentDir = BASE_PATH . '/' . $environmentDir; |
|
92 | + $environmentDir = BASE_PATH.'/'.$environmentDir; |
|
93 | 93 | } |
94 | 94 | $this->environmentDir = realpath($environmentDir) ?: $environmentDir; |
95 | 95 | } |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | */ |
111 | 111 | public function setKeyDir($keyDir) { |
112 | 112 | if($keyDir[0] != "/") { |
113 | - $keyDir = BASE_PATH . '/' . $keyDir; |
|
113 | + $keyDir = BASE_PATH.'/'.$keyDir; |
|
114 | 114 | } |
115 | 115 | $this->keyDir = realpath($keyDir) ?: $keyDir; |
116 | 116 | } |
@@ -127,7 +127,7 @@ discard block |
||
127 | 127 | */ |
128 | 128 | public function setSignalDir($signalDir) { |
129 | 129 | if($signalDir[0] != "/") { |
130 | - $signalDir = BASE_PATH . '/' . $signalDir; |
|
130 | + $signalDir = BASE_PATH.'/'.$signalDir; |
|
131 | 131 | } |
132 | 132 | $this->signalDir = realpath($signalDir) ?: $signalDir; |
133 | 133 | } |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | */ |
170 | 170 | public function setDataTransferDir($transferDir) { |
171 | 171 | if($transferDir[0] != "/") { |
172 | - $transferDir = BASE_PATH . '/' . $transferDir; |
|
172 | + $transferDir = BASE_PATH.'/'.$transferDir; |
|
173 | 173 | } |
174 | 174 | if(strpos($transferDir, ASSETS_PATH) === false) { |
175 | 175 | throw new LogicException(sprintf( |
@@ -199,14 +199,14 @@ discard block |
||
199 | 199 | public function getProjectPaths() { |
200 | 200 | $paths = array(); |
201 | 201 | if(!file_exists($this->getEnvironmentDir())) { |
202 | - $eMessage = 'The environment directory ' . $this->getEnvironmentDir() . ' doesn\'t exist. Create it ' |
|
202 | + $eMessage = 'The environment directory '.$this->getEnvironmentDir().' doesn\'t exist. Create it ' |
|
203 | 203 | . 'first and add some projects to it.'; |
204 | 204 | throw new Exception($eMessage); |
205 | 205 | } |
206 | 206 | foreach(scandir($this->getEnvironmentDir()) as $project) { |
207 | 207 | // Exlcude dot-prefixed directories (.git was getting in the way) |
208 | 208 | if(preg_match('/^[^\.]/', $project)) { |
209 | - $path = $this->getEnvironmentDir() . '/' . $project; |
|
209 | + $path = $this->getEnvironmentDir().'/'.$project; |
|
210 | 210 | if(is_dir($path) && $project != '.' && $project != '..') { |
211 | 211 | $paths[] = $project; |
212 | 212 | } |
@@ -221,11 +221,11 @@ discard block |
||
221 | 221 | * Returns an array of paths |
222 | 222 | */ |
223 | 223 | public function getEnvironmentPaths($project) { |
224 | - $baseDir = $this->getEnvironmentDir() . '/' . $project; |
|
224 | + $baseDir = $this->getEnvironmentDir().'/'.$project; |
|
225 | 225 | |
226 | 226 | $paths = array(); |
227 | 227 | if(!file_exists($baseDir)) { |
228 | - throw new Exception('Environment directory ' . $baseDir . ' doesn\'t exist. Create it first.'); |
|
228 | + throw new Exception('Environment directory '.$baseDir.' doesn\'t exist. Create it first.'); |
|
229 | 229 | } |
230 | 230 | // Search the directory for config files. |
231 | 231 | foreach(scandir($baseDir) as $environmentFile) { |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | substr($sha, 0, 8), |
74 | 74 | $branch->LastUpdated()->TimeDiff() |
75 | 75 | ); |
76 | - $branches[$sha . '-' . $name] = $branchValue; |
|
76 | + $branches[$sha.'-'.$name] = $branchValue; |
|
77 | 77 | } |
78 | 78 | |
79 | 79 | // Tags |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | substr($sha, 0, 8), |
87 | 87 | $branch->LastUpdated()->TimeDiff() |
88 | 88 | ); |
89 | - $tags[$sha . '-' . $tag] = $tagValue; |
|
89 | + $tags[$sha.'-'.$tag] = $tagValue; |
|
90 | 90 | } |
91 | 91 | $tags = array_reverse($tags); |
92 | 92 |
@@ -307,10 +307,10 @@ discard block |
||
307 | 307 | } |
308 | 308 | // Must be logged in to check permissions |
309 | 309 | |
310 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
311 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_DEPLOYMENT, $member)) return true; |
|
310 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
311 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_DEPLOYMENT, $member)) return true; |
|
312 | 312 | } else { |
313 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_DEPLOYMENT, $member)) return true; |
|
313 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_DEPLOYMENT, $member)) return true; |
|
314 | 314 | } |
315 | 315 | |
316 | 316 | return $this->Deployers()->byID($member->ID) |
@@ -342,10 +342,10 @@ discard block |
||
342 | 342 | } |
343 | 343 | // Must be logged in to check permissions |
344 | 344 | |
345 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
346 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
345 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
346 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
347 | 347 | } else { |
348 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
348 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
349 | 349 | } |
350 | 350 | |
351 | 351 | return $this->CanRestoreMembers()->byID($member->ID) |
@@ -373,10 +373,10 @@ discard block |
||
373 | 373 | return false; |
374 | 374 | } |
375 | 375 | |
376 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
377 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
376 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
377 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
378 | 378 | } else { |
379 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
379 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
380 | 380 | } |
381 | 381 | |
382 | 382 | return $this->CanBackupMembers()->byID($member->ID) |
@@ -408,10 +408,10 @@ discard block |
||
408 | 408 | } |
409 | 409 | // Must be logged in to check permissions |
410 | 410 | |
411 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
412 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
411 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
412 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
413 | 413 | } else { |
414 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
414 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
415 | 415 | } |
416 | 416 | |
417 | 417 | return $this->ArchiveUploaders()->byID($member->ID) |
@@ -434,10 +434,10 @@ discard block |
||
434 | 434 | } |
435 | 435 | // Must be logged in to check permissions |
436 | 436 | |
437 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
438 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
437 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
438 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
439 | 439 | } else { |
440 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
440 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
441 | 441 | } |
442 | 442 | |
443 | 443 | return $this->ArchiveDownloaders()->byID($member->ID) |
@@ -460,10 +460,10 @@ discard block |
||
460 | 460 | } |
461 | 461 | // Must be logged in to check permissions |
462 | 462 | |
463 | - if ($this->Usage==='Production' || $this->Usage==='Unspecified') { |
|
464 | - if ($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
463 | + if($this->Usage === 'Production' || $this->Usage === 'Unspecified') { |
|
464 | + if($this->Project()->allowed(DNRoot::ALLOW_PROD_SNAPSHOT, $member)) return true; |
|
465 | 465 | } else { |
466 | - if ($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
466 | + if($this->Project()->allowed(DNRoot::ALLOW_NON_PROD_SNAPSHOT, $member)) return true; |
|
467 | 467 | } |
468 | 468 | |
469 | 469 | return $this->ArchiveDeleters()->byID($member->ID) |
@@ -653,7 +653,7 @@ discard block |
||
653 | 653 | * @return string |
654 | 654 | */ |
655 | 655 | public function Link() { |
656 | - return $this->Project()->Link() . "/environment/" . $this->Name; |
|
656 | + return $this->Project()->Link()."/environment/".$this->Name; |
|
657 | 657 | } |
658 | 658 | |
659 | 659 | /** |
@@ -798,7 +798,7 @@ discard block |
||
798 | 798 | ->buildPermissionField('ArchiveUploaderGroups', 'ArchiveUploaders', $groups, $members) |
799 | 799 | ->setTitle('Who can upload?') |
800 | 800 | ->setDescription( |
801 | - 'Users who can upload archives linked to this environment into Deploynaut.<br />' . |
|
801 | + 'Users who can upload archives linked to this environment into Deploynaut.<br />'. |
|
802 | 802 | 'Linking them to an environment allows limiting download permissions (see below).' |
803 | 803 | ), |
804 | 804 | |
@@ -845,7 +845,7 @@ discard block |
||
845 | 845 | // Add actions |
846 | 846 | $action = new FormAction('check', 'Check Connection'); |
847 | 847 | $action->setUseButtonTag(true); |
848 | - $dataURL = Director::absoluteBaseURL() . 'naut/api/' . $this->Project()->Name . '/' . $this->Name . '/ping'; |
|
848 | + $dataURL = Director::absoluteBaseURL().'naut/api/'.$this->Project()->Name.'/'.$this->Name.'/ping'; |
|
849 | 849 | $action->setAttribute('data-url', $dataURL); |
850 | 850 | $fields->insertBefore($action, 'Name'); |
851 | 851 | |
@@ -882,8 +882,8 @@ discard block |
||
882 | 882 | */ |
883 | 883 | public function onBeforeWrite() { |
884 | 884 | parent::onBeforeWrite(); |
885 | - if($this->Name && $this->Name . '.rb' != $this->Filename) { |
|
886 | - $this->Filename = $this->Name . '.rb'; |
|
885 | + if($this->Name && $this->Name.'.rb' != $this->Filename) { |
|
886 | + $this->Filename = $this->Name.'.rb'; |
|
887 | 887 | } |
888 | 888 | $this->checkEnvironmentPath(); |
889 | 889 | $this->writeConfigFile(); |
@@ -930,7 +930,7 @@ discard block |
||
930 | 930 | && $this->Filename |
931 | 931 | && $this->CreateEnvConfig |
932 | 932 | ) { |
933 | - $templateFile = $this->config()->template_file ?: BASE_PATH . '/deploynaut/environment.template'; |
|
933 | + $templateFile = $this->config()->template_file ?: BASE_PATH.'/deploynaut/environment.template'; |
|
934 | 934 | file_put_contents($this->getConfigFilename(), file_get_contents($templateFile)); |
935 | 935 | } else if($this->envFileExists() && $this->DeployConfig) { |
936 | 936 | file_put_contents($this->getConfigFilename(), $this->DeployConfig); |
@@ -985,7 +985,7 @@ discard block |
||
985 | 985 | if(!$this->Filename) { |
986 | 986 | return ''; |
987 | 987 | } |
988 | - return $this->DNData()->getEnvironmentDir() . '/' . $this->Project()->Name . '/' . $this->Filename; |
|
988 | + return $this->DNData()->getEnvironmentDir().'/'.$this->Project()->Name.'/'.$this->Filename; |
|
989 | 989 | } |
990 | 990 | |
991 | 991 | /** |
@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | |
20 | 20 | public function getModel($name) { |
21 | 21 | $deployment = $this->getDeployment(); |
22 | - if (!$deployment) { |
|
22 | + if(!$deployment) { |
|
23 | 23 | return []; |
24 | 24 | } |
25 | 25 | |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | public function getDeployment() { |
32 | 32 | $id = $this->request->param('Id'); |
33 | 33 | $deployment = DNDeployment::get()->byId($id); |
34 | - if (!$deployment || !$deployment->exists()) { |
|
34 | + if(!$deployment || !$deployment->exists()) { |
|
35 | 35 | return false; |
36 | 36 | } |
37 | 37 | return $deployment; |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | public function apply(SS_HTTPRequest $request) { |
41 | 41 | $this->checkSecurityToken(); |
42 | 42 | $response = $this->checkRequest(); |
43 | - if ($response instanceof SS_HTTPResponse) { |
|
43 | + if($response instanceof SS_HTTPResponse) { |
|
44 | 44 | return $response; |
45 | 45 | } |
46 | 46 | |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | public function canApply(SS_HTTPRequest $request) { |
55 | 55 | $this->checkSecurityToken(); |
56 | 56 | $response = $this->checkRequest(); |
57 | - if ($response instanceof SS_HTTPResponse) { |
|
57 | + if($response instanceof SS_HTTPResponse) { |
|
58 | 58 | return $response; |
59 | 59 | } |
60 | 60 | |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | } |
76 | 76 | |
77 | 77 | $deployment = $this->getDeployment(); |
78 | - if (!$deployment) { |
|
78 | + if(!$deployment) { |
|
79 | 79 | return new SS_HTTPResponse('Deployment not found', 404); |
80 | 80 | } |
81 | 81 | |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | |
85 | 85 | protected function getMachine() { |
86 | 86 | $deployment = $this->getDeployment(); |
87 | - if (!$deployment) { |
|
87 | + if(!$deployment) { |
|
88 | 88 | return null; |
89 | 89 | } |
90 | 90 | |
@@ -96,10 +96,10 @@ discard block |
||
96 | 96 | // It gives a chance to perform a dry-run, and reject the transition, for example |
97 | 97 | // in case the user is unauthorised. |
98 | 98 | 'finite.test_transition', |
99 | - function (Finite\Event\TransitionEvent $e) use ($project) { |
|
99 | + function(Finite\Event\TransitionEvent $e) use ($project) { |
|
100 | 100 | $code = null; |
101 | 101 | |
102 | - switch ($e->getTransition()->getName()) { |
|
102 | + switch($e->getTransition()->getName()) { |
|
103 | 103 | case 'approve': |
104 | 104 | $code = self::ALLOW_DNDEPLOYMENT_APPROVE; |
105 | 105 | break; |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | break; |
109 | 109 | } |
110 | 110 | |
111 | - if (!$code || !$project->allowed($code)) { |
|
111 | + if(!$code || !$project->allowed($code)) { |
|
112 | 112 | $e->reject(); |
113 | 113 | } |
114 | 114 | } |
@@ -58,17 +58,17 @@ |
||
58 | 58 | |
59 | 59 | protected function addHandlers($machine) { |
60 | 60 | $class = get_class($machine->getObject()); |
61 | - if (empty($this->config()->handlers[$class])) return; |
|
61 | + if(empty($this->config()->handlers[$class])) return; |
|
62 | 62 | |
63 | 63 | $transitions = $this->config()->handlers[$class]; |
64 | - foreach ($transitions as $transName => $handlers) { |
|
65 | - if (!is_array($handlers)) { |
|
64 | + foreach($transitions as $transName => $handlers) { |
|
65 | + if(!is_array($handlers)) { |
|
66 | 66 | throw new Exception(sprintf('Transition %s must be configured as an assoc array.', $transName)); |
67 | 67 | } |
68 | 68 | |
69 | - foreach ($handlers as $handlerClass => $handlerMethod) { |
|
69 | + foreach($handlers as $handlerClass => $handlerMethod) { |
|
70 | 70 | $handlerObj = Injector::inst()->get($handlerClass); |
71 | - if (!is_callable([$handlerObj, $handlerMethod])) { |
|
71 | + if(!is_callable([$handlerObj, $handlerMethod])) { |
|
72 | 72 | throw new Exception(sprintf('Handler %s is not callable on %s.', $handlerMethod, $handlerClass)); |
73 | 73 | } |
74 | 74 | $machine->getDispatcher()->addListener( |
@@ -12,7 +12,7 @@ |
||
12 | 12 | protected function sendEmailToApprover(DNDeployment $deployment) { |
13 | 13 | $deployer = $deployment->Deployer(); |
14 | 14 | $approver = $deployment->Approver(); |
15 | - if (!$approver || !$approver->exists()) { |
|
15 | + if(!$approver || !$approver->exists()) { |
|
16 | 16 | return false; |
17 | 17 | } |
18 | 18 |
@@ -4,28 +4,28 @@ |
||
4 | 4 | |
5 | 5 | public function run($request) { |
6 | 6 | $log = function($message) { |
7 | - $message = sprintf('[%s] ', date('Y-m-d H:i:s')) . $message; |
|
8 | - echo $message . PHP_EOL; |
|
7 | + $message = sprintf('[%s] ', date('Y-m-d H:i:s')).$message; |
|
8 | + echo $message.PHP_EOL; |
|
9 | 9 | }; |
10 | 10 | |
11 | - if (!Director::is_cli()) { |
|
11 | + if(!Director::is_cli()) { |
|
12 | 12 | $log('This command can only run via CLI'); |
13 | 13 | return; |
14 | 14 | } |
15 | 15 | |
16 | 16 | $columns = DB::query('SHOW COLUMNS FROM "DNDeployment"')->column(); |
17 | - if (!in_array('Status', $columns)) { |
|
17 | + if(!in_array('Status', $columns)) { |
|
18 | 18 | $log('Migration has already been run'); |
19 | 19 | return; |
20 | 20 | } |
21 | 21 | |
22 | - foreach (DB::query('SELECT "ID", "Status" FROM "DNDeployment"') as $record) { |
|
22 | + foreach(DB::query('SELECT "ID", "Status" FROM "DNDeployment"') as $record) { |
|
23 | 23 | // This record looks to be already migrated |
24 | - if (empty($record['Status'])) { |
|
24 | + if(empty($record['Status'])) { |
|
25 | 25 | continue; |
26 | 26 | } |
27 | 27 | |
28 | - switch ($record['Status']) { |
|
28 | + switch($record['Status']) { |
|
29 | 29 | case 'Queued': |
30 | 30 | DB::query(sprintf('UPDATE "DNDeployment" SET "State" = \'Queued\' WHERE "ID" = %s', $record['ID'])); |
31 | 31 | break; |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | } |
101 | 101 | |
102 | 102 | public function LogLink() { |
103 | - return $this->Link() . '/log'; |
|
103 | + return $this->Link().'/log'; |
|
104 | 104 | } |
105 | 105 | |
106 | 106 | public function canView($member = null) { |
@@ -219,12 +219,12 @@ discard block |
||
219 | 219 | */ |
220 | 220 | public function getFullDeployMessages() { |
221 | 221 | $strategy = $this->getDeploymentStrategy(); |
222 | - if ($strategy->getActionCode()!=='full') return null; |
|
222 | + if($strategy->getActionCode() !== 'full') return null; |
|
223 | 223 | |
224 | 224 | $changes = $strategy->getChangesModificationNeeded(); |
225 | 225 | $messages = []; |
226 | - foreach ($changes as $change => $details) { |
|
227 | - if ($change==='Code version') continue; |
|
226 | + foreach($changes as $change => $details) { |
|
227 | + if($change === 'Code version') continue; |
|
228 | 228 | |
229 | 229 | $messages[] = [ |
230 | 230 | 'Flag' => sprintf( |
@@ -235,7 +235,7 @@ discard block |
||
235 | 235 | ]; |
236 | 236 | } |
237 | 237 | |
238 | - if (empty($messages)) { |
|
238 | + if(empty($messages)) { |
|
239 | 239 | $messages[] = [ |
240 | 240 | 'Flag' => '', |
241 | 241 | 'Text' => '<i>Environment changes have been made.</i>' |
@@ -284,7 +284,7 @@ discard block |
||
284 | 284 | |
285 | 285 | // if there is a compare URL, and a description or a change (something actually changed) |
286 | 286 | // then show the URL. Otherwise don't show anything, as there is no comparison to be made. |
287 | - if ($changed || $description) { |
|
287 | + if($changed || $description) { |
|
288 | 288 | $compareUrl = isset($change['compareUrl']) ? $change['compareUrl'] : ''; |
289 | 289 | } |
290 | 290 | |
@@ -348,7 +348,7 @@ discard block |
||
348 | 348 | |
349 | 349 | public function getSigFile() { |
350 | 350 | $dir = DNData::inst()->getSignalDir(); |
351 | - if (!is_dir($dir)) { |
|
351 | + if(!is_dir($dir)) { |
|
352 | 352 | `mkdir $dir`; |
353 | 353 | } |
354 | 354 | return sprintf( |