aboutsummaryrefslogtreecommitdiffstats
path: root/addon/widgets/widgets.js
diff options
context:
space:
mode:
authorFabio Comuni <fabrix.xm@gmail.com>2011-03-23 13:47:05 +0100
committerFabio Comuni <fabrix.xm@gmail.com>2011-05-13 09:04:42 +0200
commit0f7008a02e84515e83c4399fe5736ed8d2dc8796 (patch)
tree5a233d1759631901571f4fa9bb2a4ad9e784dff7 /addon/widgets/widgets.js
parentc4f7c37835c95c5438d6a1f52084342bd3608556 (diff)
downloadvolse-hubzilla-0f7008a02e84515e83c4399fe5736ed8d2dc8796.tar.gz
volse-hubzilla-0f7008a02e84515e83c4399fe5736ed8d2dc8796.tar.bz2
volse-hubzilla-0f7008a02e84515e83c4399fe5736ed8d2dc8796.zip
Friendika widgets.
Diffstat (limited to 'addon/widgets/widgets.js')
-rw-r--r--addon/widgets/widgets.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/addon/widgets/widgets.js b/addon/widgets/widgets.js
new file mode 100644
index 000000000..7a6cdeb0a
--- /dev/null
+++ b/addon/widgets/widgets.js
@@ -0,0 +1,61 @@
+/**
+ * @author Fabio Comuni
+ */
+
+var f9a_widget = {
+ entrypoint : "$entrypoint",
+ key : "$key",
+ widgetid: "$widget_id",
+ xmlhttp : null,
+
+ getXHRObj : function(){
+ if (window.XMLHttpRequest) {
+ // code for IE7+, Firefox, Chrome, Opera, Safari
+ this.xmlhttp = new XMLHttpRequest();
+ } else {
+ // code for IE6, IE5
+ this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ },
+
+ dorequest : function(args, cb) {
+ if (args===null) args = new Array();
+ args['k']=this.key;
+ args['s']=window.location;
+ var urlencodedargs = new Array();
+ for(k in args){ urlencodedargs.push( encodeURIComponent(k)+"="+encodeURIComponent(args[k]) ); }
+
+ var url = this.entrypoint + "?"+ urlencodedargs.join("&");
+
+ this.xmlhttp.open("GET", url ,true);
+ this.xmlhttp.send();
+ this.xmlhttp.onreadystatechange=function(){
+ if (this.readyState==4){
+ if (this.status==200) {
+ cb(this.responseText);
+ } else {
+ document.getElementById(f9a_widget.widgetid).innerHTML="Error loading widget.";
+ }
+ }
+ }
+
+ },
+
+ requestcb: function(responseText) {
+ document.getElementById(f9a_widget.widgetid).innerHTML=responseText;
+ },
+
+ load : function (){
+ this.getXHRObj();
+ this.dorequest(null, this.requestcb);
+ }
+
+};
+
+(function() {
+ f9a_widget.load();
+})();
+
+document.writeln("<div id='$widget_id' class='f9k_widget'>");
+document.writeln("<img id='$widget_id_ld' src='$loader'>");
+document.writeln("</div>");