Completed
Pull Request — master (#116)
by Richard
02:24
created
src/Hook/Formatter.php 1 patch
Braces   +6 added lines, -2 removed lines patch added patch discarded remove patch
@@ -14,14 +14,18 @@
 block discarded – undo
14 14
 	}
15 15
 
16 16
 	public function format($value, $rules) {
17
-		if (!isset($rules['format'])) return $value;
17
+		if (!isset($rules['format'])) {
18
+			return $value;
19
+		}
18 20
 
19 21
 		$tokenizer = new \Transphporm\Parser\Tokenizer($rules['format']);
20 22
 		$tokens = $tokenizer->getTokens();
21 23
 
22 24
 		$functionName = $tokens[0]['value'];
23 25
 		$options = [];
24
-		for ($i = 1; $i < count($tokens); $i++) $options[] = $tokens[$i]['value'];
26
+		for ($i = 1; $i < count($tokens); $i++) {
27
+			$options[] = $tokens[$i]['value'];
28
+		}
25 29
 
26 30
 		return $this->processFormat($options, $functionName, $value);		
27 31
 	}
Please login to merge, or discard this patch.
src/Parser/CssToXpath.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -20,12 +20,12 @@  discard block
 block discarded – undo
20 20
 		$this->functionSet = $functionSet;
21 21
 
22 22
 		$this->translators = [
23
-			' ' => function($string) use ($prefix) { return '//' . $prefix . $string;	},
24
-			'' => function($string) use ($prefix) { return '/' . $prefix . $string;	},
25
-			'>' => function($string) use ($prefix) { return '/' . $prefix  . $string; },
26
-			'#' => function($string) { return '[@id=\'' . $string . '\']'; },
27
-			'.' => function($string) { return '[contains(concat(\' \', normalize-space(@class), \' \'), \' ' . $string . ' \')]'; },
28
-			'[' => function($string) use ($hash) { return '[' .'php:function(\'\Transphporm\Parser\CssToXpath::processAttr\', \'' . $string . '\', ., "' . $hash . '")' . ']';	},
23
+			' ' => function($string) use ($prefix) { return '//'.$prefix.$string; },
24
+			'' => function($string) use ($prefix) { return '/'.$prefix.$string; },
25
+			'>' => function($string) use ($prefix) { return '/'.$prefix.$string; },
26
+			'#' => function($string) { return '[@id=\''.$string.'\']'; },
27
+			'.' => function($string) { return '[contains(concat(\' \', normalize-space(@class), \' \'), \' '.$string.' \')]'; },
28
+			'[' => function($string) use ($hash) { return '['.'php:function(\'\Transphporm\Parser\CssToXpath::processAttr\', \''.$string.'\', ., "'.$hash.'")'.']'; },
29 29
 			']' => function() {	return ''; }
30 30
 		];
31 31
 	}
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 	}
86 86
 
87 87
 	public function getXpath($css) {
88
-		$this->css = str_replace([' >', '> '],['>', '>'], trim($css));
88
+		$this->css = str_replace([' >', '> '], ['>', '>'], trim($css));
89 89
 		$css = explode(':', $this->css)[0];
90 90
 		$selectors = $this->split($css);
91 91
 		$xpath = '/';
Please login to merge, or discard this patch.
Braces   +10 added lines, -4 removed lines patch added patch discarded remove patch
@@ -63,8 +63,11 @@  discard block
 block discarded – undo
63 63
 	}
64 64
 
65 65
 	private static function compare($comparator, $a, $b) {
66
-		if ($comparator == '=') return $a == $b;
67
-		else if ($comparator == '!=') return $a != $b;
66
+		if ($comparator == '=') {
67
+			return $a == $b;
68
+		} else if ($comparator == '!=') {
69
+			return $a != $b;
70
+		}
68 71
 	}
69 72
 
70 73
 	//split the css into indivudal functions
@@ -78,8 +81,9 @@  discard block
 block discarded – undo
78 81
 				$selector = $this->createSelector();
79 82
 				$selector->type = $css[$i];
80 83
 				$selectors[] = $selector;
84
+			} else {
85
+				$selector->string .= $css[$i];
81 86
 			}
