@@ -11,7 +11,7 @@ discard block |
||
| 11 | 11 | /** Converts $val into a \DateTime object if it's not already */ |
| 12 | 12 | private function getDate($val) { |
| 13 | 13 | $tz = new \DateTimeZone($this->locale['timezone']); |
| 14 | - $date = $val instanceof \DateTime ? $val : new \DateTime($val, $tz); |
|
| 14 | + $date = $val instanceof \DateTime ? $val : new \DateTime($val, $tz); |
|
| 15 | 15 | $date->setTimeZone($tz); |
| 16 | 16 | return $date; |
| 17 | 17 | } |
@@ -30,7 +30,7 @@ discard block |
||
| 30 | 30 | |
| 31 | 31 | /** Formats \DateTime as Date and Time using formats from $locale */ |
| 32 | 32 | public function dateTime($val) { |
| 33 | - return $this->date($val, $this->locale['date_format'] . ' ' . $this->locale['time_format']); |
|
| 33 | + return $this->date($val, $this->locale['date_format'].' '.$this->locale['time_format']); |
|
| 34 | 34 | } |
| 35 | 35 | |
| 36 | 36 | /** Generates relative time offsets based on system clock. e.g "10 minutes ago" or "In 6 months" |
@@ -42,7 +42,7 @@ discard block |
||
| 42 | 42 | $diff = $now->diff($date); |
| 43 | 43 | |
| 44 | 44 | |
| 45 | - $diffDays = $diff->invert === 1 ? $diff->days : 0- $diff->days; |
|
| 45 | + $diffDays = $diff->invert === 1 ? $diff->days : 0-$diff->days; |
|
| 46 | 46 | |
| 47 | 47 | if ($diffDays !== 0) return $this->dayOffset($diffDays); |
| 48 | 48 | else return $this->timeOffset($diff); |
@@ -68,7 +68,7 @@ discard block |
||
| 68 | 68 | |
| 69 | 69 | /** Gets date ranges to represent uses of weeks/months/days/etc */ |
| 70 | 70 | private function getRanges($strings) { |
| 71 | - $ranges = [ |
|
| 71 | + $ranges = [ |
|
| 72 | 72 | [1, 1, $strings['yesterday'], 1, ''], |
| 73 | 73 | [1, 13, $strings['past'], 1, 'days'], |
| 74 | 74 | [13, 28, $strings['past'], 7, 'weeks'], |
@@ -87,7 +87,7 @@ discard block |
||
| 87 | 87 | |
| 88 | 88 | /** Converts "week" to "weeks", "month" to "months" etc when plural is required using language from $locale */ |
| 89 | 89 | private function getPlural($strings, $num, $interval) { |
| 90 | - if ($interval !== '') return $num == 1 ? $strings[$interval . '_singular'] : $strings[$interval . '_plural']; |
|
| 90 | + if ($interval !== '') return $num == 1 ? $strings[$interval.'_singular'] : $strings[$interval.'_plural']; |
|
| 91 | 91 | else return ''; |
| 92 | 92 | } |
| 93 | 93 | |
@@ -44,8 +44,11 @@ discard block |
||
| 44 | 44 | |
| 45 | 45 | $diffDays = $diff->invert === 1 ? $diff->days : 0- $diff->days; |
| 46 | 46 | |
| 47 | - if ($diffDays !== 0) return $this->dayOffset($diffDays); |
|
| 48 | - else return $this->timeOffset($diff); |
|
| 47 | + if ($diffDays !== 0) { |
|
| 48 | + return $this->dayOffset($diffDays); |
|
| 49 | + } else { |
|
| 50 | + return $this->timeOffset($diff); |
|
| 51 | + } |
|
| 49 | 52 | } |
| 50 | 53 | |
| 51 | 54 | /** Calculates offset in hours/minutes/seconds */ |
@@ -80,15 +83,22 @@ discard block |
||
| 80 | 83 | [-365, -28, $strings['future'], 28, 'months'], |
| 81 | 84 | [-999999, -365, $strings['future'], 365, 'years'], |
| 82 | 85 | ]; |
| 83 | - if (isset($strings['day_before_yesterday'])) array_unshift($ranges, [2, 2, $strings['day_before_yesterday'], 1, '']); |
|
| 84 | - if (isset($strings['day_after_tomorrow'])) array_unshift($ranges, [-2, -2, $strings['day_after_tomorrow'], 1, '']); |
|
| 86 | + if (isset($strings['day_before_yesterday'])) { |
|
| 87 | + array_unshift($ranges, [2, 2, $strings['day_before_yesterday'], 1, '']); |
|
| 88 | + } |
|
| 89 | + if (isset($strings['day_after_tomorrow'])) { |
|
| 90 | + array_unshift($ranges, [-2, -2, $strings['day_after_tomorrow'], 1, '']); |
|
| 91 | + } |
|
| 85 | 92 | return $ranges; |
| 86 | 93 | } |
| 87 | 94 | |
| 88 | 95 | /** Converts "week" to "weeks", "month" to "months" etc when plural is required using language from $locale */ |
| 89 | 96 | private function getPlural($strings, $num, $interval) { |
| 90 | - if ($interval !== '') return $num == 1 ? $strings[$interval . '_singular'] : $strings[$interval . '_plural']; |
|
| 91 | - else return ''; |
|
| 97 | + if ($interval !== '') { |
|
| 98 | + return $num == 1 ? $strings[$interval . '_singular'] : $strings[$interval . '_plural']; |
|
| 99 | + } else { |
|
| 100 | + return ''; |
|
| 101 | + } |
|
| 92 | 102 | } |
| 93 | 103 | |
| 94 | 104 | /** Calculates offset in days/weeks/month/years */ |
@@ -13,7 +13,7 @@ |
||
| 13 | 13 | |
| 14 | 14 | public function currency($num) { |
| 15 | 15 | $num = $this->decimal($num, $this->locale['currency_decimals']); |
| 16 | - if ($this->locale['currency_position'] === 'before') return $this->locale['currency'] . $num; |
|
| 17 | - else return $num . $this->locale['currency']; |
|
| 16 | + if ($this->locale['currency_position'] === 'before') return $this->locale['currency'].$num; |
|
| 17 | + else return $num.$this->locale['currency']; |
|
| 18 | 18 | } |
| 19 | 19 | } |
| 20 | 20 | \ No newline at end of file |
@@ -13,7 +13,10 @@ |
||
| 13 | 13 | |
| 14 | 14 | public function currency($num) { |
| 15 | 15 | $num = $this->decimal($num, $this->locale['currency_decimals']); |
| 16 | - if ($this->locale['currency_position'] === 'before') return $this->locale['currency'] . $num; |
|
| 17 | - else return $num . $this->locale['currency']; |
|
| 16 | + if ($this->locale['currency_position'] === 'before') { |
|
| 17 | + return $this->locale['currency'] . $num; |
|
| 18 | + } else { |
|
| 19 | + return $num . $this->locale['currency']; |
|
| 20 | + } |
|
| 18 | 21 | } |
| 19 | 22 | } |
| 20 | 23 | \ No newline at end of file |
@@ -55,7 +55,7 @@ |
||
| 55 | 55 | if ($document) return $this->document; |
| 56 | 56 | |
| 57 | 57 | |
| 58 | - $output = ($this->document->doctype) ? $this->document->saveXml($this->document->doctype) . "\n" : ''; |
|
| 58 | + $output = ($this->document->doctype) ? $this->document->saveXml($this->document->doctype)."\n" : ''; |
|
| 59 | 59 | |
| 60 | 60 | if ($this->document->documentElement->tagName !== 'template') $output .= $this->document->saveXml($this->document->documentElement, LIBXML_NOEMPTYTAG); |
| 61 | 61 | else $output = $this->printDocument($this->document); |
@@ -33,14 +33,18 @@ discard block |
||
| 33 | 33 | /** Loops through all assigned hooks, runs the Xpath query and calls the hook */ |
| 34 | 34 | private function processHooks() { |
| 35 | 35 | foreach ($this->hooks as list($query, $hook)) { |
| 36 | - foreach ($this->xpath->query($query) as $element) $hook->run($element); |
|
| 36 | + foreach ($this->xpath->query($query) as $element) { |
|
| 37 | + $hook->run($element); |
|
| 38 | + } |
|
| 37 | 39 | } |
| 38 | 40 | } |
| 39 | 41 | |
| 40 | 42 | /** Prints out the current DomDocument as HTML */ |
| 41 | 43 | private function printDocument(\DomDocument $doc) { |
| 42 | 44 | $output = ''; |
| 43 | - foreach ($doc->documentElement->childNodes as $node) $output .= $doc->saveXML($node, LIBXML_NOEMPTYTAG); |
|
| 45 | + foreach ($doc->documentElement->childNodes as $node) { |
|
| 46 | + $output .= $doc->saveXML($node, LIBXML_NOEMPTYTAG); |
|
| 47 | + } |
|
| 44 | 48 | return $output; |
| 45 | 49 | } |
| 46 | 50 | |
@@ -52,13 +56,18 @@ discard block |
||
| 52 | 56 | //Generate the document by taking only the childnodes of the template, ignoring the <template> and </template> tags |
| 53 | 57 | //TODO: Is there a faster way of doing this without string manipulation on the output or this loop through childnodes? |
| 54 | 58 | //Either return a whole DomDocument or return the output HTML |
| 55 | - if ($document) return $this->document; |
|
| 59 | + if ($document) { |
|
| 60 | + return $this->document; |
|
| 61 | + } |
|
| 56 | 62 | |
| 57 | 63 | |
| 58 | 64 | $output = ($this->document->doctype) ? $this->document->saveXml($this->document->doctype) . "\n" : ''; |
| 59 | 65 | |
| 60 | - if ($this->document->documentElement->tagName !== 'template') $output .= $this->document->saveXml($this->document->documentElement, LIBXML_NOEMPTYTAG); |
|
| 61 | - else $output = $this->printDocument($this->document); |
|
| 66 | + if ($this->document->documentElement->tagName !== 'template') { |
|
| 67 | + $output .= $this->document->saveXml($this->document->documentElement, LIBXML_NOEMPTYTAG); |
|
| 68 | + } else { |
|
| 69 | + $output = $this->printDocument($this->document); |
|
| 70 | + } |
|
| 62 | 71 | |
| 63 | 72 | //repair empty tags. Browsers break on <script /> and <div /> so can't avoid LIBXML_NOEMPTYTAG but they also break on <base></base> so repair them |
| 64 | 73 | $output = str_replace(['></img>', '></br>', '></meta>', '></base>', '></link>', '></hr>', '></input>'], ' />', $output); |
@@ -20,7 +20,8 @@ |
||
| 20 | 20 | public function load($key, $modified = 0) { |
| 21 | 21 | if (isset($this->cache[$key]) && $this->cache[$key]['timestamp'] >= $modified) { |
| 22 | 22 | return $this->cache[$key]['content']; |
| 23 | + } else { |
|
| 24 | + return false; |
|
| 23 | 25 | } |
| 24 | - else return false; |
|
| 25 | 26 | } |
| 26 | 27 | } |
| 27 | 28 | \ No newline at end of file |
@@ -35,24 +35,33 @@ |
||
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | private function timeFrequency($frequency, $time = null) { |
| 38 | - if ($time === null) $time = time(); |
|
| 38 | + if ($time === null) { |
|
| 39 | + $time = time(); |
|
| 40 | + } |
|
| 39 | 41 | $num = (int) $frequency; |
| 40 | 42 | $unit = strtoupper(trim(str_replace($num, '', $frequency))); |
| 41 | 43 | |
| 42 | 44 | $offset = $num * constant(self::class . '::' . $unit); |
| 43 | 45 | |
| 44 | - if ($time > $this->lastRun + $offset) return true; |
|
| 45 | - else return false; |
|
| 46 | + if ($time > $this->lastRun + $offset) { |
|
| 47 | + return true; |
|
| 48 | + } else { |
|
| 49 | + return false; |
|
| 50 | + } |
|
| 46 | 51 | } |
| 47 | 52 | |
| 48 | 53 | public function shouldRun($time = null) { |
| 49 | 54 | if (isset($this->properties['update-frequency']) && $this->lastRun !== 0) { |
| 50 | 55 | $frequency = $this->properties['update-frequency']; |
| 51 | 56 | $static = ['always' => true, 'never' => false]; |
| 52 | - if (isset($static[$frequency])) return $static[$frequency]; |
|
| 53 | - else return $this->timeFrequency($frequency, $time); |
|
| 57 | + if (isset($static[$frequency])) { |
|
| 58 | + return $static[$frequency]; |
|
| 59 | + } else { |
|
| 60 | + return $this->timeFrequency($frequency, $time); |
|
| 61 | + } |
|
| 54 | 62 | |
| 63 | + } else { |
|
| 64 | + return true; |
|
| 55 | 65 | } |
| 56 | - else return true; |
|
| 57 | 66 | } |
| 58 | 67 | } |
| 59 | 68 | \ No newline at end of file |
@@ -39,9 +39,9 @@ |
||
| 39 | 39 | $num = (int) $frequency; |
| 40 | 40 | $unit = strtoupper(trim(str_replace($num, '', $frequency))); |
| 41 | 41 | |
| 42 | - $offset = $num * constant(self::class . '::' . $unit); |
|
| 42 | + $offset = $num * constant(self::class.'::'.$unit); |
|
| 43 | 43 | |
| 44 | - if ($time > $this->lastRun + $offset) return true; |
|
| 44 | + if ($time > $this->lastRun+$offset) return true; |
|
| 45 | 45 | else return false; |
| 46 | 46 | } |
| 47 | 47 | |
@@ -51,8 +51,11 @@ discard block |
||
| 51 | 51 | } |
| 52 | 52 | |
| 53 | 53 | private static function compare($comparator, $a, $b) { |
| 54 | - if ($comparator == '=') return $a == $b; |
|
| 55 | - else if ($comparator == '!=') return $a != $b; |
|
| 54 | + if ($comparator == '=') { |
|
| 55 | + return $a == $b; |
|
| 56 | + } else if ($comparator == '!=') { |
|
| 57 | + return $a != $b; |
|
| 58 | + } |
|
| 56 | 59 | } |
| 57 | 60 | |
| 58 | 61 | //split the css into indivudal functions |
@@ -66,8 +69,9 @@ discard block |
||
| 66 | 69 | $selector = $this->createSelector(); |
| 67 | 70 | $selector->type = $css[$i]; |
| 68 | 71 | $selectors[] = $selector; |
| 72 | + } else { |
|
| 73 | + $selector->string .= $css[$i]; |
|
| 69 | 74 | } |
| 70 | - else $selector->string .= $css[$i]; |
|
| 71 | 75 | } |
| 72 | 76 | return $selectors; |
| 73 | 77 | } |
@@ -78,7 +82,9 @@ discard block |
||
| 78 | 82 | $this->depth = count($selectors); |
| 79 | 83 | $xpath = '/'; |
| 80 | 84 | foreach ($selectors as $selector) { |
| 81 | - if (isset($this->translators[$selector->type])) $xpath .= $this->translators[$selector->type]($selector->string, $xpath); |
|
| 85 | + if (isset($this->translators[$selector->type])) { |
|
| 86 | + $xpath .= $this->translators[$selector->type]($selector->string, $xpath); |
|
| 87 | + } |
|
| 82 | 88 | } |
| 83 | 89 | |
| 84 | 90 | $xpath = str_replace('/[', '/*[', $xpath); |
@@ -20,12 +20,12 @@ discard block |
||
| 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 |
||
| 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 = '/'; |
@@ -9,9 +9,13 @@ |
||
| 9 | 9 | class PostProcess implements \Transphporm\Hook { |
| 10 | 10 | public function run(\DomElement $element) { |
| 11 | 11 | $transphporm = $element->getAttribute('transphporm'); |
| 12 | - if ($transphporm === 'remove') $element->parentNode->removeChild($element); |
|
| 13 | - else if ($transphporm === 'text') $element->parentNode->replaceChild($element->firstChild, $element); |
|
| 14 | - else $element->removeAttribute('transphporm'); |
|
| 12 | + if ($transphporm === 'remove') { |
|
| 13 | + $element->parentNode->removeChild($element); |
|
| 14 | + } else if ($transphporm === 'text') { |
|
| 15 | + $element->parentNode->replaceChild($element->firstChild, $element); |
|
| 16 | + } else { |
|
| 17 | + $element->removeAttribute('transphporm'); |
|
| 18 | + } |
|
| 15 | 19 | } |
| 16 | 20 | |
| 17 | 21 | } |
| 18 | 22 | \ No newline at end of file |
@@ -20,11 +20,15 @@ discard block |
||
| 20 | 20 | |
| 21 | 21 | public function run(\DomElement $element) { |
| 22 | 22 | //Don't run if there's a pseudo element like nth-child() and this element doesn't match it |
| 23 | - if (!$this->pseudoMatcher->matches($element)) return; |
|
| 23 | + if (!$this->pseudoMatcher->matches($element)) { |
|
| 24 | + return; |
|
| 25 | + } |
|
| 24 | 26 | |
| 25 | 27 | foreach ($this->rules as $name => $value) { |
| 26 | 28 | $result = $this->callProperty($name, $element, $this->valueParser->parse(trim($value), $element)); |
| 27 | - if ($result === false) break; |
|
| 29 | + if ($result === false) { |
|
| 30 | + break; |
|
| 31 | + } |
|
| 28 | 32 | } |
| 29 | 33 | } |
| 30 | 34 | |
@@ -45,7 +49,9 @@ discard block |
||
| 45 | 49 | } |
| 46 | 50 | |
| 47 | 51 | private function callProperty($name, $element, $value) { |
| 48 | - if (isset($this->properties[$name])) return $this->properties[$name]->run($value, $element, $this->rules, $this->pseudoMatcher, $this->properties); |
|
| 52 | + if (isset($this->properties[$name])) { |
|
| 53 | + return $this->properties[$name]->run($value, $element, $this->rules, $this->pseudoMatcher, $this->properties); |
|
| 54 | + } |
|
| 49 | 55 | return false; |
| 50 | 56 | } |
| 51 | 57 | } |
@@ -31,6 +31,9 @@ discard block |
||
| 31 | 31 | } |
| 32 | 32 | } |
| 33 | 33 | |
| 34 | + /** |
|
| 35 | + * @param \DOMElement $element |
|
| 36 | + */ |
|
| 34 | 37 | private function getArgs($value, $element) { |
| 35 | 38 | return $this->valueParser->parse($value, $element); |
| 36 | 39 | } |
@@ -39,6 +42,9 @@ discard block |
||
| 39 | 42 | $this->properties[$name] = $property; |
| 40 | 43 | } |
| 41 | 44 | |
| 45 | + /** |
|
| 46 | + * @param \DOMElement $element |
|
| 47 | + */ |
|
| 42 | 48 | private function callProperty($name, $element, $value) { |
| 43 | 49 | if (isset($this->properties[$name])) return $this->properties[$name]->run($value, $element, $this->rules, $this->pseudoMatcher, $this->properties); |
| 44 | 50 | return false; |
@@ -15,8 +15,11 @@ |
||
| 15 | 15 | $bracketMatcher = new \Transphporm\Parser\BracketMatcher($element->getNodePath()); |
| 16 | 16 | $num = $bracketMatcher->match('[', ']'); |
| 17 | 17 | |
| 18 | - if (is_callable([$this, $criteria])) return $this->$criteria($num); |
|
| 19 | - else return $num == $criteria; |
|
| 18 | + if (is_callable([$this, $criteria])) { |
|
| 19 | + return $this->$criteria($num); |
|
| 20 | + } else { |
|
| 21 | + return $num == $criteria; |
|
| 22 | + } |
|
| 20 | 23 | } |
| 21 | 24 | return true; |
| 22 | 25 | } |