Completed
Push — master ( 1dd0de...7202af )
by claudio
08:27
created
app/Console/Commands/Optimise/Optimise.php 2 patches
Doc Comments   +7 added lines, -6 removed lines patch added patch discarded remove patch
@@ -291,11 +291,11 @@  discard block
 block discarded – undo
291 291
 
292 292
     /**
293 293
      * @param \Illuminate\Support\Collection $timeSlots
294
-     * @param bool|true $free if true the array is filled with 1 for timeslots values else with 0 for timeslots values
295
-     * @param array $ids array of ids that we consider, if they are not present inside timeSlots we fill the entire row
294
+     * @param boolean $free if true the array is filled with 1 for timeslots values else with 0 for timeslots values
295
+     * @param string[] $ids array of ids that we consider, if they are not present inside timeSlots we fill the entire row
296 296
      *      with the default value
297 297
      * @param int $timeSlotsN number of timeslots
298
-     * @return array
298
+     * @return string[]
299 299
      */
300 300
     static private function getAvailabilityArray(\Illuminate\Support\Collection $timeSlots, $timeSlotsN, array $ids, $free = true)
301 301
     {
@@ -344,6 +344,7 @@  discard block
 block discarded – undo
344 344
      * @param array $array
345 345
      * @param int $id
346 346
      * @param string $fill
347
+     * @param integer $until
347 348
      * @return array
348 349
      */
349 350
     static private function fillRow(array $array, $id, $until, $fill = '0')
@@ -396,10 +397,10 @@  discard block
 block discarded – undo
396 397
     }
397 398
 
398 399
     /**
399
-     * @param array $users
400
-     * @param array $meetings
400
+     * @param string[] $users
401
+     * @param string[] $meetings
401 402
      * @param \Illuminate\Support\Collection $usersMeetings
402
-     * @return array
403
+     * @return string[]
403 404
      */
404 405
     static private function getUsersMeetingsArray($users, $meetings, \Illuminate\Support\Collection $usersMeetings)
