Piotr Labudda 8 лет назад
Родитель
Сommit
93d50ce885
1 измененных файлов с 158 добавлено и 179 удалено
  1. 158 179
      SE/se-lib/Route/Users.php

+ 158 - 179
SE/se-lib/Route/Users.php

@@ -488,18 +488,23 @@ class Route_Users extends RouteBase {
 			if ('removeUserGroup' == $subTask) {
 				$idProfileToRemove = V::get('idProfileToRemove', 0, $_POST, 'int');
 				$this->removeUserGroup($usrLogin, $idProfileToRemove);
-				?><div class="alert alert-info">Użytkownik został usunięty z danej grupy</div><?php
+				UI::alert('info', "Użytkownik został usunięty z danej grupy");
 			} else if ('addUserGroup' == $subTask) {
 				$idGroup = V::get('idGroup', 0, $_POST, 'int');
 				$idTelboxes = V::get('addTelboxesID', 0, $_POST, 'int');
 				$this->addUserGroup($usrLogin, $idGroup, $idTelboxes);
-				?><div class="alert alert-info">Dodano grupę [<?php echo $idGroup; ?>] do użytkownika [<?php echo $usrLogin; ?>]</div><?php
+				UI::alert('info', "Dodano grupę [{$idGroup}] do użytkownika [{$usrLogin}]");
 			}
 			$this->printFormUserGroup($usrLogin);
 		} catch (Exception $e) {
-			?><div class="alert alert-danger"><?php echo $e->getMessage(); ?>
-	<br><a href="index.php?_route=Users&_task=userGroups&usrLogin=<?php echo $usrLogin; ?>">wróć</a>
-</div><?php
+			DBG::log($e);
+			echo UI::h('div', [ 'class' => "alert alert-danger" ], [
+				$e->getMessage(),
+				'<br>',
+				UI::h('a', [
+					'href' => $this->getLink('userGroups', [ 'usrLogin' => $usrLogin ]),
+				], "wróć"),
+			]);
 			echo UserActivity::showListInContainer();
 		}
 		echo '</div>';// .container
