@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add Subscribers to Phame Posts and Blogs

Summary: Makes it possible to subscribe to blogs and posts

Test Plan: Verify I can subscribe to blogs and posts.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D13672

+37
+2
src/__phutil_library_map__.php
··· 6965 6965 'PhameDAO', 6966 6966 'PhabricatorPolicyInterface', 6967 6967 'PhabricatorMarkupInterface', 6968 + 'PhabricatorSubscribableInterface', 6968 6969 'PhabricatorApplicationTransactionInterface', 6969 6970 ), 6970 6971 'PhameBlogDeleteController' => 'PhameController', ··· 6989 6990 'PhabricatorPolicyInterface', 6990 6991 'PhabricatorMarkupInterface', 6991 6992 'PhabricatorApplicationTransactionInterface', 6993 + 'PhabricatorSubscribableInterface', 6992 6994 'PhabricatorTokenReceiverInterface', 6993 6995 ), 6994 6996 'PhamePostDeleteController' => 'PhameController',
+18
src/applications/phame/storage/PhameBlog.php
··· 4 4 implements 5 5 PhabricatorPolicyInterface, 6 6 PhabricatorMarkupInterface, 7 + PhabricatorSubscribableInterface, 7 8 PhabricatorApplicationTransactionInterface { 8 9 9 10 const MARKUP_FIELD_DESCRIPTION = 'markup:description'; ··· 326 327 AphrontRequest $request) { 327 328 return $timeline; 328 329 } 330 + 331 + 332 + /* -( PhabricatorSubscribableInterface Implementation )-------------------- */ 333 + 334 + 335 + public function isAutomaticallySubscribed($phid) { 336 + return ($this->creatorPHID == $phid); 337 + } 338 + 339 + public function shouldShowSubscribersProperty() { 340 + return true; 341 + } 342 + 343 + public function shouldAllowSubscription($phid) { 344 + return true; 345 + } 346 + 329 347 330 348 }
+17
src/applications/phame/storage/PhamePost.php
··· 5 5 PhabricatorPolicyInterface, 6 6 PhabricatorMarkupInterface, 7 7 PhabricatorApplicationTransactionInterface, 8 + PhabricatorSubscribableInterface, 8 9 PhabricatorTokenReceiverInterface { 9 10 10 11 const MARKUP_FIELD_BODY = 'markup:body'; ··· 285 286 return array( 286 287 $this->getBloggerPHID(), 287 288 ); 289 + } 290 + 291 + 292 + /* -( PhabricatorSubscribableInterface Implementation )-------------------- */ 293 + 294 + 295 + public function isAutomaticallySubscribed($phid) { 296 + return ($this->bloggerPHID == $phid); 297 + } 298 + 299 + public function shouldShowSubscribersProperty() { 300 + return true; 301 + } 302 + 303 + public function shouldAllowSubscription($phid) { 304 + return true; 288 305 } 289 306 290 307 }