Merge branch 'dev_DTD' into BiFacePro2.0.1
# Conflicts: # controllers/ApiController.php
This commit is contained in:
commit
7181c32bbf
|
@ -95,18 +95,21 @@ class ApiController extends Controller {
|
||||||
$token = \app\models\SyncUrl::findOne(['key_config' => 'token']);
|
$token = \app\models\SyncUrl::findOne(['key_config' => 'token']);
|
||||||
if ($token)
|
if ($token)
|
||||||
$tk = $token->data;
|
$tk = $token->data;
|
||||||
$res = json_decode(file_get_contents($ip . "/api/oem/face_recognition?token=" . $tk, false, stream_context_create([
|
$data = [];
|
||||||
|
$data[] = strval($id_camera); //camera_id
|
||||||
|
$data[] = date("Y-m-d H:i:s", $time); //frametime
|
||||||
|
$data[] = $staffInfo ? strval($staffInfo->code) : "0"; //idCard
|
||||||
|
$data[] = $staffInfo ? $staffInfo->staff_id : ""; //idObject
|
||||||
|
$data[] = "123"; //person_id
|
||||||
|
$data[] = "+7"; //timezone
|
||||||
|
$text = implode("|", $data);
|
||||||
|
$res = json_decode(file_get_contents($ip . "/api/box/face_recognition_auth_v2?token=" . $tk, false, stream_context_create([
|
||||||
'http' => [
|
'http' => [
|
||||||
'header' => "Content-Type: application/json",
|
'header' => "Content-Type: application/json",
|
||||||
'method' => "POST",
|
'method' => "POST",
|
||||||
'content' => json_encode([
|
'content' => json_encode([
|
||||||
'image' => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName)),
|
'image' => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName)),
|
||||||
'camera_id' => strval($id_camera),
|
'data' => common::rsaEncode($text)
|
||||||
'frametime' => date("Y-m-d H:i:s", $time),
|
|
||||||
'idCard' => $staffInfo ? strval($staffInfo->code) : "0",
|
|
||||||
'idObject' => $staffInfo ? $staffInfo->staff_id : "",
|
|
||||||
"person_id" => "123",
|
|
||||||
"timezone" => "+7"
|
|
||||||
])
|
])
|
||||||
]
|
]
|
||||||
])), true);
|
])), true);
|
||||||
|
|
|
@ -296,6 +296,7 @@ class ConfigController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function actionReset() {
|
public function actionReset() {
|
||||||
|
Yii::$app->response->format = "json";
|
||||||
if (Yii::$app->request->post()) {
|
if (Yii::$app->request->post()) {
|
||||||
if (Yii::$app->request->post("deleteDB") === "true") {
|
if (Yii::$app->request->post("deleteDB") === "true") {
|
||||||
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
|
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
|
||||||
|
@ -315,7 +316,7 @@ class ConfigController extends Controller {
|
||||||
if ($device_id)
|
if ($device_id)
|
||||||
$id_camera = intval($device_id->data);
|
$id_camera = intval($device_id->data);
|
||||||
try {
|
try {
|
||||||
file_get_contents($ip . "/api/model/reset_log_model", false, stream_context_create([
|
$res = json_decode(file_get_contents($ip . "/api/model/reset_log_model", false, stream_context_create([
|
||||||
'http' => [
|
'http' => [
|
||||||
'header' => "Content-Type: application/json",
|
'header' => "Content-Type: application/json",
|
||||||
'method' => "POST",
|
'method' => "POST",
|
||||||
|
@ -324,9 +325,17 @@ class ConfigController extends Controller {
|
||||||
"isCloud" => 0
|
"isCloud" => 0
|
||||||
])
|
])
|
||||||
]
|
]
|
||||||
]));
|
])), true);
|
||||||
|
if ($res['status'] != 10000)
|
||||||
|
return [
|
||||||
|
"status" => false,
|
||||||
|
"btnText" => Yii::t("app", "THU_LAI")
|
||||||
|
];
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
|
return [
|
||||||
|
"status" => false,
|
||||||
|
"btnText" => Yii::t("app", "THU_LAI")
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Yii::$app->request->post("resetDevice") === "true") {
|
if (Yii::$app->request->post("resetDevice") === "true") {
|
||||||
|
@ -361,9 +370,11 @@ class ConfigController extends Controller {
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
\app\models\SyncUrl::deleteAll(['IN', 'key_config', ['server_api', 'device_id']]);
|
\app\models\SyncUrl::deleteAll(['IN', 'key_config', ['server_api', 'device_id']]);
|
||||||
return Url::to(['/config/cau-hinh-thiet-bi']);
|
return [
|
||||||
|
"status" => true,
|
||||||
|
"url" => Url::to(['/config/cau-hinh-thiet-bi'])
|
||||||
|
];
|
||||||
} else {
|
} else {
|
||||||
Yii::$app->response->format = "json";
|
|
||||||
return [
|
return [
|
||||||
"title" => Yii::t("app", "RESET_THIET_BI"),
|
"title" => Yii::t("app", "RESET_THIET_BI"),
|
||||||
"form" => $this->renderPartial("reset")
|
"form" => $this->renderPartial("reset")
|
||||||
|
|
|
@ -14,13 +14,6 @@ use yii\helpers\Url;
|
||||||
*/
|
*/
|
||||||
class DashboardController extends Controller {
|
class DashboardController extends Controller {
|
||||||
|
|
||||||
public function init() {
|
|
||||||
parent::init();
|
|
||||||
if (Yii::$app->user->isGuest) {
|
|
||||||
return $this->redirect(['/site/login']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
|
@ -157,4 +150,12 @@ class DashboardController extends Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function actionChangeLanguageLogin($lang) {
|
||||||
|
$language = \app\models\common::allLanguage();
|
||||||
|
foreach ($language as $key => $value) {
|
||||||
|
if ($value['name'] === $lang)
|
||||||
|
return $this->redirect(['/site/login', 'lang' => $lang]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,13 +66,20 @@ class SiteController extends Controller {
|
||||||
*
|
*
|
||||||
* @return Response|string
|
* @return Response|string
|
||||||
*/
|
*/
|
||||||
public function actionLogin() {
|
public function actionLogin($lang = "vi-VI") {
|
||||||
if (!Yii::$app->user->isGuest) {
|
if (!Yii::$app->user->isGuest) {
|
||||||
return $this->goHome();
|
return $this->goHome();
|
||||||
}
|
}
|
||||||
|
Yii::$app->language = $lang;
|
||||||
|
|
||||||
$model = new LoginForm();
|
$model = new LoginForm();
|
||||||
if ($model->load(Yii::$app->request->post()) && $model->login()) {
|
if ($model->load(Yii::$app->request->post()) && $model->login()) {
|
||||||
|
$lang = Yii::$app->request->post('lang');
|
||||||
|
$language = \app\models\common::allLanguage();
|
||||||
|
foreach ($language as $key => $value) {
|
||||||
|
if ($value['name'] === $lang)
|
||||||
|
Yii::$app->session->set("language", $value);
|
||||||
|
}
|
||||||
return $this->redirect(["/config"]);
|
return $this->redirect(["/config"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,9 +95,10 @@ class SiteController extends Controller {
|
||||||
* @return Response
|
* @return Response
|
||||||
*/
|
*/
|
||||||
public function actionLogout() {
|
public function actionLogout() {
|
||||||
|
$lang = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||||
Yii::$app->user->logout();
|
Yii::$app->user->logout();
|
||||||
|
|
||||||
return $this->goHome();
|
return $this->redirect(['/site/login', 'lang' => $lang]); //$this->goHome();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -133,5 +133,8 @@ return [
|
||||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "An error occurred, check the network connection and try again",
|
"CO_LOI_XAY_RA_HAY_THU_LAI" => "An error occurred, check the network connection and try again",
|
||||||
"ENGINE_KHONG_HOAT_DONG" => "Engine is not running",
|
"ENGINE_KHONG_HOAT_DONG" => "Engine is not running",
|
||||||
"DANG_NHAP" => "Login",
|
"DANG_NHAP" => "Login",
|
||||||
"MAT_KHAU" => "Password"
|
"MAT_KHAU" => "Password",
|
||||||
|
"RESET_THIET_BI_LOI" => "Error connecting to the server. Please check your internet connection and try again.",
|
||||||
|
"THU_LAI" => "Try again",
|
||||||
|
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "Incorrect username or password."
|
||||||
];
|
];
|
||||||
|
|
|
@ -133,5 +133,8 @@ return [
|
||||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "おそらくネットワーク接続が原因でエラーが発生しました。再試行してください",
|
"CO_LOI_XAY_RA_HAY_THU_LAI" => "おそらくネットワーク接続が原因でエラーが発生しました。再試行してください",
|
||||||
"ENGINE_KHONG_HOAT_DONG" => "Engine不活動",
|
"ENGINE_KHONG_HOAT_DONG" => "Engine不活動",
|
||||||
"DANG_NHAP" => "ログイン",
|
"DANG_NHAP" => "ログイン",
|
||||||
"MAT_KHAU" => "パスワード"
|
"MAT_KHAU" => "パスワード",
|
||||||
|
"RESET_THIET_BI_LOI" => "サーバーへの接続中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください",
|
||||||
|
"THU_LAI" => "再試行",
|
||||||
|
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "ユーザーネームまたはパスワードが違います"
|
||||||
];
|
];
|
||||||
|
|
|
@ -133,5 +133,8 @@ return [
|
||||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "Có lỗi xảy ra, có thể do đường truyền mạng, xin vui lòng thử lại",
|
"CO_LOI_XAY_RA_HAY_THU_LAI" => "Có lỗi xảy ra, có thể do đường truyền mạng, xin vui lòng thử lại",
|
||||||
"ENGINE_KHONG_HOAT_DONG" => "Engine không hoạt động",
|
"ENGINE_KHONG_HOAT_DONG" => "Engine không hoạt động",
|
||||||
"DANG_NHAP" => "Đăng nhập",
|
"DANG_NHAP" => "Đăng nhập",
|
||||||
"MAT_KHAU" => "Mật khẩu"
|
"MAT_KHAU" => "Mật khẩu",
|
||||||
|
"RESET_THIET_BI_LOI" => "Lỗi kết nối đến server. Hãy kiểm tra lại kết nối internet và thử lại.",
|
||||||
|
"THU_LAI" => "Thử lại",
|
||||||
|
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "Tên đăng nhập hoặc mật khẩu không đúng."
|
||||||
];
|
];
|
||||||
|
|
|
@ -43,11 +43,18 @@ class LoginForm extends Model {
|
||||||
if (!$this->hasErrors()) {
|
if (!$this->hasErrors()) {
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
if (!$user || !$user->validatePassword($this->password)) {
|
if (!$user || !$user->validatePassword($this->password)) {
|
||||||
$this->addError($attribute, 'Incorrect username or password.');
|
$this->addError($attribute, Yii::t("app", "TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function attributeLabels() {
|
||||||
|
return [
|
||||||
|
'username' => Yii::t("app", "TEN_DANG_NHAP"),
|
||||||
|
'password' => Yii::t("app", "MAT_KHAU")
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs in a user using the provided username and password.
|
* Logs in a user using the provided username and password.
|
||||||
* @return bool whether the user is logged in successfully
|
* @return bool whether the user is logged in successfully
|
||||||
|
|
|
@ -231,4 +231,11 @@ class common extends \yii\db\ActiveRecord {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function rsaEncode($text) {
|
||||||
|
$publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCXB8c44cboYsGG6IzISqxf8W7q3AN0mGmekDYpBWpz9udif+jwK6h7NuOZvFDeB/32TVrtvaGDmExCeBerpcoOvGh4eUXyke2lSLzrg7pc/wD0KproEGoAAFDB0Pr5bZhg6ELp3Sk++0MPyxH6u1pgtHDxEnMwXV8cxw/rSCM+wIDAQAB";
|
||||||
|
$publicKey = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($publicKey, 64, "\n", true) . "\n-----END PUBLIC KEY-----";
|
||||||
|
openssl_public_encrypt($text, $encrypted, $publicKey, OPENSSL_PKCS1_PADDING);
|
||||||
|
return base64_encode($encrypted);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ use yii\bootstrap\ActiveForm;
|
||||||
/* @var $form yii\bootstrap\ActiveForm */
|
/* @var $form yii\bootstrap\ActiveForm */
|
||||||
/* @var $model \common\models\LoginForm */
|
/* @var $model \common\models\LoginForm */
|
||||||
|
|
||||||
$this->title = 'Sign In';
|
$this->title = Yii::t("app", "DANG_NHAP");
|
||||||
|
|
||||||
$fieldOptions1 = [
|
$fieldOptions1 = [
|
||||||
'options' => ['class' => 'form-group has-feedback'],
|
'options' => ['class' => 'form-group has-feedback'],
|
||||||
|
@ -50,6 +50,30 @@ $fieldOptions2 = [
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-7">
|
<div class="col-xs-7">
|
||||||
|
<input type="hidden" value="<?php echo Yii::$app->request->get("lang"); ?>" name="lang">
|
||||||
|
<?php
|
||||||
|
$languages = app\models\common::allLanguage();
|
||||||
|
$currentLanguage = ["icon" => "vi.png", "name" => "vi-VI", "description" => "Tiếng Việt"];
|
||||||
|
foreach ($languages as $key => $value) {
|
||||||
|
if ($value['name'] === Yii::$app->request->get('lang'))
|
||||||
|
$currentLanguage = $value;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="btn-group" id="card-picker">
|
||||||
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||||
|
<img src="/images/lang/<?php echo $currentLanguage["icon"]; ?>" width="20px">
|
||||||
|
<span class="caret"></span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu" role="menu">
|
||||||
|
<?php foreach ($languages as $key => $value) { ?>
|
||||||
|
<li>
|
||||||
|
<a href="<?php echo yii\helpers\Url::to(['/dashboard/change-language-login', 'lang' => $value['name']]); ?>">
|
||||||
|
<img src="/images/lang/<?php echo $value['icon']; ?>" width="20px"> <?php echo $value['description']; ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-5">
|
<div class="col-xs-5">
|
||||||
<?= Html::submitButton(Yii::t("app", "DANG_NHAP"), ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
|
<?= Html::submitButton(Yii::t("app", "DANG_NHAP"), ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
|
||||||
|
@ -60,5 +84,4 @@ $fieldOptions2 = [
|
||||||
<?php ActiveForm::end(); ?>
|
<?php ActiveForm::end(); ?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.login-box-body -->
|
</div>
|
||||||
</div><!-- /.login-box -->
|
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
|
<div class="alert alert-danger hidden" id="reset-error">
|
||||||
|
<i class="fa fa-info-circle"></i> {Yii::t("app", "RESET_THIET_BI_LOI")}
|
||||||
|
</div>
|
||||||
<div class="text-left">
|
<div class="text-left">
|
||||||
<input type="checkbox" name="DeleteDatabase" checked="" style="width: inherit;"> {Yii::t("app", "XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI")}
|
<input type="checkbox" name="DeleteDatabase" checked="" style="width: inherit;"> {Yii::t("app", "XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI")}
|
||||||
<br>
|
<br>
|
||||||
<input type="checkbox" name="ResetDevice" checked="" style="width: inherit;"> {Yii::t("app", "RESET_CAU_HINH_THIET_BI")}
|
<input type="checkbox" name="ResetDevice" checked="" style="width: inherit;"> {Yii::t("app", "RESET_CAU_HINH_THIET_BI")}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<button class="btn btn-danger" onclick="common.reset(this);" data-href="{yii\helpers\Url::to(['/config/reset'])}">
|
<button class="btn btn-danger" onclick="common.reset(this);" data-href="{yii\helpers\Url::to(['/config/reset'])}" id="reset-accept">
|
||||||
{Yii::t("app", "DONG_Y")}
|
{Yii::t("app", "DONG_Y")}
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">{Yii::t("app", "HUY_BO")}</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal" id="reset-close">{Yii::t("app", "HUY_BO")}</button>
|
||||||
</div>
|
</div>
|
|
@ -328,7 +328,14 @@ common.reset = function (e) {
|
||||||
resetDevice: resetDevice
|
resetDevice: resetDevice
|
||||||
},
|
},
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
window.location = data;
|
common.modalBlock(false);
|
||||||
|
if (data.status)
|
||||||
|
window.location = data.url;
|
||||||
|
else {
|
||||||
|
$("#reset-error").removeClass("hidden");
|
||||||
|
$("#reset-close").addClass("hidden");
|
||||||
|
$("#reset-accept").html(data.btnText);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user