82
-			else $selector->string .= $css[$i];
83 87
 		}
84 88
 		return $selectors;
85 89
 	}
@@ -90,7 +94,9 @@  discard block
 block discarded – undo
90 94
 		$selectors = $this->split($css);
91 95
 		$xpath = '/';
92 96
 		foreach ($selectors as $selector) {
93
-			if (isset($this->translators[$selector->type])) $xpath .= $this->translators[$selector->type]($selector->string, $xpath);
97
+			if (isset($this->translators[$selector->type])) {
98
+				$xpath .= $this->translators[$selector->type]($selector->string, $xpath);
99
+			}
94 100
 		}
95 101
 
96 102
 		$xpath = str_replace('/[', '/*[', $xpath);
Please login to merge, or discard this patch.
src/Parser/Value.php 1 patch
Braces   +20 added lines, -17 removed lines patch added patch discarded remove patch
@@ -50,7 +50,9 @@  discard block
 block discarded – undo
50 50
 		$this->data = new ValueData($data);
51 51
 		$this->last = null;
52 52
 
53
-		if (empty($tokens)) return [$data];
53
+		if (empty($tokens)) {
54
+			return [$data];
55
+		}
54 56
 
55 57
 		foreach ($tokens as $token) {
56 58
 			$this->{$this->tokenFuncs[$token['type']]}($token);
@@ -65,8 +67,7 @@  discard block
 block discarded – undo
65 67
 
66 68
 		if ($this->result->getMode() == Tokenizer::NOT && $token['type'] == Tokenizer::EQUALS) {
67 69
 			$this->result->setMode(Tokenizer::NOT);
68
-		}
69
-		else {
70
+		} else {
70 71
 			$this->result->setMode($token['type']);
71 72
 			$this->last = null;
72 73
 		}
@@ -75,13 +76,15 @@  discard block
 block discarded – undo
75 76
 	//Reads the last selected value from $data regardless if it's an array or object and overrides $this->data with the new value
76 77
 	//Dot moves $data to the next object in $data foo.bar moves the $data pointer from `foo` to `bar`
77 78
 	private function processDot($token) {
78
-		if ($this->last !== null) $this->data->traverse($this->last);
79
-		else {
79
+		if ($this->last !== null) {
80
+			$this->data->traverse($this->last);
81
+		} else {
80 82
 			//When . is not preceeded by anything, treat it as part of the string instead of an operator
81 83
 			// foo.bar is treated as looking up `bar` in `foo` whereas .foo is treated as the string ".foo"
82 84
 			$lastResult = $this->result->pop();
83
-			if ($lastResult) $this->data = new ValueData($lastResult);
84
-			else {
85
+			if ($lastResult) {
86
+				$this->data = new ValueData($lastResult);
87
+			} else {
85 88
 				$this->processString(['value' => '.']);
86 89
 				$this->result->setMode(Tokenizer::CONCAT);
87 90
 			}
@@ -94,9 +97,10 @@  discard block
 block discarded – undo
94 97
 		$parser = new Value($this->baseData, $this->autoLookup);
95 98
 		if ($this->baseData instanceof \Transphporm\Functionset && $this->baseData->hasFunction($this->last)) {
96 99
 			$this->callTransphpormFunctions($token);
97
-		}
98
-		else {
99
-			if ($this->last !== null) $this->data->traverse($this->last);
100
+		} else {
101
+			if ($this->last !== null) {
102
+				$this->data->traverse($this->last);
103
+			}
100 104
 			$this->last = $parser->parseTokens($token['value'], null)[0];
101 105
 		}
102 106
 	}
@@ -118,8 +122,7 @@  discard block
 block discarded – undo
118 122
 	private function processBrackets($token) {
119 123
 		if ($this->baseData instanceof \Transphporm\Functionset && $this->baseData->hasFunction($this->last)) {
120 124
 			$this->callTransphpormFunctions($token);
121
-		}
122
-		else {
125
+		} else {
123 126
 			$this->processNested($token);
124 127
 		}
125 128
 	}
@@ -136,7 +139,9 @@  discard block
 block discarded – undo
136 139
 		foreach ($this->result->getResult() as $i => $value) {
137 140
 			if (is_scalar($value)) {
138 141
 				$val = $this->data->read($value);
139
-				if ($val) $this->result[$i] = $val;
142
+				if ($val) {
143
+					$this->result[$i] = $val;
144
+				}
140 145
 			}
141 146
 		}
142 147
 		$this->last = null;
@@ -148,12 +153,10 @@  discard block
 block discarded – undo
148 153
 			try {
149 154
 				$value = $this->data->extract($this->last, $this->autoLookup);
150 155
 				$this->result->processValue($value);
151
-			}
152
-			catch (\UnexpectedValueException $e) {
156
+			} catch (\UnexpectedValueException $e) {
153 157
 				if (!$this->autoLookup) {
154 158
 					$this->result->processValue($this->last);
155
-				}
156
-				else {
159
+				} else {
157 160
 					$this->result->clear();
158 161
 					$this->result[0] = false;
159 162
 				}
Please login to merge, or discard this patch.
src/Pseudo/Nth.php 1 patch
Braces   +8 added lines, -3 removed lines patch added patch discarded remove patch
@@ -9,7 +9,9 @@  discard block
 block discarded – undo
9 9
 class Nth implements \Transphporm\Pseudo {
10 10
 
11 11
 	public function match($name, $args, \DomElement $element) {
12
-		if ($name !== 'nth-child') return true;
12
+		if ($name !== 'nth-child') {
13
+			return true;
14
+		}
13 15
 
14 16
 		$criteria = $args[0];
15 17
 
@@ -18,8 +20,11 @@  discard block
 block discarded – undo
18 20
 		$pseudo = $tokenizer->getTokens();
19 21
 		$num = end($pseudo)['value'][0]['value'];
20 22
 
21
-		if (is_callable([$this, $criteria])) return $this->$criteria($num);
22
-		else return $num == $criteria;
23
+		if (is_callable([$this, $criteria])) {
24
+			return $this->$criteria($num);
25
+		} else {
26
+			return $num == $criteria;
27
+		}
23 28
 	}
24 29
 
25 30
 	private function odd($num) {
Please login to merge, or discard this patch.
src/Pseudo/Not.php 1 patch
Braces   +6 added lines, -2 removed lines patch added patch discarded remove patch
@@ -16,7 +16,9 @@  discard block
 block discarded – undo
16 16
 	}
17 17
 
18 18
 	public function match($name, $args, \DomElement $element) {
19
-		if ($name !== 'not') return true;
19
+		if ($name !== 'not') {
20
+			return true;
21
+		}
20 22
 		
21 23
 		$xpath = new \DomXpath($element->ownerDocument);
22 24
 		return $this->notElement($args, $xpath, $element);
@@ -29,7 +31,9 @@  discard block
 block discarded – undo
29 31
 			//Find all nodes matched by the expressions in the brackets :not(EXPR)
30 32
 			foreach ($xpath->query($xpathString) as $matchedElement) {
31 33
 				//Check to see whether this node was matched by the not query
32
-				if ($element->isSameNode($matchedElement)) return false;
34
+				if ($element->isSameNode($matchedElement)) {
35
+					return false;
36
+				}
33 37
 			}
34 38
 		}
35 39
 		return true;
Please login to merge, or discard this patch.
src/Property/Display.php 1 patch
Braces   +7 added lines, -3 removed lines patch added patch discarded remove patch
@@ -7,8 +7,12 @@
 block discarded – undo
7 7
 namespace Transphporm\Property;
8 8
 class Display implements \Transphporm\Property {
9 9
 	public function run(array $values, \DomElement $element, array $rules, \Transphporm\Hook\PseudoMatcher $pseudoMatcher, array $properties = []) {
10
-		if ($pseudoMatcher->hasFunction('attr')) $element->removeAttribute($pseudoMatcher->getFuncArgs('attr', $element)[0]);
11
-		else if (strtolower($values[0]) === 'none') $element->setAttribute('transphporm', 'remove');
12
-		else $element->setAttribute('transphporm', 'show');
10
+		if ($pseudoMatcher->hasFunction('attr')) {
11
+			$element->removeAttribute($pseudoMatcher->getFuncArgs('attr', $element)[0]);
12
+		} else if (strtolower($values[0]) === 'none') {
13
+			$element->setAttribute('transphporm', 'remove');
14
+		} else {
15
+			$element->setAttribute('transphporm', 'show');
16
+		}
13 17
 	}
14 18
 }
Please login to merge, or discard this patch.
src/Pseudo/Attribute.php 1 patch
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,7 +14,9 @@
 block discarded – undo
14 14
 	}
15 15
 
16 16
 	public function match($name, $args, \DomElement $element) {
17
-		if (!($name === null || in_array($name, ['data', 'iteration', 'root'])))  return true;
17
+		if (!($name === null || in_array($name, ['data', 'iteration', 'root']))) {
18
+			return true;
19
+		}
18 20
 		return $args[0];
19 21
 	}
20 22
 }
Please login to merge, or discard this patch.
src/Property/Content.php 2 patches
Doc Comments   +16 added lines patch added patch discarded remove patch
@@ -28,6 +28,9 @@  discard block
 block discarded – undo
28 28
 		}
29 29
 	}
30 30
 
31
+	/**
32
+	 * @param \DOMElement $element
33
+	 */
31 34
 	private function shouldRun($element) {
32 35
 		do {
33 36
 			if ($element->getAttribute('transphporm') == 'includedtemplate') return false;
@@ -40,6 +43,10 @@  discard block
 block discarded – undo
40 43
 		return (isset($rules['content-mode'])) ? $rules['content-mode'] : 'append';
41 44
 	}
42 45
 
46
+	/**
47
+	 * @param \DOMElement $element
48
+	 * @param \Transphporm\Hook\PseudoMatcher $pseudoMatcher
49
+	 */
43 50
 	private function processPseudo($value, $element, $pseudoMatcher) {
44 51
 		$pseudoContent = ['attr', 'header', 'before', 'after'];
45 52
 		foreach ($pseudoContent as $pseudo) {
@@ -96,6 +103,9 @@  discard block
 block discarded – undo
96 103
 		}
97 104
 	}
98 105
 
106
+	/**
107
+	 * @param \DOMElement $element
108
+	 */
99 109
 	private function replaceContent($element, $content) {
100 110
 		//If this rule was cached, the elements that were added last time need to be removed prior to running the rule again.
101 111
 		foreach ($this->getNode($content, $element->ownerDocument) as $node) {
@@ -104,12 +114,18 @@  discard block
 block discarded – undo
104 114
 		$element->setAttribute('transphporm', 'remove');
105 115
 	}
106 116
 
117
+	/**
118
+	 * @param \DOMElement $element
119
+	 */
107 120
 	private function appendContent($element, $content) {
108 121
 		foreach ($this->getNode($content, $element->ownerDocument) as $node) {
109 122
 			$element->appendChild($node);
110 123
 		}
111 124
 	}
112 125
 
126
+	/**
127
+	 * @param \DOMElement $element
128
+	 */
113 129
 	private function removeAllChildren($element) {
114 130
 		while ($element->hasChildNodes()) $element->removeChild($element->firstChild);
115 131
 	}
Please login to merge, or discard this patch.
Braces   +22 added lines, -11 removed lines patch added patch discarded remove patch
@@ -16,21 +16,28 @@  discard block
 block discarded – undo
16 16
 	}
17 17
 
18 18
 	public function run(array $values, \DomElement $element, array $rules, \Transphporm\Hook\PseudoMatcher $pseudoMatcher, array $properties = []) {
19
-		if (!$this->shouldRun($element)) return false;
19
+		if (!$this->shouldRun($element)) {
20
+			return false;
21
+		}
20 22
 		$values = $this->formatter->format($values, $rules);
21 23
 
22 24
 		if (!$this->processPseudo($values, $element, $pseudoMatcher)) {
23 25
 			//Remove the current contents
24 26
 			$this->removeAllChildren($element);
25 27
 			//Now make a text node
26
-			if ($this->getContentMode($rules) === 'replace') $this->replaceContent($element, $values);
27
-			else $this->appendContent($element, $values);
28
+			if ($this->getContentMode($rules) === 'replace') {
29
+				$this->replaceContent($element, $values);
30
+			} else {
31
+				$this->appendContent($element, $values);
32
+			}
28 33
 		}
29 34
 	}
30 35
 
31 36
 	private function shouldRun($element) {
32 37
 		do {
33
-			if ($element->getAttribute('transphporm') == 'includedtemplate') return false;
38
+			if ($element->getAttribute('transphporm') == 'includedtemplate') {
39
+				return false;
40
+			}
34 41
 		}
35 42
 		while (($element = $element->parentNode) instanceof \DomElement);
36 43
 		return true;
@@ -54,16 +61,18 @@  discard block
 block discarded – undo
54 61
 	private function getNode($node, $document) {
55 62
 		foreach ($node as $n) {
56 63
 			if (is_array($n)) {
57
-				foreach ($this->getNode($n, $document) as $new) yield $new;
58
-			}
59
-			else {
64
+				foreach ($this->getNode($n, $document) as $new) {
65
+					yield $new;
66
+				}
67
+			} else {
60 68
 				if ($n instanceof \DomElement) {
61 69
 					$new = $document->importNode($n, true);
62 70
 					//Removing this might cause problems with caching...
63 71
 					//$new->setAttribute('transphporm', 'added');
64
-				}
65
-				else {
66
-					if ($n instanceof \DomText) $n = $n->nodeValue;
72
+				} else {
73
+					if ($n instanceof \DomText) {
74
+						$n = $n->nodeValue;
75
+					}
67 76
 					$new = $document->createElement('text');
68 77
 
69 78
 					$new->appendChild($document->createTextNode($n));
@@ -111,6 +120,8 @@  discard block
 block discarded – undo
111 120
 	}
112 121
 
113 122
 	private function removeAllChildren($element) {
114
-		while ($element->hasChildNodes()) $element->removeChild($element->firstChild);
123
+		while ($element->hasChildNodes()) {
124
+			$element->removeChild($element->firstChild);
125
+		}
115 126
 	}
116 127
 }
Please login to merge, or discard this patch.
src/Hook/PseudoMatcher.php 1 patch
Braces   +13 added lines, -5 removed lines patch added patch discarded remove patch
@@ -39,27 +39,35 @@
 block discarded – undo
39 39
 		$parts['name'] = $this->getFuncName($tokens);
40 40
 		if ($parts['name'] === null || in_array($parts['name'], ['data', 'iteration', 'root'])) {
41 41
 			$parts['args'] = $this->valueParser->parseTokens($tokens);
42
+		} elseif (isset($tokens[1])) {
43
+			$parts['args'] = $this->valueParser->parseTokens($tokens[1]['value']);
44
+		} else {
45
+			$parts['args'] = [['']];
42 46
 		}
43
-		elseif (isset($tokens[1])) $parts['args'] = $this->valueParser->parseTokens($tokens[1]['value']);
44
-		else $parts['args'] = [['']];
45 47
 		return $parts;
46 48
 	}
47 49
 
48 50
 	private function getFuncName($tokens) {
49
-		if ($tokens[0]['type'] === Tokenizer::NAME) return $tokens[0]['value'];
51
+		if ($tokens[0]['type'] === Tokenizer::NAME) {
52
+			return $tokens[0]['value'];
53
+		}
50 54
 		return null;
51 55
 	}
52 56
 
53 57
 	public function hasFunction($name) {
54 58
 		foreach ($this->pseudo as $tokens) {
55
-			if ($name === $this->getFuncName($tokens)) return true;
59
+			if ($name === $this->getFuncName($tokens)) {
60
+				return true;
61
+			}
56 62
 		}
57 63
 	}
58 64
 
59 65
 	public function getFuncArgs($name) {
60 66
 		foreach ($this->pseudo as $tokens) {
61 67
 			$parts = $this->getFuncParts($tokens);
62
-			if ($name === $parts['name']) return $parts['args'];
68
+			if ($name === $parts['name']) {
69
+				return $parts['args'];
70
+			}
63 71
 		}
64 72
 	}
65 73
 }
Please login to merge, or discard this patch.