From a4510fce21db7a181341b5887537b23b8ce51204 Mon Sep 17 00:00:00 2001 From: dongpd Date: Fri, 27 Mar 2020 15:55:56 +0700 Subject: [PATCH] update --- .gitignore | 3 +- controllers/ApiController.php | 10 +++++ controllers/DashboardController.php | 3 ++ db/app.db | Bin 81920 -> 106496 bytes models/FaceLogs.php | 7 ++-- models/SyncUrl.php | 56 +++++++++++++++++++++++++++ nbproject/private/config.properties | 0 nbproject/private/private.properties | 8 ++++ nbproject/private/private.xml | 7 ++++ nbproject/project.properties | 7 ++++ nbproject/project.xml | 9 +++++ web/index.php | 4 +- web/test.txt | 1 + 13 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 models/SyncUrl.php create mode 100644 nbproject/private/config.properties create mode 100644 nbproject/private/private.properties create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 web/test.txt diff --git a/.gitignore b/.gitignore index a5d18839..7f9ce2a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ /runtime /web/assets -/web/data -/nbproject/private/ \ No newline at end of file +/web/data \ No newline at end of file diff --git a/controllers/ApiController.php b/controllers/ApiController.php index 05854ed8..2092c47f 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -35,4 +35,14 @@ class ApiController extends Controller { } } + public function actionSyncUrl() { + if (Yii::$app->request->post()) { + $post = Yii::$app->request->bodyParams; + $model = new \app\models\FaceLogs(); + $model->create($post); + Yii::$app->response->format = "json"; + return ["stt" => true]; + } + } + } diff --git a/controllers/DashboardController.php b/controllers/DashboardController.php index 6f227c96..8fe20fba 100644 --- a/controllers/DashboardController.php +++ b/controllers/DashboardController.php @@ -16,6 +16,9 @@ class DashboardController extends Controller { public function init() { parent::init(); + if (Yii::$app->user->isGuest) { + return $this->redirect(['/site/login']); + } } /** diff --git a/db/app.db b/db/app.db index 3f4ca5b57d6aabe360e65ef6463355e10ef82fce..a68c15200d9301ab7f7fbc73845fa475d09b8352 100644 GIT binary patch literal 106496 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 delta 3564 zcmb_fZ%k8H6u-B96e_%4JM0*LTwhBNwxPb)QbbHl5Vn9wMPcp_@~{@@>jtlk*Dh*H z9;o}1EIM^D?88jPmc_|f=EOu}_hCtqEz!ipEN0oCZ2hui$v$m<*|(khUMbYJin{lD zUT@y{bARXDbI-YN@>|p7WWlLQYa>Ev9Z)GyA<)9ckkcq z;$6J6-Wd*Mzf=6u&|pLz83LBzoTy*c-I7B$^PR4%sWv(%`Y94|s<;Xq5pYqKBY3Jn zbHv>qf_w;Y?aBBD@Yl0ABd<}Z8;3I8Fg=1FOKwmshbXaoO8!I}9tcQH?6z0tmMXGp zs2jb3#AVJKNXAe2xn3=!4FEct$OPR7Ge;AYER|?`?l|ZMGs2*z;; z?Q|}fC?Gu)U6o+*xm*ilWmKABF3m-4L$+PN0Lews1T+29?FA`g4+r)vF37b? ziBBS$+p}2^W8PWtdKUJ6m#sR#*G;WbM0dDFHiENib+#q7n!X21?GC_3jj8wU`cw>8 zZ|$Y^V5%htu9TY%-azDVGX9oK_uW?!F0~1@-PZ;2_s(SF^v;0CGkYtvb)tzin0-C<;yg`+7nt&32DHC*W3t6~(tO{vDXQjB8J#pp;Ei-B0I8iSbK zpj*>`>;N;9o^hA=^J_~E< z=a)j9UuUX17aCV;c0INlzQ-7fvB8fhO+_(43UzKtt?o)l`@Fl7arHgF#D&KbbC51{ zXRLsxA(I1(7nAXGK~6sgJaE;Q0=wEwQ6E2(((4~x&Q38_RWHV#{R4I$y-Yv^$O2>q zg58Lo0Ai657_bovEb7k6iac#h>(i@hV&cxcO@TqQ6>3c(XHQU<&snq`PD7(h zzw~BRURrZ0d2^lsR5%i1-EPJS;yynBb%WcafJ85Yt8DhJNCrdW0IbYmm?kl`&w84F)hQ~JxLDT@h`7%Mk$Cc^# zd2CzfZp!|onszi{yTRQweR?ZC$Min`a__XK86T)Z2#cDoPy6@+#iJcUVVT{IkNc(% OZpAk>*()G>qu@Wto6x`j diff --git a/models/FaceLogs.php b/models/FaceLogs.php index 3401f428..980fce2d 100644 --- a/models/FaceLogs.php +++ b/models/FaceLogs.php @@ -35,7 +35,8 @@ class FaceLogs extends \yii\db\ActiveRecord { */ public function rules() { return [ - [['camera_id', 'confidence', 'enable_door', 'encoded_person_image', 'frametime', 'face_id', 'person_id', 'image', 'status', 'stt', 'timezone', 'name'], 'string'], + [['camera_id', 'confidence', 'enable_door', 'encoded_person_image', 'face_id', 'person_id', 'image', 'status', 'stt', 'timezone', 'name'], 'string'], + [['frametime'], 'integer'] ]; } @@ -66,8 +67,8 @@ class FaceLogs extends \yii\db\ActiveRecord { 'confidence' => $data['confidence'], 'enable_door' => $data['enable_door'], 'encoded_person_image' => $data['encoded_person_image'], - 'frametime' => $data['frametime'], - 'face_id' => $data['face_id'], + 'frametime' => date_format(date_create_from_format('Y-m-d H:i:s', $data['frametime']), 'U'), + 'face_id' => $data['id'], 'person_id' => $data['person_id'], 'image' => $data['image'], 'status' => $data['status'], diff --git a/models/SyncUrl.php b/models/SyncUrl.php new file mode 100644 index 00000000..cbd78d6b --- /dev/null +++ b/models/SyncUrl.php @@ -0,0 +1,56 @@ + 'ID', + 'data' => 'Data', + ]; + } + + public function create($data) { + $r = $this->load([ + 'data' => $data['url'], + ], ''); + if ($r) { + try { + $this->save(); + return $this->id; + } catch (\Exception $ex) { + return false; + } + } + } + +} diff --git a/nbproject/private/config.properties b/nbproject/private/config.properties new file mode 100644 index 00000000..e69de29b diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 00000000..2455f53c --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,8 @@ +copy.src.files=false +copy.src.on.open=false +copy.src.target= +remote.connection=BI-9f36c2 +remote.directory=/anpr +remote.upload=ON_SAVE +run.as=LOCAL +url=http://localhost/ diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 00000000..6807a2ba --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 00000000..911a7b8b --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_70 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=false +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 00000000..e4f8b1cc --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + BIFace + + + diff --git a/web/index.php b/web/index.php index 20ef696c..ac1919d0 100644 --- a/web/index.php +++ b/web/index.php @@ -1,8 +1,8 @@