Support https in blog URLs
[dotclear.git] / page.webservice.php
index 919d130..a3589cb 100644 (file)
@@ -42,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');
     }
@@ -68,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');