Merge branch 'develop' of github.com:invoiceninja/invoiceninja into develop

This commit is contained in:
Hillel Coren 2017-01-10 12:25:35 +02:00
commit 511375ba45
5 changed files with 29 additions and 21 deletions

View File

@ -31,6 +31,9 @@ PHANTOMJS_CLOUD_KEY='a-demo-key-with-low-quota-per-ip-address'
LOG=single LOG=single
REQUIRE_HTTPS=false REQUIRE_HTTPS=false
API_SECRET=password API_SECRET=password
IOS_DEVICE=
ANDROID_DEVICE=
FCM_API_TOKEN=
#TRUSTED_PROXIES= #TRUSTED_PROXIES=

View File

@ -3,6 +3,7 @@
namespace App\Ninja\Notifications; namespace App\Ninja\Notifications;
use Davibennun\LaravelPushNotification\Facades\PushNotification; use Davibennun\LaravelPushNotification\Facades\PushNotification;
use Illuminate\Support\Facades\Log;
/** /**
* Class PushFactory * Class PushFactory
@ -15,7 +16,6 @@ class PushFactory
*/ */
public function __construct() public function __construct()
{ {
$this->certificate = IOS_PUSH_CERTIFICATE;
} }
/** /**
@ -28,14 +28,15 @@ class PushFactory
* @param $token * @param $token
* @param $message * @param $message
* @param $messageArray * @param $messageArray
* @param string $device - Type of device the message is being pushed to.
* *
* @return void * @return void
*/ */
public function customMessage($token, $message, $messageArray) public function customMessage($token, $message, $messageArray, $device)
{ {
$customMessage = PushNotification::Message($message, $messageArray); $customMessage = PushNotification::Message($message, $messageArray);
$this->message($token, $customMessage); $this->message($token, $customMessage, $device);
} }
/** /**
@ -51,12 +52,18 @@ class PushFactory
* @return void * @return void
*/ */
public function message($token, $message) public function message($token, $message, $device)
{ {
PushNotification::app($this->certificate) try {
PushNotification::app($device)
->to($token) ->to($token)
->send($message); ->send($message);
} }
catch(\Exception $e) {
Log::error($e->getMessage());
}
}
/** /**
* getFeedback function * getFeedback function
@ -69,13 +76,13 @@ class PushFactory
* *
* @param string $token - A valid token (can be any valid token) * @param string $token - A valid token (can be any valid token)
* @param string $message - Nil value for message * @param string $message - Nil value for message
* * @param string $device - Type of device the message is being pushed to.
* @return array * @return array
*/ */
public function getFeedback($token, $message = '') public function getFeedback($token, $message = '', $device)
{ {
$feedback = PushNotification::app($this->certificate) $feedback = PushNotification::app($device)
->to($token) ->to($token)
->send($message); ->send($message);

View File

@ -30,10 +30,6 @@ class PushService
*/ */
public function sendNotification(Invoice $invoice, $type) public function sendNotification(Invoice $invoice, $type)
{ {
if (! IOS_PUSH_CERTIFICATE) {
return;
}
//check user has registered for push notifications //check user has registered for push notifications
if(!$this->checkDeviceExists($invoice->account)) if(!$this->checkDeviceExists($invoice->account))
return; return;
@ -43,8 +39,10 @@ class PushService
foreach($devices as $device) foreach($devices as $device)
{ {
if(($device["notify_{$type}"] == TRUE) && ($device['device'] == 'ios')) if(($device["notify_{$type}"] == TRUE) && ($device['device'] == 'ios') && IOS_DEVICE)
$this->pushMessage($invoice, $device['token'], $type); $this->pushMessage($invoice, $device['token'], $type, IOS_DEVICE);
elseif(($device["notify_{$type}"] == TRUE) && ($device['device'] == 'fcm') && ANDROID_DEVICE)
$this->pushMessage($invoice, $device['token'], $type, ANDROID_DEVICE);
} }
} }
@ -57,9 +55,9 @@ class PushService
* @param $token * @param $token
* @param $type * @param $type
*/ */
private function pushMessage(Invoice $invoice, $token, $type) private function pushMessage(Invoice $invoice, $token, $type, $device)
{ {
$this->pushFactory->message($token, $this->messageType($invoice, $type)); $this->pushFactory->message($token, $this->messageType($invoice, $type), $device);
} }
/** /**

View File

@ -16,7 +16,7 @@
"php": ">=5.5.9", "php": ">=5.5.9",
"ext-gmp": "*", "ext-gmp": "*",
"ext-gd": "*", "ext-gd": "*",
"turbo124/laravel-push-notification": "dev-laravel5", "turbo124/laravel-push-notification": "2.*",
"omnipay/mollie": "dev-master#22956c1a62a9662afa5f5d119723b413770ac525", "omnipay/mollie": "dev-master#22956c1a62a9662afa5f5d119723b413770ac525",
"omnipay/2checkout": "dev-master#e9c079c2dde0d7ba461903b3b7bd5caf6dee1248", "omnipay/2checkout": "dev-master#e9c079c2dde0d7ba461903b3b7bd5caf6dee1248",
"omnipay/gocardless": "dev-master", "omnipay/gocardless": "dev-master",

View File

@ -16,8 +16,8 @@ return [
], ],
'ninjaAndroid' => [ 'ninjaAndroid' => [
'environment' =>'production', 'environment' =>'production',
'apiKey' =>'yourAPIKey', 'apiKey' =>env('FCM_API_TOKEN'),
'service' =>'gcm' 'service' =>'fcm'
] ]
]; ];