当前位置: 首页>>代码示例>>PHP>>正文


PHP PhabricatorApplicationTransactionEditor::applyFinalEffects方法代码示例

本文整理汇总了PHP中PhabricatorApplicationTransactionEditor::applyFinalEffects方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorApplicationTransactionEditor::applyFinalEffects方法的具体用法?PHP PhabricatorApplicationTransactionEditor::applyFinalEffects怎么用?PHP PhabricatorApplicationTransactionEditor::applyFinalEffects使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PhabricatorApplicationTransactionEditor的用法示例。


在下文中一共展示了PhabricatorApplicationTransactionEditor::applyFinalEffects方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: applyFinalEffects

 protected function applyFinalEffects(PhabricatorLiskDAO $object, array $xactions)
 {
     $materialize = false;
     $new_parent = null;
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case PhabricatorTransactions::TYPE_EDGE:
                 switch ($xaction->getMetadataValue('edge:type')) {
                     case PhabricatorProjectProjectHasMemberEdgeType::EDGECONST:
                         $materialize = true;
                         break;
                 }
                 break;
             case PhabricatorProjectTransaction::TYPE_PARENT:
                 $materialize = true;
                 $new_parent = $object->getParentProject();
                 break;
         }
     }
     if ($new_parent) {
         // If we just created the first subproject of this parent, we want to
         // copy all of the real members to the subproject.
         if (!$new_parent->getHasSubprojects()) {
             $member_type = PhabricatorProjectProjectHasMemberEdgeType::EDGECONST;
             $project_members = PhabricatorEdgeQuery::loadDestinationPHIDs($new_parent->getPHID(), $member_type);
             if ($project_members) {
                 $editor = id(new PhabricatorEdgeEditor());
                 foreach ($project_members as $phid) {
                     $editor->addEdge($object->getPHID(), $member_type, $phid);
                 }
                 $editor->save();
             }
         }
     }
     if ($this->getIsNewObject()) {
         $this->setDefaultProfilePicture($object);
     }
     // TODO: We should dump an informational transaction onto the parent
     // project to show that we created the sub-thing.
     if ($materialize) {
         id(new PhabricatorProjectsMembershipIndexEngineExtension())->rematerialize($object);
     }
     return parent::applyFinalEffects($object, $xactions);
 }
开发者ID:jvlstudio,项目名称:phabricator,代码行数:44,代码来源:PhabricatorProjectTransactionEditor.php

示例2: applyFinalEffects

 protected function applyFinalEffects(PhabricatorLiskDAO $object, array $xactions)
 {
     $materialize = false;
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case PhabricatorTransactions::TYPE_EDGE:
                 switch ($xaction->getMetadataValue('edge:type')) {
                     case PhabricatorProjectProjectHasMemberEdgeType::EDGECONST:
                         $materialize = true;
                         break;
                 }
                 break;
             case PhabricatorProjectTransaction::TYPE_PARENT:
                 $materialize = true;
                 break;
         }
     }
     if ($materialize) {
         id(new PhabricatorProjectsMembershipIndexEngineExtension())->rematerialize($object);
     }
     return parent::applyFinalEffects($object, $xactions);
 }
开发者ID:phpengineer,项目名称:phabricator,代码行数:22,代码来源:PhabricatorProjectTransactionEditor.php


注:本文中的PhabricatorApplicationTransactionEditor::applyFinalEffects方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。