getConf('apr_namespaces'); $no_apr_namespaces = $this->getConf('no_apr_namespaces'); if ($this->in_namespace($no_apr_namespaces, $id)) { return false; //use apr_namespaces } elseif (trim($apr_namespaces) != '') { if ($this->in_namespace($apr_namespaces, $id)) { return true; } return false; } return true; } /** * checks if an id is within one of the namespaces in $namespace_list * * @param string $namespace_list * @param string $id * * @return bool */ function in_namespace($namespace_list, $id) { // PHP apparantly does not have closures - // so we will parse $valid ourselves. Wasteful. $namespace_list = preg_split('/\s+/', $namespace_list); //if(count($valid) == 0) { return true; }//whole wiki matches if(count($namespace_list) == 1 && $namespace_list[0] == "") { return false; }//whole wiki matches $id = trim($id, ':'); $id = explode(':', $id); // Check against all possible namespaces foreach($namespace_list as $namespace) { $namespace = explode(':', $namespace); $current_ns_depth = 0; $total_ns_depth = count($namespace); $matching = true; // Check each element, untill all elements of $v satisfied while($current_ns_depth < $total_ns_depth) { if($namespace[$current_ns_depth] != $id[$current_ns_depth]) { // not a match $matching = false; break; } $current_ns_depth += 1; } if($matching) { return true; } // a match } return false; } function page_sum($ID, $REV) { $m = p_get_metadata($ID); $changelog = new PageChangeLog($ID); //sprawdź status aktualnej strony if ($REV != 0) { $ch = $changelog->getRevisionInfo($REV); $sum = $ch['sum']; } else { $sum = $m['last_change']['sum']; } return $sum; } }