Merge pull request #166 from simonlnu/master

fpostit; up versions to 1.0;
This commit is contained in:
Simon 2012-03-25 00:32:55 -07:00
commit 2e797a6243
19 changed files with 455 additions and 18 deletions

View File

@ -0,0 +1,4 @@
{{ if $lastusers_title }}
<h3>PostIt to Friendica</h3>
<div style="padding-left: 8px;"><span >Post to Friendica from anywhere by bookmarking this <a href="$fostitJS" title="PostIt">Link</a>.</span></div>
{{ endif }}

View File

@ -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

View File

@ -0,0 +1,14 @@
javascript: (function() {
the_url = 'view/theme/dispy-dark/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();
}
})();"

View File

@ -0,0 +1,134 @@
<?php
if (!isset($_POST["friendica_acct_name"])) $_POST["friendica_acct_name"] = '';
if (!isset($_COOKIE['username'])) $_COOKIE['username'] = '';
if (!isset($_COOKIE['password'])) $_COOKIE['password'] = '';
if (!isset($hostname)) $hostname = '';
if (!isset($username)) $username = '';
if (($_POST["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) {
setcookie("username", $_POST["friendica_acct_name"], time()+60*60*24*300);
setcookie("password", $_POST["friendica_password"], time()+60*60*24*300);
}
?>
<html>
<head>
<style>
body {
font-family: 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["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) {
$acctname = $_POST["friendica_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["friendica_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. Please try again.";
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="friendica-32.png" align="middle" />Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendica Account that you want to cross-post to: (example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendica_acct_name" value="{$username_cookie}" size="50" /><br />
Password: <input type="password" name="friendica_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" />&#160;&#160;<span class="error">$error</span>
</form>
<p></p>
</div>
EOF;
}
?>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -60,6 +60,9 @@ option {
padding: 3px; padding: 3px;
vertical-align: middle; vertical-align: middle;
} }
li {
padding: 0 0 0 2px;
}
/* remember to define focus styles! */ /* remember to define focus styles! */
:focus { :focus {
outline: 0; outline: 0;
@ -200,6 +203,10 @@ input[type=submit] {
.action { .action {
margin: 5px 0; margin: 5px 0;
} }
.tool {
margin: 5px 0;
list-style: none;
}
/** /**
@ -688,12 +695,17 @@ aside #viewcontacts {
padding:.2em .5em; padding:.2em .5em;
} }
#netsearch-box { #netsearch-box {
margin: 30px 0px; margin: 20px 0px 30px;
width: 150px;
}
#netsearch-box #search-submit {
margin: 5px 0px 0px 0px;
} }
.ttright { .ttright {
margin: 0px 0px 0px 0px; margin: 0px 0px 0px 0px;
} }
/** /**
* contacts block * contacts block
*/ */
@ -1819,10 +1831,12 @@ div[id$="wrapper"] br {
* contacts selector * contacts selector
*/ */
.group-delete-wrapper { .group-delete-wrapper {
margin: -31px 122px 0 0; margin: -31px 50px 0 0;
float: right; float: right;
} }
/*.group-delete-icon {
margin: 0 0 0 10px;
}*/
#group-edit-submit-wrapper { #group-edit-submit-wrapper {
margin: 0 0 10px 0; margin: 0 0 10px 0;
display: inline; display: inline;
@ -1862,6 +1876,7 @@ div[id$="wrapper"] br {
display: none; display: none;
} }
/** /**
* profile * profile
*/ */
@ -2096,13 +2111,13 @@ div[id$="wrapper"] br {
#group-sidebar { #group-sidebar {
margin-bottom: 10px; margin-bottom: 10px;
} }
.group-selected, .nets-selected { .group-selected, .nets-selected, .fileas-selected {
padding: 3px; padding: 3px;
color: #2e2f2e; color: #2e2f2e;
background: #88a9d2; background: #88a9d2;
font-weight: bold; font-weight: bold;
} }
.group-selected:hover, .nets-selected:hover { .group-selected:hover, .nets-selected:hover, .fileas-selected:hover {
color: #2e2f2e; color: #2e2f2e;
} }
.groupsideedit { .groupsideedit {
@ -2172,13 +2187,7 @@ div[id$="wrapper"] br {
.nets-all { .nets-all {
margin-left: 0px; margin-left: 0px;
} }
#netsearch-box {
margin-top: 20px;
width: 150px;
}
#netsearch-box #search-submit {
margin: 5px 0px 0px 0px;
}
/** /**
* ADMIN * ADMIN
@ -2794,6 +2803,29 @@ footer {
.network-star.icon.starred { .network-star.icon.starred {
display: inline-block; display: inline-block;
} }
#fileas-sidebar {
}
.fileas-ul {
padding: 0;
}
/*
* ADDONS THEMING
*/
#sidebar-page-list {
}
#sidebar-page-list ul {
padding: 0;
margin: 5px 0;
}
#sidebar-page-list li {
list-style: none;
}
@media handheld { @media handheld {

View File

@ -3,9 +3,10 @@
/* /*
* Name: Dispy Dark * Name: Dispy Dark
* Description: Dispy Dark, Friendica theme * Description: Dispy Dark, Friendica theme
* Version: 0.9 * Version: 1.0
* Author: Simon <http://simon.kisikew.org/> * Author: Simon <http://simon.kisikew.org/>
* Maintainer: Simon <http://simon.kisikew.org/> * Maintainer: Simon <http://simon.kisikew.org/>
* Screenshot: <a href="screenshot.png">screenshot</a>
*/ */
@ -126,3 +127,30 @@ $(document).ready(function() {
</script> </script>
EOT; EOT;
function dispy_community_info() {
$a = get_app();
$fostitJS = "javascript: (function() {
the_url = '".$a->get_baseurl($ssl_state)."/view/theme/dispy-dark/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();
}
})();" ;
$aside['$fostitJS'] = $fostitJS;
$url = $a->get_baseurl($ssl_state);
$aside['$url'] = $url;
$tpl = file_get_contents(dirname(__file__).'/communityhome.tpl');
$a->page['right_aside'] = replace_macros($tpl, $aside);
}

View File

@ -38,11 +38,14 @@
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.share }} {{ if $item.vote.share }}
<a href="#" id="share-$item.id" <a href="#" id="share-$item.id"
class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }} class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $item.filer }}
<div class="wall-item-filer-wrapper"><a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a></div>
{{ endif }}
{{ if $item.plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}

View File

@ -0,0 +1,4 @@
{{ if $lastusers_title }}
<h3>PostIt to Friendica</h3>
<div style="padding-left: 8px;"><span >Post to Friendica from anywhere by bookmarking this <a href="$fostitJS" title="PostIt">Link</a>.</span></div>
{{ endif }}

View File

@ -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

View File

@ -0,0 +1,14 @@
javascript: (function() {
the_url = 'view/theme/dispy/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();
}
})();"

