function execute($arg) { // Récupère la ligne X-WSSE du header $headers = apache_request_headers(); $auth_line = ''; foreach ($headers as $header => $value) { if ($header == "X-WSSE") { $auth_line = $value; } } if ($auth_line != '') { // on récupère les informations du header $pattern = 'Username="******", PasswordDigest="(.+)",'; $pattern .= ' Nonce="(.+)", Created="(.+)", Expires="(.+)"'; if (ereg($pattern, $auth_line, $regs)) { $auth = $arg['marker']->authenticate($regs[1], $regs[2], $regs[3], $regs[4], false); if (Blogmarks::isError($auth)) { return $auth; } } else { return BlogMarks::raiseError("Erreur à la ligne X-WSSE : {$pattern} ne vérfifie pas {$auth_line}", 400); } } // passe au filtre suivant if ($this->_hasChild) { $tmp =& $this->_childFilter; return $tmp->execute($arg); } }
function execute($arg) { // Récupère la ligne X-WSSE du header $headers = apache_request_headers(); $auth_line = ''; foreach ($headers as $header => $value) { if ($header == "X-WSSE") { $auth_line = $value; } } if ($auth_line != '') { // on récupère les informations du header $pattern = 'Username="******", PasswordDigest="(.+)",'; $pattern .= ' Nonce="(.+)", Created="(.+)"'; if (ereg($pattern, $auth_line, $regs)) { $marker = new BlogMarks_Marker(); echo "authentifie ...\n"; $auth_str = $marker->authenticate($regs[1], $regs[2], $regs[3], $regs[4]); if (Blogmarks::isError($auth_str)) { echo "Error :" . $auth_str->getMessage() . "\n"; } $arg['auth_str'] = $auth_str; } else { return BlogMarks::raiseError("Erreur à la ligne X-WSSE : {$pattern} ne vérfifie pas {$auth_line}", 400); } } // passe au filtre suivant if ($this->_hasChild) { $tmp =& $this->_childFilter; return $tmp->execute($arg); } }
/** Parse un document XML décrivant un Tag et renvoit un tableau de valeurs. */ function parseAtom($buffer) { $props = array(); // on construit le DOM à partir du flux XML if (!($dom = domxml_open_mem($buffer))) { return BlogMarks::raiseError('Impossible de créer le document DOM', 500); } // récupère l'élément racine (tag) $root = $dom->document_element(); // enregistre la langue du tag $props['lang'] = $root->get_attribute('lang'); // enregistre le titre du tag $title = $root->get_elements_by_tagname('title'); $props['title'] = $title[0]->get_content(); // enregistre la description du tag $summary = $root->get_elements_by_tagname('summary'); $props['summary'] = $summary[0]->get_content(); // enregistre le nom du tag parent $subTagOf = $root->get_elements_by_tagname('subTagOf'); if (!($subTagOf = array())) { $props['subTagOf'] = $subTagOf[0]->get_content(); } return $props; }