public static function getPageList($page_id = 0)
 {
     $pagesData = PageManager::fetchPageByType(extension_RestEngine::pageType());
     if (!is_array($pagesData[0])) {
         $pagesArray[0] = $pagesData;
     } else {
         $pagesArray = $pagesData;
     }
     $exclude = RestResourceManager::getExistingRestPages();
     $pageOptions = array();
     foreach ($pagesArray as $page) {
         $selectedPage = $page_id == $page['id'] ? true : false;
         //Disable select options for pages that already are set, allowing the current page and any pages that aren't already set up to still be selected.
         $attr = is_numeric(array_search($page['id'], $exclude)) && $page_id != $page['id'] ? array('disabled' => 'disabled') : null;
         $pageOptions[] = array($page['id'], $selectedPage, $page['title'], null, null, $attr);
     }
     return $pageOptions;
 }
 public function __actionEdit()
 {
     if (array_key_exists('delete', $_POST['action'])) {
         return $this->__actionDelete($this->_context[1], extension_RestEngine::baseURL() . 'settings/');
     }
     if (array_key_exists('save', $_POST['action'])) {
         $isNew = $this->_context[0] !== "edit";
         $fields = $_POST['fields'];
         if (!$isNew) {
             if (!($map_id = $this->_context[1])) {
                 redirect(extension_RestEngine::baseURL() . 'settings/');
             }
             if (!($existing = RestResourceManager::fetch($map_id))) {
                 throw new SymphonyErrorPage(__('The API Resource you requested to edit does not exist.'), __('Resource not found'), 'error');
             }
         }
         //TODO: Decide if I really want to require this or not? If not also change SQL
         $uid_parameter = trim($fields['uid_parameter']);
         if (strlen($uid_parameter) == 0) {
             $this->_errors['name'] = __('This is a required field');
             return false;
         }
         //TODO: Do we need to check for the existence of anything here?
         if ($isNew) {
         } else {
         }
         $data = array('page_id' => $fields['page_id'], 'section_id' => $fields['section_id'], 'field_id' => $fields['field_id'], 'uid_parameter' => $fields['uid_parameter'], 'format_parameter' => $fields['format_parameter']);
         if ($isNew) {
             if ($map_id = RestResourceManager::add($data)) {
                 redirect(extension_RestEngine::baseURL() . 'settings/edit/' . $map_id . '/created/');
             }
         } else {
             if (RestResourceManager::edit($map_id, $data)) {
                 redirect(extension_RestEngine::baseURL() . 'settings/edit/' . $map_id . '/saved/');
             }
         }
     }
 }