Passed
Push — master ( 97c601...68425f )
by Chris
03:55
created
php/hamle/Text/FuncSub.php 2 patches
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
    */
40 40
   public function __construct($s) {
41 41
     $m = array();
42
-    if (!preg_match('/^ +([><]) +('.self::REGEX_FUNCSEL . '+)(.*)$/', $s, $m))
42
+    if (!preg_match('/^ +([><]) +('.self::REGEX_FUNCSEL.'+)(.*)$/', $s, $m))
43 43
       throw new ParseError("Unable to read \$ sub func in '$s'");
44 44
     if ($m[1] == "<") $this->dir = Hamle\Hamle::REL_PARENT;
45 45
     elseif ($m[1] == ">") $this->dir = Hamle\Hamle::REL_CHILD;
@@ -57,24 +57,24 @@  discard block
 block discarded – undo
57 57
    * @return string
58 58
    */
59 59
   public function toPHP() {
60
-    $limit = Hamle\Text::varToCode($this->sortlimit['sort']) . "," .
61
-        $this->sortlimit['limit'] . "," . $this->sortlimit['offset'] . "," .
60
+    $limit = Hamle\Text::varToCode($this->sortlimit['sort']).",".
61
+        $this->sortlimit['limit'].",".$this->sortlimit['offset'].",".
62 62
         $this->grouptype['grouptype'];
63
-    $sub = $this->sub ? "->" . $this->sub->toPHP() : "";
64
-    return "hamleRel(" . $this->dir . "," .
65
-    Hamle\Text::varToCode($this->filt['tag']) . ",$limit)$sub";
63
+    $sub = $this->sub ? "->".$this->sub->toPHP() : "";
64
+    return "hamleRel(".$this->dir.",".
65
+    Hamle\Text::varToCode($this->filt['tag']).",$limit)$sub";
66 66
   }
67 67
 
68 68
   public function getOrCreateModel(Model $parent = null) {
69 69
     $model = $parent->hamleRel($this->dir, $this->filt['tag'], $this->sortlimit['sort'],
70 70
       $this->sortlimit['limit'], $this->sortlimit['offset']);
71
-    if(!$model->valid()) {
72
-      if(!$parent instanceof Hamle\WriteModel)
73
-        throw new \Exception('Cant create model, ' . get_class($parent) . ' must implement Hamle\\WriteModel.');
71
+    if (!$model->valid()) {
72
+      if (!$parent instanceof Hamle\WriteModel)
73
+        throw new \Exception('Cant create model, '.get_class($parent).' must implement Hamle\\WriteModel.');
74 74
       $model = $parent->current()->hamleCreateRel($this->dir, $this->filt['tag'], $this->sortlimit['sort'],
75 75
         $this->sortlimit['limit'], $this->sortlimit['offset']);
76 76
     }
77
-    if($this->sub)
77
+    if ($this->sub)
78 78
       return $this->sub->getOrCreateModel($model)->current();
79 79
     return $model->current();
80 80
   }
Please login to merge, or discard this patch.
Braces   +22 added lines, -12 removed lines patch added patch discarded remove patch
@@ -39,17 +39,25 @@  discard block
 block discarded – undo
39 39
    */
40 40
   public function __construct($s) {
41 41
     $m = array();
42
-    if (!preg_match('/^ +([><]) +('.self::REGEX_FUNCSEL . '+)(.*)$/', $s, $m))
43
-      throw new ParseError("Unable to read \$ sub func in '$s'");
44
-    if ($m[1] == "<") $this->dir = Hamle\Hamle::REL_PARENT;
45
-    elseif ($m[1] == ">") $this->dir = Hamle\Hamle::REL_CHILD;
46
-    else $this->dir = Hamle\Hamle::REL_ANY;
42
+    if (!preg_match('/^ +([><]) +('.self::REGEX_FUNCSEL . '+)(.*)$/', $s, $m)) {
43
+          throw new ParseError("Unable to read \$ sub func in '$s'");
44
+    }
45
+    if ($m[1] == "<") {
46
+      $this->dir = Hamle\Hamle::REL_PARENT;
47
+    } elseif ($m[1] == ">") {
48
+      $this->dir = Hamle\Hamle::REL_CHILD;
49
+    } else {
50
+      $this->dir = Hamle\Hamle::REL_ANY;
51
+    }
47 52
     $this->sortlimit = $this->attSortLimit($m[2]);
48 53
     $this->filt = $this->attIdTag($m[2]);
49 54
     $this->grouptype = $this->attGroupType($m[2]);
50
-    if ($this->filt['id']) throw new ParseError("Unable to select by id");
51
-    if (trim($m[3]))
52
-      $this->sub = new FuncSub($m[3]);
55
+    if ($this->filt['id']) {
56
+      throw new ParseError("Unable to select by id");
57
+    }
58
+    if (trim($m[3])) {
59
+          $this->sub = new FuncSub($m[3]);
60
+    }
53 61
   }
54 62
 
55 63
   /**
@@ -69,13 +77,15 @@  discard block
 block discarded – undo
69 77
     $model = $parent->hamleRel($this->dir, $this->filt['tag'], $this->sortlimit['sort'],
70 78
       $this->sortlimit['limit'], $this->sortlimit['offset']);
71 79
     if(!$model->valid()) {
72
-      if(!$parent instanceof Hamle\WriteModel)
73
-        throw new \Exception('Cant create model, ' . get_class($parent) . ' must implement Hamle\\WriteModel.');
80
+      if(!$parent instanceof Hamle\WriteModel) {
81
+              throw new \Exception('Cant create model, ' . get_class($parent) . ' must implement Hamle\\WriteModel.');
82
+      }
74 83
       $model = $parent->current()->hamleCreateRel($this->dir, $this->filt['tag'], $this->sortlimit['sort'],
75 84
         $this->sortlimit['limit'], $this->sortlimit['offset']);
76 85
     }
77
-    if($this->sub)
78
-      return $this->sub->getOrCreateModel($model)->current();
86
+    if($this->sub) {
87
+          return $this->sub->getOrCreateModel($model)->current();
88
+    }
79 89
     return $model->current();
80 90
   }
81 91
 
Please login to merge, or discard this patch.
php/hamle/Text/Func.php 2 patches
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
    */
51 51
   public function __construct($s) {
52 52
     $m = array();
53
-    if (!preg_match('/^\$\((' . self::REGEX_FUNCSEL . '*)(.*)\)$/', $s, $m))
53
+    if (!preg_match('/^\$\(('.self::REGEX_FUNCSEL.'*)(.*)\)$/', $s, $m))
54 54
       throw new ParseError("Unable to read \$ func in '$s'");
55 55
     if (trim($m[2]))
56 56
       $this->sub = new FuncSub($m[2]);
@@ -92,13 +92,13 @@  discard block
 block discarded – undo
92 92
     }
93 93
     $rand = false;
94 94
     if (preg_match_all('/\\^(-?)([a-zA-Z0-9\_]*)/', $s, $m)) {
95
-      foreach($m[0] as $k=>$mv)
95
+      foreach ($m[0] as $k=>$mv)
96 96
         if ($m[2][$k]) {
97
-          $dir = $m[1][$k] == "-"?Hamle\Hamle::SORT_DESCENDING:Hamle\Hamle::SORT_ASCENDING;
97
+          $dir = $m[1][$k] == "-" ?Hamle\Hamle::SORT_DESCENDING : Hamle\Hamle::SORT_ASCENDING;
98 98
           $att['sort'][$m[2][$k]] = $dir;
99 99
         } else $rand = true;
100 100
     }
101
-    if($rand)
101
+    if ($rand)
102 102
       $att['sort'] = [""=>$att['dir'] = Hamle\Hamle::SORT_RANDOM];
103 103
     return $att;
104 104
   }
@@ -116,25 +116,25 @@  discard block
 block discarded – undo
116 116
    * @return string PHP Code
117 117
    */
118 118
   public function toPHP() {
119
-    $sub = $this->sub ? "->" . $this->sub->toPHP() : "";
120
-    if($this->scope instanceof Scope) {
121
-      return $this->scope->toPHP() . $sub;
122
-    } elseif($this->scope === true) {
119
+    $sub = $this->sub ? "->".$this->sub->toPHP() : "";
120
+    if ($this->scope instanceof Scope) {
121
+      return $this->scope->toPHP().$sub;
122
+    } elseif ($this->scope === true) {
123 123
       return "Hamle\\Scope::get(0)$sub";
124 124
     }
125
-    $limit = Text::varToCode($this->sortlimit['sort']) . "," .
126
-        $this->sortlimit['limit'] . "," . $this->sortlimit['offset'];
125
+    $limit = Text::varToCode($this->sortlimit['sort']).",".
126
+        $this->sortlimit['limit'].",".$this->sortlimit['offset'];
127 127
     if (count($this->filt['tag']))
128
-      return "Hamle\\Run::modelTypeTags(" .
129
-      Text::varToCode($this->filt['tag']) . ",$limit)$sub";
128
+      return "Hamle\\Run::modelTypeTags(".
129
+      Text::varToCode($this->filt['tag']).",$limit)$sub";
130 130
     if (count($this->filt['id']))
131 131
       if (isset($this->filt['id']['*']) && count($this->filt['id']['*']) == 1)
132
-        return "Hamle\\Run::modelId(" .
133
-        Text::varToCode(current($this->filt['id']['*'])) .
132
+        return "Hamle\\Run::modelId(".
133
+        Text::varToCode(current($this->filt['id']['*'])).
134 134
         ",$limit)$sub";
135 135
       else
136
-        return "Hamle\\Run::modelTypeId(" .
137
-        Text::varToCode($this->filt['id']) . ",$limit)$sub";
136
+        return "Hamle\\Run::modelTypeId(".
137
+        Text::varToCode($this->filt['id']).",$limit)$sub";
138 138
     return "";
139 139
   }
140 140
 
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
    * @return Model
144 144
    */
145 145
   public function getOrCreateModel(Model $parent = null) {
146
-    if($this->scope instanceof Scope) {
146
+    if ($this->scope instanceof Scope) {
147 147
       $parent = $this->scope->getOrCreateModel();
148 148
     } elseif ($this->scope === true)
149 149
       $parent = \Seufert\Hamle\Scope::get(0);
@@ -169,9 +169,9 @@  discard block
 block discarded – undo
169 169
           $this->sortlimit['limit'],
170 170
           $this->sortlimit['offset']
171 171
         );
172
-    if($this->sub)
172
+    if ($this->sub)
173 173
       return $this->sub->getOrCreateModel($parent)->current();
174
-    if(!$parent)
174
+    if (!$parent)
175 175
       throw new \RuntimeException('Unable to create model with no relation');
176 176
     return $parent->current();
177 177
   }
Please login to merge, or discard this patch.
Braces   +55 added lines, -35 removed lines patch added patch discarded remove patch
@@ -50,10 +50,12 @@  discard block
 block discarded – undo
50 50
    */
51 51
   public function __construct($s) {
52 52
     $m = array();
53
-    if (!preg_match('/^\$\((' . self::REGEX_FUNCSEL . '*)(.*)\)$/', $s, $m))
54
-      throw new ParseError("Unable to read \$ func in '$s'");
55
-    if (trim($m[2]))
56
-      $this->sub = new FuncSub($m[2]);
53
+    if (!preg_match('/^\$\((' . self::REGEX_FUNCSEL . '*)(.*)\)$/', $s, $m)) {
54
+          throw new ParseError("Unable to read \$ func in '$s'");
55
+    }
56
+    if (trim($m[2])) {
57
+          $this->sub = new FuncSub($m[2]);
58
+    }
57 59
     if (!trim($m[1])) {
58 60
       $this->scope = true;
59 61
       return;
@@ -70,16 +72,23 @@  discard block
 block discarded – undo
70 72
     $m = array();
71 73
     $att = array('id' => array(), 'tag' => array());
72 74
     foreach (explode(",", $s) as $str) {
73
-      if (preg_match('/^[a-zA-Z0-9\\_]+/', $str, $m)) $type = $m[0];
74
-      else $type = "*";
75
-      if (preg_match('/#([a-zA-Z0-9\_\\${}]+)/', $str, $m)) $att['id'][$type][] = $m[1];
76
-      elseif (preg_match_all('/\\.([a-zA-Z0-9\_\-\\${}]+)/', $str, $m))
77
-        foreach ($m[1] as $tag)
75
+      if (preg_match('/^[a-zA-Z0-9\\_]+/', $str, $m)) {
76
+        $type = $m[0];
77
+      } else {
78
+        $type = "*";
79
+      }
80
+      if (preg_match('/#([a-zA-Z0-9\_\\${}]+)/', $str, $m)) {
81
+        $att['id'][$type][] = $m[1];
82
+      } elseif (preg_match_all('/\\.([a-zA-Z0-9\_\-\\${}]+)/', $str, $m)) {
83
+              foreach ($m[1] as $tag)
78 84
           $att['tag'][$type][] = new Text($tag, Text::TOKEN_CODE);
79
-      else $att['tag'][$type] = array();
85
+      } else {
86
+        $att['tag'][$type] = array();
87
+      }
88
+    }
89
+    if (!(count($att['id']) xor count($att['tag']))) {
90
+          throw new ParseError("Only tag, type or id can be combined");
80 91
     }
81
-    if (!(count($att['id']) xor count($att['tag'])))
82
-      throw new ParseError("Only tag, type or id can be combined");
83 92
     return $att;
84 93
   }
85 94
 
@@ -92,14 +101,18 @@  discard block
 block discarded – undo
92 101
     }
93 102
     $rand = false;
94 103
     if (preg_match_all('/\\^(-?)([a-zA-Z0-9\_]*)/', $s, $m)) {
95
-      foreach($m[0] as $k=>$mv)
96
-        if ($m[2][$k]) {
104
+      foreach($m[0] as $k=>$mv) {
105
+              if ($m[2][$k]) {
97 106
           $dir = $m[1][$k] == "-"?Hamle\Hamle::SORT_DESCENDING:Hamle\Hamle::SORT_ASCENDING;
107
+      }
98 108
           $att['sort'][$m[2][$k]] = $dir;
99
-        } else $rand = true;
109
+        } else {
110
+          $rand = true;
111
+        }
112
+    }
113
+    if($rand) {
114
+          $att['sort'] = [""=>$att['dir'] = Hamle\Hamle::SORT_RANDOM];
100 115
     }
101
-    if($rand)
102
-      $att['sort'] = [""=>$att['dir'] = Hamle\Hamle::SORT_RANDOM];
103 116
     return $att;
104 117
   }
105 118
 
@@ -124,17 +137,19 @@  discard block
 block discarded – undo
124 137
     }
