aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/dfrn_notify.php3
-rw-r--r--mod/display.php4
-rw-r--r--mod/follow.php42
-rw-r--r--mod/item.php29
-rw-r--r--mod/message.php43
-rw-r--r--mod/network.php37
-rw-r--r--mod/photos.php9
-rw-r--r--mod/profile.php11
-rw-r--r--mod/update_network.php2
9 files changed, 121 insertions, 59 deletions
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 9397cfaf9..180a8edfd 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -253,9 +253,6 @@ function dfrn_notify_post(&$a) {
$htmlbody . "\n" .
"--" . $msg['mimeboundary'] . "--\n"; // message ending
- logger("message headers: " . $msg['headers']);
- logger("message body: " . $mail_tpl);
-
// send the message
$res = mail(
diff --git a/mod/display.php b/mod/display.php
index 3215ae90a..bdf6a6f97 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -153,7 +153,8 @@ function display_content(&$a) {
}
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
- '$return_path' => $_SESSION['return_url'],
+ '$return_path' => '',
+ '$jsreload' => $_SESSION['return_url'],
'$type' => 'wall-comment',
'$id' => $item['item_id'],
'$parent' => $item['parent'],
@@ -272,6 +273,7 @@ function display_content(&$a) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,
diff --git a/mod/follow.php b/mod/follow.php
index eaee7d5ac..28441eae8 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -19,15 +19,15 @@ function follow_post(&$a) {
if(count($links)) {
foreach($links as $link) {
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
- $dfrn = $link['@attributes']['href'];
+ $dfrn = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'salmon')
- $notify = $link['@attributes']['href'];
+ $notify = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === NAMESPACE_FEED)
- $poll = $link['@attributes']['href'];
+ $poll = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
- $hcard = $link['@attributes']['href'];
+ $hcard = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = $link['@attributes']['href'];
+ $profile = unamp($link['@attributes']['href']);
}
@@ -43,10 +43,10 @@ function follow_post(&$a) {
if(strpos($link['@attributes']['href'],'@') === false) {
if(isset($profile)) {
if($link['@attributes']['href'] !== $profile)
- $alias = $link['@attributes']['href'];
+ $alias = unamp($link['@attributes']['href']);
}
else
- $profile = $link['@attributes']['href'];
+ $profile = unamp($link['@attributes']['href']);
}
}
}
@@ -103,7 +103,7 @@ function follow_post(&$a) {
$ret = scrape_feed($url);
if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) {
- $poll = ((x($ret,'feed_atom')) ? $ret['feed_atom'] : $ret['feed_rss']);
+ $poll = ((x($ret,'feed_atom')) ? unamp($ret['feed_atom']) : unamp($ret['feed_rss']));
$vcard = array();
require_once('simplepie/simplepie.inc');
$feed = new SimplePie();
@@ -116,27 +116,35 @@ function follow_post(&$a) {
$vcard['photo'] = $feed->get_image_url();
$author = $feed->get_author();
if($author) {
- $vcard['fn'] = trim($author->get_name());
- $vcard['nick'] = strtolower($vcard['fn']);
+ $vcard['fn'] = unxmlify(trim($author->get_name()));
+ if(! $vcard['fn'])
+ $vcard['fn'] = trim(unxmlify($author->get_email()));
+ if(strpos($vcard['fn'],'@') !== false)
+ $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
+ $vcard['nick'] = strtolower(notags(unxmlify($vcard['fn'])));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
- $email = $author->get_email();
+ $email = unxmlify($author->get_email());
}
else {
$item = $feed->get_item(0);
if($item) {
$author = $item->get_author();
if($author) {
- $vcard['fn'] = trim($author->get_name());
- $vcard['nick'] = strtolower($vcard['fn']);
+ $vcard['fn'] = trim(unxmlify($author->get_name()));
+ if(! $vcard['fn'])
+ $vcard['fn'] = trim(unxmlify($author->get_email()));
+ if(strpos($vcard['fn'],'@') !== false)
+ $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
+ $vcard['nick'] = strtolower(unxmlify($vcard['fn']));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
- $email = $author->get_email();
+ $email = unxmlify($author->get_email());
}
if(! $vcard['photo']) {
$rawmedia = $item->get_item_tags('http://search.yahoo.com/mrss/','thumbnail');
if($rawmedia && $rawmedia[0]['attribs']['']['url'])
- $vcard['photo'] = $rawmedia[0]['attribs']['']['url'];
+ $vcard['photo'] = unxmlify($rawmedia[0]['attribs']['']['url']);
}
}
}
@@ -150,6 +158,9 @@ function follow_post(&$a) {
logger('follow: poll=' . $poll . ' notify=' . $notify . ' profile=' . $profile . ' vcard=' . print_r($vcard,true));
+ $vcard['fn'] = notags($vcard['fn']);
+ $vcard['nick'] = notags($vcard['nick']);
+
// do we have enough information?
if(! ((x($vcard['fn'])) && ($poll) && ($profile))) {
@@ -157,6 +168,7 @@ function follow_post(&$a) {
goaway($_SESSION['return_url']);
}
+
if(! $notify) {
notice( t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL);
}
diff --git a/mod/item.php b/mod/item.php
index 2cc2b9eb2..8c6b181c0 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -35,7 +35,9 @@ function item_post(&$a) {
);
if(! count($r)) {
notice( t('Unable to locate original post.') . EOL);
- goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
$parent_item = $r[0];
if($parent_item['contact-id'] && $uid) {
@@ -53,7 +55,9 @@ function item_post(&$a) {
if(! can_write_wall($a,$profile_uid)) {
notice( t('Permission denied.') . EOL) ;
- return;
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
$user = null;
@@ -92,8 +96,9 @@ function item_post(&$a) {
if(! strlen($body)) {
notice( t('Empty post discarded.') . EOL );
- goaway($a->get_baseurl() . "/" . $_POST['return'] );
-
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
// get contact info for poster
@@ -429,10 +434,11 @@ function item_post(&$a) {
}
}
- $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
+ $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `plink` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
WHERE `id` = %d LIMIT 1",
intval($parent),
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
+ dbesc($a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id),
dbesc(datetime_convert()),
intval($post_id)
);
@@ -490,10 +496,17 @@ function item_post(&$a) {
}
}
- if((x($_POST,'return')) && strlen($_POST['return']))
+ logger('post_complete');
+ if((x($_POST,'return')) && strlen($_POST['return'])) {
+ logger('return: ' . $_POST['return']);
goaway($a->get_baseurl() . "/" . $_POST['return'] );
-
+ }
$json = array('success' => 1);
+ if(x($_POST,'jsreload') && strlen($_POST['jsreload']))
+ $json['reload'] = $a->get_baseurl() . '/' . $_POST['jsreload'];
+
+ logger('post_json: ' . print_r($json,true), LOGGER_DEBUG);
+
echo json_encode($json);
killme();
// NOTREACHED
@@ -544,7 +557,7 @@ function item_content(&$a) {
// generate a resource-id and therefore aren't intimately linked to the item.
if(strlen($item['resource-id'])) {
- $q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
+ q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
dbesc($item['resource-id']),
intval($item['uid'])
);
diff --git a/mod/message.php b/mod/message.php
index 7615f22be..ef3be2c5e 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -2,11 +2,6 @@
require_once('include/acl_selectors.php');
-function message_init(&$a) {
-
-
-}
-
function message_post(&$a) {
if(! local_user()) {
@@ -69,6 +64,43 @@ function message_post(&$a) {
if(count($r))
$post_id = $r[0]['id'];
+ /**
+ *
+ * When a photo was uploaded into the message using the (profile wall) ajax
+ * uploader, The permissions are initially set to disallow anybody but the
+ * owner from seeing it. This is because the permissions may not yet have been
+ * set for the post. If it's private, the photo permissions should be set
+ * appropriately. But we didn't know the final permissions on the post until
+ * now. So now we'll look for links of uploaded messages that are in the
+ * post and set them to the same permissions as the post itself.
+ *
+ */
+
+ $match = null;
+
+ if(preg_match_all("/\[img\](.+?)\[\/img\]/",$body,$match)) {
+ $images = $match[1];
+ if(count($images)) {
+ foreach($images as $image) {
+ if(! stristr($image,$a->get_baseurl() . '/photo/'))
+ continue;
+ $image_uri = substr($image,strrpos($image,'/') + 1);
+ $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
+ $r = q("UPDATE `photo` SET `allow_cid` = '%s'
+ WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ",
+ dbesc('<' . $recipient . '>'),
+ dbesc($image_uri),
+ dbesc( t('Wall Photos')),
+ intval(local_user())
+ );
+ }
+ }
+ }
+
+
+
+
+
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
if($post_id) {
@@ -80,7 +112,6 @@ function message_post(&$a) {
notice( t('Message could not be sent.') . EOL );
}
return;
-
}
function message_content(&$a) {
diff --git a/mod/network.php b/mod/network.php
index f09b302e9..79a2f2b38 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -39,22 +39,22 @@ function network_content(&$a, $update = 0) {
$group = 0;
$nouveau = false;
+ require_once('include/acl_selectors.php');
- if(! $update) {
- $o .= '<script> $(document).ready(function() { $(\'#nav-network-link\').addClass(\'nav-selected\'); });</script>';
+ if(($a->argc > 2) && $a->argv[2] === 'new')
+ $nouveau = true;
- if(($a->argc > 2) && $a->argv[2] === 'new')
+ if($a->argc > 1) {
+ if($a->argv[1] === 'new')
$nouveau = true;
-
- // pull out the group here because the updater might have different args
- if($a->argc > 1) {
- if($a->argv[1] === 'new')
- $nouveau = true;
- else {
- $group = intval($a->argv[1]);
- $group_acl = array('allow_gid' => '<' . $group . '>');
- }
+ else {
+ $group = intval($a->argv[1]);
+ $group_acl = array('allow_gid' => '<' . $group . '>');
}
+ }
+
+ if(! $update) {
+ $o .= '<script> $(document).ready(function() { $(\'#nav-network-link\').addClass(\'nav-selected\'); });</script>';
$_SESSION['return_url'] = $a->cmd;
@@ -68,7 +68,6 @@ function network_content(&$a, $update = 0) {
'$nickname' => $a->user['nickname']
));
- require_once('include/acl_selectors.php');
$tpl = load_view_file("view/jot.tpl");
@@ -106,10 +105,10 @@ function network_content(&$a, $update = 0) {
// filtering by group and also you aren't writing a comment (the last
// criteria is discovered in javascript).
- if($a->pager['start'] == 0 && $a->argc == 1) {
$o .= '<div id="live-network"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . $_SESSION['uid'] . "; </script>\r\n";
- }
+ $o .= "<script> var profile_uid = " . $_SESSION['uid']
+ . "; var netargs = '" . substr($a->cmd,8)
+ . "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
@@ -134,6 +133,8 @@ function network_content(&$a, $update = 0) {
intval($_SESSION['uid'])
);
if(! count($r)) {
+ if($update)
+ killme();
notice( t('No such group') . EOL );
goaway($a->get_baseurl() . '/network');
return; // NOTREACHED
@@ -340,7 +341,8 @@ function network_content(&$a, $update = 0) {
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
- '$return_path' => '', // $_SESSION['return_url'],
+ '$return_path' => '',
+ '$jsreload' => '', // $_SESSION['return_url'],
'$type' => 'net-comment',
'$id' => $item['item_id'],
'$parent' => $item['parent'],
@@ -425,6 +427,7 @@ function network_content(&$a, $update = 0) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,
diff --git a/mod/photos.php b/mod/photos.php
index 9acde458d..27cb1beb1 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1048,7 +1048,8 @@ function photos_content(&$a) {
if($can_post || can_write_wall($a,$owner_uid)) {
if($link_item['last-child']) {
$o .= replace_macros($cmnt_tpl,array(
- '$return_path' => $return_url,
+ '$return_path' => '',
+ '$jsreload' => $return_url,
'$type' => 'wall-comment',
'$id' => $link_item['id'],
'$parent' => $link_item['id'],
@@ -1087,7 +1088,8 @@ function photos_content(&$a) {
if($can_post || can_write_wall($a,$owner_uid)) {
if($link_item['last-child']) {
$o .= replace_macros($cmnt_tpl,array(
- '$return_path' => $return_url,
+ '$return_path' => '',
+ '$jsreload' => $return_url,
'$type' => 'wall-comment',
'$id' => $link_item['id'],
'$parent' => $link_item['id'],
@@ -1115,7 +1117,8 @@ function photos_content(&$a) {
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
- '$return_path' => $return_url,
+ '$return_path' => '',
+ '$jsreload' => $return_url,
'$type' => 'wall-comment',
'$id' => $item['item_id'],
'$parent' => $item['parent'],
diff --git a/mod/profile.php b/mod/profile.php
index 57abc479d..46d13298e 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -82,7 +82,6 @@ function profile_content(&$a, $update = 0) {
$is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false);
-
if(! $update) {
if(x($_GET,'tab'))
$tab = notags(trim($_GET['tab']));
@@ -161,11 +160,11 @@ function profile_content(&$a, $update = 0) {
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.
- if($tab === 'posts' && (! $a->pager['start'])) {
+ if($tab === 'posts') {
$o .= '<div id="live-profile"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . $a->profile['profile_uid'] . "; </script>\r\n";
+ $o .= "<script> var profile_uid = " . $a->profile['profile_uid']
+ . "; var netargs = ''; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
-
}
// Construct permissions
@@ -293,7 +292,8 @@ function profile_content(&$a, $update = 0) {
}
if($item['last-child']) {
$comment = replace_macros($cmnt_tpl,array(
- '$return_path' => '', // $_SESSION['return_url'],
+ '$return_path' => '',
+ '$jsreload' => '', // $_SESSION['return_url'],
'$type' => 'wall-comment',
'$id' => $item['item_id'],
'$parent' => $item['parent'],
@@ -371,6 +371,7 @@ function profile_content(&$a, $update = 0) {
'$lock' => $lock,
'$location' => $location,
'$indent' => $indent,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$like' => $like,
'$vote' => $likebuttons,
diff --git a/mod/update_network.php b/mod/update_network.php
index 35e968dba..cf9f11f58 100644
--- a/mod/update_network.php
+++ b/mod/update_network.php
@@ -3,7 +3,7 @@
// See update_profile.php for documentation
require_once('mod/network.php');
-
+require_once('include/group.php');
function update_network_content(&$a) {