Lines Matching full:pattern

60         $sql = 'SELECT * FROM assignments_patterns ORDER BY pattern';
67 * Add a new assignment pattern to the pattern table
69 * @param string $pattern
73 public function addPattern($pattern, $page, $pos) argument
75 // add the pattern
76 $sql = 'REPLACE INTO assignments_patterns (pattern, page, pos) VALUES (?,?,?)';
77 $ok = (bool) $this->sqlite->query($sql, array($pattern, $page, $pos));
90 * Remove an existing assignment pattern from the pattern table
92 * @param string $pattern
98 // remove the pattern
155 public function assignPageExtension($page, $pattern) argument
158 return (bool) $this->sqlite->query($sql, array($page, $pattern));
168 public function deassignPageExtension($page, $pattern) argument
171 return (bool) $this->sqlite->query($sql, array($page, $pattern));
175 * Get the whole pattern table
201 if (($this->matchPagePattern($row['pattern'], $page, $pns)) &&
228 * Check if the given pattern matches the given page
230 * @param string $pattern the pattern to check against
235 protected function matchPagePattern($pattern, $page, $pns = null) argument
237 if (trim($pattern, ':') == '**') return true; // match all
240 if ($pattern[0] == '/') {
241 return (bool) preg_match($pattern, ":$page");
248 $ans = ':' . cleanID($pattern) . ':';
249 if (substr($pattern, -2) == '**') {
254 } elseif (substr($pattern, -1) == '*') {
261 if (cleanID($pattern) == $page) {
274 public function propagatePageAssignments($pattern) argument
280 $res = $this->sqlite->query($sql, $pattern);
290 $this->assignPageExtension($row['assignments.pid'], $pattern);