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/'); } } } }