desta fix for invalid bankaccount numbers; add virtual key object
This commit is contained in:
36
common/models/HuBankAccountValidator.php
Normal file
36
common/models/HuBankAccountValidator.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
class HuBankAccountValidator
|
||||
{
|
||||
|
||||
public function validate($bankAccount){
|
||||
if ( !isset($bankAccount)){
|
||||
return false;
|
||||
}
|
||||
$stripedBankAccount = preg_replace('/\s+/', '', $bankAccount);
|
||||
if ( strlen($stripedBankAccount) != 24){
|
||||
return false;
|
||||
}
|
||||
$arrayOfNumbers = str_split($stripedBankAccount);
|
||||
$multipliers = [9,7,3,1];
|
||||
$groups = [0,0,0];
|
||||
for ( $i = 0; $i < count($arrayOfNumbers); $i++ ) {
|
||||
$number = $arrayOfNumbers[$i];
|
||||
$multiplier = $multipliers[$i % 4];
|
||||
$total = $multiplier * $number;
|
||||
$groups[intval($i / 8)] += $total ;
|
||||
}
|
||||
|
||||
foreach ($groups as $group){
|
||||
$mod = $group % 10;
|
||||
if ( $mod > 0 ){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,7 +12,7 @@ use yii\helpers\ArrayHelper;
|
||||
* @property integer $id
|
||||
* @property integer $id_card
|
||||
* @property integer $id_key
|
||||
* @property string $valid_until
|
||||
* @property integer $number
|
||||
* @property string $direction_in_at
|
||||
* @property string $direction_out_at
|
||||
* @property string $created_at
|
||||
@@ -35,8 +35,8 @@ class VirtualKey extends \yii\db\ActiveRecord
|
||||
{
|
||||
return [
|
||||
[['id_card', 'id_key'], 'integer'],
|
||||
[['valid_until', 'created_at', 'updated_at'], 'required'],
|
||||
[['valid_until', 'direction_in_at', 'direction_out_at', 'created_at', 'updated_at'], 'safe']
|
||||
[[ 'created_at', 'updated_at'], 'required'],
|
||||
[[ 'direction_in_at', 'created_at', 'updated_at'], 'safe']
|
||||
];
|
||||
}
|
||||
|
||||
@@ -49,7 +49,6 @@ class VirtualKey extends \yii\db\ActiveRecord
|
||||
'id' => Yii::t('common/virtualkey', 'ID'),
|
||||
'id_card' => Yii::t('common/virtualkey', 'Id Card'),
|
||||
'id_key' => Yii::t('common/virtualkey', 'Id Key'),
|
||||
'valid_until' => Yii::t('common/virtualkey', 'Valid Until'),
|
||||
'direction_in_at' => Yii::t('common/virtualkey', 'Direction In At'),
|
||||
'direction_out_at' => Yii::t('common/virtualkey', 'Direction Out At'),
|
||||
'created_at' => Yii::t('common/virtualkey', 'Created At'),
|
||||
@@ -59,10 +58,12 @@ class VirtualKey extends \yii\db\ActiveRecord
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return ArrayHelper::merge( [
|
||||
return ArrayHelper::merge([
|
||||
[
|
||||
'class' => TimestampBehavior::className(),
|
||||
'value' => function(){ return date('Y-m-d H:i:s' ); }
|
||||
'value' => function () {
|
||||
return date('Y-m-d H:i:s');
|
||||
}
|
||||
]
|
||||
],
|
||||
parent::behaviors());
|
||||
|
||||
Reference in New Issue
Block a user