125 138
     $limit = Text::varToCode($this->sortlimit['sort']) . "," .
126 139
         $this->sortlimit['limit'] . "," . $this->sortlimit['offset'];
127
-    if (count($this->filt['tag']))
128
-      return "Hamle\\Run::modelTypeTags(" .
140
+    if (count($this->filt['tag'])) {
141
+          return "Hamle\\Run::modelTypeTags(" .
129 142
       Text::varToCode($this->filt['tag']) . ",$limit)$sub";
130
-    if (count($this->filt['id']))
131
-      if (isset($this->filt['id']['*']) && count($this->filt['id']['*']) == 1)
143
+    }
144
+    if (count($this->filt['id'])) {
145
+          if (isset($this->filt['id']['*']) && count($this->filt['id']['*']) == 1)
132 146
         return "Hamle\\Run::modelId(" .
133 147
         Text::varToCode(current($this->filt['id']['*'])) .
134 148
         ",$limit)$sub";
135
-      else
136
-        return "Hamle\\Run::modelTypeId(" .
149
+    } else {
150
+              return "Hamle\\Run::modelTypeId(" .
137 151
         Text::varToCode($this->filt['id']) . ",$limit)$sub";
152
+      }
138 153
     return "";
139 154
   }
140 155
 
@@ -145,34 +160,39 @@  discard block
 block discarded – undo
