Example #1
0
 /**
  * Returns whether the post is attempting to delete an undeletable page
  *
  * @return boolean
  */
 protected function _postHasDeletedUndeletablePage()
 {
     // get undeleteable page uids from new navigation
     $nav = $this->_getNavigationFromPost();
     $iterator = new RecursiveIteratorIterator($nav, RecursiveIteratorIterator::SELF_FIRST);
     $newUndeleteableUids = array();
     foreach ($iterator as $page) {
         if ($page->can_delete == false) {
             $newUndeleteableUids[] = $page->uid;
         }
     }
     // make sure every undeleteable page uid from old navigation is in the list of new undeleteable page uids
     $nav = Omeka_Navigation::createNavigationFromFilter('public_navigation_main');
     $iterator = new RecursiveIteratorIterator($nav, RecursiveIteratorIterator::SELF_FIRST);
     foreach ($iterator as $page) {
         if ($page->can_delete == false) {
             if (!in_array($page->uid, $newUndeleteableUids)) {
                 $this->addError(__('Navigation links that have undeleteable sublinks cannot be deleted.'));
                 return true;
             }
         }
     }
     return false;
 }