forked from GNUsocial/gnu-social
		
	add autosubscribe
darcs-hash:20080720201620-84dde-f782e01bdf7f267b3b02e20e851aa7b643ed8590.gz
This commit is contained in:
		| @@ -49,19 +49,21 @@ class SubscribeAction extends Action { | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		$sub = new Subscription(); | ||||
| 		$sub->subscriber = $user->id; | ||||
| 		$sub->subscribed = $other->id; | ||||
|  | ||||
| 		$sub->created = DB_DataObject_Cast::dateTime(); # current time | ||||
|  | ||||
| 		if (!$sub->insert()) { | ||||
| 			common_server_error(_('Couldn\'t create subscription.')); | ||||
| 		if (!$user->subscribeTo($other)) { | ||||
| 			$this->server_error(_('Could not subscribe.')); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		$this->notify($other, $user); | ||||
|  | ||||
| 		if ($other->autosubscribe && !$other->isSubscribed($user)) { | ||||
| 			if (!$other->subscribeTo($user)) { | ||||
| 				$this->server_error(_('Could not subscribe other to you.')); | ||||
| 				return; | ||||
| 			} | ||||
| 			$this->notify($user, $other); | ||||
| 		} | ||||
| 		 | ||||
| 		common_redirect(common_local_url('subscriptions', array('nickname' => | ||||
| 																$user->nickname))); | ||||
| 	} | ||||
|   | ||||
| @@ -112,4 +112,18 @@ class User extends DB_DataObject | ||||
| 	function getCarrier() { | ||||
| 		return Sms_carrier::staticGet($this->carrier); | ||||
| 	} | ||||
| 	 | ||||
| 	function subscribeTo($other) { | ||||
| 		$sub = new Subscription(); | ||||
| 		$sub->subscriber = $this->id; | ||||
| 		$sub->subscribed = $other->id; | ||||
|  | ||||
| 		$sub->created = DB_DataObject_Cast::dateTime(); # current time | ||||
|  | ||||
| 		if (!$sub->insert()) { | ||||
| 			return false; | ||||
| 		} | ||||
| 		 | ||||
| 		return $true; | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user