bitbucket -> github
parent
954195b57f
commit
803b36ed3d
@ -0,0 +1,93 @@
|
||||
<!-- HTML for static distribution bundle build -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Swagger UI</title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
|
||||
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
|
||||
<style>
|
||||
html
|
||||
{
|
||||
box-sizing: border-box;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after
|
||||
{
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
|
||||
<defs>
|
||||
<symbol viewBox="0 0 20 20" id="unlocked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="locked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="close">
|
||||
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow">
|
||||
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow-down">
|
||||
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="jump-to">
|
||||
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="expand">
|
||||
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
|
||||
</symbol>
|
||||
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
<div id="swagger-ui"></div>
|
||||
|
||||
<script src="./swagger-ui-bundle.js"> </script>
|
||||
<script src="./swagger-ui-standalone-preset.js"> </script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
// Build a system
|
||||
const ui = SwaggerUIBundle({
|
||||
url: "http://dotclear.localhost/dotclear/index.php?rest/specs",
|
||||
dom_id: '#swagger-ui',
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
layout: "StandaloneLayout"
|
||||
})
|
||||
|
||||
window.ui = ui
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;AAu/FA;AA6+FA;;;;;;;;;;;;;;;;;;;;;;;;;;AAmTA;;;;;;AAoIA;AAi7FA;AAmtCA;AAi0IA;AA2pJA;AA+uFA;AA2rGA;AAgiFA;AA0rFA;AAk9CA;AA2hDA;AA4rCA;AAi6EA;;;;;AA2gCA;AA02JA;;;;;;;;;;;;;;AAuyEA;AA4mIA;AAquJA;AAwsHA;AA2mGA;AAiiEA;AAq4DA;AA+2DA;AAqlBA;;;;;;AAilFA;AAs1FA;;;;;AAy3CA;AA2qFA;AAw2CA;AAwkCA;AAs/CA;AA4kFA;AAy1FA;;;;;;;;;AAm5CA;AA2zIA;AAk4DA;AAolDA","sourceRoot":""}
|
||||
{"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;AAu/FA;AA6+FA;;;;;;;;;;;;;;;;;;;;;;;;;;AAoTA;;;;;;AAoIA;AAi7FA;AAmtCA;AAi0IA;AA2pJA;AA+uFA;AA2rGA;AAgiFA;AA0rFA;AAk9CA;AA2hDA;AA4rCA;AAi6EA;;;;;AA2gCA;AA02JA;;;;;;;;;;;;;;AAuyEA;AA4mIA;AAquJA;AAwsHA;AA2mGA;AAiiEA;AAq4DA;AA+2DA;AAqlBA;;;;;;AAilFA;AAs1FA;;;;;AAy3CA;AA2qFA;AAw2CA;AAwkCA;AAs/CA;AA4kFA;AAy1FA;;;;;;;;;AAm5CA;AA2zIA;AAk4DA;AAolDA","sourceRoot":""}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AAwxCA;AAoyHA;AAuxHA;AAy4FA;AA2sCA;AAmgCA;AA0iCA;AA+3BA","sourceRoot":""}
|
||||
{"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AAyxCA;AAoyHA;AAuxHA;AAy4FA;AA2sCA;AAmgCA;AA0iCA;AA+3BA","sourceRoot":""}
|
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/*
|
||||
*Methode permettant de retourner des informations sur un blog particulier
|
||||
*/
|
||||
class RestQueryGetBlog extends RestQuery
|
||||
{
|
||||
public function __construct(){
|
||||
global $core;
|
||||
}
|
||||
|
||||
/*
|
||||
* ça se complique niveau droits
|
||||
*
|
||||
* SI L'utilisateur n'est pas authentifié
|
||||
* le blog est hors ligne
|
||||
* -> 404
|
||||
* l'API n'est pas publique
|
||||
* -> refus
|
||||
* l'API est publique
|
||||
* -> OK, mais on ne retourne pas les infos techniques
|
||||
* L'utilisateur est authentifié
|
||||
* n'est pas admin (du blog en question)
|
||||
* -> OK, mais on ne retourne pas les infos techniques
|
||||
* est admin
|
||||
* -> L'API retourne le maximum d'infos
|
||||
*/
|
||||
}
|
@ -1,19 +1,27 @@
|
||||
<?php
|
||||
class RestQueryGetSpecs extends RestQuery
|
||||
{
|
||||
public function __construct($user){
|
||||
global $core;
|
||||
$this->response_code = 200;
|
||||
|
||||
$specs = json_decode(file_get_contents(dirname(__FILE__).'/../documentation/swagger.json'),true);
|
||||
//change some parameters
|
||||
$url = parse_url($core->blog->url.$core->url->getBase('rest'));
|
||||
$specs['host'] = $url['host'];
|
||||
$specs['schemes'] = $url['scheme'];
|
||||
preg_match('/https?:\/\/[^\/]*(\/.*)/',$core->blog->url.$core->url->getBase('rest'),$end);
|
||||
$specs['basePath'] = $end[1];
|
||||
$this->response_message = $specs;
|
||||
return;
|
||||
|
||||
}
|
||||
public function __construct(){
|
||||
global $core;
|
||||
$this->response_code = 200;
|
||||
|
||||
$this->required_perms = 'unauth';
|
||||
|
||||
if($this->is_allowed() === false){
|
||||
$this->response_code = 403;
|
||||
$this->response_message = array('code' => 403, 'error' => 'this method is not open');
|
||||
return;
|
||||
}
|
||||
|
||||
$specs = json_decode(file_get_contents(dirname(__FILE__).'/../documentation/swagger.json'),true);
|
||||
//change some parameters
|
||||
$url = parse_url($core->blog->url.$core->url->getBase('rest'));
|
||||
$specs['host'] = $url['host'];
|
||||
$specs['schemes'] = $url['scheme'];
|
||||
preg_match('/https?:\/\/[^\/]*(\/.*)/',$core->blog->url.$core->url->getBase('rest'),$end);
|
||||
$specs['basePath'] = $end[1];
|
||||
$this->response_message = $specs;
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
<?php
|
||||
class RestQueryPostBlogs extends RestQuery
|
||||
{
|
||||
public function __construct($body)
|
||||
{
|
||||
|
||||
global $core;
|
||||
|
||||
$this->blog_id = false; //this method doesn't depend on a bolg_id
|
||||
$this->required_perms = 'admin'; //I want user have an account
|
||||
|
||||
if($this->is_allowed() === false){
|
||||
//need To be authentified
|
||||
$this->response_code = 403;
|
||||
$this->response_message = array('code' => 403, 'error' => 'You need to be admin to create a new blog');
|
||||
return;
|
||||
}
|
||||
|
||||
$inputArray = $this-> body_to_array($body);
|
||||
if ($inputArray === false){
|
||||
return false;
|
||||
}
|
||||
|
||||
//permit optional description
|
||||
if(!isset($inputArray['blog_desc'])){
|
||||
$inputArray["blog_desc"] = '';
|
||||
}
|
||||
//check if parameters are set
|
||||
|
||||
if(!$this->check_for_required_fields( $inputArray, array('blog_id','blog_url','blog_name','blog_desc'),
|
||||
array('lang','blog_timezone','url_scan')) ){
|
||||
return;
|
||||
}
|
||||
//Following lines are same as admin/blog.php
|
||||
|
||||
$cur = $core->con->openCursor($core->prefix.'blog');
|
||||
$blog_id = $cur->blog_id = $inputArray['blog_id'];
|
||||
$blog_url = $cur->blog_url = $inputArray['blog_url'];
|
||||
$blog_name = $cur->blog_name = $inputArray['blog_name'];
|
||||
$blog_desc = $cur->blog_desc = $inputArray['blog_desc'];
|
||||
|
||||
try
|
||||
{
|
||||
# --BEHAVIOR-- adminBeforeBlogCreate
|
||||
$core->callBehavior('adminBeforeBlogCreate',$cur,$blog_id);
|
||||
|
||||
$core->addBlog($cur);
|
||||
|
||||
# Default settings and override some
|
||||
$core->blogDefaults($cur->blog_id);
|
||||
$blog_settings = new dcSettings($core,$cur->blog_id);
|
||||
$blog_settings->addNamespace('system');
|
||||
|
||||
if(isset($inputArray['lang'])){
|
||||
$blog_settings->system->put('lang',$inputArray['lang']);
|
||||
}else{
|
||||
$blog_settings->system->put('lang',$core->auth->getInfo('user_lang'));
|
||||
}
|
||||
|
||||
if(isset($inputArray['blog_timezone'])){
|
||||
$blog_settings->system->put('blog_timezone',$inputArray['blog_timezone']);
|
||||
}else{
|
||||
$blog_settings->system->put('blog_timezone',$core->auth->getInfo('user_tz'));
|
||||
}
|
||||
|
||||
if(isset($inputArray['url_scan'])){
|
||||
$blog_settings->system->put('url_scan',$inputArray['url_scan']);
|
||||
}elseif(substr($blog_url,-1) == '?') {
|
||||
$blog_settings->system->put('url_scan','query_string');
|
||||
} else {
|
||||
$blog_settings->system->put('url_scan','path_info');
|
||||
}
|
||||
|
||||
# --BEHAVIOR-- adminAfterBlogCreate
|
||||
$core->callBehavior('adminAfterBlogCreate',$cur,$blog_id,$blog_settings);
|
||||
|
||||
//cool
|
||||
$this->response_code = 200;
|
||||
$this->response_message = array(
|
||||
'code' => 200,
|
||||
'message' => 'Successfully created blog'.$blog_id
|
||||
);
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
$this->response_code = 500;
|
||||
$this->response_message = array(
|
||||
'code' => 500,
|
||||
'message' => $e->getMessage()
|
||||
);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue