PHP Classes

File: receive.php

Recommend this page to a friend!
  Classes of Chun-Sheng, Li   PHP Social Network Sync   receive.php   Download  
File: receive.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Social Network Sync
Synchronize post feeds between social networks
Author: By
Last change:
Date: 1 year ago
Size: 2,404 bytes
 

Contents

Class file image Download
<?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();
}