aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php4
-rw-r--r--images/audio.gifbin0 -> 559 bytes
-rw-r--r--images/remote-link.gifbin357 -> 365 bytes
-rw-r--r--images/share.gifbin0 -> 155 bytes
-rw-r--r--images/video.gifbin0 -> 257 bytes
-rw-r--r--mod/display.php3
-rw-r--r--mod/item.php4
-rw-r--r--mod/network.php6
-rw-r--r--mod/photos.php3
-rw-r--r--mod/profile.php6
-rw-r--r--mod/profile_photo.php2
-rw-r--r--mod/share.php23
-rw-r--r--view/de/jot-header.tpl24
-rw-r--r--view/en/jot-header.tpl23
-rw-r--r--view/fr/jot-header.tpl23
-rw-r--r--view/it/jot-header.tpl23
-rw-r--r--view/jot.tpl8
-rw-r--r--view/like.tpl1
-rw-r--r--view/like_noshare.tpl5
-rw-r--r--view/theme/duepuntozero/style.css18
-rw-r--r--view/theme/loozah/style.css20
21 files changed, 184 insertions, 12 deletions
diff --git a/boot.php b/boot.php
index b03221bf8..d02ecd344 100644
--- a/boot.php
+++ b/boot.php
@@ -2,7 +2,7 @@
set_time_limit(0);
-define ( 'FRIENDIKA_VERSION', '2.1.919' );
+define ( 'FRIENDIKA_VERSION', '2.1.920' );
define ( 'DFRN_PROTOCOL_VERSION', '2.1' );
define ( 'DB_UPDATE_VERSION', 1043 );
@@ -2428,6 +2428,8 @@ function get_birthdays() {
$o .= '<div id="birthday-title-end"></div>';
foreach($r as $rr) {
+ if(! strlen($rr['name']))
+ continue;
$now = strtotime('now');
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
diff --git a/images/audio.gif b/images/audio.gif
new file mode 100644
index 000000000..4be977116
--- /dev/null
+++ b/images/audio.gif
Binary files differ
diff --git a/images/remote-link.gif b/images/remote-link.gif
index 008397fe8..1224e3db5 100644
--- a/images/remote-link.gif
+++ b/images/remote-link.gif
Binary files differ
diff --git a/images/share.gif b/images/share.gif
new file mode 100644
index 000000000..035fa2e38
--- /dev/null
+++ b/images/share.gif
Binary files differ
diff --git a/images/video.gif b/images/video.gif
new file mode 100644
index 000000000..e4d5e8cdd
--- /dev/null
+++ b/images/video.gif
Binary files differ
diff --git a/mod/display.php b/mod/display.php
index 096ea16c9..059952adc 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -104,7 +104,7 @@ function display_content(&$a) {
$cmnt_tpl = load_view_file('view/comment_item.tpl');
- $like_tpl = load_view_file('view/like.tpl');
+ $like_tpl = load_view_file('view/like_noshare.tpl');
$tpl = load_view_file('view/wall_item.tpl');
$wallwall = load_view_file('view/wallwall_item.tpl');
@@ -155,6 +155,7 @@ function display_content(&$a) {
'$id' => $item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"),
+ '$share' => t('Share'),
'$wait' => t('Please wait')
));
}
diff --git a/mod/item.php b/mod/item.php
index 90fb546bc..6e6e822d0 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -212,6 +212,8 @@ function item_post(&$a) {
if(count($tags)) {
foreach($tags as $tag) {
if(strpos($tag,'#') === 0) {
+ if(strpos($tag,'[url='))
+ continue;
$basetag = str_replace('_',' ',substr($tag,1));
$body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body);
if(strlen($str_tags))
@@ -220,6 +222,8 @@ function item_post(&$a) {
continue;
}
if(strpos($tag,'@') === 0) {
+ if(strpos($tag,'[url='))
+ continue;
$stat = false;
$name = substr($tag,1);
if((strpos($name,'@')) || (strpos($name,'http://'))) {
diff --git a/mod/network.php b/mod/network.php
index 32c7216d4..abdf59c48 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -92,6 +92,8 @@ function network_content(&$a, $update = 0) {
'$upload' => t('Upload photo'),
'$weblink' => t('Insert web link'),
'$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
'$setloc' => t('Set your location'),
'$noloc' => t('Clear browser location'),
'$wait' => t('Please wait'),
@@ -217,6 +219,7 @@ function network_content(&$a, $update = 0) {
$cmnt_tpl = load_view_file('view/comment_item.tpl');
$like_tpl = load_view_file('view/like.tpl');
+ $noshare_tpl = load_view_file('view/like_noshare.tpl');
$tpl = load_view_file('view/wall_item.tpl');
$wallwall = load_view_file('view/wallwall_item.tpl');
@@ -360,10 +363,11 @@ function network_content(&$a, $update = 0) {
$likebuttons = '';
if($item['id'] == $item['parent']) {
- $likebuttons = replace_macros($like_tpl,array(
+ $likebuttons = replace_macros((($item['private']) ? $noshare_tpl : $like_tpl),array(
'$id' => $item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"),
+ '$share' => t('Share'),
'$wait' => t('Please wait')
));
}
diff --git a/mod/photos.php b/mod/photos.php
index 929d1c971..4bb6e3eab 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1073,7 +1073,7 @@ function photos_content(&$a) {
$tpl = load_view_file('view/photo_item.tpl');
$return_url = $a->cmd;
- $like_tpl = load_view_file('view/like.tpl');
+ $like_tpl = load_view_file('view/lik_noshare.tpl');
$likebuttons = '';
@@ -1082,6 +1082,7 @@ function photos_content(&$a) {
'$id' => $item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"),
+ '$share' => t('Share'),
'$wait' => t('Please wait')
));
}
diff --git a/mod/profile.php b/mod/profile.php
index 88fc16ebb..c0989bd28 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -157,6 +157,8 @@ function profile_content(&$a, $update = 0) {
'$upload' => t('Upload photo'),
'$weblink' => t('Insert web link'),
'$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
'$setloc' => t('Set your location'),
'$noloc' => t('Clear browser location'),
'$wait' => t('Please wait'),
@@ -265,6 +267,7 @@ function profile_content(&$a, $update = 0) {
$cmnt_tpl = load_view_file('view/comment_item.tpl');
$like_tpl = load_view_file('view/like.tpl');
+ $noshare_tpl = load_view_file('view/like_noshare.tpl');
$tpl = load_view_file('view/wall_item.tpl');
@@ -307,10 +310,11 @@ function profile_content(&$a, $update = 0) {
if(can_write_wall($a,$a->profile['profile_uid'])) {
if($item['id'] == $item['parent']) {
- $likebuttons = replace_macros($like_tpl,array(
+ $likebuttons = replace_macros((($item['private']) ? $noshare_tpl : $like_tpl),array(
'$id' => $item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"),
+ '$share' => t('Share'),
'$wait' => t('Please wait')
));
}
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index 0f84a85c9..5365aa3b8 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -87,7 +87,7 @@ function profile_photo_post(&$a) {
);
// Update global directory in background
- $url = $_SESSION['my_url'];
+ $url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
if($url && strlen(get_config('system','directory_submit_url')))
proc_run('php',"include/directory.php","$url");
}
diff --git a/mod/share.php b/mod/share.php
new file mode 100644
index 000000000..8a8229e8a
--- /dev/null
+++ b/mod/share.php
@@ -0,0 +1,23 @@
+<?php
+
+require_once('bbcode.php');
+
+function share_init(&$a) {
+
+ $post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
+ if((! $post_id) || (! local_user()))
+ killme();
+
+ $r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1",
+ intval($post_id)
+ );
+ if(! count($r) || $r[0]['private'])
+ killme();
+
+ $o = '';
+
+ $o .= '&#x2672; <a href="' . $r[0]['author-link'] . '">' . $r[0]['author-name'] . '</a><br />';
+ $o .= prepare_body($r[0]);
+ echo $o . '<br />';
+ killme();
+} \ No newline at end of file
diff --git a/view/de/jot-header.tpl b/view/de/jot-header.tpl
index 58403f1ba..62fbe84e4 100644
--- a/view/de/jot-header.tpl
+++ b/view/de/jot-header.tpl
@@ -104,6 +104,20 @@ tinyMCE.init({
}
}
+ function jotVideoURL() {
+ reply = prompt("Please enter a video(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[video]' + reply + '[/video]');
+ }
+ }
+
+ function jotAudioURL() {
+ reply = prompt("Please enter an audio(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[audio]' + reply + '[/audio]');
+ }
+ }
+
function jotGetLocation() {
reply = prompt("Wo bist du im Moment?", $('#jot-location').val());
if(reply && reply.length) {
@@ -111,6 +125,16 @@ tinyMCE.init({
}
}
+ function jotShare(id) {
+ $('#like-rotator-' + id).show();
+ $.get('share/' + id, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#like-rotator-' + id).hide();
+ $(window).scrollTop(0);
+ });
+ }
+
+
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
diff --git a/view/en/jot-header.tpl b/view/en/jot-header.tpl
index fe818410e..d73fe7d62 100644
--- a/view/en/jot-header.tpl
+++ b/view/en/jot-header.tpl
@@ -104,6 +104,21 @@ tinyMCE.init({
}
}
+ function jotVideoURL() {
+ reply = prompt("Please enter a video(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[video]' + reply + '[/video]');
+ }
+ }
+
+ function jotAudioURL() {
+ reply = prompt("Please enter an audio(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[audio]' + reply + '[/audio]');
+ }
+ }
+
+
function jotGetLocation() {
reply = prompt("Where are you right now?", $('#jot-location').val());
if(reply && reply.length) {
@@ -111,6 +126,14 @@ tinyMCE.init({
}
}
+ function jotShare(id) {
+ $('#like-rotator-' + id).show();
+ $.get('share/' + id, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#like-rotator-' + id).hide();
+ $(window).scrollTop(0);
+ });
+ }
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
diff --git a/view/fr/jot-header.tpl b/view/fr/jot-header.tpl
index ff7e543a5..b1b6dacf0 100644
--- a/view/fr/jot-header.tpl
+++ b/view/fr/jot-header.tpl
@@ -103,6 +103,20 @@ tinyMCE.init({
}
}
+ function jotVideoURL() {
+ reply = prompt("Please enter a video(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[video]' + reply + '[/video]');
+ }
+ }
+
+ function jotAudioURL() {
+ reply = prompt("Please enter an audio(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[audio]' + reply + '[/audio]');
+ }
+ }
+
function jotGetLocation() {
reply = prompt("Where are you right now?", $('#jot-location').val());
if(reply && reply.length) {
@@ -110,6 +124,15 @@ tinyMCE.init({
}
}
+ function jotShare(id) {
+ $('#like-rotator-' + id).show();
+ $.get('share/' + id, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#like-rotator-' + id).hide();
+ $(window).scrollTop(0);
+ });
+ }
+
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
diff --git a/view/it/jot-header.tpl b/view/it/jot-header.tpl
index 117cd1651..8ca5a0717 100644
--- a/view/it/jot-header.tpl
+++ b/view/it/jot-header.tpl
@@ -104,6 +104,20 @@ tinyMCE.init({
}
}
+ function jotVideoURL() {
+ reply = prompt("Please enter a video(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[video]' + reply + '[/video]');
+ }
+ }
+
+ function jotAudioURL() {
+ reply = prompt("Please enter an audio(.ogg) link/URL:");
+ if(reply && reply.length) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,'[audio]' + reply + '[/audio]');
+ }
+ }
+
function jotGetLocation() {
reply = prompt("Dove ti trovi ora?", $('#jot-location').val());
if(reply && reply.length) {
@@ -111,6 +125,15 @@ tinyMCE.init({
}
}
+ function jotShare(id) {
+ $('#like-rotator-' + id).show();
+ $.get('share/' + id, function(data) {
+ tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ $('#like-rotator-' + id).hide();
+ $(window).scrollTop(0);
+ });
+ }
+
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
diff --git a/view/jot.tpl b/view/jot.tpl
index 68139ddc0..fd85b9267 100644
--- a/view/jot.tpl
+++ b/view/jot.tpl
@@ -26,7 +26,13 @@
<img id="profile-link" src="images/link-icon.gif" alt="$weblink" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink();" />
</div>
<div id="profile-youtube-wrapper" style="display: $visitor;" >
- <img id="profile-video" src="images/youtube_icon.gif" alt="$youtube" title="$youtube" onclick="jotGetVideo();" />
+ <img id="profile-youtube" src="images/youtube_icon.gif" alt="$youtube" title="$youtube" onclick="jotGetVideo();" />
+ </div>
+ <div id="profile-video-wrapper" style="display: $visitor;" >
+ <img id="profile-video" src="images/video.gif" alt="$video" title="$video" onclick="jotVideoURL();" />
+ </div>
+ <div id="profile-audio-wrapper" style="display: $visitor;" >
+ <img id="profile-audio" src="images/audio.gif" alt="$audio" title="$audio" onclick="jotAudioURL();" />
</div>
<div id="profile-location-wrapper" style="display: $visitor;" >
<img id="profile-location" src="images/globe.gif" alt="$setloc" title="$setloc" onclick="jotGetLocation();" />
diff --git a/view/like.tpl b/view/like.tpl
index e36a624a4..4f530407e 100644
--- a/view/like.tpl
+++ b/view/like.tpl
@@ -1,5 +1,6 @@
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
<img src="images/like.gif" alt="$likethis" title="$likethis" onclick="dolike($id,'like');" />
<img src="images/dislike.gif" alt="$nolike" title="$nolike" onclick="dolike($id,'dislike');" />
+ <img src="images/share.gif" alt="$share" title="$share" class="wall-item-share-buttons" onclick="jotShare($id);" />
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
diff --git a/view/like_noshare.tpl b/view/like_noshare.tpl
new file mode 100644
index 000000000..e36a624a4
--- /dev/null
+++ b/view/like_noshare.tpl
@@ -0,0 +1,5 @@
+<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
+ <img src="images/like.gif" alt="$likethis" title="$likethis" onclick="dolike($id,'like');" />
+ <img src="images/dislike.gif" alt="$nolike" title="$nolike" onclick="dolike($id,'dislike');" />
+ <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
+ </div>
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index 54a522881..ce75655fb 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -206,8 +206,10 @@ div.wall-item-content-wrapper.shiny {
/* from default */
#jot-perms-icon,
#profile-location,
-#profile-nolocation,
+#profile-nolocation,
+#profile-youtube,
#profile-video,
+#profile-audio,
#profile-link,
#wall-image-upload,
#profile-upload-wrapper,
@@ -921,6 +923,10 @@ input#dfrn-url {
cursor: pointer;
}
+.wall-item-share-buttons {
+ margin-left: 10px;
+}
+
.wall-item-links-wrapper {
float: left;
}
@@ -1052,6 +1058,14 @@ input#dfrn-url {
float: left;
margin-left: 20px;
}
+#profile-video-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+#profile-audio-wrapper {
+ float: left;
+ margin-left: 20px;
+}
#profile-location-wrapper {
float: left;
margin-left: 20px;
@@ -1063,7 +1077,7 @@ input#dfrn-url {
#profile-jot-perms {
float: left;
- margin-left: 200px;
+ margin-left: 150px;
font-weight: bold;
font-size: 1.2em;
}
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index f1de801cb..1c378793a 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -107,8 +107,10 @@ blockquote:before {
#jot-perms-icon,
#profile-location,
-#profile-nolocation,
-#profile-video,
+#profile-nolocation,
+#profile-youtube,
+#profile-video,
+#profile-audio,
#profile-link,
#wall-image-upload,
#profile-upload-wrapper,
@@ -993,6 +995,10 @@ input#dfrn-url {
border-right: 2px solid #fff;
}
+.wall-item-share-buttons {
+ margin-left: 5px;
+}
+
.wall-item-links-wrapper {
float: left;
}
@@ -1121,6 +1127,14 @@ padding: 5px 10px 0px;
float: left;
margin-left: 20px;
}
+#profile-video-wrapper {
+ float: left;
+ margin-left: 20px;
+}
+#profile-audio-wrapper {
+ float: left;
+ margin-left: 20px;
+}
#profile-location-wrapper {
float: left;
margin-left: 20px;
@@ -1132,7 +1146,7 @@ padding: 5px 10px 0px;
#profile-jot-perms {
float: left;
- margin-left: 200px;
+ margin-left: 150px;
font-weight: bold;
font-size: 1.2em;
}