diff options
Diffstat (limited to 'view/theme/diabook-red/fpostit')
-rw-r--r-- | view/theme/diabook-red/fpostit/README | 8 | ||||
-rwxr-xr-x | view/theme/diabook-red/fpostit/fpostit.js | 6 | ||||
-rw-r--r-- | view/theme/diabook-red/fpostit/fpostit.php | 135 | ||||
-rw-r--r-- | view/theme/diabook-red/fpostit/friendika-32.png | bin | 0 -> 1593 bytes |
4 files changed, 149 insertions, 0 deletions
diff --git a/view/theme/diabook-red/fpostit/README b/view/theme/diabook-red/fpostit/README new file mode 100644 index 000000000..39b7c5761 --- /dev/null +++ b/view/theme/diabook-red/fpostit/README @@ -0,0 +1,8 @@ +fpostit + +original author: Devlon Duthied + +see his blog posting: +http://blog.duthied.com/2011/09/13/node-agnostic-friendika-bookmarklet/ + +original published at github https://github.com/duthied/Friendika-Bookmarklet diff --git a/view/theme/diabook-red/fpostit/fpostit.js b/view/theme/diabook-red/fpostit/fpostit.js new file mode 100755 index 000000000..d183c7573 --- /dev/null +++ b/view/theme/diabook-red/fpostit/fpostit.js @@ -0,0 +1,6 @@ +javascript: (function() { + the_url = 'localhost/view/theme/diabook/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text)); + a_funct = function() { + if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) location.href = the_url}; + if (/Firefox/.test(navigator.userAgent)) {setTimeout(a_funct, 0)} + else {a_funct()}})()"
\ No newline at end of file diff --git a/view/theme/diabook-red/fpostit/fpostit.php b/view/theme/diabook-red/fpostit/fpostit.php new file mode 100644 index 000000000..65c43a2b9 --- /dev/null +++ b/view/theme/diabook-red/fpostit/fpostit.php @@ -0,0 +1,135 @@ +<?php +if (!isset($_POST["friendika_acct_name"])) $_POST["friendika_acct_name"] = ''; +if (!isset($_COOKIE['username'])) $_COOKIE['username'] = ''; +if (!isset($_COOKIE['password'])) $_COOKIE['password'] = ''; +if (!isset($hostname)) $hostname = ''; +if (!isset($username)) $username = ''; + + +if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) { + setcookie("username", $_POST["friendika_acct_name"], time()+60*60*24*300); + setcookie("password", $_POST["friendika_password"], time()+60*60*24*300); +} + +?> +<html> +<head> + <style> + body { + font-family: arial, Helvetica,sans-serif; + margin: 0px; + } + .wrap1 { + padding: 2px 5px; + background-color: #000; + margin-bottom: 10px; + } + .wrap2 { + margin-left: 10px; + font-size: 12px; + } + .logo { + margin-left: 3px; + margin-right: 5px; + float: left; + } + h2 { + color: #ffffff; + } + .error { + background-color: #FFFF66; + font-size: 12px; + margin-left: 10px; + } + </style> +</head> + +<body> +<?php + +if (isset($_GET['title'])) { + $title = $_GET['title']; +} +if (isset($_GET['text'])) { + $text = $_GET['text']; +} +if (isset($_GET['url'])) { + $url = $_GET['url']; +} + +if ((isset($title)) && (isset($text)) && (isset($url))) { + $content = "$title\nsource:$url\n\n$text"; +} else { + $content = $_POST['content']; +} + +if (isset($_POST['submit'])) { + + if (($_POST["friendika_acct_name"] != '') && ($_POST["friendika_password"] != '')) { + $acctname = $_POST["friendika_acct_name"]; + $tmp_account_array = explode("@", $acctname); + if (isset($tmp_account_array[1])) { + $username = $tmp_account_array[0]; + $hostname = $tmp_account_array[1]; + } + $password = $_POST["friendika_password"]; + $content = $_POST["content"]; + + $url = "http://" . $hostname . '/api/statuses/update'; + $data = array('status' => $content); + + // echo "posting to: $url<br/>"; + + $c = curl_init(); + curl_setopt($c, CURLOPT_URL, $url); + curl_setopt($c, CURLOPT_USERPWD, "$username:$password"); + curl_setopt($c, CURLOPT_POSTFIELDS, $data); + curl_setopt($c, CURLOPT_RETURNTRANSFER, true); + curl_setopt($c, CURLOPT_FOLLOWLOCATION, true); + $c_result = curl_exec($c); + if(curl_errno($c)){ + $error = curl_error($c); + showForm($error, $content); + } + + curl_close($c); + if (!isset($error)) { + echo '<script language="javascript" type="text/javascript">window.close();</script>'; + } + + } else { + $error = "Missing account name and/or password...try again please"; + showForm($error, $content); + } + +} else { + showForm(null, $content); +} + +function showForm($error, $content) { + $username_cookie = $_COOKIE['username']; + $password_cookie = $_COOKIE['password']; + + echo <<<EOF + <div class='wrap1'> + <h2><img class='logo' src='friendika-32.png' align='middle';/> + Friendika Bookmarklet</h2> + </div> + + <div class="wrap2"> + <form method="post" action="{$_SERVER['PHP_SELF']}"> + Enter the email address of the Friendika Account that you want to cross-post to:(example: user@friendika.org)<br /><br /> + Account ID: <input type="text" name="friendika_acct_name" value="{$username_cookie}" size="50"/><br /> + Password: <input type="password" name="friendika_password" value="{$password_cookie}" size="50"/><br /> + <textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br /> + <input type="submit" value="PostIt!" name="submit" /> <span class='error'>$error</span> + </form> + <p></p> + </div> +EOF; + +} +?> + +</body> +</html>
\ No newline at end of file diff --git a/view/theme/diabook-red/fpostit/friendika-32.png b/view/theme/diabook-red/fpostit/friendika-32.png Binary files differnew file mode 100644 index 000000000..61764bf20 --- /dev/null +++ b/view/theme/diabook-red/fpostit/friendika-32.png |