all repos — nasg @ 55cc0f3307c703746a782e4bf69a141fa903c8e7

templates/Webhook.j2.php (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
<?php

$raw = file_get_contents("php://input");
try {
  $payload = json_decode($raw, TRUE);
} catch (Exception $e) {
    header('HTTP/1.1 422 Unprocessable Entity');
    die('Unprocessable Entity');
}

if(! isset($payload['secret']) || $payload['secret'] != '{{ callback_secret }}' ) {
    header('HTTP/1.1 400 Bad Request');
    die('Bad Request');
}

$msg = sprintf('
Type: %s
Source: %s
Target: %s
From: %s

%s
',
$payload['post']['wm-property'],
$payload['source'],
$payload['target'],
$payload['post']['author']['name'],
$payload['post']['content']['text']
);


mail("{{ author.email }}", "[webmention] {$payload['source']}", $msg);
header('HTTP/1.1 202 Accepted');