@@ -525,91 +530,89 @@ class Route_Users extends RouteBase {
 		$typeSpecialUserGroups = TypespecialVariable::getInstance(-1, '__USER_GROUPS');
 		$typeSpecialTelboxes   = TypespecialVariable::getInstance(-1, '__TELBOXES');
 		$idZasobUsersTbl = ProcesHelper::getZasobTableID('ADMIN_USERS');
-?>
-<style type="text/css">
-.frm-groups .selectize-control { float:left; }
-.conn_groups {}
- .conn_groups .conn_groups-list {}
-  .conn_groups .conn_groups-list .conn_groups-list_item { line-height:22px; }
-  .conn_groups .conn_groups-list .conn_groups-list_item form { display:inline; margin:0; }
-  .conn_groups .conn_groups-list_item-rmBtn { /*display:none;*/ opacity:0.4; margin:0; padding:0 10px; border:none; }
-  .conn_groups .conn_groups-list_item:hover .conn_groups-list_item-rmBtn { /*display:inline;*/ opacity:1; }
-</style>
-<div class="conn_groups">
-	<h4>Ustalanie stanowiska</h4>
-	<blockquote>
-		Użytkownik
-		<?php if ($usr->isDisabled) : ?>
-			<span class="label label-danger">zablokowany!</span>
-		<?php else : ?>
-			<span class="label label-info">aktywny</span>
-		<?php endif; ?>
-		[<?php echo $usr->primaryKey; ?>] <b><?php echo $usr->name; ?></b> <code><?php echo $usr->login; ?></code>
-		<?php if ($idZasobUsersTbl > 0) : ?>
-			<a href="index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=<?php echo $idZasobUsersTbl; ?>#EDIT/<?php echo $usr->primaryKey; ?>"
-				 class="btn btn-xs btn-link"><span class="glyphicon glyphicon-pencil"></span> edytuj</a>
-		<?php endif; ?>
-		<a href="index.php?_route=Users&_task=syncUser&usrLogin=<?php echo $usr->login; ?>"
-			  class="btn btn-xs btn-link"><span class="glyphicon glyphicon-retweet"></span> synchronizuj do LDAP</a>
-	</blockquote>
+		echo UI::h('style', [ 'type' => "text/css" ], "
+			.frm-groups .selectize-control { float:left; }
+			.conn_groups {}
+			 .conn_groups .conn_groups-list {}
+			  .conn_groups .conn_groups-list .conn_groups-list_item { line-height:22px; }
+			  .conn_groups .conn_groups-list .conn_groups-list_item form { display:inline; margin:0; }
+			  .conn_groups .conn_groups-list_item-rmBtn { /*display:none;*/ opacity:0.4; margin:0; padding:0 10px; border:none; }
+			  .conn_groups .conn_groups-list_item:hover .conn_groups-list_item-rmBtn { /*display:inline;*/ opacity:1; }
+		");
+		echo '<div class="conn_groups">';
+			echo UI::h('h4', [], "Ustalanie stanowiska");
+			echo UI::h('blockquote', [], [
+				"Użytkownik ",
+				($usr->isDisabled)
+				?	'<span class="label label-danger">zablokowany!</span>'
+				:	'<span class="label label-info">aktywny</span>',
+				" [{$usr->primaryKey}] <b>{$usr->name}</b> <code>{$usr->login}</code> ",
+				UI::h('a', [
+					'href' => "index.php?_route=ViewTableAjax&namespace=default_db/ADMIN_USERS#EDIT/{$usr->primaryKey}",
+					'class' => "btn btn-xs btn-link",
+				], '<span class="glyphicon glyphicon-pencil"></span> edytuj'),
+				UI::h('a', [
+					'href' => "index.php?_route=Users&_task=syncUser&usrLogin={$usr->login}",
+					'class' => "btn btn-xs btn-link",
+				], '<span class="glyphicon glyphicon-retweet"></span> synchronizuj do LDAP'),
+			]);
+			echo UI::h('h4', [], "Przypisane grupy (" . ( !empty($stanowiska) ? count($stanowiska) : 0 ) . "):");
+			echo (!empty($stanowiska))
+			?	UI::h('ul', [ 'class' => "conn_groups-list" ], array_map(function ($vProfile) {
+					return UI::h('li', [ 'class' => "conn_groups-list_item" ], [
+						"{$vProfile->group->realName} ",
+						($vProfile->localisationId > 0)
+						?	" (lokalizacja [{$vProfile->localisationId}])"
+						:	'',
+						UI::h('form', [ 'class' => "form-inline frm-groups", 'action' => "", 'method' => "POST"], [
+							UI::h('input', [ 'type' => "hidden", 'name' => "_subTask", 'value' => "removeUserGroup" ]),
+							UI::h('button', [
+								'name' => "idProfileToRemove",
+								'value' => $vProfile->profileId,
+								'class' => "btn-link btn-sm conn_groups-list_item-rmBtn",
+								'title' => "usuń grupę",
+								'onclick' => "return confirm('Czy jesteś pewien że chcesz usunąć przypisanie do grupy {$vProfile->group->realName}?');",
+							], '<i class="glyphicon glyphicon-remove"></i>'),
+						]),
+					]);
+				}, $stanowiska))
+			:	''
+			;
+			if ($typeSpecialUserGroups && $typeSpecialTelboxes) {
+				echo '<h4>Dodaj grupę:</h4>';
+				echo '<form class="form-horizontal" action="" method="POST">';
+					echo '<input type="hidden" name="_subTask" value="addUserGroup">';
+					echo '<div class="form-group">';
+						echo '<label class="col-sm-3 control-label" for="idGroup">Grupa</label>';
+						echo '<div class="col-sm-9">';
+							$fName = 'idGroup';
+							$fldParams = array();
+							$fldParams['allowCreate'] = false;
+							$fldParams['ajaxDataUrlBase'] = "index.php?_route=Users&_task=typeSpecialIdGroup";
+							//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
+							echo $typeSpecialUserGroups->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
+						echo '</div>';
+					echo '</div>';
+					echo '<div class="form-group">';
+						echo '<label class="col-sm-3 control-label" for="addTelboxesID">Lokalizacja</label>';
+						echo '<div class="col-sm-9">';
+							$fName = 'addTelboxesID';
+							$fldParams = array();
+							$fldParams['allowCreate'] = false;
+							$fldParams['ajaxDataUrlBase'] = "index.php?_route=Users&_task=typeSpecialIdTelboxes";
+							//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
+							echo $typeSpecialTelboxes->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
+						echo '</div>';
+					echo '</div>';
+					echo '<div class="form-group">';
+						echo '<div class="col-sm-9 col-sm-offset-3">';
+							echo '<button type="submit" class="btn btn-xs btn-primary">dodaj grupę</button>';
+						echo '</div>';
+					echo '</div>';
+				echo '</form>';
+			}
+		echo '</div>'; // .conn_groups
 
-	<h4>Przypisane grupy (<?php echo (!empty($stanowiska))? count($stanowiska) : 0; ?>):</h4>
-	<?php if (!empty($stanowiska)) : ?>
-		<ul class="conn_groups-list">
-			<?php foreach ($stanowiska as $vProfile) : ?>
-				<li class="conn_groups-list_item">
-					<?php echo $vProfile->group->realName; ?>
-					<?php if ($vProfile->localisationId > 0) : ?>
-						(lokalizacja [<?php echo $vProfile->localisationId; ?>])
-					<?php endif; ?>
-					<form class="form-inline frm-groups" action="" method="POST">
-						<input type="hidden" name="_subTask" value="removeUserGroup">
-						<button name="idProfileToRemove" value="<?php echo $vProfile->profileId; ?>" class="btn-link btn-sm conn_groups-list_item-rmBtn" title="usuń grupę" onclick="return confirm('Czy jesteś pewien że chcesz usunąć przypisanie do grupy <?php echo $vProfile->group->realName; ?>?');"><i class="glyphicon glyphicon-remove"></i></button>
-					</form>
-				</li>
-			<?php endforeach; ?>
-		</ul>
-	<?php endif; ?>
-
-	<?php if ($typeSpecialUserGroups && $typeSpecialTelboxes) : ?>
-		<h4>Dodaj grupę:</h4>
-		<form class="form-horizontal" action="" method="POST">
-			<input type="hidden" name="_subTask" value="addUserGroup">
-			<div class="form-group">
-				<label class="col-sm-3 control-label" for="idGroup">Grupa</label>
-				<div class="col-sm-9">
-					<?php
-						$fName = 'idGroup';
-						$fldParams = array();
-						$fldParams['allowCreate'] = false;
-						$fldParams['ajaxDataUrlBase'] = "index.php?_route=Users&_task=typeSpecialIdGroup";
-						//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
-						echo $typeSpecialUserGroups->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
-					?>
-				</div>
-			</div>
-			<div class="form-group">
-				<label class="col-sm-3 control-label" for="addTelboxesID">Lokalizacja</label>
-				<div class="col-sm-9">
-					<?php
-						$fName = 'addTelboxesID';
-						$fldParams = array();
-						$fldParams['allowCreate'] = false;
-						$fldParams['ajaxDataUrlBase'] = "index.php?_route=Users&_task=typeSpecialIdTelboxes";
-						//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
-						echo $typeSpecialTelboxes->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
-					?>
-				</div>
-			</div>
-			<div class="form-group">
-				<div class="col-sm-9 col-sm-offset-3">
-					<button type="submit" class="btn btn-xs btn-primary">dodaj grupę</button>
-				</div>
-			</div>
-		</form>
-	<?php endif; ?>
-</div>
-<?php
 		{// show table crm_auth_profile
 			$idZasobCrmAuthProfile = ProcesHelper::getZasobTableID('CRM_AUTH_PROFILE');
 			if ($idZasobCrmAuthProfile <= 0) throw new Exception("Can not find id zasob 'CRM_AUTH_PROFILE'");
@@ -772,25 +775,29 @@ class Route_Users extends RouteBase {
 		echo '<div class="container">';
 		try {
 			if (!$idGroup) throw new Exception("Brak numeru grupy!");
-			$idZasobTableZasoby = ProcesHelper::getZasobTableID('CRM_LISTA_ZASOBOW');
 			$usrStorageDB = UserStorageFactory::getStorage('DB');
 			if ($usrStorageDB) $group = $usrStorageDB->getGroup($idGroup);
-			?>
-			<h4>Synchronizacja grupy do bazy LDAP</h4>
-<blockquote>
-	Grupa [<?php echo $idGroup; ?>]:
-	<?php if ($group) : ?>
-		<code><?php echo $group->type; ?></code> <?php echo $group->zasobDESC; ?>
-	<?php endif; ?>
-	<a class="btn btn-xs btn-link" href="index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=<?php echo $idZasobTableZasoby; ?>#EDIT/<?php echo $idGroup; ?>" title="Edytuj rekord"><i class="glyphicon glyphicon-pencil"></i> edytuj</a>
-	<a class="btn btn-xs btn-link" href="index.php?_route=Users&_task=nestedGroups&idGroup=<?php echo $idGroup; ?>"><i class="glyphicon glyphicon-random"></i> ustal powiązania między grupami uprawnień</a>
-</blockquote>
-<?php
+			echo UI::h('h4', [], "Synchronizacja grupy do bazy LDAP");
+			echo UI::h('blockquote', [], [
+				"Grupa [{$idGroup}]: ",
+				($group)
+				?	"<code>{$group->type}</code> {$group->zasobDESC} "
+				:	"",
+				UI::h('a', [
+					'class' => "btn btn-xs btn-link",
+					'href' => "index.php?_route=ViewTableAjax&namespace=default_db/CRM_LISTA_ZASOBOW#EDIT/{$idGroup}",
+					'title' => "Edytuj rekord",
+				], "<i class=\"glyphicon glyphicon-pencil\"></i> edytuj"),
+				UI::h('a', [ 'class' => "btn btn-xs btn-link",
+					'href' => $this->getLink('nestedGroups', [ 'idGroup' => $idGroup ]),
+				], "<i class=\"glyphicon glyphicon-random\"></i> ustal powiązania między grupami uprawnień"),
+			]);
 			$this->syncGroup($idGroup);
 		} catch (Exception $e) {
-			?><div class="alert alert-danger"><?php echo $e->getMessage(); ?></div><?php
+			DBG::log($e);
+			UI::alert('danger', $e->getMessage());
 		}
-		echo '</div>';// .container
+		echo '</div>'; // .container
 		UI::dol();
 	}
 
@@ -813,45 +820,30 @@ class Route_Users extends RouteBase {
 		else {
 			$synUsers = new SyncUsers($usrStorageDB, $usrStorageLdap);
 			$syncTodoList = $synUsers->getSyncGroupTodoList($idGroup, $syncNestedGroups = true);
-?>
-			<?php if (empty($syncTodoList)) : ?>
-				<div class="alert alert-info">Brak zadań do wykonania - grupa zsynchronizowana</div>
-			<?php else : ?>
-				<div class="well">
-					<p>Lista zadań do wykonania:</p>
-					<ul>
-						<?php foreach ($syncTodoList as $vTask) : ?>
-							<li><?php echo $vTask; ?></li>
-						<?php endforeach; ?>
-					</ul>
-				</div>
-			<?php endif; ?>
-<?php
+			echo (empty($syncTodoList))
+			?	UI::h('div', [ 'class' => "alert alert-info" ], "Brak zadań do wykonania - grupa zsynchronizowana")
+			:	UI::h('div', [ 'class' => "well" ], [
+					'<p>Lista zadań do wykonania:</p>',
+					UI::h('ul', [], array_map(function ($vTask) {
+						return UI::h('li', [], $vTask);
+					}, $syncTodoList)),
+				])
+			;
 			if ('1' == V::get('_runSync', '', $_POST)) {
 				$synced = $synUsers->syncGroup($idGroup, $syncNestedGroups = true);
 				if (!$synced) {
-					?>
-					<div class="alert alert-danger">
-						Nie udało się zsynchronizować grupy [<?php echo $idGroup; ?>].
-					</div>
-					<?php
+					UI::h('danger', "Nie udało się zsynchronizować grupy [{$idGroup}].");
 					echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;display:none;">errors: (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($synUsers->getErrorsMsgListWithDbg());echo'</pre>';
 				}
 				else {
-					?>
-					<div class="alert alert-success">
-						Synchronizacja grupy [<?php echo $idGroup; ?>] zakończona powodzeniem.
-					</div>
-					<?php
+					UI::h('success', "Synchronizacja grupy [{$idGroup}] zakończona powodzeniem.");
 				}
 			}
 			else {
-				?>
-				<form action="" method="POST">
-					<input type="hidden" name="_runSync" value="1">
-					<input type="submit" value="Synchronizuj" class="btn btn-primary btn-big">
-				</form>
-				<?php
+				echo UI::h('form', [ 'action' => "", 'method' => "POST" ], [
+					UI::h('input', [ 'type' => "hidden", 'name' => "_runSync", 'value' => "1" ]),
+					UI::h('input', [ 'type' => "submit", 'value' => "Synchronizuj", 'class' => "btn btn-primary btn-big" ]),
+				]);
 			}
 		}
 	}
@@ -860,7 +852,7 @@ class Route_Users extends RouteBase {
 		UI::gora();
 		UI::menu();
 		$usrLogin = V::get('usrLogin', '', $_GET);
-		echo '<div class="container">';
+		UI::startContainer();
 		try {
 			if (empty($usrLogin)) throw new Exception("Empty user login");
 
@@ -869,38 +861,30 @@ class Route_Users extends RouteBase {
 			if (!$usrStorageDB) throw new Exception("Error storage DB not exists");
 			if (!$usrStorageLdap) throw new Exception("Error storage Ldap not exists");
 
-			echo '<h4>' . "Synchronizacja do LDAP" . '</h4>';
+			echo UI::h('h4', [], "Synchronizacja do LDAP");
 			$usrFrom = $usrStorageDB->getUser($usrLogin);
-			DBG::_('DBG_SU', '>1', 'User from:', $usrFrom, __CLASS__, __FUNCTION__, __LINE__);
 			if ($usrFrom) {
-				$idZasobUsersTbl = ProcesHelper::getZasobTableID('ADMIN_USERS');
-				$idZasobPermsTbl = ProcesHelper::getZasobTableID('CRM_AUTH_PROFILE');
-?>
-	<blockquote>
-		Użytkownik
-		<?php if ($usrFrom->isDisabled) : ?>
-			<span class="label label-danger">zablokowany!</span>
-		<?php else : ?>
-			<span class="label label-info">aktywny</span>
-		<?php endif; ?>
-		[<?php echo $usrFrom->primaryKey; ?>] <b><?php echo $usrFrom->name; ?></b> <code><?php echo $usrFrom->login; ?></code>
-		<?php if ($idZasobUsersTbl > 0) : ?>
-			<a href="index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=<?php echo $idZasobUsersTbl; ?>#EDIT/<?php echo $usrFrom->primaryKey; ?>"
-				 class="btn btn-xs btn-link"><span class="glyphicon glyphicon-pencil"></span> edytuj</a>
-		<?php endif; ?>
-		<?php if ($idZasobPermsTbl > 0) : ?>
-			<a href="index.php?_route=Users&_task=userGroups&usrLogin=<?php echo $usrFrom->login; ?>"
-				 class="btn btn-xs btn-link"><span class="glyphicon glyphicon-user"></span> ustal stanowisko</a>
-		<?php endif; ?>
-	</blockquote>
-<?php
+				echo UI::h('blockquote', [], [
+					"Użytkownik ",
+					($usrFrom->isDisabled) ? '<span class="label label-danger">zablokowany!</span>' : '<span class="label label-info">aktywny</span>',
+					" [{$usrFrom->primaryKey}] <b>{$usrFrom->name}</b> <code>{$usrFrom->login}</code> ",
+					UI::h('a', [
+						'href' => "index.php?_route=ViewTableAjax&namespace=default_db/ADMIN_USERS#EDIT/{$usrFrom->primaryKey}",
+						'class' => "btn btn-xs btn-link",
+					], '<span class="glyphicon glyphicon-pencil"></span> edytuj'),
+					UI::h('a', [
+						'href' => "index.php?_route=Users&_task=userGroups&usrLogin={$usrFrom->login}",
+						'class' => "btn btn-xs btn-link",
+					], '<span class="glyphicon glyphicon-user"></span> ustal stanowisko'),
+				]);
 			}
 
 			$this->syncUser($usrLogin, $usrStorageDB, $usrStorageLdap);
 		} catch (Exception $e) {
-			?><div class="alert alert-danger"><?php echo $e->getMessage(); ?></div><?php
+			DBG::log($e);
+			UI::alert('danger', $e->getMessage());
 		}
-		echo '</div>';// .container
+		UI::endContainer();
 		UI::dol();
 	}
 
@@ -943,35 +927,30 @@ class Route_Users extends RouteBase {
 		}
 
 		$syncTodoList = $synUsers->getSyncUserTodoList($userName);
-		?>
-		<?php if (empty($syncTodoList)) : ?>
-			<div class="alert alert-info">Brak zadań do wykonania - użytkownik zsynchronizowany</div>
-		<?php else : ?>
-			<div class="well">
-				<p>Lista zadań do wykonania:</p>
-				<ul>
-					<?php foreach ($syncTodoList as $vTask) : ?>
-						<li><?php echo $vTask; ?></li>
-					<?php endforeach; ?>
-				</ul>
-			</div>
-		<?php endif; ?>
-		<div class="row">
-			<div class="col-md-2">
+		echo (empty($syncTodoList))
+		?	UI::h('div', [ 'class' => "alert alert-info" ], "Brak zadań do wykonania - użytkownik zsynchronizowany")
+		:	UI::h('div', [ 'class' => "well" ], [
+				'<p>Lista zadań do wykonania:</p>',
+				UI::h('ul', [], array_map(function ($vTask) {
+					return UI::h('li', [], $vTask);
+				}, $syncTodoList)),
+			])
+		;
+		echo UI::h('div', [ 'class' => "row" ], [
+			'<div class="col-md-2">
 				<form action="" method="POST">
 					<input type="hidden" name="_runSync" value="1">
 					<input type="submit" value="Synchronizuj" class="btn btn-primary btn-big">
 				</form>
-			</div>
-			<div class="col-md-10" style="text-align: right;">
+			</div>',
+			'<div class="col-md-10" style="text-align: right;">
 				<form action="" method="POST">
 					<input type="hidden" name="_forceSyncAliasList" value="1">
 					W razie problemów z aliasami pocztowymi:
 					<input type="submit" value="Popraw aliasy" class="btn btn-xs btn-warning">
 				</form>
-			</div>
-		</div>
-		<?php
+			</div>',
+		]);
 	}
 
 }