Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / src / Plugin / DMU / Converter / Functions / UserAccess.php
1 <?php
2
3 namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Converter\Functions;
4
5 use Drupal\drupalmoduleupgrader\TargetInterface;
6 use Pharborist\Functions\FunctionCallNode;
7 use Pharborist\Objects\ClassMethodCallNode;
8 use Pharborist\Objects\ObjectMethodCallNode;
9 use Pharborist\Variables\VariableNode;
10
11 /**
12  * @Converter(
13  *  id = "user_access",
14  *  description = @Translation("Rewrites calls to user_access().")
15  * )
16  */
17 class UserAccess extends FunctionCallModifier {
18
19   /**
20    * {@inheritdoc}
21    */
22   public function rewrite(FunctionCallNode $call, TargetInterface $target) {
23     $arguments = $call->getArguments();
24
25     if (isset($arguments[1]) && $arguments[1] instanceof VariableNode) {
26       $rewritten = ObjectMethodCallNode::create(clone $arguments[1], 'hasPermission');
27     }
28     else {
29       $rewritten = ClassMethodCallNode::create('\Drupal', 'currentUser')->appendMethodCall('hasPermission');
30     }
31
32     return $rewritten->appendArgument(clone $arguments[0]);
33   }
34
35 }