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

Updated the CLI for smoother use

Summary: Ref T2903

Test Plan: Tested all CLI possibilities

Reviewers: epriestley, AnhNhan

Reviewed By: epriestley

CC: AnhNhan, aran, Korvin, jqh9804

Maniphest Tasks: T2903

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

authored by

deedydas and committed by
epriestley
9885165f 1b4dde80

+167 -98
+110 -83
src/__celerity_resource_map__.php
··· 858 858 ), 859 859 'aphront-tokenizer-control-css' => 860 860 array( 861 - 'uri' => '/res/207105f0/rsrc/css/aphront/tokenizer.css', 861 + 'uri' => '/res/6e14867e/rsrc/css/aphront/tokenizer.css', 862 862 'type' => 'css', 863 863 'requires' => 864 864 array( ··· 1273 1273 3 => 'phabricator-shaped-request', 1274 1274 ), 1275 1275 'disk' => '/rsrc/js/application/diffusion/behavior-audit-preview.js', 1276 + ), 1277 + 'javelin-behavior-balanced-payment-form' => 1278 + array( 1279 + 'uri' => '/res/6876492d/rsrc/js/application/phortune/behavior-balanced-payment-form.js', 1280 + 'type' => 'js', 1281 + 'requires' => 1282 + array( 1283 + 0 => 'javelin-behavior', 1284 + 1 => 'javelin-dom', 1285 + 2 => 'phortune-credit-card-form', 1286 + ), 1287 + 'disk' => '/rsrc/js/application/phortune/behavior-balanced-payment-form.js', 1276 1288 ), 1277 1289 'javelin-behavior-conpherence-drag-and-drop-photo' => 1278 1290 array( ··· 2259 2271 ), 2260 2272 'javelin-behavior-stripe-payment-form' => 2261 2273 array( 2262 - 'uri' => '/res/30bcbbb1/rsrc/js/application/phortune/behavior-stripe-payment-form.js', 2274 + 'uri' => '/res/c1a12d77/rsrc/js/application/phortune/behavior-stripe-payment-form.js', 2263 2275 'type' => 'js', 2264 2276 'requires' => 2265 2277 array( 2266 2278 0 => 'javelin-behavior', 2267 2279 1 => 'javelin-dom', 2268 - 2 => 'javelin-json', 2269 - 3 => 'javelin-workflow', 2270 - 4 => 'stripe-core', 2280 + 2 => 'phortune-credit-card-form', 2271 2281 ), 2272 2282 'disk' => '/rsrc/js/application/phortune/behavior-stripe-payment-form.js', 2273 2283 ), 2284 + 'javelin-behavior-test-payment-form' => 2285 + array( 2286 + 'uri' => '/res/a8fe8616/rsrc/js/application/phortune/behavior-test-payment-form.js', 2287 + 'type' => 'js', 2288 + 'requires' => 2289 + array( 2290 + 0 => 'javelin-behavior', 2291 + 1 => 'javelin-dom', 2292 + 2 => 'phortune-credit-card-form', 2293 + ), 2294 + 'disk' => '/rsrc/js/application/phortune/behavior-test-payment-form.js', 2295 + ), 2274 2296 'javelin-behavior-toggle-class' => 2275 2297 array( 2276 2298 'uri' => '/res/79921b7f/rsrc/js/core/behavior-toggle-class.js', ··· 2526 2548 ), 2527 2549 'javelin-tokenizer' => 2528 2550 array( 2529 - 'uri' => '/res/731a958c/rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js', 2551 + 'uri' => '/res/8bccdb9e/rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js', 2530 2552 'type' => 'js', 2531 2553 'requires' => 2532 2554 array( ··· 3590 3612 ), 3591 3613 'disk' => '/rsrc/css/application/pholio/pholio-inline-comments.css', 3592 3614 ), 3615 + 'phortune-credit-card-form' => 3616 + array( 3617 + 'uri' => '/res/bc948778/rsrc/js/application/phortune/phortune-credit-card-form.js', 3618 + 'type' => 'js', 3619 + 'requires' => 3620 + array( 3621 + 0 => 'javelin-install', 3622 + 1 => 'javelin-dom', 3623 + 2 => 'javelin-json', 3624 + 3 => 'javelin-workflow', 3625 + 4 => 'javelin-util', 3626 + ), 3627 + 'disk' => '/rsrc/js/application/phortune/phortune-credit-card-form.js', 3628 + ), 3629 + 'phortune-credit-card-form-css' => 3630 + array( 3631 + 'uri' => '/res/563c8c6d/rsrc/css/application/phortune/phortune-credit-card-form.css', 3632 + 'type' => 'css', 3633 + 'requires' => 3634 + array( 3635 + ), 3636 + 'disk' => '/rsrc/css/application/phortune/phortune-credit-card-form.css', 3637 + ), 3593 3638 'phrequent-css' => 3594 3639 array( 3595 3640 'uri' => '/res/9d6f3eb7/rsrc/css/application/phrequent/phrequent.css', ··· 3923 3968 ), 3924 3969 'disk' => '/rsrc/css/sprite-tokens.css', 3925 3970 ), 3926 - 'stripe-core' => 3927 - array( 3928 - 'uri' => '/res/fc74303d/rsrc/externals/stripe-js/stripe_core.js', 3929 - 'type' => 'js', 3930 - 'requires' => 3931 - array( 3932 - ), 3933 - 'disk' => '/rsrc/externals/stripe-js/stripe_core.js', 3934 - ), 3935 - 'stripe-payment-form-css' => 3936 - array( 3937 - 'uri' => '/res/634a6371/rsrc/css/application/phortune/stripe-payment-form.css', 3938 - 'type' => 'css', 3939 - 'requires' => 3940 - array( 3941 - ), 3942 - 'disk' => '/rsrc/css/application/phortune/stripe-payment-form.css', 3943 - ), 3944 3971 'syntax-highlighting-css' => 3945 3972 array( 3946 3973 'uri' => '/res/cb3b9dc0/rsrc/css/core/syntax.css', ··· 3962 3989 ), array( 3963 3990 'packages' => 3964 3991 array( 3965 - '1c659f60' => 3992 + 55644450 => 3966 3993 array( 3967 3994 'name' => 'core.pkg.css', 3968 3995 'symbols' => ··· 4004 4031 34 => 'phabricator-object-item-list-view-css', 4005 4032 35 => 'global-drag-and-drop-css', 4006 4033 ), 4007 - 'uri' => '/res/pkg/1c659f60/core.pkg.css', 4034 + 'uri' => '/res/pkg/55644450/core.pkg.css', 4008 4035 'type' => 'css', 4009 4036 ), 4010 4037 '26980a1c' => ··· 4136 4163 'uri' => '/res/pkg/f96657b8/diffusion.pkg.js', 4137 4164 'type' => 'js', 4138 4165 ), 4139 - '41f3916d' => 4166 + 'c9168ae3' => 4140 4167 array( 4141 4168 'name' => 'javelin.pkg.js', 4142 4169 'symbols' => ··· 4161 4188 17 => 'javelin-typeahead-ondemand-source', 4162 4189 18 => 'javelin-tokenizer', 4163 4190 ), 4164 - 'uri' => '/res/pkg/41f3916d/javelin.pkg.js', 4191 + 'uri' => '/res/pkg/c9168ae3/javelin.pkg.js', 4165 4192 'type' => 'js', 4166 4193 ), 4167 4194 '6b1fccc6' => ··· 4195 4222 'reverse' => 4196 4223 array( 4197 4224 'aphront-attached-file-view-css' => '6b1fccc6', 4198 - 'aphront-dialog-view-css' => '1c659f60', 4199 - 'aphront-error-view-css' => '1c659f60', 4200 - 'aphront-form-view-css' => '1c659f60', 4201 - 'aphront-list-filter-view-css' => '1c659f60', 4202 - 'aphront-pager-view-css' => '1c659f60', 4203 - 'aphront-panel-view-css' => '1c659f60', 4204 - 'aphront-table-view-css' => '1c659f60', 4205 - 'aphront-tokenizer-control-css' => '1c659f60', 4206 - 'aphront-tooltip-css' => '1c659f60', 4207 - 'aphront-typeahead-control-css' => '1c659f60', 4225 + 'aphront-dialog-view-css' => '55644450', 4226 + 'aphront-error-view-css' => '55644450', 4227 + 'aphront-form-view-css' => '55644450', 4228 + 'aphront-list-filter-view-css' => '55644450', 4229 + 'aphront-pager-view-css' => '55644450', 4230 + 'aphront-panel-view-css' => '55644450', 4231 + 'aphront-table-view-css' => '55644450', 4232 + 'aphront-tokenizer-control-css' => '55644450', 4233 + 'aphront-tooltip-css' => '55644450', 4234 + 'aphront-typeahead-control-css' => '55644450', 4208 4235 'differential-changeset-view-css' => '8aaacd1b', 4209 4236 'differential-core-view-css' => '8aaacd1b', 4210 4237 'differential-inline-comment-editor' => '27c55b30', ··· 4218 4245 'differential-table-of-contents-css' => '8aaacd1b', 4219 4246 'diffusion-commit-view-css' => 'c8ce2d88', 4220 4247 'diffusion-icons-css' => 'c8ce2d88', 4221 - 'global-drag-and-drop-css' => '1c659f60', 4248 + 'global-drag-and-drop-css' => '55644450', 4222 4249 'inline-comment-summary-css' => '8aaacd1b', 4223 4250 'javelin-aphlict' => '26980a1c', 4224 - 'javelin-behavior' => '41f3916d', 4251 + 'javelin-behavior' => 'c9168ae3', 4225 4252 'javelin-behavior-aphlict-dropdown' => '26980a1c', 4226 4253 'javelin-behavior-aphlict-listen' => '26980a1c', 4227 4254 'javelin-behavior-aphront-basic-tokenizer' => '26980a1c', ··· 4272 4299 'javelin-behavior-repository-crossreference' => '27c55b30', 4273 4300 'javelin-behavior-toggle-class' => '26980a1c', 4274 4301 'javelin-behavior-workflow' => '26980a1c', 4275 - 'javelin-dom' => '41f3916d', 4276 - 'javelin-event' => '41f3916d', 4277 - 'javelin-install' => '41f3916d', 4278 - 'javelin-json' => '41f3916d', 4279 - 'javelin-mask' => '41f3916d', 4280 - 'javelin-request' => '41f3916d', 4281 - 'javelin-resource' => '41f3916d', 4282 - 'javelin-stratcom' => '41f3916d', 4283 - 'javelin-tokenizer' => '41f3916d', 4284 - 'javelin-typeahead' => '41f3916d', 4285 - 'javelin-typeahead-normalizer' => '41f3916d', 4286 - 'javelin-typeahead-ondemand-source' => '41f3916d', 4287 - 'javelin-typeahead-preloaded-source' => '41f3916d', 4288 - 'javelin-typeahead-source' => '41f3916d', 4289 - 'javelin-uri' => '41f3916d', 4290 - 'javelin-util' => '41f3916d', 4291 - 'javelin-vector' => '41f3916d', 4292 - 'javelin-workflow' => '41f3916d', 4293 - 'lightbox-attachment-css' => '1c659f60', 4302 + 'javelin-dom' => 'c9168ae3', 4303 + 'javelin-event' => 'c9168ae3', 4304 + 'javelin-install' => 'c9168ae3', 4305 + 'javelin-json' => 'c9168ae3', 4306 + 'javelin-mask' => 'c9168ae3', 4307 + 'javelin-request' => 'c9168ae3', 4308 + 'javelin-resource' => 'c9168ae3', 4309 + 'javelin-stratcom' => 'c9168ae3', 4310 + 'javelin-tokenizer' => 'c9168ae3', 4311 + 'javelin-typeahead' => 'c9168ae3', 4312 + 'javelin-typeahead-normalizer' => 'c9168ae3', 4313 + 'javelin-typeahead-ondemand-source' => 'c9168ae3', 4314 + 'javelin-typeahead-preloaded-source' => 'c9168ae3', 4315 + 'javelin-typeahead-source' => 'c9168ae3', 4316 + 'javelin-uri' => 'c9168ae3', 4317 + 'javelin-util' => 'c9168ae3', 4318 + 'javelin-vector' => 'c9168ae3', 4319 + 'javelin-workflow' => 'c9168ae3', 4320 + 'lightbox-attachment-css' => '55644450', 4294 4321 'maniphest-task-summary-css' => '6b1fccc6', 4295 4322 'maniphest-transaction-detail-css' => '6b1fccc6', 4296 4323 'phabricator-busy' => '26980a1c', 4297 4324 'phabricator-content-source-view-css' => '8aaacd1b', 4298 - 'phabricator-core-buttons-css' => '1c659f60', 4299 - 'phabricator-core-css' => '1c659f60', 4300 - 'phabricator-crumbs-view-css' => '1c659f60', 4301 - 'phabricator-directory-css' => '1c659f60', 4325 + 'phabricator-core-buttons-css' => '55644450', 4326 + 'phabricator-core-css' => '55644450', 4327 + 'phabricator-crumbs-view-css' => '55644450', 4328 + 'phabricator-directory-css' => '55644450', 4302 4329 'phabricator-drag-and-drop-file-upload' => '27c55b30', 4303 4330 'phabricator-dropdown-menu' => '26980a1c', 4304 4331 'phabricator-file-upload' => '26980a1c', 4305 - 'phabricator-filetree-view-css' => '1c659f60', 4306 - 'phabricator-flag-css' => '1c659f60', 4307 - 'phabricator-form-view-css' => '1c659f60', 4308 - 'phabricator-header-view-css' => '1c659f60', 4309 - 'phabricator-jump-nav' => '1c659f60', 4332 + 'phabricator-filetree-view-css' => '55644450', 4333 + 'phabricator-flag-css' => '55644450', 4334 + 'phabricator-form-view-css' => '55644450', 4335 + 'phabricator-header-view-css' => '55644450', 4336 + 'phabricator-jump-nav' => '55644450', 4310 4337 'phabricator-keyboard-shortcut' => '26980a1c', 4311 4338 'phabricator-keyboard-shortcut-manager' => '26980a1c', 4312 - 'phabricator-main-menu-view' => '1c659f60', 4339 + 'phabricator-main-menu-view' => '55644450', 4313 4340 'phabricator-menu-item' => '26980a1c', 4314 - 'phabricator-nav-view-css' => '1c659f60', 4341 + 'phabricator-nav-view-css' => '55644450', 4315 4342 'phabricator-notification' => '26980a1c', 4316 - 'phabricator-notification-css' => '1c659f60', 4317 - 'phabricator-notification-menu-css' => '1c659f60', 4318 - 'phabricator-object-item-list-view-css' => '1c659f60', 4343 + 'phabricator-notification-css' => '55644450', 4344 + 'phabricator-notification-menu-css' => '55644450', 4345 + 'phabricator-object-item-list-view-css' => '55644450', 4319 4346 'phabricator-object-selector-css' => '8aaacd1b', 4320 4347 'phabricator-phtize' => '26980a1c', 4321 4348 'phabricator-prefab' => '26980a1c', 4322 4349 'phabricator-project-tag-css' => '6b1fccc6', 4323 - 'phabricator-remarkup-css' => '1c659f60', 4350 + 'phabricator-remarkup-css' => '55644450', 4324 4351 'phabricator-shaped-request' => '27c55b30', 4325 - 'phabricator-side-menu-view-css' => '1c659f60', 4326 - 'phabricator-standard-page-view' => '1c659f60', 4352 + 'phabricator-side-menu-view-css' => '55644450', 4353 + 'phabricator-standard-page-view' => '55644450', 4327 4354 'phabricator-textareautils' => '26980a1c', 4328 4355 'phabricator-tooltip' => '26980a1c', 4329 - 'phabricator-transaction-view-css' => '1c659f60', 4330 - 'phabricator-zindex-css' => '1c659f60', 4331 - 'sprite-apps-large-css' => '1c659f60', 4332 - 'sprite-gradient-css' => '1c659f60', 4333 - 'sprite-icon-css' => '1c659f60', 4334 - 'sprite-menu-css' => '1c659f60', 4335 - 'syntax-highlighting-css' => '1c659f60', 4356 + 'phabricator-transaction-view-css' => '55644450', 4357 + 'phabricator-zindex-css' => '55644450', 4358 + 'sprite-apps-large-css' => '55644450', 4359 + 'sprite-gradient-css' => '55644450', 4360 + 'sprite-icon-css' => '55644450', 4361 + 'sprite-menu-css' => '55644450', 4362 + 'syntax-highlighting-css' => '55644450', 4336 4363 ), 4337 4364 ));
-1
src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php
··· 19 19 20 20 public function execute(PhutilArgumentParser $args) { 21 21 $console = PhutilConsole::getConsole(); 22 - 23 22 $argv = $args->getArg('args'); 24 23 if (count($argv) == 0) { 25 24 throw new PhutilArgumentUsageException(
+57 -14
src/applications/lipsum/management/PhabricatorLipsumGenerateWorkflow.php
··· 6 6 protected function didConstruct() { 7 7 $this 8 8 ->setName('generate') 9 - ->setExamples('**generate**') 9 + ->setExamples('**generate** __key__') 10 10 ->setSynopsis('Generate some lipsum.') 11 11 ->setArguments( 12 12 array( ··· 18 18 } 19 19 20 20 public function execute(PhutilArgumentParser $args) { 21 - $type = "Paste"; 22 - $classname = "Phabricator".$type."TestDataGenerator"; 23 - $admin = PhabricatorUser::getOmnipotentUser(); 24 - try { 25 - $taskgen = newv($classname, array()); 26 - $object = $taskgen->generate(); 21 + $supported_types = id(new PhutilSymbolLoader()) 22 + ->setAncestorClass('PhabricatorTestDataGenerator') 23 + ->loadObjects(); 24 + echo "These are the types of data you can generate:\n"; 25 + foreach (array_keys($supported_types) as $typetmp) { 26 + echo "\t".$typetmp."\n"; 27 + } 28 + echo "\n"; 29 + $prompt = "Are you sure you want to generate lots of test data?"; 30 + if (!phutil_console_confirm($prompt, $default_no = true)) { 31 + return; 32 + } 33 + $argv = $args->getArg('args'); 34 + if (count($argv) == 0 || 35 + (count($argv) == 1 && $argv[0] == "all")) { 36 + $this->infinitelyGenerate($supported_types); 37 + } else { 38 + $new_supported_types = array(); 39 + for ($i = 0; $i < count($argv);$i++) { 40 + $arg = $argv[$i]; 41 + if (array_key_exists($arg, $supported_types)) { 42 + $new_supported_types[$arg] = $supported_types[$arg]; 43 + } else { 44 + echo "The type ".$arg." is not supported by the lipsum generator.\n"; 45 + } 46 + } 47 + $this->infinitelyGenerate($new_supported_types); 48 + } 49 + echo "None of the input types were supported.\n"; 50 + echo "The supported types are:\n"; 51 + echo implode("\n", array_keys($supported_types)); 52 + } 27 53 28 - $handle = PhabricatorObjectHandleData::loadOneHandle($object->getPHID(), 29 - $admin); 30 - echo "Generated ".$handle->getFullName()."\n"; 31 - echo "\nRequested data has been generated."; 32 - } catch (PhutilMissingSymbolException $ex) { 54 + protected function infinitelyGenerate(array $supported_types) { 55 + if (count($supported_types) == 0) { 56 + echo "None of the input types were supported.\n"; 57 + return; 58 + } 59 + echo "GENERATING: "; 60 + echo strtoupper(implode(" , ", array_keys($supported_types))); 61 + echo "\n"; 62 + while (true) { 63 + $type = $supported_types[array_rand($supported_types)]; 64 + $admin = PhabricatorUser::getOmnipotentUser(); 65 + try { 66 + $taskgen = newv($type, array()); 67 + $object = $taskgen->generate(); 68 + $handle = PhabricatorObjectHandleData::loadOneHandle($object->getPHID(), 69 + $admin); 70 + echo "Generated ".$handle->getTypeName().": ". 71 + $handle->getFullName()."\n"; 72 + } catch (PhutilMissingSymbolException $ex) { 73 + throw new PhutilArgumentUsageException( 74 + "Cannot generate content of type ".$type. 75 + " because the class does not exist."); 76 + } 77 + usleep(200000); 33 78 } 34 - 35 - 36 79 } 37 80 38 81 }