]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - yourls-api.php
Logic change: include "load-yourls.php" instead of "config.php" to start engine
[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 if ( !isset($_REQUEST['action']) )\r
7         die( 'Missing parameter "action"' );\r
8 \r
9 $action = ( isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null );\r
10         \r
11 switch( $action ) {\r
12 \r
13         case 'shorturl':\r
14                 $url = ( isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : '' );\r
15                 $keyword = ( isset( $_REQUEST['keyword'] ) ? $_REQUEST['keyword'] : '' );\r
16                 $return = yourls_add_new_link( $url, $keyword );\r
17                 $return['simple'] = $return['shorturl']; // This one will be used in case output mode is 'simple'\r
18                 unset($return['html']); // in API mode, no need for our internal HTML output\r
19                 break;\r
20         \r
21         case 'stats':\r
22                 $filter = ( isset( $_REQUEST['filter'] ) ? $_REQUEST['filter'] : '' );\r
23                 $limit = ( isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : '' );\r
24                 $return = yourls_api_stats( $filter, $limit );\r
25                 break;\r
26                 \r
27         case 'expand':\r
28                 $shorturl = ( isset( $_REQUEST['shorturl'] ) ? $_REQUEST['shorturl'] : '' );\r
29                 $return = yourls_api_expand( $shorturl );\r
30                 break;\r
31                 \r
32         default:\r
33                 die( 'Unknown "action" parameter' );\r
34 \r
35 }\r
36 \r
37 $format = ( isset( $_REQUEST['format'] ) ? $_REQUEST['format'] : 'xml' );\r
38 \r
39 yourls_api_output( $format, $return );\r
40 \r
41 die();