|
|
@@ -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();
|
|
|
+ }
|
|
|
|
|
|
}
|