diff --git a/addon/widgets/widgets.js b/addon/widgets/widgets.js new file mode 100644 index 0000000000..7a6cdeb0a0 --- /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("
"); diff --git a/addon/widgets/widgets.php b/addon/widgets/widgets.php new file mode 100644 index 0000000000..98567753d8 --- /dev/null +++ b/addon/widgets/widgets.php @@ -0,0 +1,169 @@ +Widgets +"; var_dump($a->argv); die();
+ if ($a->argv[2]=="cb"){
+ switch($a->argv[1]) {
+ case 'friends':
+ widget_friends_content($a, $o, $conf);
+ break;
+ }
+
+ } else {
+
+
+ if (isset($_GET['p'])) {
+ $o .= "";
+ $o .= "Preview Widget
";
+ $o .= ''. t("Plugin Settings") .'';
+ $o .= "
";
+ $o .= "
+
+ Copy and paste this code
+ "
+
+ .htmlspecialchars('')
+ ."";
+ return $o;
+ }
+
+ }
+
+ echo $o;
+ killme();
+}
+
+
+function widget_friends_content(&$a, &$o, $conf){
+ if (!local_user()){
+ if (!isset($_GET['s']))
+ header('HTTP/1.0 400 Bad Request');
+
+ if (substr($_GET['s'],0,strlen($conf['site'])) !== $conf['site'])
+ header('HTTP/1.0 400 Bad Request');
+ }
+ $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
+ LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid`
+ WHERE `user`.`uid` = %s AND `profile`.`is-default` = 1 LIMIT 1",
+ intval($conf['uid'])
+ );
+
+ if(!count($r)) return;
+ $a->profile = $r[0];
+
+ $o .= _abs_url(contact_block());
+ $o .= "profile['nickname']."'>". t('Connect on Friendika!') ."";
+
+
+}
+
+?>