parent
aa8a85f77d
commit
e3013c5801
@ -0,0 +1,63 @@ |
||||
<?php |
||||
/** |
||||
* Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl> |
||||
* This file is licensed under the Affero General Public License version 3 or |
||||
* later. |
||||
* See the COPYING-README file. |
||||
* |
||||
*/ |
||||
|
||||
namespace OC; |
||||
|
||||
/** |
||||
* Manages the owncloud navigation |
||||
*/ |
||||
class NavigationManager { |
||||
protected $entries = array(); |
||||
|
||||
/** |
||||
* Creates a new navigation entry |
||||
* @param array $entry containing: id, name, order, icon and href key |
||||
*/ |
||||
public function add(array $entry) { |
||||
$entry['active'] = false; |
||||
if(!isset($entry['icon'])) { |
||||
$entry['icon'] = ''; |
||||
} |
||||
$this->entries[] = $entry; |
||||
} |
||||
|
||||
/** |
||||
* @brief returns all the added Menu entries |
||||
* @return array of the added entries |
||||
*/ |
||||
public function getAll() { |
||||
return $this->entries; |
||||
} |
||||
|
||||
/** |
||||
* @brief removes all the entries |
||||
*/ |
||||
public function clear() { |
||||
$this->entries = array(); |
||||
} |
||||
|
||||
/** |
||||
* Sets the current navigation entry of the currently running app |
||||
* @param string $id of the app entry to activate (from added $entry) |
||||
*/ |
||||
public function setActiveEntry($id) { |
||||
$this->activeEntry = $id; |
||||
} |
||||
|
||||
/** |
||||
* @brief gets the active Menu entry |
||||
* @return string id or empty string |
||||
* |
||||
* This function returns the id of the active navigation entry (set by |
||||
* setActiveEntry |
||||
*/ |
||||
public function getActiveEntry() { |
||||
return $this->activeEntry; |
||||
} |
||||
} |
@ -0,0 +1,27 @@ |
||||
<?php |
||||
/** |
||||
* Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl> |
||||
* This file is licensed under the Affero General Public License version 3 or |
||||
* later. |
||||
* See the COPYING-README file. |
||||
* |
||||
*/ |
||||
|
||||
namespace OCP; |
||||
|
||||
/** |
||||
* Manages the owncloud navigation |
||||
*/ |
||||
interface INavigationManager { |
||||
/** |
||||
* Creates a new navigation entry |
||||
* @param array $entry containing: id, name, order, icon and href key |
||||
*/ |
||||
public function add(array $entry); |
||||
|
||||
/** |
||||
* Sets the current navigation entry of the currently running app |
||||
* @param string $appId id of the app entry to activate (from added $entry) |
||||
*/ |
||||
public function setActiveEntry($appId); |
||||
} |
Loading…
Reference in new issue