Merge branch 'master' of git://github.com/friendika/friendika
This commit is contained in:
commit
0c83fb4d80
|
@ -688,11 +688,12 @@ function item_store($arr,$force_parent = false) {
|
||||||
$arr['parent-uri'] = $r[0]['parent-uri'];
|
$arr['parent-uri'] = $r[0]['parent-uri'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$parent_id = $r[0]['id'];
|
$parent_id = $r[0]['id'];
|
||||||
$allow_cid = $r[0]['allow_cid'];
|
$parent_deleted = $r[0]['deleted'];
|
||||||
$allow_gid = $r[0]['allow_gid'];
|
$allow_cid = $r[0]['allow_cid'];
|
||||||
$deny_cid = $r[0]['deny_cid'];
|
$allow_gid = $r[0]['allow_gid'];
|
||||||
$deny_gid = $r[0]['deny_gid'];
|
$deny_cid = $r[0]['deny_cid'];
|
||||||
|
$deny_gid = $r[0]['deny_gid'];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
@ -739,10 +740,10 @@ function item_store($arr,$force_parent = false) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($arr['parent-uri'] === $arr['uri'])
|
if((! $parent_id) || ($arr['parent-uri'] === $arr['uri']))
|
||||||
$parent_id = $current_post;
|
$parent_id = $current_post;
|
||||||
|
|
||||||
if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid))
|
if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid))
|
||||||
$private = 1;
|
$private = 1;
|
||||||
else
|
else
|
||||||
$private = $arr['private'];
|
$private = $arr['private'];
|
||||||
|
@ -750,13 +751,14 @@ function item_store($arr,$force_parent = false) {
|
||||||
// Set parent id - and also make sure to inherit the parent's ACL's.
|
// Set parent id - and also make sure to inherit the parent's ACL's.
|
||||||
|
|
||||||
$r = q("UPDATE `item` SET `parent` = %d, `allow_cid` = '%s', `allow_gid` = '%s',
|
$r = q("UPDATE `item` SET `parent` = %d, `allow_cid` = '%s', `allow_gid` = '%s',
|
||||||
`deny_cid` = '%s', `deny_gid` = '%s', `private` = %d WHERE `id` = %d LIMIT 1",
|
`deny_cid` = '%s', `deny_gid` = '%s', `private` = %d, `deleted` = %d WHERE `id` = %d LIMIT 1",
|
||||||
intval($parent_id),
|
intval($parent_id),
|
||||||
dbesc($allow_cid),
|
dbesc($allow_cid),
|
||||||
dbesc($allow_gid),
|
dbesc($allow_gid),
|
||||||
dbesc($deny_cid),
|
dbesc($deny_cid),
|
||||||
dbesc($deny_gid),
|
dbesc($deny_gid),
|
||||||
intval($private),
|
intval($private),
|
||||||
|
intval($parent_deleted),
|
||||||
intval($current_post)
|
intval($current_post)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
require_once("boot.php");
|
require_once("boot.php");
|
||||||
|
|
||||||
function notifier_run($argv, $argc){
|
function notifier_run($argv, $argc){
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
||||||
if(is_null($a)){
|
if(is_null($a)){
|
||||||
$a = new App;
|
$a = new App;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_null($db)){
|
if(is_null($db)) {
|
||||||
@include(".htconfig.php");
|
@include(".htconfig.php");
|
||||||
require_once("dba.php");
|
require_once("dba.php");
|
||||||
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
||||||
unset($db_host, $db_user, $db_pass, $db_data);
|
unset($db_host, $db_user, $db_pass, $db_data);
|
||||||
};
|
}
|
||||||
|
|
||||||
require_once("session.php");
|
require_once("session.php");
|
||||||
require_once("datetime.php");
|
require_once("datetime.php");
|
||||||
|
@ -62,11 +62,12 @@ function notifier_run($argv, $argc){
|
||||||
$r = q("SELECT `parent`, `uid`, `edited` FROM `item` WHERE `id` = %d LIMIT 1",
|
$r = q("SELECT `parent`, `uid`, `edited` FROM `item` WHERE `id` = %d LIMIT 1",
|
||||||
intval($item_id)
|
intval($item_id)
|
||||||
);
|
);
|
||||||
if(! count($r)){
|
|
||||||
|
if((! count($r)) || (! intval($r[0]['parent']))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$parent_id = $r[0]['parent'];
|
$parent_id = intval($r[0]['parent']);
|
||||||
$uid = $r[0]['uid'];
|
$uid = $r[0]['uid'];
|
||||||
$updated = $r[0]['edited'];
|
$updated = $r[0]['edited'];
|
||||||
|
|
||||||
|
@ -77,6 +78,13 @@ function notifier_run($argv, $argc){
|
||||||
if(! count($items)){
|
if(! count($items)){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// avoid race condition with deleting entries
|
||||||
|
|
||||||
|
if($items[0]['deleted']) {
|
||||||
|
foreach($items as $item)
|
||||||
|
$item['deleted'] = 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags`
|
$r = q("SELECT `contact`.*, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, `user`.`page-flags`
|
||||||
|
@ -122,8 +130,8 @@ function notifier_run($argv, $argc){
|
||||||
|
|
||||||
$allow_people = expand_acl($parent['allow_cid']);
|
$allow_people = expand_acl($parent['allow_cid']);
|
||||||
$allow_groups = expand_groups(expand_acl($parent['allow_gid']));
|
$allow_groups = expand_groups(expand_acl($parent['allow_gid']));
|
||||||
$deny_people = expand_acl($parent['deny_cid']);
|
$deny_people = expand_acl($parent['deny_cid']);
|
||||||
$deny_groups = expand_groups(expand_acl($parent['deny_gid']));
|
$deny_groups = expand_groups(expand_acl($parent['deny_gid']));
|
||||||
|
|
||||||
$conversants = array();
|
$conversants = array();
|
||||||
|
|
||||||
|
@ -220,6 +228,8 @@ function notifier_run($argv, $argc){
|
||||||
else {
|
else {
|
||||||
if($followup) {
|
if($followup) {
|
||||||
foreach($items as $item) { // there is only one item
|
foreach($items as $item) { // there is only one item
|
||||||
|
if(! $item['parent'])
|
||||||
|
continue;
|
||||||
if($item['id'] == $item_id) {
|
if($item['id'] == $item_id) {
|
||||||
logger('notifier: followup: item: ' . print_r($item,true), LOGGER_DATA);
|
logger('notifier: followup: item: ' . print_r($item,true), LOGGER_DATA);
|
||||||
$slap = atom_entry($item,'html',$owner,$owner,false);
|
$slap = atom_entry($item,'html',$owner,$owner,false);
|
||||||
|
@ -229,6 +239,9 @@ function notifier_run($argv, $argc){
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
foreach($items as $item) {
|
foreach($items as $item) {
|
||||||
|
if(! $item['parent'])
|
||||||
|
continue;
|
||||||
|
|
||||||
$contact = get_item_contact($item,$contacts);
|
$contact = get_item_contact($item,$contacts);
|
||||||
if(! $contact)
|
if(! $contact)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -289,54 +289,58 @@ function dfrn_notify_post(&$a) {
|
||||||
$datarray['last-child'] = 0;
|
$datarray['last-child'] = 0;
|
||||||
}
|
}
|
||||||
$posted_id = item_store($datarray);
|
$posted_id = item_store($datarray);
|
||||||
|
$parent = 0;
|
||||||
|
|
||||||
if($posted_id) {
|
if($posted_id) {
|
||||||
|
$r = q("SELECT `parent` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
|
intval($posted_id),
|
||||||
|
intval($importer['importer_uid'])
|
||||||
|
);
|
||||||
|
if(count($r))
|
||||||
|
$parent = $r[0]['parent'];
|
||||||
|
|
||||||
if(! $is_like) {
|
if(! $is_like) {
|
||||||
$r = q("SELECT `parent` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$r1 = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `uid` = %d AND `parent` = %d",
|
||||||
intval($posted_id),
|
dbesc(datetime_convert()),
|
||||||
intval($importer['importer_uid'])
|
intval($importer['importer_uid']),
|
||||||
|
intval($r[0]['parent'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
|
||||||
$r1 = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `uid` = %d AND `parent` = %d",
|
|
||||||
dbesc(datetime_convert()),
|
|
||||||
intval($importer['importer_uid']),
|
|
||||||
intval($r[0]['parent'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
$r2 = q("UPDATE `item` SET `last-child` = 1, `changed` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
$r2 = q("UPDATE `item` SET `last-child` = 1, `changed` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
intval($importer['importer_uid']),
|
intval($importer['importer_uid']),
|
||||||
intval($posted_id)
|
intval($posted_id)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
if($posted_id && $parent) {
|
||||||
|
|
||||||
//proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"comment-import\" \"$posted_id\" &", array(),$foo));
|
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
||||||
proc_run($php_path,"include/notifier.php","comment-import","$posted_id");
|
|
||||||
|
|
||||||
if((! $is_like) && ($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
|
proc_run($php_path,"include/notifier.php","comment-import","$posted_id");
|
||||||
require_once('bbcode.php');
|
|
||||||
$from = stripslashes($datarray['author-name']);
|
|
||||||
$tpl = load_view_file('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'],
|
|
||||||
'$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
|
|
||||||
'$from' => $from,
|
|
||||||
'$body' => strip_tags(bbcode(stripslashes($datarray['body'])))
|
|
||||||
));
|
|
||||||
|
|
||||||
$res = mail($importer['email'], $from . t(' commented on an item at ') . $a->config['sitename'],
|
if((! $is_like) && ($importer['notify-flags'] & NOTIFY_COMMENT) && (! $importer['self'])) {
|
||||||
$email_tpl, "From: " . t('Administrator') . '@' . $a->get_hostname() );
|
require_once('bbcode.php');
|
||||||
|
$from = stripslashes($datarray['author-name']);
|
||||||
|
$tpl = load_view_file('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'],
|
||||||
|
'$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
|
||||||
|
'$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, "From: " . t('Administrator') . '@' . $a->get_hostname() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xml_status(0);
|
||||||
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
xml_status(0);
|
|
||||||
// NOTREACHED
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// regular comment that is part of this total conversation. Have we seen it? If not, import it.
|
// regular comment that is part of this total conversation. Have we seen it? If not, import it.
|
||||||
|
@ -375,13 +379,13 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
if(($datarray['type'] != 'activity') && ($importer['notify-flags'] & NOTIFY_COMMENT)) {
|
if(($datarray['type'] != 'activity') && ($importer['notify-flags'] & NOTIFY_COMMENT)) {
|
||||||
|
|
||||||
$myconv = q("SELECT `author-link` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d",
|
$myconv = q("SELECT `author-link` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ",
|
||||||
dbesc($parent_uri),
|
dbesc($parent_uri),
|
||||||
intval($importer['importer_uid'])
|
intval($importer['importer_uid'])
|
||||||
);
|
);
|
||||||
if(count($myconv)) {
|
if(count($myconv)) {
|
||||||
foreach($myconv as $conv) {
|
foreach($myconv as $conv) {
|
||||||
if($conv['author-link'] != $importer['url'])
|
if(! link_compare($conv['author-link'],$importer['url']))
|
||||||
continue;
|
continue;
|
||||||
require_once('bbcode.php');
|
require_once('bbcode.php');
|
||||||
$from = stripslashes($datarray['author-name']);
|
$from = stripslashes($datarray['author-name']);
|
||||||
|
|
30
mod/item.php
30
mod/item.php
|
@ -1,11 +1,17 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// This is the POST destination for most all locally posted
|
/**
|
||||||
// text stuff. This function handles status, wall-to-wall status,
|
*
|
||||||
// local comments, and remote coments - that are posted on this site
|
* This is the POST destination for most all locally posted
|
||||||
// (as opposed to being delivered in a feed).
|
* text stuff. This function handles status, wall-to-wall status,
|
||||||
// All of these become an "item" which is our basic unit of
|
* local comments, and remote coments - that are posted on this site
|
||||||
// information.
|
* (as opposed to being delivered in a feed).
|
||||||
|
* All of these become an "item" which is our basic unit of
|
||||||
|
* information.
|
||||||
|
* Posts that originate externally or do not fall into the above
|
||||||
|
* posting categories go through item_store() instead of this function.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
function item_post(&$a) {
|
function item_post(&$a) {
|
||||||
|
|
||||||
|
@ -417,6 +423,12 @@ function item_post(&$a) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
logger('mod_item: unable to retrieve post that was just stored.');
|
||||||
|
notify( t('System error. Post not saved.'));
|
||||||
|
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
||||||
|
// NOTREACHED
|
||||||
|
}
|
||||||
|
|
||||||
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
|
||||||
|
|
||||||
|
@ -454,10 +466,8 @@ function item_post(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
||||||
return; // NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -551,7 +561,7 @@ function item_content(&$a) {
|
||||||
proc_run($php_path,"include/notifier.php","drop","$drop_id");
|
proc_run($php_path,"include/notifier.php","drop","$drop_id");
|
||||||
|
|
||||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||||
return; //NOTREACHED
|
//NOTREACHED
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
notice( t('Permission denied.') . EOL);
|
notice( t('Permission denied.') . EOL);
|
||||||
|
|
|
@ -3,11 +3,22 @@
|
||||||
|
|
||||||
function lockview_content(&$a) {
|
function lockview_content(&$a) {
|
||||||
|
|
||||||
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
$type = (($a->argc > 1) ? $a->argv[1] : 0);
|
||||||
|
if (is_numeric($type)) {
|
||||||
|
$item_id = intval($type);
|
||||||
|
$type='item';
|
||||||
|
} else {
|
||||||
|
$item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
|
||||||
|
}
|
||||||
|
|
||||||
if(! $item_id)
|
if(! $item_id)
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1",
|
if (!in_array($type, array('item','photo','event')))
|
||||||
|
killme();
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM `%s` WHERE `id` = %d LIMIT 1",
|
||||||
|
dbesc($type),
|
||||||
intval($item_id)
|
intval($item_id)
|
||||||
);
|
);
|
||||||
if(! count($r))
|
if(! count($r))
|
||||||
|
|
|
@ -913,7 +913,15 @@ function photos_content(&$a) {
|
||||||
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']) . '">' . $ph[0]['album'] . '</a></h3>';
|
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']) . '">' . $ph[0]['album'] . '</a></h3>';
|
||||||
|
|
||||||
if($can_post && ($ph[0]['uid'] == $owner_uid)) {
|
if($can_post && ($ph[0]['uid'] == $owner_uid)) {
|
||||||
$o .= '<div id="photo-edit-link-wrap" ><a id="photo-edit-link" href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit' . '">' . t('Edit photo') . '</a></div>';
|
$o .= '<div id="photo-edit-link-wrap" ><a id="photo-edit-link" href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit' . '">' . t('Edit photo') . '</a>';
|
||||||
|
|
||||||
|
// lock
|
||||||
|
$o .= ( ( ($ph[0]['uid'] == local_user()) && (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
|
||||||
|
|| strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) )
|
||||||
|
? ' - <img src="images/lock_icon.gif" class="lockview" alt="' . t('Private Message') . '" onclick="lockview(event,\'photo/' . $ph[0]['id'] . '\');" />'
|
||||||
|
: '');
|
||||||
|
|
||||||
|
$o .= '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<h1>Upload Profile Photo</h1>
|
<h1>Carica foto del profilo</h1>
|
||||||
|
|
||||||
<form enctype="multipart/form-data" action="profile_photo" method="post">
|
<form enctype="multipart/form-data" action="profile_photo" method="post">
|
||||||
|
|
||||||
|
@ -12,3 +12,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<div id="profile-photo-link-select-wrapper">
|
||||||
|
o <a href='photos/$user'>seleziona una foto da un album</a>
|
||||||
|
</div>
|
|
@ -270,7 +270,7 @@ $a->strings['Edit photo'] = 'Modifica foto';
|
||||||
$a->strings['View Full Size'] = 'Vedi dimensione intera';
|
$a->strings['View Full Size'] = 'Vedi dimensione intera';
|
||||||
$a->strings['Tags: '] = 'Tag: ';
|
$a->strings['Tags: '] = 'Tag: ';
|
||||||
$a->strings['[Remove any tag]'] = '[Rimuovi tutti i tag]';
|
$a->strings['[Remove any tag]'] = '[Rimuovi tutti i tag]';
|
||||||
$a->strings['New album name'] = 'Nome nuovo album';
|
$a->strings['New album name'] = 'Nuovo nome album';
|
||||||
$a->strings['Caption'] = 'Didascalia';
|
$a->strings['Caption'] = 'Didascalia';
|
||||||
$a->strings['Add a Tag'] = 'Aggiungi un tag';
|
$a->strings['Add a Tag'] = 'Aggiungi un tag';
|
||||||
$a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'] = 'Esempio: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping';
|
$a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'] = 'Esempio: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping';
|
||||||
|
|
Loading…
Reference in a new issue