145 160
   public function getOrCreateModel(Model $parent = null) {
146 161
     if($this->scope instanceof Scope) {
147 162
       $parent = $this->scope->getOrCreateModel();
148
-    } elseif ($this->scope === true)
149
-      $parent = \Seufert\Hamle\Scope::get(0);
150
-    if ($this->filt && count($this->filt['tag']))
151
-      $parent = \Seufert\Hamle\Run::modelTypeTags(
163
+    } elseif ($this->scope === true) {
164
+          $parent = \Seufert\Hamle\Scope::get(0);
165
+    }
166
+    if ($this->filt && count($this->filt['tag'])) {
167
+          $parent = \Seufert\Hamle\Run::modelTypeTags(
152 168
         $this->filt['tag'],
153 169
         $this->sortlimit['sort'],
154 170
         $this->sortlimit['limit'],
155 171
         $this->sortlimit['offset']
156 172
       );
157
-    if ($this->filt && count($this->filt['id']))
158
-      if (isset($this->filt['id']['*']) && count($this->filt['id']['*']) === 1)
173
+    }
174
+    if ($this->filt && count($this->filt['id'])) {
175
+          if (isset($this->filt['id']['*']) && count($this->filt['id']['*']) === 1)
159 176
         $parent = \Seufert\Hamle\Run::modelId(
160 177
           current($this->filt['id']['*']),
161 178
             $this->sortlimit['sort'],
162 179
             $this->sortlimit['limit'],
163 180
             $this->sortlimit['offset']
164 181
             );
165
-      else
166
-        $parent = \Seufert\Hamle\Run::modelTypeId(
182
+    } else {
183
+              $parent = \Seufert\Hamle\Run::modelTypeId(
167 184
           $this->filt['id'],
168 185
           $this->sortlimit['sort'],
169 186
           $this->sortlimit['limit'],
170 187
           $this->sortlimit['offset']
171 188
         );
172
-    if($this->sub)
173
-      return $this->sub->getOrCreateModel($parent)->current();
174
-    if(!$parent)
175
-      throw new \RuntimeException('Unable to create model with no relation');
189
+      }
190
+    if($this->sub) {
191
+          return $this->sub->getOrCreateModel($parent)->current();
192
+    }
193
+    if(!$parent) {
194
+          throw new \RuntimeException('Unable to create model with no relation');
195
+    }
176 196
     return $parent->current();
177 197
   }
178 198
 
Please login to merge, or discard this patch.