SproutCMS

This is the code documentation for the SproutCMS project

source of /sprout/Helpers/TreenodeFrontendMatcher.php

  1. <?php
  2. /*
  3.  * Copyright (C) 2017 Karmabunny Pty Ltd.
  4.  *
  5.  * This file is a part of SproutCMS.
  6.  *
  7.  * SproutCMS is free software: you can redistribute it and/or modify it under the terms
  8.  * of the GNU General Public License as published by the Free Software Foundation, either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * For more information, visit <http://getsproutcms.com>.
  12.  */
  13.  
  14. namespace Sprout\Helpers;
  15.  
  16. /**
  17. * @package Tree
  18. **/
  19.  
  20. /**
  21. * Matches a node which has a specific key matching a specific value
  22. **/
  23. class TreenodeFrontendMatcher implements TreenodeMatcher
  24. {
  25. private $controller = null;
  26. private $method = null;
  27.  
  28. /**
  29.   * Constructor
  30.   **/
  31. public function __construct($controller, $method)
  32. {
  33. $this->controller = $controller;
  34. $this->method = $method;
  35. }
  36.  
  37. /**
  38.   * Does the match
  39.   *
  40.   * @param TreeNode $node The treenode to do matching against
  41.   * @return True if the node matches, false otherwise
  42.   **/
  43. public function match($node)
  44. {
  45. if ($node['controller_entrance'] != $this->controller) return false;
  46. if ($node['controller_argument'] != $this->method) return false;
  47. return true;
  48. }
  49.  
  50. /**
  51.   * Returns true if the children of the specified node should be searched, false otherwise.
  52.   *
  53.   * @param TreeNode $node The treenode which is about to be descended into
  54.   * @return True descending should proceed, false otherwise
  55.   **/
  56. public function descend($node)
  57. {
  58. return true;
  59. }
  60.  
  61. /**
  62.   * Called after children have been processed
  63.   *
  64.   * @param TreeNode $node The treenode which has just ascended.
  65.   **/
  66. public function ascend ($node) {}
  67. }
  68.  
  69.  
  70.