OtaVersionCheckValidator.php
1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/**
* Created by PhpStorm.
* User: billy
* Date: 11/02/2017
* Time: 4:19 PM
*/
namespace App\Modules\Validators;
use App\Modules\Models\Ota\OtaVersion;
class OtaVersionCheckValidator
{
public function validate($attribute, $value, $params, $validator){
//return true if field value is foo
$values = explode('.', $value);
$versions = OtaVersion::all();
$latest_version_array = array(0,0,0,0);
foreach ($versions as $version)
{
$versionArray = explode('.', $version->version_code);
for ($i = 0; $i < 4; $i++)
{
if (intval($versionArray[$i]) > intval($latest_version_array[$i]))
{
$latest_version_array = $versionArray;
break;
}
}
}
for ($i = 0; $i < 4; $i++)
{
if (intval($values[$i]) > intval($latest_version_array[$i]))
{
return true;
}
else if (intval($values[$i]) < intval($latest_version_array[$i]))
{
return false;
}
}
return false;
}
}