. */ require_once "../../config.php"; require_once "../../include/dbconnection.php"; require_once "../../include/globals.php"; class ApiStatistics { public function __construct($path) { header("Content-Type: application/json"); header("Access-Control-Allow-Origin: *"); $fields = explode("/", $path); if( count($fields) == 2 ) { $data = $this->getData($fields[0], $fields[1]); if( $data != NULL ) { $this->sendJson($data); }else { $this->info(); } }else { $this->info(); } } private function getData($selection, $title) { $queryBuilder = new QueryBuilder($GLOBALS['DB'], "statistics"); $queryBuilder->addField(array('id', 'json', 'image_height', 'image_width')); $queryBuilder->addWhereEquals("selection", $selection); $queryBuilder->addWhereEquals("title", $title); if( $GLOBALS['DB']->select($queryBuilder->toQuery()) == 1 ) { return $GLOBALS['DB']->fetchAssoc(); }else { return NULL; } } private function sendJson($data) { $json = json_decode($data['json'], true); $json['image'] = "https://" . substr(FULL_URL, 0, -15) . "image/statistic.php?id=" . $data['id']; $json['height'] = $data['image_height']; $json['width'] = $data['image_width']; echo json_encode($json); } private function info() { $json = array(); $json['info'] = "Please provide proper parameters: https://" . FULL_URL . "[selection]/[title]"; $json['selection'] = array(); $queryBuilder = new QueryBuilder($GLOBALS['DB'], "statistics"); $queryBuilder->addField("selection"); $queryBuilder->addGroup("selection"); if( $GLOBALS['DB']->select($queryBuilder->toQuery()) > 0 ) { while( $row = $GLOBALS['DB']->fetchAssoc() ) { $json['selection'][] = $row['selection']; } } $json['title'] = array(); $queryBuilder = new QueryBuilder($GLOBALS['DB'], "statistics"); $queryBuilder->addField("title"); $queryBuilder->addGroup("title"); if( $GLOBALS['DB']->select($queryBuilder->toQuery()) > 0 ) { while( $row = $GLOBALS['DB']->fetchAssoc() ) { $json['title'][] = $row['title']; } } echo json_encode($json); } } new ApiStatistics($_SERVER["REDIRECT_QUERY_STRING"]); ?>