WWW update
authorMuki <mkiol@o2.pl>
Fri, 8 Jun 2012 13:23:42 +0000 (15:23 +0200)
committerMuki <mkiol@o2.pl>
Fri, 8 Jun 2012 13:23:42 +0000 (15:23 +0200)
qml/ubi/u1.js.autosave [new file with mode: 0644]
ubi.pro.user
www/index.html
www/index.html~

diff --git a/qml/ubi/u1.js.autosave b/qml/ubi/u1.js.autosave
new file mode 100644 (file)
index 0000000..237b2f6
--- /dev/null
@@ -0,0 +1,386 @@
+// u1.js
+.pragma library
+
+Qt.include("oauth/oauth.js")
+Qt.include("oauth/sha1.js")
+
+function getToken(user,pass,root)
+{
+    var url = "https://login.ubuntu.com/api/1.0/authentications?ws.op=authenticate&token_name=Ubuntu%20One%20@%20Ubi"
+    var xhr = new XMLHttpRequest();
+    if(user && pass) {
+        xhr.open("GET",url,true,user,pass);
+        xhr.onreadystatechange = function() {
+                    if(xhr.readyState===4) {
+                        //console.log(xhr.status);
+                        if(xhr.status>=400) {
+                            root.onErr(xhr.status);
+                        } else {
+                            //console.log(xhr.responseText);
+                            var resp = eval('('+xhr.responseText+')');
+                            var secrets = {
+                                token: resp.token,
+                                secret: resp.token_secret,
+                                consumer_key : resp.consumer_key,
+                                consumer_secret: resp.consumer_secret,
+                            };
+                            registerToken(secrets,user,root);
+                        }
+                    }
+                }
+        xhr.send();
+    } else {
+        root.onErr(0);
+    }
+}
+
+function oAuthRequest(url,secrets,method,range)
+{
+    var accessor = {
+        consumerKey: secrets.consumer_key,
+        consumerSecret: secrets.consumer_secret,
+        token: secrets.token,
+        tokenSecret: secrets.secret
+    };
+    if(!method) method = "GET";
+    var message = {
+        action: url,
+        method: method,
+        parameters: [
+            ["oauth_consumer_key",accessor.consumerKey],
+            ["oauth_token",accessor.token],
+            ["oauth_version","1.0"]
+        ]
+    };
+    OAuth.setTimestampAndNonce(message);
+    OAuth.SignatureMethod.sign(message,accessor);
+    var xhr = new XMLHttpRequest();
+    xhr.open(method,url,true);
+    var auth = OAuth.getAuthorizationHeader("",message.parameters);
+    xhr.setRequestHeader("Authorization",auth);
+    if(range) xhr.setRequestHeader("Range",range);
+    return xhr;
+}
+
+function oAuthHeader(url,secrets,method)
+{
+    var accessor = {
+        consumerKey: secrets.consumer_key,
+        consumerSecret: secrets.consumer_secret,
+        token: secrets.token,
+        tokenSecret: secrets.secret
+    };
+    if(!method) method = "GET";
+    var message = {
+        action: url,
+        method: method,
+        parameters: [
+            ["oauth_consumer_key",accessor.consumerKey],
+            ["oauth_token",accessor.token],
+            ["oauth_version","1.0"]
+        ]
+    };
+    OAuth.setTimestampAndNonce(message);
+    OAuth.SignatureMethod.sign(message,accessor);
+    return OAuth.getAuthorizationHeader("",message.parameters);
+}
+
+function registerToken(secrets,user,root)
+{
+    var url = "https://one.ubuntu.com/oauth/sso-finished-so-get-tokens/" + user;
+    var xhr = oAuthRequest(url,secrets);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400) {
+                        //console.log(xhr.responseText);
+                        root.onErr(xhr.status);
+                    } else {
+                        //root.onResp(secrets);
+                        //console.log(xhr.responseText);
+                        getAccount(secrets,root);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function getAccount(secrets,root)
+{
+    var url = "https://one.ubuntu.com/api/account/";
+    var xhr = oAuthRequest(url,secrets);
+    //console.log("getAccount");
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log(xhr.status);
+                        //console.log(xhr.responseText);
+                        //console.log("getAccount: err");
+                        root.onErr(xhr.status);
+                    } else {
+                        //console.log(xhr.responseText);
+                        //console.log("getAccount: ok");
+                        var account = eval('('+xhr.responseText+')');
+                        root.onResp(secrets,account);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function getFiles(secrets,rootNode,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1"
+            +encodeURI(rootNode)+"/?include_children=true";
+    //console.log("url: "+url);
+    var xhr = oAuthRequest(url,secrets);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        root.onErr(xhr.status);
+                    } else {
+                        //console.log(xhr.responseText);
+                        //console.log("");
+                        //console.log(xhr.getAllResponseHeaders());
+                        var resp = eval('('+xhr.responseText+')');
+                        var nodes = resp.children;
+                        root.onResp(nodes);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function getRootNode(secrets,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1";
+    var xhr = oAuthRequest(url,secrets);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log(xhr.status);
+                        root.onErr(xhr.status);
+                    } else {
+                        //console.log(xhr.responseText);
+                        var resp = eval('('+xhr.responseText+')');
+                        root.onRespRootNode(resp);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function getFileTree(secrets,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1";
+    var xhr = oAuthRequest(url,secrets);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log(xhr.status);
+                        root.onErr(xhr.status);
+                    } else {
+                        //console.log(xhr.responseText);
+                        var resp = eval('('+xhr.responseText+')');
+                        var rootNode = resp.root_node_path;
+                        getFiles(secrets,rootNode,root);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function renameFile(secrets,resourcePath,targetPath,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    //console.log("url: "+url);
+    //console.log("target: "+encodeURI(targetPath));
+    //console.log("target: "+targetPath);
+    var xhr = oAuthRequest(url,secrets,"PUT");
+    xhr.setRequestHeader("Content-Type","application/json");
+    //var body = '{"path":"'+encodeURI(targetPath)+'"}';
+    var body = '{"path":"'+targetPath+'"}';
+    //console.log("body: "+body);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        root.onErrRename(xhr.status);
+                    } else {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        var resp = eval('('+xhr.responseText+')');
+                        //console.log(resp);
+                        root.onRespRename(resp);
+                    }
+                }
+            }
+
+    xhr.send(body);
+}
+
+function stopPublishing(secrets,resourcePath,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    var xhr = oAuthRequest(url,secrets,"PUT");
+    xhr.setRequestHeader("Content-Type","application/json");
+    var body = '{"is_public":false}';
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        root.onErrStopPublishing(xhr.status);
+                    } else {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        var resp = eval('('+xhr.responseText+')');
+                        //console.log(resp);
+                        root.onRespStopPublishing(resp);
+                    }
+                }
+            }
+    xhr.send(body);
+}
+
+function startPublishing(secrets,resourcePath,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    var xhr = oAuthRequest(url,secrets,"PUT");
+    xhr.setRequestHeader("Content-Type","application/json");
+    var body = '{"is_public":true}';
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        root.onErrStartPublishing(xhr.status);
+                    } else {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        var resp = eval('('+xhr.responseText+')');
+                        //console.log(resp);
+                        root.onRespStartPublishing(resp);
+                    }
+                }
+            }
+    xhr.send(body);
+}
+
+function newFolder(secrets,resourcePath,root)
+{
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    //console.log("url: "+url);
+    var xhr = oAuthRequest(url,secrets,"PUT");
+    xhr.setRequestHeader("Content-Type","application/json");
+    var body = '{"kind": "directory"}';
+    //console.log("body: "+body);
+    xhr.onreadystatechange = function() {
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        root.onErrNew(xhr.status);
+                    } else {
+                        //console.log("status: "+xhr.status);
+                        //console.log(xhr.responseText);
+                        root.onRespNew();
+                    }
+                }
+            }
+
+    xhr.send(body);
+}
+
+function deleteFile(secrets,resourcePath,root,utils)
+{
+    var urlA = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+resourcePath;
+    //console.log("u1.js:delete url="+url);
+    var auth = oAuthHeader(urlA,secrets,"DELETE");
+    utils.deleteFile(url,auth);
+}
+
+function getFileContentType(secrets,root,path)
+{
+    //var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(path);
+    var url = "https://files.one.ubuntu.com"+encodeURI(path);
+    //console.log("url: "+url);
+    var xhr = oAuthRequest(url,secrets,"GET","bytes=0-10");
+    xhr.onreadystatechange = function() {
+                console.log("readyState: "+xhr.readyState);
+                if(xhr.readyState===4) {
+                    if(xhr.status>=400||xhr.status===0) {
+                    } else {
+                        var filename;
+                        var ind = path.lastIndexOf("/");
+                        if(ind>=0) {
+                            filename = path.substr(ind+1);
+                        }  else {
+                            filename = path;
+                        }
+                        var type = xhr.getResponseHeader("content-type");
+                        //console.log("filename: "+filename+" type: "+type);
+                        root.setContentType(type);
+                    }
+                }
+            }
+    xhr.send();
+}
+
+function fixFilename(path) {
+    path = path.toString();
+    //console.log(path);
+    var ind = path.lastIndexOf("/");
+    if(ind>=0) {
+        path = path.substr(ind+1);
+    }
+    if(path=="") path = "/";
+
+    return path;
+}
+
+function fixFolder(path) {
+    path = path.toString();
+    //console.log(path);
+    var ind = path.lastIndexOf("file://");
+    if(ind>=0) {
+        path = path.substr(ind+7);
+    }
+    if(path=="") path = "/";
+
+    return path;
+}
+
+function getFileContent(secrets,root,path,folder,size,utils)
+{
+    //var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(path);
+
+    var url = "https://files.one.ubuntu.com"+path;
+    var urlA = "https://files.one.ubuntu.com"+encodeURI(path);
+
+    var filename = fixFilename(path);
+    var ffolder = fixFolder(folder);
+    //console.log("url: "+url);
+    //console.log("ffolder: "+ffolder);
+    var auth = oAuthHeader(urlA,secrets,"GET");
+    //console.log("auth: "+auth);
+    utils.downloadFile(ffolder,filename,url,size,auth);
+}
+
+function uploadFile(secrets,root,path,filename,folder,utils)
+{
+    //var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(path);
+    //var url = "https://files.one.ubuntu.com"+path;
+
+    var url = "https://files.one.ubuntu.com"+path;
+    var urlA = "https://files.one.ubuntu.com"+encodeURI(path);
+
+    //console.log("u1.js:uploadFile path=" + path);
+    //console.log("u1.js:uploadFile url=" + url);
+
+    var ffolder = fixFolder(folder);
+    var auth = oAuthHeader(urlA,secrets,"PUT");
+    utils.uploadFile(ffolder,filename,url,auth);
+}
+
index 26932e9..813a546 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by Qt Creator 2.4.1, 2012-06-04T21:42:58. -->
+<!-- Written by Qt Creator 2.4.1, 2012-06-08T14:51:24. -->
 <qtcreator>
  <data>
   <variable>ProjectExplorer.Project.ActiveTarget</variable>
-  <value type="int">2</value>
+  <value type="int">0</value>
  </data>
  <data>
   <variable>ProjectExplorer.Project.EditorSettings</variable>
index d457574..b0aac82 100644 (file)
@@ -62,6 +62,19 @@ div#content {
   margin: 20px;
 }
 </style>
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-32503867-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
 </head>
 <body>
 
index 82dc3f9..d457574 100644 (file)
@@ -94,9 +94,9 @@ Contacts synchronization.
 </p>
 
 <h1>Devices</h1>
-<p>At the moment Ubi is available for <strong>Nokia N900</strong> and <strong>Nokia N9</strong>.</p>
+<p>At the moment Ubi is available only for <strong>Nokia N900</strong>.</p>
 
-<p>In <a href="https://garage.maemo.org/frs/?group_id=2327">Download</a> section also an experimental releases for <strong>Symbian</strong> were published. Please note that these apps have not been tested on real devices.</p>
+<p>In <a href="https://garage.maemo.org/frs/?group_id=2327">Download</a> section also an experimental releases for <strong>Symbian</strong> and <strong>Nokia N9</strong> were published. Please note that these apps have not been tested on real devices.</p>
 
 <h1>Download</h1>
 <p>The latest release is version <strong>0.9.4-1</strong></p>