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']);
|
||||
if ($token)
|
||||
$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' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
'image' => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName)),
|
||||
'camera_id' => strval($id_camera),
|
||||
'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"
|
||||
'data' => common::rsaEncode($text)
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
|
|
|
@ -296,6 +296,7 @@ class ConfigController extends Controller {
|
|||
}
|
||||
|
||||
public function actionReset() {
|
||||
Yii::$app->response->format = "json";
|
||||
if (Yii::$app->request->post()) {
|
||||
if (Yii::$app->request->post("deleteDB") === "true") {
|
||||
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
|
||||
|
@ -315,7 +316,7 @@ class ConfigController extends Controller {
|
|||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
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' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
|
@ -324,9 +325,17 @@ class ConfigController extends Controller {
|
|||
"isCloud" => 0
|
||||
])
|
||||
]
|
||||
]));
|
||||
])), true);
|
||||
if ($res['status'] != 10000)
|
||||
return [
|
||||
"status" => false,
|
||||
"btnText" => Yii::t("app", "THU_LAI")
|
||||
];
|
||||
} catch (Exception $ex) {
|
||||
|
||||
return [
|
||||
"status" => false,
|
||||
"btnText" => Yii::t("app", "THU_LAI")
|
||||
];
|
||||
}
|
||||
}
|
||||
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']]);
|
||||
return Url::to(['/config/cau-hinh-thiet-bi']);
|
||||
return [
|
||||
"status" => true,
|
||||
"url" => Url::to(['/config/cau-hinh-thiet-bi'])
|
||||
];
|
||||
} else {
|
||||
Yii::$app->response->format = "json";
|
||||
return [
|
||||
"title" => Yii::t("app", "RESET_THIET_BI"),
|
||||
"form" => $this->renderPartial("reset")
|
||||
|
|
|
@ -14,13 +14,6 @@ use yii\helpers\Url;
|
|||
*/
|
||||
class DashboardController extends Controller {
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
if (Yii::$app->user->isGuest) {
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@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
|
||||
*/
|
||||
public function actionLogin() {
|
||||
public function actionLogin($lang = "vi-VI") {
|
||||
if (!Yii::$app->user->isGuest) {
|
||||
return $this->goHome();
|
||||
}
|
||||
Yii::$app->language = $lang;
|
||||
|
||||
$model = new LoginForm();
|
||||
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"]);
|
||||
}
|
||||
|
||||
|
@ -88,9 +95,10 @@ class SiteController extends Controller {
|
|||
* @return Response
|
||||
*/
|
||||
public function actionLogout() {
|
||||
$lang = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
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",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine is not running",
|
||||
"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" => "おそらくネットワーク接続が原因でエラーが発生しました。再試行してください",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine不活動",
|
||||
"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",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine không hoạt động",
|
||||
"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()) {
|
||||
$user = $this->getUser();
|
||||
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.
|
||||
* @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 $model \common\models\LoginForm */
|
||||
|
||||
$this->title = 'Sign In';
|
||||
$this->title = Yii::t("app", "DANG_NHAP");
|
||||
|
||||
$fieldOptions1 = [
|
||||
'options' => ['class' => 'form-group has-feedback'],
|
||||
|
@ -50,6 +50,30 @@ $fieldOptions2 = [
|
|||
|
||||
<div class="row">
|
||||
<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 class="col-xs-5">
|
||||
<?= Html::submitButton(Yii::t("app", "DANG_NHAP"), ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
|
||||
|
@ -60,5 +84,4 @@ $fieldOptions2 = [
|
|||
<?php ActiveForm::end(); ?>
|
||||
|
||||
</div>
|
||||
<!-- /.login-box-body -->
|
||||
</div><!-- /.login-box -->
|
||||
</div>
|
||||
|
|
|
@ -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">
|
||||
<input type="checkbox" name="DeleteDatabase" checked="" style="width: inherit;"> {Yii::t("app", "XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI")}
|
||||
<br>
|
||||
<input type="checkbox" name="ResetDevice" checked="" style="width: inherit;"> {Yii::t("app", "RESET_CAU_HINH_THIET_BI")}
|
||||
</div>
|
||||
<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")}
|
||||
</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>
|
|
@ -328,7 +328,14 @@ common.reset = function (e) {
|
|||
resetDevice: resetDevice
|
||||
},
|
||||
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) {
|
||||
common.modalBlock(false);
|
||||
|
|
Loading…
Reference in New Issue
Block a user