@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.

at recaptime-dev/main 75 lines 1.7 kB view raw
1<?php 2 3final class PhabricatorFilesOnDiskBuiltinFile 4 extends PhabricatorFilesBuiltinFile { 5 6 private $name; 7 8 public function setName($name) { 9 $this->name = $name; 10 return $this; 11 } 12 13 public function getName() { 14 if ($this->name === null) { 15 throw new PhutilInvalidStateException('setName'); 16 } 17 18 return $this->name; 19 } 20 21 public function getBuiltinDisplayName() { 22 return $this->getName(); 23 } 24 25 public function getBuiltinFileKey() { 26 $name = $this->getName(); 27 $desc = "disk(name={$name})"; 28 $hash = PhabricatorHash::digestToLength($desc, 40); 29 return "builtin:{$hash}"; 30 } 31 32 public function loadBuiltinFileData() { 33 $name = $this->getName(); 34 35 $available = $this->getAllBuiltinFiles(); 36 if (empty($available[$name])) { 37 throw new Exception(pht('Builtin "%s" does not exist!', $name)); 38 } 39 40 return Filesystem::readFile($available[$name]); 41 } 42 43 private function getAllBuiltinFiles() { 44 $root = dirname(phutil_get_library_root('phabricator')); 45 $root = $root.'/resources/builtin/'; 46 47 $map = array(); 48 $list = id(new FileFinder($root)) 49 ->withType('f') 50 ->withFollowSymlinks(true) 51 ->find(); 52 53 foreach ($list as $file) { 54 $map[$file] = $root.$file; 55 } 56 return $map; 57 } 58 59 public function getProjectBuiltinFiles() { 60 $root = dirname(phutil_get_library_root('phabricator')); 61 $root = $root.'/resources/builtin/projects/'; 62 63 $map = array(); 64 $list = id(new FileFinder($root)) 65 ->withType('f') 66 ->withFollowSymlinks(true) 67 ->find(); 68 69 foreach ($list as $file) { 70 $map[$file] = $root.$file; 71 } 72 return $map; 73 } 74 75}