2 define('YOURLS_API', true);
\r
3 require_once( dirname(__FILE__).'/includes/load-yourls.php' );
\r
4 yourls_maybe_require_auth();
\r
6 $action = ( isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null );
\r
8 yourls_do_action( 'api', $action );
\r
14 $url = ( isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : '' );
\r
15 $keyword = ( isset( $_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : '' );
\r
16 $title = ( isset( $_REQUEST['title'] ) ? $_REQUEST['title'] : '' );
\r
17 $return = yourls_add_new_link( $url, $keyword, $title );
\r
18 $return['simple'] = ( isset( $return['shorturl'] ) ? $return['shorturl'] : '' ); // This one will be used in case output mode is 'simple'
\r
19 $return['callback'] = ( isset( $_REQUEST['callback'] ) ? $_REQUEST['callback'] : '' );
\r
20 unset( $return['html'] ); // in API mode, no need for our internal HTML output
\r
23 // Stats about links (XX top, bottom, last, rand)
\r
25 $filter = ( isset( $_REQUEST['filter'] ) ? $_REQUEST['filter'] : '' );
\r
26 $limit = ( isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : '' );
\r
27 $start = ( isset( $_REQUEST['start'] ) ? $_REQUEST['start'] : '' );
\r
28 $return = yourls_api_stats( $filter, $limit, $start );
\r
29 $return['callback'] = $_REQUEST['callback'];
\r
32 // Just the global counts of shorturls and clicks
\r
34 $return = yourls_api_db_stats();
\r
35 $return['callback'] = $_REQUEST['callback'];
\r
38 // Stats for a shorturl
\r
40 $shorturl = ( isset( $_REQUEST['shorturl'] ) ? $_REQUEST['shorturl'] : '' );
\r
41 $return = yourls_api_url_stats( $shorturl );
\r
42 $return['callback'] = $_REQUEST['callback'];
\r
45 // Expand a short link
\r
47 $shorturl = ( isset( $_REQUEST['shorturl'] ) ? $_REQUEST['shorturl'] : '' );
\r
48 $return = yourls_api_expand( $shorturl );
\r
49 $return['callback'] = $_REQUEST['callback'];
\r
52 // Missing or incorrect action parameter
\r
56 'message' => 'Unknown or missing "action" parameter',
\r
57 'simple' => 'Unknown or missing "action" parameter',
\r
63 $format = ( isset( $_REQUEST['format'] ) ? $_REQUEST['format'] : 'xml' );
\r
65 yourls_api_output( $format, $return );
\r