// Based on https://github.com/indieweb/mention-client-php
// which is licensed Apache 2.0
- function getWebmention($result) {
+ function getWebmention(Auth_Yadis_HTTPFetcher $result) {
- // XXX: the fetcher only gives back one of each header, so this may fail on multiple Link headers
- if(preg_match('~<((?:https?://)?[^>]+)>; rel="webmention"~', $result->headers['Link'], $match)) {
- return $match[1];
- } elseif(preg_match('~<((?:https?://)?[^>]+)>; rel="http://webmention.org/?"~', $result->headers['Link'], $match)) {
- return $match[1];
+ if (isset($result->headers['Link'])) {
+ // XXX: the fetcher only gives back one of each header, so this may fail on multiple Link headers
+ if(preg_match('~<((?:https?://)?[^>]+)>; rel="webmention"~', $result->headers['Link'], $match)) {
+ return $match[1];
+ } elseif(preg_match('~<((?:https?://)?[^>]+)>; rel="http://webmention.org/?"~', $result->headers['Link'], $match)) {
+ return $match[1];
+ }
}
+ // FIXME: Do proper DOM traversal
if(preg_match('/<(?:link|a)[ ]+href="([^"]+)"[ ]+rel="[^" ]* ?webmention ?[^" ]*"[ ]*\/?>/i', $result->body, $match)
|| preg_match('/<(?:link|a)[ ]+rel="[^" ]* ?webmention ?[^" ]*"[ ]+href="([^"]+)"[ ]*\/?>/i', $result->body, $match)) {
return $match[1];
fi
DIR=`dirname $0`
- DAEMONS=`$DIR/getvaliddaemons.php $ARGSG`
-DAEMONS=`php $DIR/getvaliddaemons.php $ARGSG`
++DAEMONS=`$DIR/getvaliddaemons.php $ARGSG 2>/dev/null | grep -v "FUSE_EDEADLK"`
++
++echo "DAEMONS='${DAEMONS}'"
for f in $DAEMONS; do
-- echo "Starting $f..."
-- php $f $ARGSD
++ echo "Starting '$f' ..."
++ php $f $ARGSD 2>/dev/null | grep -v "FUSE_EDEADLK"
echo "DONE."
done
fi
SDIR=`dirname $0`
- DIR=`$SDIR/getpiddir.php $SITE`
-DIR=`php $SDIR/getpiddir.php $SITE`
++DIR=`$SDIR/getpiddir.php $SITE 2>/dev/null | grep -v "FUSE_EDEADLK"`
- DAEMONS=`$SDIR/getvaliddaemons.php $ARGSG`
-DAEMONS=`php $SDIR/getvaliddaemons.php $ARGSG`
++DAEMONS=`$SDIR/getvaliddaemons.php $ARGSG 2>/dev/null | grep -v "FUSE_EDEADLK"`
for f in $DAEMONS; do
f=$(basename $f .php)
PID=`cat $ff 2>/dev/null`
if [ -n "$PID" ] ; then
-- echo -n "Stopping $f ($PID)..."
++ echo -n "Stopping '$f' ($PID)..."
if kill -3 $PID 2>/dev/null ; then
count=0
while kill -0 $PID 2>/dev/null ; do