]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - yourls-api.php
Individual URL stats API call. Fixes issue 211.
[Github/YOURLS.git] / yourls-api.php
1 <?php\r
2 define('YOURLS_API', true);\r
3 require_once( dirname(__FILE__).'/includes/load-yourls.php' );\r
4 yourls_maybe_require_auth();\r
5 \r
6 $action = ( isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null );\r
7         \r
8 switch( $action ) {\r
9 \r
10         case 'shorturl':\r
11                 $url = ( isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : '' );\r
12                 $keyword = ( isset( $_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : '' );\r
13                 $return = yourls_add_new_link( $url, $keyword );\r
14                 $return['simple'] = ( isset( $return['shorturl'] ) ? $return['shorturl'] : '' ); // This one will be used in case output mode is 'simple'\r
15                 unset($return['html']); // in API mode, no need for our internal HTML output\r
16                 break;\r
17         \r
18         case 'stats':\r
19                 $filter = ( isset( $_REQUEST['filter'] ) ? $_REQUEST['filter'] : '' );\r
20                 $limit = ( isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : '' );\r
21                 $return = yourls_api_stats( $filter, $limit );\r
22                 break;\r
23                 \r
24         case 'url-stats':\r
25                 $shorturl = ( isset( $_REQUEST['shorturl'] ) ? $_REQUEST['shorturl'] : '' );\r
26                 $return = yourls_api_url_stats( $shorturl );\r
27                 break;\r
28 \r
29         case 'expand':\r
30                 $shorturl = ( isset( $_REQUEST['shorturl'] ) ? $_REQUEST['shorturl'] : '' );\r
31                 $return = yourls_api_expand( $shorturl );\r
32                 break;\r
33                 \r
34         default:\r
35                 $return = array(\r
36                         'errorCode' => 400,\r
37                         'message'   => 'Unknown or missing "action" parameter',\r
38                         'simple'    => 'Unknown or missing "action" parameter',\r
39                 );\r
40                 \r
41 \r
42 }\r
43 \r
44 $format = ( isset( $_REQUEST['format'] ) ? $_REQUEST['format'] : 'xml' );\r
45 \r
46 yourls_api_output( $format, $return );\r
47 \r
48 die();