sforkowany z mirror/friendica
				
			notification enhancements
							rodzic
							
								
									84d5f495e6
								
							
						
					
					
						commit
						bbebb4c2a0
					
				
							
								
								
									
										2
									
								
								boot.php
								
								
								
								
							
							
						
						
									
										2
									
								
								boot.php
								
								
								
								
							| 
						 | 
					@ -11,7 +11,7 @@ require_once('include/cache.php');
 | 
				
			||||||
define ( 'FRIENDICA_PLATFORM',     'Friendica');
 | 
					define ( 'FRIENDICA_PLATFORM',     'Friendica');
 | 
				
			||||||
define ( 'FRIENDICA_VERSION',      '2.3.1267' );
 | 
					define ( 'FRIENDICA_VERSION',      '2.3.1267' );
 | 
				
			||||||
define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    );
 | 
					define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    );
 | 
				
			||||||
define ( 'DB_UPDATE_VERSION',      1129      );
 | 
					define ( 'DB_UPDATE_VERSION',      1130      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define ( 'EOL',                    "<br />\r\n"     );
 | 
					define ( 'EOL',                    "<br />\r\n"     );
 | 
				
			||||||
define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
 | 
					define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -752,14 +752,18 @@ CREATE TABLE IF NOT EXISTS `notify` (
 | 
				
			||||||
`msg` MEDIUMTEXT NOT NULL ,
 | 
					`msg` MEDIUMTEXT NOT NULL ,
 | 
				
			||||||
`uid` INT NOT NULL ,
 | 
					`uid` INT NOT NULL ,
 | 
				
			||||||
`link` CHAR( 255 ) NOT NULL ,
 | 
					`link` CHAR( 255 ) NOT NULL ,
 | 
				
			||||||
 | 
					`parent` INT( 11 ) NOT NULL,
 | 
				
			||||||
`seen` TINYINT( 1 ) NOT NULL DEFAULT '0',
 | 
					`seen` TINYINT( 1 ) NOT NULL DEFAULT '0',
 | 
				
			||||||
`verb` CHAR( 255 ) NOT NULL,
 | 
					`verb` CHAR( 255 ) NOT NULL,
 | 
				
			||||||
`otype` CHAR( 16 ) NOT NULL,
 | 
					`otype` CHAR( 16 ) NOT NULL,
 | 
				
			||||||
INDEX ( `hash` ),
 | 
					INDEX ( `hash` ),
 | 
				
			||||||
INDEX ( `type` ),
 | 
					INDEX ( `type` ),
 | 
				
			||||||
INDEX ( `uid` ),
 | 
					INDEX ( `uid` ),
 | 
				
			||||||
 | 
					INDEX ( `link` ),
 | 
				
			||||||
 | 
					INDEX ( `parent` ),
 | 
				
			||||||
INDEX ( `seen` ),
 | 
					INDEX ( `seen` ),
 | 
				
			||||||
INDEX ( `date` )
 | 
					INDEX ( `date` ),
 | 
				
			||||||
 | 
					INDEX ( `otype` )
 | 
				
			||||||
) ENGINE = MyISAM DEFAULT CHARSET=utf8;
 | 
					) ENGINE = MyISAM DEFAULT CHARSET=utf8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CREATE TABLE IF NOT EXISTS `item_id` (
 | 
					CREATE TABLE IF NOT EXISTS `item_id` (
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,12 @@ function notification($params) {
 | 
				
			||||||
		$title = $body = '';
 | 
							$title = $body = '';
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if($params['otype'] === 'item')
 | 
				
			||||||
 | 
							$possess_desc = t('%s post');
 | 
				
			||||||
 | 
						if($params['otype'] == 'photo')
 | 
				
			||||||
 | 
							$possess_desc = t('%s photo');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if($params['type'] == NOTIFY_MAIL) {
 | 
						if($params['type'] == NOTIFY_MAIL) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		$subject = 	sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename);
 | 
							$subject = 	sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename);
 | 
				
			||||||
| 
						 | 
					@ -42,6 +48,25 @@ function notification($params) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		$parent_id = $params['parent'];
 | 
							$parent_id = $params['parent'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// if it's a post figure out who's post it is.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							$p = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if($params['otype'] === 'item' && $parent_id) {
 | 
				
			||||||
 | 
								$p = q("select * from item where id = %d and uid = %d limit 1",
 | 
				
			||||||
 | 
									intval($parent_id),
 | 
				
			||||||
 | 
									intval($params['uid'])
 | 
				
			||||||
 | 
								);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							$dest_str = sprintf($possess_desc,'a');
 | 
				
			||||||
 | 
							if($p)
 | 
				
			||||||
 | 
								$dest_str = sprintf($possess_desc,sprintf( t("%s's"),$p[0]['author-name']));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall'])
 | 
				
			||||||
 | 
								$dest_str = sprintf($possess_desc, t('your') );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Some mail softwares relies on subject field for threading.
 | 
							// Some mail softwares relies on subject field for threading.
 | 
				
			||||||
		// So, we cannot have different subjects for notifications of the same thread.
 | 
							// So, we cannot have different subjects for notifications of the same thread.
 | 
				
			||||||
		// Before this we have the name of the replier on the subject rendering 
 | 
							// Before this we have the name of the replier on the subject rendering 
 | 
				
			||||||
| 
						 | 
					@ -49,7 +74,7 @@ function notification($params) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		$subject = sprintf( t('[Friendica:Notify] Comment to conversation #%d by %s'), $parent_id, $params['source_name']);
 | 
							$subject = sprintf( t('[Friendica:Notify] Comment to conversation #%d by %s'), $parent_id, $params['source_name']);
 | 
				
			||||||
		$preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']); 
 | 
							$preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']); 
 | 
				
			||||||
		$epreamble = sprintf( t('%s commented in %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a watched conversation') . '[/url]'); 
 | 
							$epreamble = sprintf( t('%s commented on %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . $dest_str . '[/url]'); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		$sitelink = t('Please visit %s to view and/or reply to the conversation.');
 | 
							$sitelink = t('Please visit %s to view and/or reply to the conversation.');
 | 
				
			||||||
		$tsitelink = sprintf( $sitelink, $siteurl );
 | 
							$tsitelink = sprintf( $sitelink, $siteurl );
 | 
				
			||||||
| 
						 | 
					@ -149,6 +174,7 @@ function notification($params) {
 | 
				
			||||||
	$datarray['date']  = datetime_convert();
 | 
						$datarray['date']  = datetime_convert();
 | 
				
			||||||
	$datarray['uid']   = $params['uid'];
 | 
						$datarray['uid']   = $params['uid'];
 | 
				
			||||||
	$datarray['link']  = $itemlink;
 | 
						$datarray['link']  = $itemlink;
 | 
				
			||||||
 | 
						$datarray['parent'] = $parent_id;
 | 
				
			||||||
	$datarray['type']  = $params['type'];
 | 
						$datarray['type']  = $params['type'];
 | 
				
			||||||
	$datarray['verb']  = $params['verb'];
 | 
						$datarray['verb']  = $params['verb'];
 | 
				
			||||||
	$datarray['otype'] = $params['otype'];
 | 
						$datarray['otype'] = $params['otype'];
 | 
				
			||||||
| 
						 | 
					@ -157,8 +183,8 @@ function notification($params) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// create notification entry in DB
 | 
						// create notification entry in DB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	$r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype)
 | 
						$r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype)
 | 
				
			||||||
		values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')",
 | 
							values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')",
 | 
				
			||||||
		dbesc($datarray['hash']),
 | 
							dbesc($datarray['hash']),
 | 
				
			||||||
		dbesc($datarray['name']),
 | 
							dbesc($datarray['name']),
 | 
				
			||||||
		dbesc($datarray['url']),
 | 
							dbesc($datarray['url']),
 | 
				
			||||||
| 
						 | 
					@ -166,6 +192,7 @@ function notification($params) {
 | 
				
			||||||
		dbesc($datarray['date']),
 | 
							dbesc($datarray['date']),
 | 
				
			||||||
		intval($datarray['uid']),
 | 
							intval($datarray['uid']),
 | 
				
			||||||
		dbesc($datarray['link']),
 | 
							dbesc($datarray['link']),
 | 
				
			||||||
 | 
							intval($datarray['parent']),
 | 
				
			||||||
		intval($datarray['type']),
 | 
							intval($datarray['type']),
 | 
				
			||||||
		dbesc($datarray['verb']),
 | 
							dbesc($datarray['verb']),
 | 
				
			||||||
		dbesc($datarray['otype'])
 | 
							dbesc($datarray['otype'])
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,8 +11,10 @@ function notify_init(&$a) {
 | 
				
			||||||
			intval(local_user())
 | 
								intval(local_user())
 | 
				
			||||||
		);
 | 
							);
 | 
				
			||||||
		if(count($r)) {
 | 
							if(count($r)) {
 | 
				
			||||||
			q("update notify set seen = 1 where link = '%s' and uid = %d",
 | 
								q("update notify set seen = 1 where ( link = '%s' or ( parent != 0 and parent = %d and otype = '%s' )) and uid = %d",
 | 
				
			||||||
				dbesc($r[0]['link']),
 | 
									dbesc($r[0]['link']),
 | 
				
			||||||
 | 
									intval($r[0]['parent']),
 | 
				
			||||||
 | 
									dbesc($r[0]['otype']),
 | 
				
			||||||
				intval(local_user())
 | 
									intval(local_user())
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
			goaway($r[0]['link']);
 | 
								goaway($r[0]['link']);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
<?php
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define( 'UPDATE_VERSION' , 1129 );
 | 
					define( 'UPDATE_VERSION' , 1130 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -1114,3 +1114,6 @@ function update_1128() {
 | 
				
			||||||
	q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `term` ");
 | 
						q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `term` ");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_1129() {
 | 
				
			||||||
 | 
						q("ALTER TABLE `notify` ADD `parent` INT NOT NULL AFTER `link` , ADD INDEX ( `parent` ), ADD INDEX ( `link` ), ADD INDEX ( `otype` ) ");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue