<?php
/*
* This is the program to receive the mail via MailGun routes
*/
require_once __DIR__.'/src/autoloader.php';
use peter\social\PostFeed;
header("Content-type: text/plain");
$mailGun = parse_ini_file(__DIR__.'/api-key.ini');
$apiKey = $mailGun['api_key'];
$sender = $mailGun['sender'];
$from = $mailGun['sandbox_address'];
$event = null;
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$isSender = (isset($_POST['sender']) ? $_POST['sender']:'') === $sender;
$isFrom = (isset($_POST['recipient']) ? $_POST['recipient']:'') === $from;
if(!$isSender && !$isFrom) {
echo 'The sender and from email address is invalid!';
exit;
}
} else {
echo 'We do not accept this request method!';
exit;
}
$bodyPlain = isset($_POST['body-plain']) ? $_POST['body-plain']:'';
$bodyPlain = str_replace('\r\n', PHP_EOL, $bodyPlain);
if($bodyPlain == '') {
echo 'the message body is plain.';
exit;
}
$iniList = parse_ini_string($bodyPlain, true);
$facebook = $iniList['facebook']['post'];
$twitter = $iniList['twitter']['post'];
$plurk = $iniList['plurk']['post'];
$message = $iniList['feed']['content'];
$link = $iniList['feed']['link'];
// parse the api-key.ini file to get the socail website credentials.
$apiKey = parse_ini_file('./api-key.ini', true);
// sync and post feed to Twitter, Facebook and Plurk.
$feed = new PostFeed();
$feed->setMessage($message);
$feed->setLink($link);
// Facebook
if($facebook === 'yes') {
$serviceName = 'Facebook';
foreach($apiKey[$serviceName] as $key => $value) {
$feed->setSettings($key, $value);
}
$feed->setServiceName($serviceName);
$feed->postFeed();
$httpCode = $feed->getHttpStatusCode();
$responseMsg = $feed->getResponseMessage();
}
// Twitter
if($twitter === 'yes') {
$serviceName = 'Twitter';
foreach($apiKey[$serviceName] as $key => $value) {
$feed->setSettings($key, $value);
}
$feed->setServiceName($serviceName);
$feed->postFeed();
$httpCode = $feed->getHttpStatusCode();
$responseMsg = $feed->getResponseMessage();
}
// Plurk
if($plurk === 'yes') {
$serviceName = 'Plurk';
foreach($apiKey[$serviceName] as $key => $value) {
$feed->setSettings($key, $value);
}
$feed->setServiceName($serviceName);
$feed->postFeed();
$httpCode = $feed->getHttpStatusCode();
$responseMsg = $feed->getResponseMessage();
}
|