setState($aClean['sState']); else if(getInput('bIsRejected', $aClean) == 'true') // Compatibility with old URLs $oObject->setState('rejected'); else if(getInput('bIsQueue', $aClean) == 'true') $oObject->setState('queued'); else $oObject->setState('accepted'); if(isset($aClean['sReturnToTitle'])) $oObject->setReturnToTitle($aClean['sReturnToTitle']); if(isset($aClean['sReturnTo'])) $oObject->setReturnTo($aClean['sReturnTo']); $oObject->getMultiPageDataFromInput($aClean); $oObject->setSortInfo($aClean); $oObject->getFilterInfoFromInput($aClean); $sClass = $oObject->getClass(); $oOtherObject = new $sClass($oObject->getId()); /* Certain actions must be performed before the header is set. */ /* processForm returns TRUE on success, or a user-readable list of errors on failure */ $sErrors = $oObject->processForm($aClean); if(array_key_exists("sAction", $aClean)) $sAction = $aClean['sAction']; else $sAction = ""; /* Handle things that need to be done before showing any output */ if($sAction) { switch($aClean['sAction']) { case 'add': $oObject->handle_anonymous_submission($aClean); break; case 'changeParent': /* Provided the necessary values are present, an object may be moved to another parent without any confirmation */ if($oObject->getId() && getInput('iNewId', $aClean)) $oObject->change_parent($aClean['iNewId']); break; case 'moveChildren': /* Provided the necessary values are present, an object's children may be moved without any confirmation */ if($oObject->getId() && $aClean['iNewId']) $oObject->move_children($aClean['iNewId']); break; case 'doPurgeRejected': /* Purge some or all rejected entries */ $oObject->purgeRejected($aClean); break; } } /* If no action is specified, use a default depending on other parameters */ if(!$sAction) { if($oObject->getId()) $sAction = "view"; } apidb_header($oObject->get_title($sAction)); /* display a particular element */ if(($oObject->getId() || $oObject->IsNullIdAllowed($sAction)) && $sAction != "add") { switch($sAction) { case "cancel": $oObject->display_table($aClean); /* go back to the queue */ break; case "edit": $oObject->display_entry_for_editing($aClean, $sErrors); break; case 'moveToNewParent': $oObject->move_to_new_parent($aClean, $sErrors); break; case 'showChangeParent': $oObject->display_change_parent(); break; case "showMoveChildren": $oObject->display_move_children(); break; case "delete": $oObject->delete_prompt(); break; case "view": $oObject->view($_SERVER['REQUEST_URI'], $aClean); break; } } else { switch($sAction) { case 'add': $oObject->add_entry($aClean, $sErrors); break; case 'purgeRejected': $oObject->displayPurgeRejected(); break; default: $oObject->display_table($aClean); } } apidb_footer(); ?>