Piotr Labudda пре 6 година
родитељ
комит
12af73d1d6
1 измењених фајлова са 81 додато и 3 уклоњено
  1. 81 3
      SE/se-lib/Route/UrlAction/PanelKlientaBiallNet.php

+ 81 - 3
SE/se-lib/Route/UrlAction/PanelKlientaBiallNet.php

@@ -3,18 +3,96 @@
 Lib::loadClass('RouteBase');
 Lib::loadClass('Request');
 Lib::loadClass('Response');
+Lib::loadClass('UI');
 
 class Route_UrlAction_PanelKlientaBiallNet extends RouteBase {
 
 	static $PANEL_URL = "https://biuro.biall-net.pl/panel/pl/index.php?_route=UrlAction_ChangeUser&id_admin={id}";
 	static $PANEL_DEV_URL = "https://biuro.biall-net.pl/dev-pl/se-projects/panel_biall_net/SE/index.php?_route=UrlAction_ChangeUser&id_admin={id}";
 
-	function defaultAction() {
+	function defaultAction() { UI::layout([ $this, 'defaultView' ]); }
+	function defaultView() {
 		$id = V::get('id', '', $_GET);
 		if (!$id) throw new Exception("Missing id");
 		$devPrefix = 'https://biuro.biall-net.pl/dev-pl';
-		$panelUrl = ($devPrefix === substr(Request::getScriptUri(), 0, strlen($devPrefix))) ? self::$PANEL_DEV_URL : self::$PANEL_URL;
-		Response::sendRedirect( str_replace('{id}', $id, $panelUrl) );
+		$panelUrl = str_replace('{id}', $id, self::$PANEL_URL);
+		// Response::sendRedirect( str_replace('{id}', $id, $panelUrl) );
+		$devPanelUrl = str_replace('{id}', $id, self::$PANEL_DEV_URL);
+
+		$projectFolder = APP_PATH_ROOT . DS . 'projects' . DS . 'panel_biall_net';
+		if (!file_exists($projectFolder)) throw new Exception("Project folder not exists! ('panel_biall_net')");
+		if (!file_exists($projectFolder . DS . 'auth.php')) throw new Exception("Project auth file not exists! ('panel_biall_net')");
+		require_once $projectFolder . DS . 'auth.php'; // Theme_Auth_panel_biall_net
+		if (!class_exists('Theme_Auth_panel_biall_net')) throw new Exception("Project auth class not exists! ('panel_biall_net')");
+
+		$company = DB::getPDO()->fetchFirst("
+			select c.ID
+				, c.user_mail_contact
+				, c.P_NAME, c.P_NAME_SECOND
+			from COMPANIES c
+			where c.ID = :id
+		", [ ':id' => $id ]);
+		if (!$company) throw new Exception("Company not exists! Nr {$id}.");
+
+		if (!User::isAdmin()) throw new Exception("Access Denied");
+
+		$email = $company['user_mail_contact'];
+		$postTask = V::get('_postTask', '', $_POST);
+		$_testUserInfo = null;
+		switch ($postTask) {
+			// case 'makeAccounts': {
+			// 	Theme_Auth_panel_biall_net::makeActiveUsers($email);
+			// } break;
+			// case 'resetPasswd': {
+			// 	Theme_Auth_panel_biall_net::makeActiveUsers($email);
+			// 	$remindKey = Theme_Auth_panel_biall_net::generateRemindKey($email);
+			// 	$resetLink = Router::getRoute('UrlAction_RemindPasswd')->getLink('rp', [ 'login' => $email, 'key' => $remindKey ]);
+			// 	Theme_Auth_panel_biall_net::sendRemindPasswd($email, $resetLink, $recipient = "piotrl86+bn-test-remind@gmail.com");
+			// } break;
+			case 'testAuth': {
+				$passwd = V::get('passwd', '', $_POST);
+				$_testUserInfo = Theme_Auth_panel_biall_net::testAuth($email, $passwd);
+			} break;
+		}
+
+		$activeUsers = Theme_Auth_panel_biall_net::makeActiveUsers($company['user_mail_contact']);
+
+		echo UI::h('div', [ 'style' => "margin-top:24px" ], [
+			UI::h('h3', [], "Klient: [{$company['ID']}] {$company['P_NAME']} {$company['P_NAME_SECOND']}"),
+
+			UI::h('a', [ 'href' => $panelUrl, 'target' => "_blank", 'class' => "btn btn-primary" ], "Zobacz panel klienta"),
+			($devPrefix === substr(Request::getScriptUri(), 0, strlen($devPrefix)))
+			?	UI::h('a', [ 'href' => $devPanelUrl, 'target' => "_blank", 'class' => "btn btn-warning" ], "DEV: panel klienta")
+			:	"",
+
+			UI::h('form', [ 'method' => "POST", 'class' => "form-horizontal", 'style' => "margin:24px 0; padding: 24px; border:1px solid #eee" ], [
+				UI::h('input', [ 'type' => "hidden", 'name' => "email", 'value' => $email ]),
+				UI::h('label', [ 'class' => "col-md-1 control-label" ], "Hasło:"),
+				UI::h('div', [ 'method' => "POST", 'class' => "col-md-4"  ], [
+					UI::h('input', [ 'type' => "text", 'name' => "passwd", 'value' => '', 'class' => "form-control" ]),
+				]),
+				UI::h('input', [ 'type' => "hidden", 'name' => "_postTask", 'value' => 'testAuth' ]),
+				UI::h('input', [ 'type' => "submit", 'value' => "Testuj logowanie do panelu klienta", 'class' => "btn btn-default" ]),
+				($_testUserInfo)
+				?	UI::h('div', [ 'class' => "alert alert-success" ], [
+						UI::h('p', [], "Klient: [{$_testUserInfo['ID']}] '{$_testUserInfo['P_NAME']} {$_testUserInfo['P_NAME_SECOND']}'"),
+					])
+				:	UI::h('div', [], "..."),
+			]),
+
+			UI::h('p', [], "All users:"),
+			UI::hTable([
+				'rows' => array_map(function ($item) {
+					return array_merge([
+						'ID' => $item['ID'],
+						'Akcja' => UI::h('a', [ 'href' => $this->getLink('', [ 'id' => $item['ID'] ]) ], "wybierz"),
+					], $item);
+				}, Theme_Auth_panel_biall_net::test_fetchAllUsers($email))
+			]),
+			UI::h('p', [], "Active BIALL-NET users (BILLING_OWNER: 1 BN, 3 NETDAY):"),
+			UI::hTable([ 'rows' => Theme_Auth_panel_biall_net::fetchActiveUsers($email) ]),
+
+		]);
 	}
 
 }