/**
  * Saves or updates a navigation
  *
  * @throws class_exception
  * @return string, "" in case of success
  * @permissions edit
  */
 protected function actionSaveNavi()
 {
     $strReturn = "";
     $objNavi = new class_module_navigation_tree();
     if ($this->getParam("mode") == "edit") {
         $objNavi = new class_module_navigation_tree($this->getSystemid());
         if (!$objNavi->rightEdit()) {
             return $this->getLang("commons_error_permissions");
         }
     }
     $objForm = $this->getNaviAdminForm($objNavi);
     if (!$objForm->validateForm()) {
         return $this->actionNewNavi($this->getParam("mode"), $objForm);
     }
     $objForm->updateSourceObject();
     $objNavi->setStrFolderId($this->getParam("navi_folder_i_id"));
     if (!$objNavi->updateObjectToDb()) {
         throw new class_exception("Error saving object to db", class_exception::$level_ERROR);
     }
     $this->adminReload(class_link::getLinkAdminHref($this->getArrModule("modul")));
     return $strReturn;
 }