コード例 #1
0
set_include_path(get_include_path() . PATH_SEPARATOR . 'include/');
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('CnCNet_');
unset($loader);
$db = Zend_Db::factory('Pdo_Sqlite', array('dbname' => 'db/cncnet.db'));
Zend_Db_Table::setDefaultAdapter($db);
$db->query('PRAGMA foreign_keys = ON');
unset($db);
$type = isset($_GET['type']) ? $_GET['type'] : 'json';
if ($type == 'json' || $type == 'jsonp') {
    $server = new Zend_Json_Server();
    $server->setClass('CnCNet_Api');
    if ($type == 'jsonp') {
        $server->setRequest(new CnCNet_Json_Server_Request_Http_Jsonp());
        $server->setResponse(new CnCNet_Json_Server_Response_Http_Jsonp());
    } else {
        if ($_SERVER['REQUEST_METHOD'] == 'GET') {
            echo $server->setEnvelope(Zend_Json_Server_Smd::ENV_JSONRPC_2)->getServiceMap();
            return;
        }
    }
    $server->handle();
} else {
    if ($type == 'xml') {
        header('Content-type: text/xml');
        $server = new Zend_XmlRpc_Server();
        $server->setClass('CnCNet_Api');
        echo $server->handle();
    } else {
        if ($type == 'dumb') {