View File

@ -0,0 +1,134 @@
<?php
if (!isset($_POST["friendica_acct_name"])) $_POST["friendica_acct_name"] = '';
if (!isset($_COOKIE['username'])) $_COOKIE['username'] = '';
if (!isset($_COOKIE['password'])) $_COOKIE['password'] = '';
if (!isset($hostname)) $hostname = '';
if (!isset($username)) $username = '';
if (($_POST["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) {
setcookie("username", $_POST["friendica_acct_name"], time()+60*60*24*300);
setcookie("password", $_POST["friendica_password"], time()+60*60*24*300);
}
?>
<html>
<head>
<style>
body {
font-family: 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["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) {
$acctname = $_POST["friendica_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["friendica_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. Please try again.";
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="friendica-32.png" align="middle" />Friendica Bookmarklet</h2>
</div>
<div class="wrap2">
<form method="post" action="{$_SERVER['PHP_SELF']}">
Enter the email address of the Friendica Account that you want to cross-post to: (example: user@friendica.org)<br /><br />
Account ID: <input type="text" name="friendica_acct_name" value="{$username_cookie}" size="50" /><br />
Password: <input type="password" name="friendica_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" />&#160;&#160;<span class="error">$error</span>
</form>
<p></p>
</div>
EOF;
}
?>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -2086,13 +2086,13 @@ div[id$="wrapper"] br {
#group-sidebar { #group-sidebar {
margin-bottom: 10px; margin-bottom: 10px;
} }
.group-selected, .nets-selected { .group-selected, .nets-selected, .fileas-selected {
padding: 3px; padding: 3px;
color: #111; color: #111;
background: #f8f8f8; background: #f8f8f8;
font-weight: bold; font-weight: bold;
} }
.group-selected:hover, .nets-selected:hover { .group-selected:hover, .nets-selected:hover, .fileas-selected:hover {
color: #111; color: #111;
} }
.groupsideedit { .groupsideedit {
@ -2784,6 +2784,29 @@ footer {
.network-star.icon.starred { .network-star.icon.starred {
display: inline-block; display: inline-block;
} }
#fileas-sidebar {
}
.fileas-ul {
padding: 0;
}
/*
* ADDONS THEMING
*/
#sidebar-page-list {
}
#sidebar-page-list ul {
padding: 0;
margin: 5px 0;
}
#sidebar-page-list li {
list-style: none;
}
@media handheld { @media handheld {

View File

@ -3,9 +3,10 @@
/* /*
* Name: Dispy * Name: Dispy
* Description: Dispy, Friendica theme * Description: Dispy, Friendica theme
* Version: 0.9 * Version: 1.0
* Author: unknown * Author: unknown
* Maintainer: Simon <http://simon.kisikew.org/> * Maintainer: Simon <http://simon.kisikew.org/>
* Screenshot: <a href="screenshot.png">Screenshot</a>
*/ */
@ -126,3 +127,30 @@ $(document).ready(function() {
</script> </script>
EOT; EOT;
function dispy_community_info() {
$a = get_app();
$fostitJS = "javascript: (function() {
the_url = '".$a->get_baseurl($ssl_state)."/view/theme/dispy-dark/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();
}
})();" ;
$aside['$fostitJS'] = $fostitJS;
$url = $a->get_baseurl($ssl_state);
$aside['$url'] = $url;
$tpl = file_get_contents(dirname(__file__).'/communityhome.tpl');
$a->page['right_aside'] = replace_macros($tpl, $aside);
}

View File

@ -38,11 +38,14 @@
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.share }} {{ if $item.vote.share }}
<a href="#" id="share-$item.id" <a href="#" id="share-$item.id"
class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }} class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" /> <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div> </div>
{{ endif }} {{ endif }}
{{ if $item.filer }}
<div class="wall-item-filer-wrapper"><a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a></div>
{{ endif }}
{{ if $item.plink }} {{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div> <div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link"></a></div>
{{ endif }} {{ endif }}