コード例 #1
0
 public function indexAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $storage = Doctrine_Core::getTable('Zfplanet_Model_Subscription');
     $callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback();
     $callback->setStorage($storage);
     $callback->setSubscriptionKey($this->_getParam('subscriptionKey'));
     $callback->handle();
     if ($callback->hasFeedUpdate()) {
         $data = $callback->getFeedUpdate();
         $key = md5($data);
         file_put_contents(APPLICATION_PATH . '/../data/tmp/' . $key, $data);
         $this->_helper->getHelper('Spawn')->setScriptPath(APPLICATION_PATH . '/../scripts/zf-cli');
         $this->_helper->spawn(array('--key' => $key), 'process', 'callback');
     }
     $callback->sendResponse();
 }
コード例 #2
0
 public function indexAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $storage = new Zend_Feed_Pubsubhubbub_Storage_Filesystem();
     $storage->setDirectory(APPLICATION_ROOT . '/store/subscriptions');
     $callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback();
     $callback->setStorage($storage);
     /**
      * At time of writing, no fully PuSH 0.2 compatible Hubs exist
      * so we must detect the expected verify token (if used) and set
      * it explicitly. This is used by all callback requests and is set
      * when subscribing.
      */
     $callback->setVerifyToken($this->_getParam('subkey'));
     $callback->handle();
     /**
      * Check if a feed update was received and process it
      * asynchronously. Note: Asynchronous processing should be
      * utilised since a Hub might timeout very quickly if the
      * processing time exceeds its timeout setting (including
      * network latency).
      */
     if ($callback->hasFeedUpdate()) {
         $data = $callback->getFeedUpdate();
         $key = md5($data);
         file_put_contents(APPLICATION_ROOT . '/store/updates/' . $key, $data);
         $this->_helper->getHelper('Spawn')->setScriptPath(APPLICATION_ROOT . '/scripts/zfrun.php');
         $this->_helper->spawn(array('--key' => $key), 'process', 'callback');
     }
     file_put_contents(APPLICATION_ROOT . '/log/' . microtime(true), print_r($callback->getHttpResponse(), true));
     /**
      * Send final response to Client
      */
     $callback->sendResponse();
 }
コード例 #3
0
ファイル: callback.php プロジェクト: vijo/rss2twi.php
<?php

$_SERVER['HTTP_HOST'] = 'v1.chregu.tv';
define("R2T_PROJECT_DIR", dirname(__FILE__));
ini_set("include_path", R2T_PROJECT_DIR . "/inc/:/var/www/zf-trunk/:" . ini_get("include_path"));
require_once "Zend/Feed/Pubsubhubbub/Storage/Filesystem.php";
$storage = new Zend_Feed_Pubsubhubbub_Storage_Filesystem();
$storage->setDirectory(R2T_PROJECT_DIR . "/tmp");
require_once "Zend/Feed/Pubsubhubbub/Subscriber/Callback.php";
$callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback();
$callback->setStorage($storage);
$token = substr($_SERVER['PATH_INFO'], 1);
$callback->setSubscriptionKey($token);
$callback->handle();
if ($callback->hasFeedUpdate() || isset($_GET['doit'])) {
    $data = $callback->getFeedUpdate();
    $key = md5($data);
    file_put_contents(R2T_PROJECT_DIR . '/tmp/updates/' . $key, $data);
    $command = "/usr/bin/php  /home/chregu/rss2twi.php/rss2twitter.php";
    $pcommand = $command . ' > /dev/null &';
    pclose(popen($pcommand, 'r'));
    /*  $this->_helper->getHelper('Spawn')
        ->setScriptPath(APPLICATION_ROOT . '/scripts/zfrun.php');
        $this->_helper->spawn(
        array('--key'=>$key), 'process', 'callback'
        );*/
}
$callback->sendResponse();