mongo notification checkin, wall, comments, settings
This commit is contained in:
parent
2ee1b00c9c
commit
47e9613acd
|
@ -96,8 +96,7 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
|
||||||
'$thumb' => xmlify($owner['thumb']),
|
'$thumb' => xmlify($owner['thumb']),
|
||||||
'$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
'$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
||||||
'$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
'$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
||||||
'$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
'$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z'))
|
||||||
|
|
||||||
|
|
||||||
));
|
));
|
||||||
|
|
||||||
|
@ -109,7 +108,6 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
if($item['parent'] == $item['id']) {
|
if($item['parent'] == $item['id']) {
|
||||||
$atom .= replace_macros($item_template, array(
|
$atom .= replace_macros($item_template, array(
|
||||||
'$name' => xmlify($item['name']),
|
'$name' => xmlify($item['name']),
|
||||||
|
@ -143,8 +141,7 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$atom .= "</feed>\r\n";
|
$atom .= '</feed>' . "\r\n";
|
||||||
|
|
||||||
return $atom;
|
return $atom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,11 @@ dbg(3);
|
||||||
$updated . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
$updated . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
||||||
'$name' => xmlify($owner['name']),
|
'$name' => xmlify($owner['name']),
|
||||||
'$profile_page' => xmlify($owner['url']),
|
'$profile_page' => xmlify($owner['url']),
|
||||||
'$photo' => xmlify($owner['photo'])
|
'$photo' => xmlify($owner['photo']),
|
||||||
|
'$thumb' => xmlify($owner['thumb']),
|
||||||
|
'$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
||||||
|
'$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z')) ,
|
||||||
|
'$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , 'Y-m-d\TH:i:s\Z'))
|
||||||
));
|
));
|
||||||
|
|
||||||
if($cmd == 'mail') {
|
if($cmd == 'mail') {
|
||||||
|
|
|
@ -23,7 +23,7 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
// find the local user who owns this relationship.
|
// find the local user who owns this relationship.
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `issued-id` = '%s' LIMIT 1",
|
$r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid` WHERE `issued-id` = '%s' LIMIT 1",
|
||||||
dbesc($dfrn_id)
|
dbesc($dfrn_id)
|
||||||
);
|
);
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
|
@ -54,7 +54,7 @@ function dfrn_notify_post(&$a) {
|
||||||
$base = $rawmail[0]['child'][NAMESPACE_DFRN];
|
$base = $rawmail[0]['child'][NAMESPACE_DFRN];
|
||||||
|
|
||||||
$msg = array();
|
$msg = array();
|
||||||
$msg['uid'] = $importer['uid'];
|
$msg['uid'] = $importer['importer_uid'];
|
||||||
$msg['from-name'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['name'][0]['data']));
|
$msg['from-name'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['name'][0]['data']));
|
||||||
$msg['from-photo'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['avatar'][0]['data']));
|
$msg['from-photo'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['avatar'][0]['data']));
|
||||||
$msg['from-url'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['uri'][0]['data']));
|
$msg['from-url'] = notags(unxmlify($base['sender'][0]['child'][NAMESPACE_DFRN]['uri'][0]['data']));
|
||||||
|
@ -74,24 +74,21 @@ function dfrn_notify_post(&$a) {
|
||||||
. "`) VALUES ('" . implode("', '", array_values($msg)) . "')" );
|
. "`) VALUES ('" . implode("', '", array_values($msg)) . "')" );
|
||||||
|
|
||||||
// send email notification if requested.
|
// send email notification if requested.
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
|
||||||
intval($importer['uid'])
|
|
||||||
);
|
|
||||||
require_once('bbcode.php');
|
require_once('bbcode.php');
|
||||||
if((count($r)) && ($r[0]['notify-flags'] & NOTIFY_MAIL)) {
|
if($importer['notify-flags'] & NOTIFY_MAIL) {
|
||||||
$tpl = file_get_contents('view/mail_received_eml.tpl');
|
$tpl = file_get_contents('view/mail_received_eml.tpl');
|
||||||
$email_tpl = replace_macros($tpl, array(
|
$email_tpl = replace_macros($tpl, array(
|
||||||
'$sitename' => $a->config['sitename'],
|
'$sitename' => $a->config['sitename'],
|
||||||
'$siteurl' => $a->get_baseurl(),
|
'$siteurl' => $a->get_baseurl(),
|
||||||
'$username' => $r[0]['username'],
|
'$username' => $importer['username'],
|
||||||
'$email' => $r[0]['email'],
|
'$email' => $importer['email'],
|
||||||
'$from' => $msg['from-name'],
|
'$from' => $msg['from-name'],
|
||||||
'$fn' => $r[0]['name'],
|
|
||||||
'$title' => $msg['title'],
|
'$title' => $msg['title'],
|
||||||
'$body' => strip_tags(bbcode($msg['body']))
|
'$body' => strip_tags(bbcode($msg['body']))
|
||||||
));
|
));
|
||||||
|
|
||||||
$res = mail($r[0]['email'], t("New mail received at ") . $a->config['sitename'],
|
$res = mail($importer['email'], t("New mail received at ") . $a->config['sitename'],
|
||||||
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
||||||
}
|
}
|
||||||
xml_status(0);
|
xml_status(0);
|
||||||
|
@ -116,7 +113,7 @@ function dfrn_notify_post(&$a) {
|
||||||
if($deleted) {
|
if($deleted) {
|
||||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
dbesc($uri),
|
dbesc($uri),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
if($r[0]['uri'] == $r[0]['parent-uri']) {
|
if($r[0]['uri'] == $r[0]['parent-uri']) {
|
||||||
|
@ -131,7 +128,7 @@ function dfrn_notify_post(&$a) {
|
||||||
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
dbesc($when),
|
dbesc($when),
|
||||||
dbesc($uri),
|
dbesc($uri),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -151,32 +148,48 @@ function dfrn_notify_post(&$a) {
|
||||||
if($feed->get_item_quantity() == 1) {
|
if($feed->get_item_quantity() == 1) {
|
||||||
// remote reply to our post. Import and then notify everybody else.
|
// remote reply to our post. Import and then notify everybody else.
|
||||||
$datarray = get_atom_elements($item);
|
$datarray = get_atom_elements($item);
|
||||||
$urn = explode(':',$parent_urn);
|
|
||||||
$datarray['type'] = 'remote-comment';
|
$datarray['type'] = 'remote-comment';
|
||||||
$datarray['parent-uri'] = $parent_uri;
|
$datarray['parent-uri'] = $parent_uri;
|
||||||
$datarray['uid'] = $importer['uid'];
|
$datarray['uid'] = $importer['importer_uid'];
|
||||||
$datarray['contact-id'] = $importer['id'];
|
$datarray['contact-id'] = $importer['id'];
|
||||||
$posted_id = post_remote($a,$datarray);
|
$posted_id = post_remote($a,$datarray);
|
||||||
|
|
||||||
$r = q("SELECT `parent` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `parent` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($posted_id),
|
intval($posted_id),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$r1 = q("UPDATE `item` SET `last-child` = 0 WHERE `uid` = %d AND `parent` = %d",
|
$r1 = q("UPDATE `item` SET `last-child` = 0 WHERE `uid` = %d AND `parent` = %d",
|
||||||
intval($importer['uid']),
|
intval($importer['importer_uid']),
|
||||||
intval($r[0]['parent'])
|
intval($r[0]['parent'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$r2 = q("UPDATE `item` SET `last-child` = 1 WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
$r2 = q("UPDATE `item` SET `last-child` = 1 WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
||||||
intval($importer['uid']),
|
intval($importer['importer_uid']),
|
||||||
intval($posted_id)
|
intval($posted_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
$url = $a->get_baseurl();
|
$url = $a->get_baseurl();
|
||||||
|
|
||||||
proc_close(proc_open("php include/notifier.php $url comment-import $posted_id > remote-notify.log &", array(),$foo));
|
proc_close(proc_open("php include/notifier.php $url comment-import $posted_id > remote-notify.log &",
|
||||||
|
array(),$foo));
|
||||||
|
|
||||||
|
if(($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
|
||||||
|
require_once('bbcode.php');
|
||||||
|
$from = stripslashes($datarray['author-name']);
|
||||||
|
$tpl = file_get_contents('view/cmnt_received_eml.tpl');
|
||||||
|
$email_tpl = replace_macros($tpl, array(
|
||||||
|
'$sitename' => $a->config['sitename'],
|
||||||
|
'$siteurl' => $a->get_baseurl(),
|
||||||
|
'$username' => $importer['username'],
|
||||||
|
'$email' => $importer['email'],
|
||||||
|
'$from' => $from,
|
||||||
|
'$body' => strip_tags(bbcode(stripslashes($datarray['body'])))
|
||||||
|
));
|
||||||
|
|
||||||
|
$res = mail($importer['email'], $from . t(" commented on your item at ") . $a->config['sitename'],
|
||||||
|
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
||||||
|
}
|
||||||
xml_status(0);
|
xml_status(0);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -188,25 +201,56 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
$r = q("SELECT `uid`, `last-child`, `edited` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `uid`, `last-child`, `edited` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
dbesc($item_id),
|
dbesc($item_id),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
// FIXME update content if 'updated' changes
|
// FIXME update content if 'updated' changes
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$allow = $item->get_item_tags('http://purl.org/macgirvin/dfrn/1.0','comment-allow');
|
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
|
||||||
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
|
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
|
||||||
$r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
intval($allow[0]['data']),
|
intval($allow[0]['data']),
|
||||||
dbesc($item_id),
|
dbesc($item_id),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$datarray = get_atom_elements($item);
|
$datarray = get_atom_elements($item);
|
||||||
$datarray['parent-uri'] = $parent_uri;
|
$datarray['parent-uri'] = $parent_uri;
|
||||||
$datarray['uid'] = $importer['uid'];
|
$datarray['uid'] = $importer['importer_uid'];
|
||||||
$datarray['contact-id'] = $importer['id'];
|
$datarray['contact-id'] = $importer['id'];
|
||||||
$r = post_remote($a,$datarray);
|
$r = post_remote($a,$datarray);
|
||||||
|
|
||||||
|
// find out if our user is involved in this conversation and wants to be notified.
|
||||||
|
|
||||||
|
if($importer['notify-flags'] & NOTIFY_COMMENT) {
|
||||||
|
|
||||||
|
$myconv = q("SELECT `author-link` FROM `item` WHERE `parent-uri` = '%s'",
|
||||||
|
dbesc($parent_uri)
|
||||||
|
);
|
||||||
|
if(count($myconv)) {
|
||||||
|
foreach($myconv as $conv) {
|
||||||
|
if($conv['author-link'] != $importer['url'])
|
||||||
|
continue;
|
||||||
|
require_once('bbcode.php');
|
||||||
|
$from = stripslashes($datarray['author-name']);
|
||||||
|
$tpl = file_get_contents('view/cmnt_received_eml.tpl');
|
||||||
|
$email_tpl = replace_macros($tpl, array(
|
||||||
|
'$sitename' => $a->config['sitename'],
|
||||||
|
'$siteurl' => $a->get_baseurl(),
|
||||||
|
'$username' => $importer['username'],
|
||||||
|
'$email' => $importer['email'],
|
||||||
|
'$from' => $from,
|
||||||
|
'$body' => strip_tags(bbcode(stripslashes($datarray['body'])))
|
||||||
|
));
|
||||||
|
|
||||||
|
$res = mail($importer['email'], $from . t(" commented on an item at ")
|
||||||
|
. $a->config['sitename'],
|
||||||
|
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -216,15 +260,15 @@ function dfrn_notify_post(&$a) {
|
||||||
$item_id = $item->get_id();
|
$item_id = $item->get_id();
|
||||||
$r = q("SELECT `uid`, `last-child`, `edited` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `uid`, `last-child`, `edited` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
dbesc($item_id),
|
dbesc($item_id),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$allow = $item->get_item_tags('http://purl.org/macgirvin/dfrn/1.0','comment-allow');
|
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
|
||||||
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
|
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
|
||||||
$r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
intval($allow[0]['data']),
|
intval($allow[0]['data']),
|
||||||
dbesc($item_id),
|
dbesc($item_id),
|
||||||
intval($importer['uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
@ -233,7 +277,7 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
$datarray = get_atom_elements($item);
|
$datarray = get_atom_elements($item);
|
||||||
$datarray['parent-uri'] = $item_id;
|
$datarray['parent-uri'] = $item_id;
|
||||||
$datarray['uid'] = $importer['uid'];
|
$datarray['uid'] = $importer['importer_uid'];
|
||||||
$datarray['contact-id'] = $importer['id'];
|
$datarray['contact-id'] = $importer['id'];
|
||||||
$r = post_remote($a,$datarray);
|
$r = post_remote($a,$datarray);
|
||||||
continue;
|
continue;
|
||||||
|
@ -281,8 +325,7 @@ function dfrn_notify_content(&$a) {
|
||||||
openssl_private_encrypt($id_str,$encrypted_id,$r[0]['prvkey']);
|
openssl_private_encrypt($id_str,$encrypted_id,$r[0]['prvkey']);
|
||||||
$encrypted_id = bin2hex($encrypted_id);
|
$encrypted_id = bin2hex($encrypted_id);
|
||||||
|
|
||||||
echo '<?xml version="1.0" encoding="UTF-8"?><dfrn_notify><status>' .$status . '</status><dfrn_id>' . $encrypted_id . '</dfrn_id>'
|
echo '<?xml version="1.0" encoding="UTF-8"?><dfrn_notify><status>' .$status . '</status><dfrn_id>' . $encrypted_id . '</dfrn_id>' . '<challenge>' . $challenge . '</challenge></dfrn_notify>' . "\r\n" ;
|
||||||
. '<challenge>' . $challenge . '</challenge></dfrn_notify>' . "\r\n" ;
|
|
||||||
session_write_close();
|
session_write_close();
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
|
83
mod/item.php
83
mod/item.php
|
@ -27,11 +27,21 @@ function item_post(&$a) {
|
||||||
|
|
||||||
$profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0);
|
$profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0);
|
||||||
|
|
||||||
|
|
||||||
if(! can_write_wall($a,$profile_uid)) {
|
if(! can_write_wall($a,$profile_uid)) {
|
||||||
notice("Permission denied." . EOL) ;
|
notice("Permission denied." . EOL) ;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$user = null;
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
|
intval($profile_uid)
|
||||||
|
);
|
||||||
|
if(count($r))
|
||||||
|
$user = $r[0];
|
||||||
|
|
||||||
|
|
||||||
$str_group_allow = '';
|
$str_group_allow = '';
|
||||||
$group_allow = $_POST['group_allow'];
|
$group_allow = $_POST['group_allow'];
|
||||||
if(is_array($group_allow)) {
|
if(is_array($group_allow)) {
|
||||||
|
@ -71,23 +81,38 @@ function item_post(&$a) {
|
||||||
|
|
||||||
// get contact info for poster
|
// get contact info for poster
|
||||||
|
|
||||||
if((x($_SESSION,'visitor_id')) && (intval($_SESSION['visitor_id']))) {
|
$author = null;
|
||||||
$contact_id = $_SESSION['visitor_id'];
|
|
||||||
|
if(($_SESSION['uid']) && ($_SESSION['uid'] == $profile_uid)) {
|
||||||
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||||
|
intval($_SESSION['uid'])
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
if((x($_SESSION,'visitor_id')) && (intval($_SESSION['visitor_id']))) {
|
||||||
intval($_SESSION['uid']));
|
$r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1",
|
||||||
if(count($r))
|
intval($_SESSION['visitor_id'])
|
||||||
$contact_id = $r[0]['id'];
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(count($r)) {
|
||||||
|
$author = $r[0];
|
||||||
|
$contact_id = $author['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// get contact info for owner
|
// get contact info for owner
|
||||||
|
|
||||||
|
if($profile_uid == $_SESSION['uid']) {
|
||||||
|
$contact_record = $author;
|
||||||
|
}
|
||||||
|
else {
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||||
intval($profile_uid)
|
intval($profile_uid)
|
||||||
);
|
);
|
||||||
if(count($r))
|
if(count($r))
|
||||||
$contact_record = $r[0];
|
$contact_record = $r[0];
|
||||||
|
}
|
||||||
|
|
||||||
$post_type = notags(trim($_POST['type']));
|
$post_type = notags(trim($_POST['type']));
|
||||||
|
|
||||||
|
@ -115,15 +140,19 @@ function item_post(&$a) {
|
||||||
} while($dups == true);
|
} while($dups == true);
|
||||||
|
|
||||||
|
|
||||||
$r = q("INSERT INTO `item` (`uid`,`type`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`, `created`,
|
$r = q("INSERT INTO `item` (`uid`,`type`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
||||||
|
`author-name`, `author-link`, `author-avatar`, `created`,
|
||||||
`edited`, `uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
|
`edited`, `uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
|
||||||
VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
|
VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
|
||||||
intval($profile_uid),
|
intval($profile_uid),
|
||||||
dbesc($post_type),
|
dbesc($post_type),
|
||||||
intval($contact_id),
|
intval($contact_id),
|
||||||
dbesc($contact_record['name']),
|
dbesc($contact_record['name']),
|
||||||
dbesc($contact_record['url']),
|
dbesc($contact_record['url']),
|
||||||
dbesc($contact_record['thumb']),
|
dbesc($contact_record['thumb']),
|
||||||
|
dbesc($author['name']),
|
||||||
|
dbesc($author['url']),
|
||||||
|
dbesc($author['thumb']),
|
||||||
datetime_convert(),
|
datetime_convert(),
|
||||||
datetime_convert(),
|
datetime_convert(),
|
||||||
dbesc($uri),
|
dbesc($uri),
|
||||||
|
@ -157,9 +186,43 @@ function item_post(&$a) {
|
||||||
dbesc($parent_item['deny_gid']),
|
dbesc($parent_item['deny_gid']),
|
||||||
intval($post_id)
|
intval($post_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if(($user['notify-flags'] & NOTIFY_COMMENT) && ($contact_record != $author)) {
|
||||||
|
require_once('bbcode.php');
|
||||||
|
$from = $author['name'];
|
||||||
|
$tpl = file_get_contents('view/cmnt_received_eml.tpl');
|
||||||
|
$email_tpl = replace_macros($tpl, array(
|
||||||
|
'$sitename' => $a->config['sitename'],
|
||||||
|
'$siteurl' => $a->get_baseurl(),
|
||||||
|
'$username' => $user['username'],
|
||||||
|
'$email' => $user['email'],
|
||||||
|
'$from' => $from,
|
||||||
|
'$body' => strip_tags(bbcode($body))
|
||||||
|
));
|
||||||
|
|
||||||
|
$res = mail($user['email'], $from . t(" commented on your item at ") . $a->config['sitename'],
|
||||||
|
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$parent = $post_id;
|
$parent = $post_id;
|
||||||
|
|
||||||
|
if(($user['notify-flags'] & NOTIFY_WALL) && ($contact_record != $author)) {
|
||||||
|
require_once('bbcode.php');
|
||||||
|
$from = $author['name'];
|
||||||
|
$tpl = file_get_contents('view/wall_received_eml.tpl');
|
||||||
|
$email_tpl = replace_macros($tpl, array(
|
||||||
|
'$sitename' => $a->config['sitename'],
|
||||||
|
'$siteurl' => $a->get_baseurl(),
|
||||||
|
'$username' => $user['username'],
|
||||||
|
'$email' => $user['email'],
|
||||||
|
'$from' => $from,
|
||||||
|
'$body' => strip_tags(bbcode($body))
|
||||||
|
));
|
||||||
|
|
||||||
|
$res = mail($user['email'], $from . t(" posted on your profile wall at ") . $a->config['sitename'],
|
||||||
|
$email_tpl,t("From: Administrator@") . $a->get_hostname() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `last-child` = 1, `visible` = 1
|
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `last-child` = 1, `visible` = 1
|
||||||
|
@ -202,7 +265,7 @@ function item_content(&$a) {
|
||||||
);
|
);
|
||||||
|
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
notice("Item not found." . EOL);
|
notice( t('Item not found.') . EOL);
|
||||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||||
}
|
}
|
||||||
$item = $r[0];
|
$item = $r[0];
|
||||||
|
@ -255,7 +318,7 @@ function item_content(&$a) {
|
||||||
return; //NOTREACHED
|
return; //NOTREACHED
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
notice("Permission denied." . EOL);
|
notice( t('Permission denied.') . EOL);
|
||||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||||
return; //NOTREACHED
|
return; //NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,9 +91,16 @@ function profile_content(&$a, $update = false) {
|
||||||
if(remote_user()) {
|
if(remote_user()) {
|
||||||
$contact_id = $_SESSION['visitor_id'];
|
$contact_id = $_SESSION['visitor_id'];
|
||||||
$groups = init_groups_visitor($contact_id);
|
$groups = init_groups_visitor($contact_id);
|
||||||
|
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
|
intval($contact_id),
|
||||||
|
intval($a->profile['uid'])
|
||||||
|
);
|
||||||
|
if(count($r))
|
||||||
|
$contact = $r[0];
|
||||||
}
|
}
|
||||||
if(local_user()) {
|
if(local_user()) {
|
||||||
$contact_id = $_SESSION['cid'];
|
$contact_id = $_SESSION['cid'];
|
||||||
|
$contact = $a->contact;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($update) {
|
if($update) {
|
||||||
|
@ -239,9 +246,9 @@ function profile_content(&$a, $update = false) {
|
||||||
'$id' => $item['item_id'],
|
'$id' => $item['item_id'],
|
||||||
'$parent' => $item['parent'],
|
'$parent' => $item['parent'],
|
||||||
'$profile_uid' => $a->profile['uid'],
|
'$profile_uid' => $a->profile['uid'],
|
||||||
'$mylink' => $a->contact['url'],
|
'$mylink' => $contact['url'],
|
||||||
'$mytitle' => t('Me'),
|
'$mytitle' => t('Me'),
|
||||||
'$myphoto' => $a->contact['thumb'],
|
'$myphoto' => $contact['thumb'],
|
||||||
'$ww' => ''
|
'$ww' => ''
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,19 @@ function settings_post(&$a) {
|
||||||
$email = notags(trim($_POST['email']));
|
$email = notags(trim($_POST['email']));
|
||||||
$timezone = notags(trim($_POST['timezone']));
|
$timezone = notags(trim($_POST['timezone']));
|
||||||
|
|
||||||
|
$notify = 0;
|
||||||
|
|
||||||
|
if($_POST['notify1'])
|
||||||
|
$notify += intval($_POST['notify1']);
|
||||||
|
if($_POST['notify2'])
|
||||||
|
$notify += intval($_POST['notify2']);
|
||||||
|
if($_POST['notify3'])
|
||||||
|
$notify += intval($_POST['notify3']);
|
||||||
|
if($_POST['notify4'])
|
||||||
|
$notify += intval($_POST['notify4']);
|
||||||
|
if($_POST['notify5'])
|
||||||
|
$notify += intval($_POST['notify5']);
|
||||||
|
|
||||||
$username_changed = false;
|
$username_changed = false;
|
||||||
$email_changed = false;
|
$email_changed = false;
|
||||||
$zone_changed = false;
|
$zone_changed = false;
|
||||||
|
@ -120,7 +133,7 @@ function settings_post(&$a) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `uid` = %d LIMIT 1",
|
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d WHERE `uid` = %d LIMIT 1",
|
||||||
dbesc($username),
|
dbesc($username),
|
||||||
dbesc($email),
|
dbesc($email),
|
||||||
dbesc($timezone),
|
dbesc($timezone),
|
||||||
|
@ -128,6 +141,7 @@ function settings_post(&$a) {
|
||||||
dbesc($str_group_allow),
|
dbesc($str_group_allow),
|
||||||
dbesc($str_contact_deny),
|
dbesc($str_contact_deny),
|
||||||
dbesc($str_group_deny),
|
dbesc($str_group_deny),
|
||||||
|
intval($notify),
|
||||||
intval($_SESSION['uid'])
|
intval($_SESSION['uid'])
|
||||||
);
|
);
|
||||||
if($r)
|
if($r)
|
||||||
|
@ -163,7 +177,7 @@ function settings_content(&$a) {
|
||||||
$email = $a->user['email'];
|
$email = $a->user['email'];
|
||||||
$nickname = $a->user['nickname'];
|
$nickname = $a->user['nickname'];
|
||||||
$timezone = $a->user['timezone'];
|
$timezone = $a->user['timezone'];
|
||||||
|
$notify = $a->user['notify-flags'];
|
||||||
|
|
||||||
|
|
||||||
$nickname_block = file_get_contents("view/settings_nick_set.tpl");
|
$nickname_block = file_get_contents("view/settings_nick_set.tpl");
|
||||||
|
@ -198,7 +212,12 @@ function settings_content(&$a) {
|
||||||
'$timezone' => $timezone,
|
'$timezone' => $timezone,
|
||||||
'$zoneselect' => select_timezone($timezone),
|
'$zoneselect' => select_timezone($timezone),
|
||||||
'$permissions' => t('Default Post Permissions'),
|
'$permissions' => t('Default Post Permissions'),
|
||||||
'$aclselect' => populate_acl($a->user)
|
'$aclselect' => populate_acl($a->user),
|
||||||
|
'$sel_notify1' => (($notify & NOTIFY_INTRO) ? ' checked="checked" ' : ''),
|
||||||
|
'$sel_notify2' => (($notify & NOTIFY_CONFIRM) ? ' checked="checked" ' : ''),
|
||||||
|
'$sel_notify3' => (($notify & NOTIFY_WALL) ? ' checked="checked" ' : ''),
|
||||||
|
'$sel_notify4' => (($notify & NOTIFY_COMMENT) ? ' checked="checked" ' : ''),
|
||||||
|
'$sel_notify5' => (($notify & NOTIFY_MAIL) ? ' checked="checked" ' : '')
|
||||||
));
|
));
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
Dear $username,
|
||||||
|
|
||||||
|
'$from' commented on an item/conversation which you have been following.
|
||||||
|
|
||||||
|
-----
|
||||||
|
$body
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please login at $siteurl to view the complete conversation.
|
||||||
|
|
||||||
|
Thank you,
|
||||||
|
$sitename administrator
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,25 @@ $zoneselect
|
||||||
</div>
|
</div>
|
||||||
<div id="settings-default-perms-end"></div>
|
<div id="settings-default-perms-end"></div>
|
||||||
|
|
||||||
|
<div id="settings-notify-wrapper">
|
||||||
|
<div id="settings-notify-desc">Send me a notification email when: </div>
|
||||||
|
<label for="notify1" id="settings-label-notify1">I receive an introduction</label>
|
||||||
|
<input id="notify1" type="checkbox" $sel_notify1 name="notify1" value="1" />
|
||||||
|
<div id="notify1-end"></div>
|
||||||
|
<label for="notify2" id="settings-label-notify2">My introductions are confirmed</label>
|
||||||
|
<input id="notify2" type="checkbox" $sel_notify2 name="notify2" value="2" />
|
||||||
|
<div id="notify2-end"></div>
|
||||||
|
<label for="notify3" id="settings-label-notify3">Someone writes on my profile wall</label>
|
||||||
|
<input id="notify3" type="checkbox" $sel_notify3 name="notify3" value="4" />
|
||||||
|
<div id="notify3-end"></div>
|
||||||
|
<label for="notify4" id="settings-label-notify4">Someone writes a followup comment</label>
|
||||||
|
<input id="notify4" type="checkbox" $sel_notify4 name="notify4" value="8" />
|
||||||
|
<div id="notify4-end"></div>
|
||||||
|
<label for="notify5" id="settings-label-notify5">I receive a private message</label>
|
||||||
|
<input id="notify5" type="checkbox" $sel_notify5 name="notify5" value="16" />
|
||||||
|
<div id="notify5-end"></div>
|
||||||
|
</div>
|
||||||
|
<div id="settings=notify-end"></div>
|
||||||
|
|
||||||
<div id="settings-password-wrapper" >
|
<div id="settings-password-wrapper" >
|
||||||
<p id="settings-password-desc" >
|
<p id="settings-password-desc" >
|
||||||
|
|
|
@ -298,21 +298,55 @@ input#dfrn-url {
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings-username-end, #settings-email-end, #settings-nick-end, #settings-timezone-end, #settings-password-end, #settings-confirm-end {
|
#settings-username-end,
|
||||||
|
#settings-email-end,
|
||||||
|
#settings-nick-end,
|
||||||
|
#settings-timezone-end,
|
||||||
|
#settings-password-end,
|
||||||
|
#settings-confirm-end,
|
||||||
|
#notify1-end,
|
||||||
|
#notify2-end,
|
||||||
|
#notify3-end,
|
||||||
|
#notify4-end,
|
||||||
|
#notify5-end {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings-username-label, #settings-email-label, #settings-nick-label, #settings-timezone-label, #settings-password-label, #settings-confirm-label {
|
#settings-username-label,
|
||||||
|
#settings-email-label,
|
||||||
|
#settings-nick-label,
|
||||||
|
#settings-timezone-label,
|
||||||
|
#settings-password-label,
|
||||||
|
#settings-confirm-label,
|
||||||
|
#settings-label-notify1,
|
||||||
|
#settings-label-notify2,
|
||||||
|
#settings-label-notify3,
|
||||||
|
#settings-label-notify4,
|
||||||
|
#settings-label-notify5 {
|
||||||
float: left;
|
float: left;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings-username, #settings-email, #settings-nick, #timezone-select, #settings-password, #settings-confirm {
|
#settings-username,
|
||||||
|
#settings-email,
|
||||||
|
#settings-nick,
|
||||||
|
#timezone-select,
|
||||||
|
#settings-password,
|
||||||
|
#settings-confirm,
|
||||||
|
#notify1,
|
||||||
|
#notify2,
|
||||||
|
#notify3,
|
||||||
|
#notify4,
|
||||||
|
#notify5 {
|
||||||
float: left;
|
float: left;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#settings-notify-desc {
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
#settings-nick-desc {
|
#settings-nick-desc {
|
||||||
width: 500px;
|
width: 500px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
Dear $username,
|
||||||
|
|
||||||
|
'$from' posted something to your profile wall.
|
||||||
|
|
||||||
|
-----
|
||||||
|
$body
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please login at $siteurl to view or delete the item.
|
||||||
|
|
||||||
|
Thank you,
|
||||||
|
$sitename administrator
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user