Parcourir la source

updated bookmarks menu

Piotr Labudda il y a 8 ans
Parent
commit
c3b5a771ca
1 fichiers modifiés avec 64 ajouts et 61 suppressions
  1. 64 61
      SE/se-lib/Route/P5Menu.php

+ 64 - 61
SE/se-lib/Route/P5Menu.php

@@ -6,15 +6,15 @@ Lib::loadClass('Response');
 
 class Route_P5Menu extends RouteBase {
 
-  public function defaultAction() {
+	public function defaultAction() {
 		Response::sendTryCatchJson(array($this, 'getMenuData'), $args = 'JSON_FROM_REQUEST_BODY');
 	}
 	public function getMenuData($args = []) {
-    if ($postTask = V::get('_postTask', '', $args)) {
-      DBG::log($args, 'array', "exec '{$postTask}'");
-      if (!method_exists($this, "{$postTask}PostTask")) throw new Exception("Post Task not exists!");
-      $this->{"{$postTask}PostTask"}($args);
-    }
+		if ($postTask = V::get('_postTask', '', $args)) {
+			DBG::log($args, 'array', "exec '{$postTask}'");
+			if (!method_exists($this, "{$postTask}PostTask")) throw new Exception("Post Task not exists!");
+			$this->{"{$postTask}PostTask"}($args);
+		}
 
 		$userAcl = User::getAcl();
 		$listObjects = $userAcl->getTablesAcl();
@@ -51,29 +51,32 @@ class Route_P5Menu extends RouteBase {
 					];
 				}, array_values($listUrls), array_keys($listUrls)),
 
-				'bookmarks' => array_map(function ($cls, $idZasob) use ($listObjects, $listUrls) {
-					if (array_key_exists($idZasob, $listObjects)) {
-            $acl = $listObjects[$idZasob];
-            return [
-              'id' => $idZasob,
-              'namespace' => $acl->getNamespace(),
-              'name' => $acl->getName(),
-              'label' => $acl->getRawLabel(),
-              'opis' => $acl->getOpis(),
-              'type' => 'menu',
-              'class' => $cls
-            ];
-					}
-					else if (array_key_exists($idZasob, $listUrls)) {
-            return [
-              'id' => $idZasob,
-              'name' => $listUrls[$idZasob],
-              'type' => 'url',
-              'class' => $cls
-            ];
-					}
-          return null;
-				}, array_values($bookmarks), array_keys($bookmarks)),
+				'bookmarks' => array_filter(
+					array_map(function ($cls, $idZasob) use ($listObjects, $listUrls) {
+						if (array_key_exists($idZasob, $listObjects)) {
+							$acl = $listObjects[$idZasob];
+							return [
+								'id' => $idZasob,
+								'namespace' => $acl->getNamespace(),
+								'name' => $acl->getName(),
+								'label' => $acl->getRawLabel(),
+								'opis' => $acl->getOpis(),
+								'type' => 'menu',
+								'class' => $cls
+							];
+						}
+						else if (array_key_exists($idZasob, $listUrls)) {
+							return [
+								'id' => $idZasob,
+								'name' => $listUrls[$idZasob],
+								'type' => 'url',
+								'class' => $cls
+							];
+						}
+						return null;
+					}, array_values($bookmarks), array_keys($bookmarks))
+					, function ($bookmark) { return null !== $bookmark; }
+				),
 
 				'idsBookmarks' => array_keys($bookmarks),
 
@@ -81,37 +84,37 @@ class Route_P5Menu extends RouteBase {
 		];
 	}
 
-  public function addBookmarkPostTask($args) {
-    $zasobID = V::get('_zasobID', 0, $args, 'int');
-    if ($zasobID <= 0) throw new Exception('Missing _zasobID');
-    UserBookmarks::getInstance()->addBookmark($zasobID);
-    User::saveProfile();
-  }
-
-  public function removeBookmarkPostTask($args) {
-    $zasobID = V::get('_zasobID', 0, $args, 'int');
-    if ($zasobID <= 0) throw new Exception('Missing _zasobID');
-    UserBookmarks::getInstance()->removeBookmark($zasobID);
-    User::saveProfile();
-    $this->getMenuData();
-  }
-
-  public function changeBookmarkPostTask($args) {
-    $zasobID = V::get('_zasobID', 0, $args, 'int');
-    if ($zasobID <= 0) throw new Exception('Missing _zasobID');
-    $btnCls = V::get('btnCls', '', $args);
-    if (empty($btnCls)) {
-      die('Error: no button class');
-    }
-    UserBookmarks::getInstance()->changeBookmark($zasobID, $btnCls);
-    User::saveProfile();
-  }
-
-  public function sortBookmarksPostTask($args) {
-    $idsOrdered = V::get('ids', array(), $args, 'array', array('V', 'filterPositiveInteger'));
-    if (empty($idsOrdered)) throw new Exception('Missing ids');
-    UserBookmarks::getInstance()->sortBookmarks($idsOrdered);
-    User::saveProfile();
-  }
+	public function addBookmarkPostTask($args) {
+		$zasobID = V::get('_zasobID', 0, $args, 'int');
+		if ($zasobID <= 0) throw new Exception('Missing _zasobID');
+		UserBookmarks::getInstance()->addBookmark($zasobID);
+		User::saveProfile();
+	}
+
+	public function removeBookmarkPostTask($args) {
+		$zasobID = V::get('_zasobID', 0, $args, 'int');
+		if ($zasobID <= 0) throw new Exception('Missing _zasobID');
+		UserBookmarks::getInstance()->removeBookmark($zasobID);
+		User::saveProfile();
+		$this->getMenuData();
+	}
+
+	public function changeBookmarkPostTask($args) {
+		$zasobID = V::get('_zasobID', 0, $args, 'int');
+		if ($zasobID <= 0) throw new Exception('Missing _zasobID');
+		$btnCls = V::get('btnCls', '', $args);
+		if (empty($btnCls)) {
+			die('Error: no button class');
+		}
+		UserBookmarks::getInstance()->changeBookmark($zasobID, $btnCls);
+		User::saveProfile();
+	}
+
+	public function sortBookmarksPostTask($args) {
+		$idsOrdered = V::get('ids', array(), $args, 'array', array('V', 'filterPositiveInteger'));
+		if (empty($idsOrdered)) throw new Exception('Missing ids');
+		UserBookmarks::getInstance()->sortBookmarks($idsOrdered);
+		User::saveProfile();
+	}
 
 }