405 406
     {
Please login to merge, or discard this patch.
Spacing   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -85,8 +85,8 @@  discard block
 block discarded – undo
85 85
     {
86 86
         $this->startTime = clone $startTime;
87 87
         $this->endTime = clone $this->startTime;
88
-        $this->endTime->add(new \DateInterval('PT' . ($this->time_slots *
89
-                config('app.timeslots.duration')) . 'S'));
88
+        $this->endTime->add(new \DateInterval('PT'.($this->time_slots *
89
+                config('app.timeslots.duration')).'S'));
90 90
     }
91 91
 
92 92
     /**
@@ -158,11 +158,11 @@  discard block
 block discarded – undo
158 158
             $solver = $this->setData($solver);
159 159
             $solver = $solver->solve();
160 160
             $this->solver = $solver;
161
-        }catch(OptimiseException $e) {
162
-            if(!$e->isEmpty())
161
+        } catch (OptimiseException $e) {
162
+            if (!$e->isEmpty())
163 163
                 \Event::fire(new ErrorEvent($this->company, $e->getMessage()));
164 164
             throw $e;
165
-        }catch (\Exception $e) {
165
+        } catch (\Exception $e) {
166 166
             //TODO use the correct exceptions to avoid to share private data
167 167
             \Event::fire(new ErrorEvent($this->company, $e->getMessage()));
168 168
             throw new OptimiseException('Optimising error', 0, $e);
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
     {
208 208
         //since we consider busy timeslots, we need to get all users
209 209
         $users = $this->company->employees->pluck('id')->toArray();
210
-        if(count($users) == 0)
210
+        if (count($users) == 0)
211 211
             throw ((new OptimiseException("No users for this company"))->withEmpty(true));
212 212
         return $solver->setUsers($users);
213 213
     }
@@ -223,9 +223,9 @@  discard block
 block discarded – undo
223 223
          * @var $meetings \Illuminate\Support\Collection
224 224
          */
225 225
         $meetings = collect($this->company->getMeetingsTimeSlots($this->startTime, $this->endTime));
226
-        if($meetings->count() == 0)
226
+        if ($meetings->count() == 0)
227 227
             throw ((new OptimiseException("No meetings for this week"))->withEmpty(true));
228
-        $timeslots = $meetings->groupBy('id')->map(function ($item) { //convert timeslots
228
+        $timeslots = $meetings->groupBy('id')->map(function($item) { //convert timeslots
229 229
             return $this->durationConverter($this->timeSlotsConverter($item));
230 230
         });
231 231
         return $solver->setMeetings($timeslots->keys()->toArray())
@@ -240,8 +240,8 @@  discard block
 block discarded – undo
240 240
      */
241 241
     private function durationConverter($item)
242 242
     {
243
-        return $item->each(function ($item2) {
244
-            $item2->duration = $this->convertDuration((int)$item2->duration);
243
+        return $item->each(function($item2) {
244
+            $item2->duration = $this->convertDuration((int) $item2->duration);
245 245
             return $item2;
246 246
             //TODO try catch
247 247
         });
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
      */
254 254
     static private function convertDuration($duration)
255 255
     {
256
-        return (int)ceil($duration / config('app.timeslots.duration'));
256
+        return (int) ceil($duration / config('app.timeslots.duration'));
257 257
     }
258 258
 
259 259
     /**
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
      */
263 263
     private function timeSlotsConverter($item)
264 264
     {
265
-        return $item->each(function ($item2) {
265
+        return $item->each(function($item2) {
266 266
             $item2->time_start = $this->toTimeSlot($item2->time_start);
267 267
             $item2->time_end = $this->toTimeSlot($item2->time_end);
268 268
             return $item2;
@@ -280,13 +280,13 @@  discard block
 block discarded – undo
280 280
         $dateTime = new \DateTime($time);
281 281
         $diff = $dateTime->diff($this->startTime);
282 282
         $diff = explode(':', $diff->format('%R:%d:%h:%i:%s'));
283
-        $diff = $diff[1] * 86400 + $diff[2] * 3600 + $diff[3] * 60 + $diff[4];
283
+        $diff = $diff[ 1 ] * 86400 + $diff[ 2 ] * 3600 + $diff[ 3 ] * 60 + $diff[ 4 ];
284 284
         //if($diff[0] != '-' && $diff != 0)
285 285
         //  throw new OptimiseException('timeslot time <= startTime');
286 286
         //TODO fix check
287 287
         //TODO check if diff makes sense
288 288
         //TODO check upper limit
289
-        return (int)(round($diff / config('app.timeslots.duration')) + 1); //TODO can round cause overlaps?
289
+        return (int) (round($diff / config('app.timeslots.duration')) + 1); //TODO can round cause overlaps?
290 290
     }
291 291
 
292 292
     /**
@@ -299,10 +299,10 @@  discard block
 block discarded – undo
299 299
      */
300 300
     static private function getAvailabilityArray(\Illuminate\Support\Collection $timeSlots, $timeSlotsN, array $ids, $free = true)
301 301
     {
302
-        $ret = [];
302
+        $ret = [ ];
303 303
         foreach ($ids as $id) {
304
-            if(isset($timeSlots[$id]))
305
-                $ret = self::fillTimeSlots($ret, $id, $timeSlots[$id], $free ? '1' : '0');
304
+            if (isset($timeSlots[ $id ]))
305
+                $ret = self::fillTimeSlots($ret, $id, $timeSlots[ $id ], $free ? '1' : '0');
306 306
             $ret = self::fillRow($ret, $id, $timeSlotsN, $free ? '0' : '1');
307 307
         }
308 308
 
@@ -319,9 +319,9 @@  discard block
 block discarded – undo
319 319
     static private function fillTimeSlots(array $array, $id, \Illuminate\Support\Collection $timeSlots, $fill = '0')
320 320
     {
321 321
         foreach ($timeSlots as $timeSlot) {
322
-            if (!isset($array[$id]))
323
-                $array[$id] = [];
324
-            $array[$id] = self::arrayPadInterval($array[$id], $timeSlot->time_start, $timeSlot->time_end, $fill);
322
+            if (!isset($array[ $id ]))
323
+                $array[ $id ] = [ ];
324
+            $array[ $id ] = self::arrayPadInterval($array[ $id ], $timeSlot->time_start, $timeSlot->time_end, $fill);
325 325
         }
326 326
         return $array;
327 327
     }
@@ -336,7 +336,7 @@  discard block
 block discarded – undo
336 336
     static private function arrayPadInterval(array $array, $from, $to, $pad = '0')
337 337
     {
338 338
         for ($i = $from; $i < $to; $i++)
339
-            $array[$i] = $pad;
339
+            $array[ $i ] = $pad;
340 340
         return $array;
341 341
     }
342 342
 
@@ -349,8 +349,8 @@  discard block
 block discarded – undo
349 349
     static private function fillRow(array $array, $id, $until, $fill = '0')
350 350
     {
351 351
         for ($i = 1; $i <= $until; $i++) {
352
-            if (!isset($array[$id][$i]))
353
-                $array[$id][$i] = $fill;
352
+            if (!isset($array[ $id ][ $i ]))
353
+                $array[ $id ][ $i ] = $fill;
354 354
         }
355 355
 
356 356
         return $array;
@@ -369,7 +369,7 @@  discard block
 block discarded – undo
369 369
         $users = collect($this->company->getEmployeesTimeSlots($this->startTime, $this->endTime));
370 370
         //if($users->count() == 0)
371 371
         //    throw ((new OptimiseException("No users for this company"))->withEmpty(true));
372
-        $timeslots = $users->groupBy('id')->map(function ($item) { //convert timeslots
372
+        $timeslots = $users->groupBy('id')->map(function($item) { //convert timeslots
373 373
             return $this->timeSlotsConverter($item);
374 374
         });
375 375
         return $solver->setUsersAvailability(self::getAvailabilityArray($timeslots, $this->time_slots, $solver->getUsers(),
@@ -389,7 +389,7 @@  discard block
 block discarded – undo
389 389
          * @var $usersMeetings \Illuminate\Support\Collection
390 390
          */
391 391
         $usersMeetings = collect($this->company->getUsersMeetings($users, $meetings))->groupBy('employee_id');
392
-        if($usersMeetings->count() == 0)
392
+        if ($usersMeetings->count() == 0)
393 393
             throw ((new OptimiseException("No users for any meeting"))->withEmpty(true));
394 394
 
395 395
         return $solver->setUsersMeetings(self::getUsersMeetingsArray($users, $meetings, $usersMeetings));
@@ -403,14 +403,14 @@  discard block
 block discarded – undo
403 403
      */
404 404
     static private function getUsersMeetingsArray($users, $meetings, \Illuminate\Support\Collection $usersMeetings)
405 405
     {
406
-        $ret = [];
406
+        $ret = [ ];
407 407
         foreach ($users as $user) {
408 408
             $usersMeetingsTmp = $usersMeetings->get($user);
409 409
             foreach ($meetings as $meeting) {
410 410
                 if ($usersMeetingsTmp != null && $usersMeetingsTmp->contains('meeting_id', $meeting)) {
411
-                    $ret[$user][$meeting] = 1;
411
+                    $ret[ $user ][ $meeting ] = 1;
412 412
                 } else {
413
-                    $ret[$user][$meeting] = 0;
413
+                    $ret[ $user ][ $meeting ] = 0;
414 414
                 }
415 415
             }
416 416
         }
@@ -453,7 +453,7 @@  discard block
 block discarded – undo
453 453
     {
454 454
         $meetings = $solver->getYResults();
455 455
         foreach ($meetings as $id => $meeting) {
456
-            $meetingO = \plunner\Meeting::findOrFail($id);//TODO catch error
456
+            $meetingO = \plunner\Meeting::findOrFail($id); //TODO catch error
457 457
             $meetingO->start_time = $this->toDateTime(array_search('1', $meeting));
458 458
             $meetingO->save();
459 459
         }
@@ -469,7 +469,7 @@  discard block
 block discarded – undo
469 469
         //TODO check, because the meetings cannot have this date available -> this to avoid errors if we don't have a date for a meeting
470 470
         if ($timeslot <= 1) //false == 0
471 471
             return $ret;
472
-        return $ret->add(new \DateInterval('PT' . (($timeslot - 1) * config('app.timeslots.duration')) . 'S'));
472
+        return $ret->add(new \DateInterval('PT'.(($timeslot - 1) * config('app.timeslots.duration')).'S'));
473 473
     }
474 474
 
475 475
     /**
@@ -481,7 +481,7 @@  discard block
 block discarded – undo
481 481
         foreach ($employeesMeetings as $eId => $employeeMeetings) {
482 482
             $employee = \plunner\Employee::findOrFail($eId);
483 483
             $employeeMeetings = collect($employeeMeetings);
484
-            $employeeMeetings = $employeeMeetings->filter(function ($item) {
484
+            $employeeMeetings = $employeeMeetings->filter(function($item) {
485 485
                 return $item == 1;
486 486
             });
487 487
             $employee->meetings()->attach($employeeMeetings->keys()->toArray());
Please login to merge, or discard this patch.
app/Console/Commands/Optimise/Solver.php 2 patches
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
     public function setTimeSlots($timeSlots)
195 195
     {
196 196
         if (!is_int($timeSlots) || $timeSlots <= 0)
197
-            throw new OptimiseException($timeSlots . ' is not integer or it is not >0');
197
+            throw new OptimiseException($timeSlots.' is not integer or it is not >0');
198 198
 
199 199
         $this->timeSlots = $timeSlots;
200 200
         return $this;
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
     public function setMaxTimeSlots($maxTimeSlots)
217 217
     {
218 218
         if (!is_int($maxTimeSlots) || $maxTimeSlots <= 0)
219
-            throw new OptimiseException($maxTimeSlots . ' is not integer or it is not >0');
219
+            throw new OptimiseException($maxTimeSlots.' is not integer or it is not >0');
220 220
 
221 221
         $this->maxTimeSlots = $maxTimeSlots;
222 222
         return $this;
@@ -241,11 +241,11 @@  discard block
 block discarded – undo
241 241
         if (array_diff($meetings, $this->meetings))
242 242
             throw new OptimiseException('meetings different from meetings set');
243 243
         foreach ($meetingsAvailability as $key => $meetingsAvailabilityS) {
244
-            $timeSlots = array_keys($meetingsAvailabilityS);//TODO this is useless, we can use directly $usersAvailabilityS
244
+            $timeSlots = array_keys($meetingsAvailabilityS); //TODO this is useless, we can use directly $usersAvailabilityS
245 245
             //TODO check if keys are sequential and the last is the same with $this->timeSlots
246 246
             if (count($timeSlots) != $this->timeSlots)
247 247
                 throw new OptimiseException('timeSlots different from timeSlots set');
248
-            $meetingsAvailability[$key] = self::arrayPad($meetingsAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
248
+            $meetingsAvailability[ $key ] = self::arrayPad($meetingsAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
249 249
         }
250 250
 
251 251
         $this->meetingsAvailability = $meetingsAvailability;
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
     {
263 263
         $len = $len - count($array);
264 264
         for ($i = 0; $i < $len; $i++)
265
-            $array[] = $pad;
265
+            $array[ ] = $pad;
266 266
         return $array;
267 267
     }
268 268
 
@@ -286,7 +286,7 @@  discard block
 block discarded – undo
286 286
             throw new OptimiseException('meetings different from meetings set');
287 287
         }
288 288
         foreach ($meetingsDuration as $duration) {
289
-            $duration = (int)$duration; //TODO fix this (fix for optimise)
289
+            $duration = (int) $duration; //TODO fix this (fix for optimise)
290 290
             if (!is_int($duration) || $duration <= 0)
291 291
                 throw new OptimiseException('duration is not integer or it is not >0');
292 292
         }
@@ -314,11 +314,11 @@  discard block
 block discarded – undo
314 314
         if (array_diff($users, $this->users))
315 315
             throw new OptimiseException('users different from users set');
316 316
         foreach ($usersAvailability as $key => $usersAvailabilityS) {
317
-            $timeSlots = array_keys($usersAvailabilityS);//TODO this is useless, we can use directly $usersAvailabilityS
317
+            $timeSlots = array_keys($usersAvailabilityS); //TODO this is useless, we can use directly $usersAvailabilityS
318 318
             if (count($timeSlots) != $this->timeSlots)
319 319
                 throw new OptimiseException('timeSlots different from timeSlots set');
320 320
 
321
-            $usersAvailability[$key] = self::arrayPad($usersAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
321
+            $usersAvailability[ $key ] = self::arrayPad($usersAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
322 322
         }
323 323
 
324 324
         $this->usersAvailability = $usersAvailability;
@@ -361,7 +361,7 @@  discard block
 block discarded – undo
361 361
     {
362 362
         $this->writeData();
363 363
         $this->writeModelFile();
364
-        $event = $this->schedule->exec('glpsol --math ' . $this->path->getModelPath())->sendOutputTo($this->path->getOutputPath())->after(function () {
364
+        $event = $this->schedule->exec('glpsol --math '.$this->path->getModelPath())->sendOutputTo($this->path->getOutputPath())->after(function() {
365 365
         }); //this just to execute in foreground
366 366
         if ($event->isDue($this->laravel))
367 367
             $event->run($this->laravel);
@@ -388,8 +388,8 @@  discard block
 block discarded – undo
388 388
      */
389 389
     private function checkData()
390 390
     {
391
-        $this->checkArrayProprieties(['users', 'meetings', 'meetingsAvailability', 'meetingsDuration', 'usersAvailability', 'usersMeetings']);
392
-        $this->checkIntProprieties(['timeSlots', 'maxTimeSlots']);
391
+        $this->checkArrayProprieties([ 'users', 'meetings', 'meetingsAvailability', 'meetingsDuration', 'usersAvailability', 'usersMeetings' ]);
392
+        $this->checkIntProprieties([ 'timeSlots', 'maxTimeSlots' ]);
393 393
     }
394 394
 
395 395
     /**
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
     {
401 401
         foreach ($proprieties as $propriety)
402 402
             if (count($this->$propriety) == 0)
403
-                throw new OptimiseException($propriety . ' property is not set correctly');
403
+                throw new OptimiseException($propriety.' property is not set correctly');
404 404
     }
405 405
 
406 406
     /**
@@ -411,7 +411,7 @@  discard block
 block discarded – undo
411 411
     {
412 412
         foreach ($proprieties as $propriety)
413 413
             if (!is_int($this->$propriety) || $this->$propriety <= 0)
414
-                throw new OptimiseException($propriety . ' property is not set correctly');
414
+                throw new OptimiseException($propriety.' property is not set correctly');
415 415
     }
416 416
 
417 417
     /**
@@ -429,13 +429,13 @@  discard block
 block discarded – undo
429 429
      */
430 430
     static private function writeCSVArrayNoKey($file, $data)
431 431
     {
432
-        $f = function ($fp, $data) {
432
+        $f = function($fp, $data) {
433 433
             foreach ($data as $field) {
434
-                fputcsv($fp, [$field]);
434
+                fputcsv($fp, [ $field ]);
435 435
             }
436 436
         };
437 437
 
438
-        self::writeCSV($file, $data, ['i'], $f);
438
+        self::writeCSV($file, $data, [ 'i' ], $f);
439 439
     }
440 440
 
441 441
     /**
@@ -484,13 +484,13 @@  discard block
 block discarded – undo
484 484
      */
485 485
     static private function writeCSVArray($file, $data, $name)
486 486
     {
487
-        $f = function ($fp, $data) {
487
+        $f = function($fp, $data) {
488 488
             foreach ($data as $key => $field) {
489
-                fputcsv($fp, [$key, $field]);
489
+                fputcsv($fp, [ $key, $field ]);
490 490
             }
491 491
         };
492 492
 
493
-        self::writeCSV($file, $data, ['i', $name], $f);
493
+        self::writeCSV($file, $data, [ 'i', $name ], $f);
494 494
     }
495 495
 
496 496
     /**
@@ -509,14 +509,14 @@  discard block
 block discarded – undo
509 509
      */
510 510
     static private function writeCSVMatrix($file, $data, $name)
511 511
     {
512
-        $f = function ($fp, $data) {
512
+        $f = function($fp, $data) {
513 513
             foreach ($data as $key => $field) {
514 514
                 foreach ($field as $key2 => $field2)
515
-                    fputcsv($fp, [$key, $key2, $field2]);
515
+                    fputcsv($fp, [ $key, $key2, $field2 ]);
516 516
             }
517 517
         };
518 518
 
519
-        self::writeCSV($file, $data, ['i', 'j', $name], $f);
519
+        self::writeCSV($file, $data, [ 'i', 'j', $name ], $f);
520 520
     }
521 521
 
522 522
     /**
@@ -545,7 +545,7 @@  discard block
 block discarded – undo
545 545
         $f = @fopen($this->path->getModelPath(), "w");
546 546
         if (!$f)
547 547
             throw new OptimiseException('problem during creation of a file');
548
-        fwrite($f, str_replace($strReplaceS, $strReplaceR, file_get_contents(__DIR__ . "/model.stub")));
548
+        fwrite($f, str_replace($strReplaceS, $strReplaceR, file_get_contents(__DIR__."/model.stub")));
549 549
         fclose($f);
550 550
     }
551 551
 
@@ -572,7 +572,7 @@  discard block
 block discarded – undo
572 572
         if (!$handle)
573 573
             throw new OptimiseException('problems during reading the file');
574 574
 
575
-        $ret = [];
575
+        $ret = [ ];
576 576
         fgetcsv($handle); //skip head
577 577
         while (($data = fgetcsv($handle)) !== FALSE) {
578 578
             if (count($data) != 3) {
@@ -580,7 +580,7 @@  discard block
 block discarded – undo
580 580
                 throw new OptimiseException('problems during parsing the file');
581 581
             }
582 582
 
583
-            $ret[$data[0]][$data[1]] = $data[2];
583
+            $ret[ $data[ 0 ] ][ $data[ 1 ] ] = $data[ 2 ];
584 584
         }
585 585
 
586 586
         fclose($handle);
Please login to merge, or discard this patch.
Braces   +60 added lines, -40 removed lines patch added patch discarded remove patch
@@ -104,8 +104,9 @@  discard block
 block discarded – undo
104 104
      */
105 105
     static private function checkGlpsol()
106 106
     {
107
-        if (!(`which glpsol`))
108
-            throw new OptimiseException('glpsol is not installed');
107
+        if (!(`which glpsol`)) {
108
+                    throw new OptimiseException('glpsol is not installed');
109
+        }
109 110
     }
110 111
 
111 112
     /**
@@ -193,8 +194,9 @@  discard block
 block discarded – undo
193 194
      */
194 195
     public function setTimeSlots($timeSlots)
195 196
     {
196
-        if (!is_int($timeSlots) || $timeSlots <= 0)
197
-            throw new OptimiseException($timeSlots . ' is not integer or it is not >0');
197
+        if (!is_int($timeSlots) || $timeSlots <= 0) {
198
+                    throw new OptimiseException($timeSlots . ' is not integer or it is not >0');
199
+        }
198 200
 
199 201
         $this->timeSlots = $timeSlots;
200 202
         return $this;
@@ -215,8 +217,9 @@  discard block
 block discarded – undo
215 217
      */
216 218
     public function setMaxTimeSlots($maxTimeSlots)
217 219
     {
218
-        if (!is_int($maxTimeSlots) || $maxTimeSlots <= 0)
219
-            throw new OptimiseException($maxTimeSlots . ' is not integer or it is not >0');
220
+        if (!is_int($maxTimeSlots) || $maxTimeSlots <= 0) {
221
+                    throw new OptimiseException($maxTimeSlots . ' is not integer or it is not >0');
222
+        }
220 223
 
221 224
         $this->maxTimeSlots = $maxTimeSlots;
222 225
         return $this;
@@ -238,13 +241,15 @@  discard block
 block discarded – undo
238 241
     public function setMeetingsAvailability($meetingsAvailability)
239 242
     {
240 243
         $meetings = array_keys($meetingsAvailability);
241
-        if (array_diff($meetings, $this->meetings))
242
-            throw new OptimiseException('meetings different from meetings set');
244
+        if (array_diff($meetings, $this->meetings)) {
245
+                    throw new OptimiseException('meetings different from meetings set');
246
+        }
243 247
         foreach ($meetingsAvailability as $key => $meetingsAvailabilityS) {
244 248
             $timeSlots = array_keys($meetingsAvailabilityS);//TODO this is useless, we can use directly $usersAvailabilityS
245 249
             //TODO check if keys are sequential and the last is the same with $this->timeSlots
246
-            if (count($timeSlots) != $this->timeSlots)
247
-                throw new OptimiseException('timeSlots different from timeSlots set');
250
+            if (count($timeSlots) != $this->timeSlots) {
251
+                            throw new OptimiseException('timeSlots different from timeSlots set');
252
+            }
248 253
             $meetingsAvailability[$key] = self::arrayPad($meetingsAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
249 254
         }
250 255
 
@@ -261,8 +266,9 @@  discard block
 block discarded – undo
261 266
     static private function arrayPad(array $array, $len, $pad)
262 267
     {
263 268
         $len = $len - count($array);
264
-        for ($i = 0; $i < $len; $i++)
265
-            $array[] = $pad;
269
+        for ($i = 0; $i < $len; $i++) {
270
+                    $array[] = $pad;
271
+        }
266 272
         return $array;
267 273
     }
268 274
 
@@ -287,8 +293,9 @@  discard block
 block discarded – undo
287 293
         }
288 294
         foreach ($meetingsDuration as $duration) {
289 295
             $duration = (int)$duration; //TODO fix this (fix for optimise)
290
-            if (!is_int($duration) || $duration <= 0)
291
-                throw new OptimiseException('duration is not integer or it is not >0');
296
+            if (!is_int($duration) || $duration <= 0) {
297
+                            throw new OptimiseException('duration is not integer or it is not >0');
298
+            }
292 299
         }
293 300
 
294 301
         $this->meetingsDuration = $meetingsDuration;
@@ -311,12 +318,14 @@  discard block
 block discarded – undo
311 318
     public function setUsersAvailability($usersAvailability)
312 319
     {
313 320
         $users = array_keys($usersAvailability);
314
-        if (array_diff($users, $this->users))
315
-            throw new OptimiseException('users different from users set');
321
+        if (array_diff($users, $this->users)) {
322
+                    throw new OptimiseException('users different from users set');
323
+        }
316 324
         foreach ($usersAvailability as $key => $usersAvailabilityS) {
317 325
             $timeSlots = array_keys($usersAvailabilityS);//TODO this is useless, we can use directly $usersAvailabilityS
318
-            if (count($timeSlots) != $this->timeSlots)
319
-                throw new OptimiseException('timeSlots different from timeSlots set');
326
+            if (count($timeSlots) != $this->timeSlots) {
327
+                            throw new OptimiseException('timeSlots different from timeSlots set');
328
+            }
320 329
 
321 330
             $usersAvailability[$key] = self::arrayPad($usersAvailabilityS, $this->timeSlots + $this->maxTimeSlots, 0);
322 331
         }
@@ -341,12 +350,14 @@  discard block
 block discarded – undo
341 350
     public function setUsersMeetings($usersMeetings)
342 351
     {
343 352
         $users = array_keys($usersMeetings);
344
-        if (array_diff($users, $this->users))
345
-            throw new OptimiseException('users different from users set');
353
+        if (array_diff($users, $this->users)) {
354
+                    throw new OptimiseException('users different from users set');
355
+        }
346 356
         foreach ($usersMeetings as $usersMeetingsS) {
347 357
             $meetings = array_keys($usersMeetingsS);
348
-            if (array_diff($meetings, $this->meetings))
349
-                throw new OptimiseException('meetings different from meetings set');
358
+            if (array_diff($meetings, $this->meetings)) {
359
+                            throw new OptimiseException('meetings different from meetings set');
360
+            }
350 361
         }
351 362
 
352 363
         $this->usersMeetings = $usersMeetings;
@@ -363,8 +374,9 @@  discard block
 block discarded – undo
363 374
         $this->writeModelFile();
364 375
         $event = $this->schedule->exec('glpsol --math ' . $this->path->getModelPath())->sendOutputTo($this->path->getOutputPath())->after(function () {
365 376
         }); //this just to execute in foreground
366
-        if ($event->isDue($this->laravel))
367
-            $event->run($this->laravel);
377
+        if ($event->isDue($this->laravel)) {
378
+                    $event->run($this->laravel);
379
+        }
368 380
         //TODO catch glpsol errors
369 381
         return $this;
370 382
     }
@@ -398,9 +410,10 @@  discard block
 block discarded – undo
398 410
      */
399 411
     private function checkArrayProprieties($proprieties)
400 412
     {
401
-        foreach ($proprieties as $propriety)
402
-            if (count($this->$propriety) == 0)
413
+        foreach ($proprieties as $propriety) {
414
+                    if (count($this->$propriety) == 0)
403 415
                 throw new OptimiseException($propriety . ' property is not set correctly');
416
+        }
404 417
     }
405 418
 
406 419
     /**
@@ -409,9 +422,10 @@  discard block
 block discarded – undo
409 422
      */
410 423
     private function checkIntProprieties($proprieties)
411 424
     {
412
-        foreach ($proprieties as $propriety)
413
-            if (!is_int($this->$propriety) || $this->$propriety <= 0)
425
+        foreach ($proprieties as $propriety) {
426
+                    if (!is_int($this->$propriety) || $this->$propriety <= 0)
414 427
                 throw new OptimiseException($propriety . ' property is not set correctly');
428
+        }
415 429
     }
416 430
 
417 431
     /**
@@ -448,8 +462,9 @@  discard block
 block discarded – undo
448 462
     static private function writeCSV($file, $data, $heading, \Closure $writer)
449 463
     {
450 464
         $fp = @fopen($file, 'w');
451
-        if (!$fp)
452
-            throw new OptimiseException('problem during creation of a file');
465
+        if (!$fp) {
466
+                    throw new OptimiseException('problem during creation of a file');
467
+        }
453 468
 
454 469
         fputcsv($fp, $heading);
455 470
 
@@ -511,8 +526,9 @@  discard block
 block discarded – undo
511 526
     {
512 527
         $f = function ($fp, $data) {
513 528
             foreach ($data as $key => $field) {
514
-                foreach ($field as $key2 => $field2)
515
-                    fputcsv($fp, [$key, $key2, $field2]);
529
+                foreach ($field as $key2 => $field2) {
530
+                                    fputcsv($fp, [$key, $key2, $field2]);
531
+                }
516 532
             }
517 533
         };
518 534
 
@@ -543,8 +559,9 @@  discard block
 block discarded – undo
543 559
         $strReplaceS = array('{USERS_PATH}', '{MEETINGS_PATH}', '{USER_AVAILABILITY_PATH}', '{MEETINGS_AVAILABILITY_PATH}', '{USER_MEETINGS_PATH}', '{MEETINGS_DURATION_PATH}', '{TIME_SLOTS}', '{MAX_TIME_SLOTS}', '{X_OUT_PATH}', '{Y_OUT_PATH}');
544 560
         $strReplaceR = array($this->path->getUsersPath(), $this->path->getMeetingsPath(), $this->path->getUsersAvailabilityPath(), $this->path->getMeetingsAvailabilityPath(), $this->path->getUsersMeetingsPath(), $this->path->getMeetingsDurationPath(), $this->timeSlots, $this->maxTimeSlots, $this->path->getXPath(), $this->path->getYPath());
545 561
         $f = @fopen($this->path->getModelPath(), "w");
546
-        if (!$f)
547
-            throw new OptimiseException('problem during creation of a file');
562
+        if (!$f) {
563
+                    throw new OptimiseException('problem during creation of a file');
564
+        }
548 565
         fwrite($f, str_replace($strReplaceS, $strReplaceR, file_get_contents(__DIR__ . "/model.stub")));
549 566
         fclose($f);
550 567
     }
@@ -565,12 +582,14 @@  discard block
 block discarded – undo
565 582
      */
566 583
     static private function readCSVFile($file)
567 584
     {
568
-        if (!file_exists($file) || !filesize($file))
569
-            throw new OptimiseException('no results file');
585
+        if (!file_exists($file) || !filesize($file)) {
586
+                    throw new OptimiseException('no results file');
587
+        }
570 588
 
571 589
         $handle = @fopen($file, "r");
572
-        if (!$handle)
573
-            throw new OptimiseException('problems during reading the file');
590
+        if (!$handle) {
591
+                    throw new OptimiseException('problems during reading the file');
592
+        }
574 593
 
575 594
         $ret = [];
576 595
         fgetcsv($handle); //skip head
@@ -603,8 +622,9 @@  discard block
 block discarded – undo
603 622
      */
604 623
     public function getOutput()
605 624
     {
606
-        if (!($data = file_get_contents($this->path->getOutputPath())))
607
-            throw new OptimiseException('problems during reading the file');
625
+        if (!($data = file_get_contents($this->path->getOutputPath()))) {
626
+                    throw new OptimiseException('problems during reading the file');
627
+        }
608 628
         return $data;
609 629
     }
610 630
 }
611 631
\ No newline at end of file
Please login to merge, or discard this patch.