X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=page.webservice.php;h=a3589cbb4b9ed0385c978f239bd323251ad319b7;hb=HEAD;hp=e4783cb3e047df88178e0d5a65855bb2bff0d06a;hpb=5322432c77c1ec34f7329ed0334c54b82e362b64;p=dotclear.git diff --git a/page.webservice.php b/page.webservice.php index e4783cb..a3589cb 100644 --- a/page.webservice.php +++ b/page.webservice.php @@ -3,7 +3,13 @@ require_once dirname(__FILE__) . '/widget.blog.owner.php'; class XorgWebservice extends dcUrlHandlers { static private function canRunServices() { - return true; + $addrs = explode(',', XORG_SERV_ADDRS); + foreach ($addrs as $addr) { + if ($addr == $_SERVER['REMOTE_ADDR']) { + return true; + } + } + return false; } static public function handle($args) { @@ -36,14 +42,15 @@ class XorgWebservice extends dcUrlHandlers { static public function createBlog() { global $core; - if (!isset($_GET['owner']) || !isset($_GET['url']) || !isset($_GET['type'])) { + if (!isset($_GET['owner']) || !isset($_GET['url']) || !isset($_GET['type']) || !isset($_GET['baseurl'])) { return array('status' => false, 'message' => 'Missing parameters'); } $owner = $_GET['owner']; - $url = $_GET['url']; + $url = rtrim($_GET['url'], '/') . '/'; + $baseurl = rtrim($_GET['baseurl'], '/') . '/'; $type = $_GET['type']; - if ($type != 'user' && $type != 'group-member' && $type != 'group-admin') { + if ($type != 'user' && $type != 'connected' && $type != 'group-member' && $type != 'group-admin') { return array('status' => false, 'message' => 'Invalid blog type required'); } @@ -62,7 +69,13 @@ class XorgWebservice extends dcUrlHandlers { $core->addBlog($cur); $settings = new dcSettings($core, $owner); - xorgBlogOwnerWidget::setXorgOwner($settings, $type, $owner); + $settings->system->put('public_path', 'public/' . $owner); + $settings->system->put('public_url', $baseurl . 'public/'); + $settings->system->put('themes_path', 'themes/'); + $settings->system->put('themes_url', $baseurl . 'themes/'); + $xorgauth = $settings->addNamespace('xorgauth'); + $xorgauth->put('xorg_blog_type', $type, 'string', 'Type de blog X.org'); + $xorgauth->put('xorg_blog_owner', $owner, 'string', 'Propriétaire X.org du blog'); return array('status' => true, 'message' => 'blog created');