* 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; } }