如何在不发送且仅接收时修复推入式触发器:CakePHP

时间:2019-04-02 02:14:07

标签: cakephp pusher

我正在使用Pusher设置实时通知。我已经在cloud9 IDE的测试环境中使它正常工作。最终,当在LIVE FTP上上传Pusher Notification时,它不起作用。我尝试在本地IDE中触发事件,并且LIVE系统也收到了通知。

我不知道我是否遗漏了要上传的文件,或者我配置错误,还是服务器问题。

这是现有代码:
-header.ctp

<!--REAL TIME NOTIF REQUIREMENT-->
<script src="https://js.pusher.com/4.4/pusher.min.js"></script>

<script>
var pusher = new Pusher('xxxxxxxx', {
  cluster: 'ap1',
  forceTLS: true
});

var role='<?php echo $userRole; ?>';

var channel = pusher.subscribe('quotestat');
channel.bind('updated', function(data) {
    if(role=='customer_service_head' ) {
            // ADD VALIDATION HERE
            shownotif();
        } else if(role=='proprietor') {
            shownotif();
        }
    }

    function shownotif() {
        $.niftyNoty({
            type: 'dark',
            title: data['name'],
            message: data['message'],
            container: 'floating',
            // timer: 5000 //UNCOMMENT THIS IF YOU WANT THE NOTIF TO DISMISS AFTER 5 SECONDS
        });
    }
});
</script>


-AppController.php

require_once(ROOT . DS . 'app' . DS .'Vendor' . DS  . 'autoload.php');

class AppController extends Controller {
     public function livenotif($datalive) {
        echo '<br/>EXECUTING...';
    $options = array(
    'cluster' => 'ap1',
    'useTLS' => true
    );
    $pusher = new Pusher\Pusher(
    'xxxxxxxxxxxx',
    'xxxxxxxxxxxx',
    'xxxxx',
    $options
    );
        $pusher->trigger('quotestat', 'updated', $datalive);
    }
}


-HomeController.php

$datalive['user_id']=$user_id;
$datalive['name']=ucwords(strtolower($name));
$datalive['message']=$message;
$this->livenotif($datalive);

在本地,此代码有效。所以我不明白为什么它不在LIVE上。

0 个答案:

没有答案