[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 echo "Checking for rules that can be converted to 'personal'. "; 4 $table = new HeraldRule(); 5 $table->openTransaction(); 6 $table->beginReadLocking(); 7 8 $rules = $table->loadAll(); 9 10 foreach ($rules as $rule) { 11 if ($rule->getRuleType() !== HeraldRuleTypeConfig::RULE_TYPE_PERSONAL) { 12 $actions = $rule->loadActions(); 13 $can_be_personal = true; 14 foreach ($actions as $action) { 15 $target = $action->getTarget(); 16 if (is_array($target)) { 17 if (count($target) > 1) { 18 $can_be_personal = false; 19 break; 20 } else { 21 $targetPHID = head($target); 22 if ($targetPHID !== $rule->getAuthorPHID()) { 23 $can_be_personal = false; 24 break; 25 } 26 } 27 } else if ($target) { 28 if ($target !== $rule->getAuthorPHID()) { 29 $can_be_personal = false; 30 break; 31 } 32 } 33 } 34 35 if ($can_be_personal) { 36 $rule->setRuleType(HeraldRuleTypeConfig::RULE_TYPE_PERSONAL); 37 queryfx( 38 $rule->establishConnection('w'), 39 'UPDATE %T SET ruleType = %s WHERE id = %d', 40 $rule->getTableName(), 41 $rule->getRuleType(), 42 $rule->getID()); 43 44 echo "Setting rule '".$rule->getName()."' to personal. "; 45 } 46 } 47 } 48 49 $table->endReadLocking(); 50 $table->saveTransaction(); 51 echo "Done.\n";
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |