00001 <?php
00011 class SDRContract {
00012
00013 const METHOD_FIND = 'find';
00014 const METHOD_SUBMIT = 'submit';
00015 const METHOD_APPROVE = 'approve';
00016
00017
00018 const REQUEST_TYPE_DEFAULT = 'default';
00019 const REQUEST_TYPE_QUICK = 'quick';
00020 const REQUEST_TYPE_LIST = 'list';
00021 const REQUEST_TYPE_ADVANCED = 'advanced';
00022 const REQUEST_TYPE_VOCAB = 'vocab';
00023 const REQUEST_TYPE_ALIGNMENTS = 'alignments';
00024 const REQUEST_TYPE_PENDING = 'pending';
00025
00026
00027 const RESULT_TYPE_DEFAULT = 'default';
00028 const RESULT_TYPE_RESOURCES = 'resources';
00029 const RESULT_TYPE_VOCAB = 'vocab';
00030 const RESULT_TYPE_ALIGNMENTS = 'alignments';
00031
00032
00033 const RESULTS_PER_PAGE = 'rp';
00034 const STARTING_RESULT = 'sr';
00035
00036
00037 const FILTER_PROJECT = 'filterProject';
00038 const FILTER_CSERD = 'filterCSERD';
00039
00040
00041 const DATA_METADATA = 'metadata';
00042 const DATA_ALIGNMENTS = 'alignments';
00043 const DATA_RELATIONSHIPS = 'relationships';
00044 const DATA_REVIEWS = 'reviews';
00045
00046
00047 const PROJECT_CSERD = 'CSERD';
00048 const PROJECT_NCSI_RESOURCES = 'NCSI Resources';
00049 const PROJECT_INTERACTIVATE = 'Interactivate';
00050 const PROJECT_MASTER = 'MASTER Tools';
00051 const PROJECT_SUCCEED_CURRICULUM = 'SUCCEED Curriculum';
00052 const PROJECT_HPCU = 'HPCU';
00053 const PROJECT_JOCSE = 'JOCSE';
00054 const PROJECT_BIO_PORTAL = 'BioPortal';
00055 const PROJECT_PETASCALE = 'Petascale';
00056
00057
00058
00059
00060 public static $CONTRACT = array (
00061 self::METHOD_FIND => array (
00062 'types' => array (
00063 self::TYPE_DEFAULT,
00064 self::TYPE_QUICK,
00065 self::TYPE_LIST,
00066 self::TYPE_ADVANCED,
00067 self::TYPE_VOCAB,
00068 self::TYPE_ALIGNMENTS,
00069 self::TYPE_PENDING
00070 )
00071 ),
00072 self::METHOD_SUBMIT => array (
00073 'types' => array (
00074 self::TYPE_DEFAULT
00075 )
00076 ),
00077 self::METHOD_APPROVE => array (
00078 'types' => array (
00079 self::TYPE_DEFAULT
00080 )
00081 )
00082 );
00083
00084
00094 public static function resultType($method, $type) {
00095 switch($method) {
00096 case self::METHOD_FIND:
00097 switch($type) {
00098 case self::REQUEST_TYPE_DEFAULT:
00099 case self::REQUEST_TYPE_QUICK:
00100 case self::REQUEST_TYPE_ADVANCED:
00101 case self::REQUEST_TYPE_LIST:
00102 case self::REQUEST_TYPE_PENDING:
00103 return self::RESULT_TYPE_RESOURCES;
00104 case self::REQUEST_TYPE_VOCAB:
00105 return self::RESULT_TYPE_VOCAB;
00106 case self::REQUEST_TYPE_ALIGNMENTS:
00107 return self::RESULT_TYPE_ALIGNMENTS;
00108 }
00109 default:
00110
00111 return false;
00112 }
00113 }
00114 }
00115 ?>