forked from GNUsocial/gnu-social
		
	Merge branch 'takeshitakenji/gnu-social-twitter-repeat-config' into mmn_fixes
This commit is contained in:
		| @@ -89,7 +89,7 @@ class Foreign_link extends Managed_DataObject | ||||
|         return $flink; | ||||
|     } | ||||
|  | ||||
|     function set_flags($noticesend, $noticerecv, $replysync, $friendsync) | ||||
|     function set_flags($noticesend, $noticerecv, $replysync, $repeatsync, $friendsync) | ||||
|     { | ||||
|         if ($noticesend) { | ||||
|             $this->noticesync |= FOREIGN_NOTICE_SEND; | ||||
| @@ -109,6 +109,12 @@ class Foreign_link extends Managed_DataObject | ||||
|             $this->noticesync &= ~FOREIGN_NOTICE_SEND_REPLY; | ||||
|         } | ||||
|  | ||||
|         if ($repeatsync) { | ||||
|             $this->noticesync |= FOREIGN_NOTICE_SEND_REPEAT; | ||||
|         } else { | ||||
|             $this->noticesync &= ~FOREIGN_NOTICE_SEND_REPEAT; | ||||
|         } | ||||
|  | ||||
|         if ($friendsync) { | ||||
|             $this->friendsync |= FOREIGN_FRIEND_RECV; | ||||
|         } else { | ||||
|   | ||||
| @@ -46,6 +46,7 @@ define('PROFILES_PER_MINILIST', 8); | ||||
| define('FOREIGN_NOTICE_SEND', 1); | ||||
| define('FOREIGN_NOTICE_RECV', 2); | ||||
| define('FOREIGN_NOTICE_SEND_REPLY', 4); | ||||
| define('FOREIGN_NOTICE_SEND_REPEAT', 8); | ||||
|  | ||||
| define('FOREIGN_FRIEND_SEND', 1); | ||||
| define('FOREIGN_FRIEND_RECV', 2); | ||||
|   | ||||
| @@ -237,7 +237,7 @@ class TwitterauthorizationAction extends FormAction | ||||
|  | ||||
|         // Defaults: noticesync on, everything else off | ||||
|  | ||||
|         $flink->set_flags(true, false, false, false); | ||||
|         $flink->set_flags(true, false, false, false, false); | ||||
|  | ||||
|         $flink_id = $flink->insert(); | ||||
|  | ||||
|   | ||||
| @@ -161,6 +161,12 @@ class TwittersettingsAction extends ProfileSettingsAction | ||||
|                             $this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY); | ||||
|             $this->elementEnd('li'); | ||||
|             $this->elementStart('li'); | ||||
|             $this->checkbox('repeatsync', | ||||
|                             // TRANS: Checkbox label. | ||||
|                             _m('Send local repeats to Twitter.'), | ||||
|                             $this->flink->noticesync & FOREIGN_NOTICE_SEND_REPEAT); | ||||
|             $this->elementEnd('li'); | ||||
|             $this->elementStart('li'); | ||||
|             $this->checkbox('friendsync', | ||||
|                             // TRANS: Checkbox label. | ||||
|                             _m('Subscribe to my Twitter friends here.'), | ||||
| @@ -265,6 +271,7 @@ class TwittersettingsAction extends ProfileSettingsAction | ||||
|         $noticerecv = $this->boolean('noticerecv'); | ||||
|         $friendsync = $this->boolean('friendsync'); | ||||
|         $replysync  = $this->boolean('replysync'); | ||||
|         $repeatsync  = $this->boolean('repeatsync'); | ||||
|  | ||||
|         if (!$this->flink instanceof Foreign_link) { | ||||
|             common_log_db_error($this->flink, 'SELECT', __FILE__); | ||||
| @@ -274,7 +281,7 @@ class TwittersettingsAction extends ProfileSettingsAction | ||||
|  | ||||
|         $original = clone($this->flink); | ||||
|         $wasReceiving = (bool)($original->noticesync & FOREIGN_NOTICE_RECV); | ||||
|         $this->flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync); | ||||
|         $this->flink->set_flags($noticesend, $noticerecv, $replysync, $repeatsync, $friendsync); | ||||
|         $result = $this->flink->update($original); | ||||
|  | ||||
|         if ($result === false) { | ||||
|   | ||||
| @@ -111,7 +111,14 @@ function is_twitter_bound($notice, $flink) { | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
|     $allowedVerbs = array(ActivityVerb::POST, ActivityVerb::SHARE); | ||||
|     $allowedVerbs = array(ActivityVerb::POST); | ||||
|  | ||||
|     // Default behavior: always send repeats | ||||
|     if (empty($flink)) | ||||
|         array_push($allowedVerbs, ActivityVerb::SHARE); | ||||
|     // Otherwise, check to see if repeats are allowed | ||||
|     else if (($flink->noticesync & FOREIGN_NOTICE_SEND_REPEAT) == FOREIGN_NOTICE_SEND_REPEAT) | ||||
|         array_push($allowedVerbs, ActivityVerb::SHARE); | ||||
|  | ||||
|     // Don't send things that aren't posts or repeats (at least for now) | ||||
|     if (!in_array($notice->verb, $allowedVerbs)) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user