Proyectos de Subversion LeadersLinked - Services

Rev

Rev 321 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 321 Rev 345
Línea 1... Línea 1...
1
<?php
1
<?php
2
 
-
 
3
declare(strict_types=1);
2
declare(strict_types = 1);
4
 
-
 
5
namespace LeadersLinked\Command;
3
namespace LeadersLinked\Command;
Línea 6... Línea 4...
6
 
4
 
7
use Symfony\Component\Console\Command\Command;
5
use Symfony\Component\Console\Command\Command;
8
use Symfony\Component\Console\Input\InputInterface;
6
use Symfony\Component\Console\Input\InputInterface;
9
use Symfony\Component\Console\Output\OutputInterface;
7
use Symfony\Component\Console\Output\OutputInterface;
10
use Laminas\Db\Adapter\AdapterInterface;
8
use Laminas\Db\Adapter\AdapterInterface;
11
use Laminas\Log\LoggerInterface;
9
use Laminas\Log\LoggerInterface;
12
use Laminas\Mvc\I18n\Translator;
10
use Laminas\Mvc\I18n\Translator;
Línea 13... Línea -...
13
use LeadersLinked\Cache\CacheInterface;
-
 
14
 
11
use LeadersLinked\Cache\CacheInterface;
15
 
12
 
-
 
13
class TestSendPushCommand extends Command
16
class TestSendPushCommand extends Command
14
{
17
{
15
 
18
    /**
16
    /**
19
     *
17
     *
20
     * @var \Laminas\Db\Adapter\AdapterInterface
18
     * @var \Laminas\Db\Adapter\AdapterInterface
21
     */
19
     */
22
    private $adapter;
20
    private $adapter;
23
    
21
 
24
    /**
22
    /**
25
     *
23
     *
26
     * @var \LeadersLinked\Cache\CacheInterface
24
     * @var \LeadersLinked\Cache\CacheInterface
27
     */
-
 
28
    private $cache;
25
     */
29
    
26
    private $cache;
30
    
27
 
31
    /**
28
    /**
32
     *
29
     *
33
     * @var \Laminas\Log\LoggerInterface
30
     * @var \Laminas\Log\LoggerInterface
34
     */
31
     */
35
    private $logger;
32
    private $logger;
36
    
33
 
37
    /**
34
    /**
38
     *
35
     *
39
     * @var array
36
     * @var array
40
     */
-
 
41
    private $config;
37
     */
42
    
38
    private $config;
43
    
39
 
44
    /**
40
    /**
45
     *
41
     *
46
     * @var \Laminas\Mvc\I18n\Translator
42
     * @var \Laminas\Mvc\I18n\Translator
47
     */
-
 
48
    private $translator;
43
     */
49
    
44
    private $translator;
50
    
45
 
51
    /**
46
    /**
52
     *
47
     *
-
 
48
     * @param \Laminas\Db\Adapter\AdapterInterface $adapter
53
     * @param \Laminas\Db\Adapter\AdapterInterface $adapter
49
     * @param \LeadersLinked\Cache\CacheInterface $cache
54
     * @param \LeadersLinked\Cache\CacheInterface $cache
50
     * @param
55
     * @param \Laminas\Log\LoggerInterface
51
     *            \Laminas\Log\LoggerInterface
56
     * @param array $config
52
     * @param array $config
57
     * @param \Laminas\Mvc\I18n\Translator $translator
53
     * @param \Laminas\Mvc\I18n\Translator $translator
58
     */
54
     */
59
    public function __construct($adapter, $cache, $logger, $config, $translator)
55
    public function __construct($adapter, $cache, $logger, $config, $translator)
60
    {
56
    {
61
        $this->adapter      = $adapter;
57
        $this->adapter = $adapter;
62
        $this->cache        = $cache;
58
        $this->cache = $cache;
63
        $this->logger       = $logger;
59
        $this->logger = $logger;
64
        $this->config       = $config;
60
        $this->config = $config;
65
        $this->translator   = $translator;
61
        $this->translator = $translator;
66
        
62
 
Línea 67... Línea -...
67
        parent::__construct();
-
 
68
    }
63
        parent::__construct();
69
 
64
    }
70
    
65
 
71
    protected function execute(InputInterface $input, OutputInterface $output) : int
-
 
72
    {
66
    protected function execute(InputInterface $input, OutputInterface $output): int
73
        $output->writeln('Inicio del proceso');
67
    {
74
        
68
        $output->writeln('Inicio del proceso');
75
        
69
 
76
        $dirname = dirname(dirname(dirname(dirname(__DIR__))));
70
        $dirname = dirname(dirname(dirname(dirname(__DIR__))));
Línea 77... Línea 71...
77
        $filename = $dirname  . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR .  'google' . DIRECTORY_SEPARATOR . 'push-leaderslinked' . DIRECTORY_SEPARATOR .  'leaderlinked-1553079536948-firebase-adminsdk-1aahc-eecc297707.json';
71
        $filename = $dirname . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'google' . DIRECTORY_SEPARATOR . 'push-leaderslinked' . DIRECTORY_SEPARATOR . 'leaderlinked-1553079536948-firebase-adminsdk-1aahc-eecc297707.json';
78
        
72
 
79
        putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $filename);
73
        putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $filename);
80
 
74
 
81
        $client= new \Google_Client();
75
        $client = new \Google_Client();
82
        $client->useApplicationDefaultCredentials();
-
 
83
        $client->addScope('https://www.googleapis.com/auth/firebase.messaging');
76
        $client->useApplicationDefaultCredentials();
84
        $client->fetchAccessTokenWithAssertion();
77
        $client->addScope('https://www.googleapis.com/auth/firebase.messaging');
85
        $token = $client->getAccessToken();
78
        $client->fetchAccessTokenWithAssertion();
86
        
79
        $token = $client->getAccessToken();
87
        
80
 
88
        $accessToken    = $token['access_token'];
81
        $accessToken = $token['access_token'];
89
        $devicesToken    = [
82
        $devicesToken = [
90
            'eJmAgQ0uSBqMvK5kyknWzs:APA91bGeJyEerjZX3jX5Ntl8CfaynmTRuZ2h3TPs2MYlpSAuBiR8lUUdosGtc54ZYvtTutZqeL07l4uZZrpy9QRc8k6zIzch-I2Ug1oE0smpF8MtuV4EJYk',
83
            'eJmAgQ0uSBqMvK5kyknWzs:APA91bGeJyEerjZX3jX5Ntl8CfaynmTRuZ2h3TPs2MYlpSAuBiR8lUUdosGtc54ZYvtTutZqeL07l4uZZrpy9QRc8k6zIzch-I2Ug1oE0smpF8MtuV4EJYk'
91
           // 'fykf2Hx8QEiog4ZjiNvslh:APA91bFXE8zKW7yKdIzygEYYdyS9b6rCMI0ZKoJrs5JmA6GUhmHS0ccxCTqX3hjUThddSVR7GvCucogRUl7NLhEAjvs7Sg4sbBCr-PyyIk9g6gF2OhiwdYC8LmOSLVq18QtoBba6MWvs'
84
            // 'fykf2Hx8QEiog4ZjiNvslh:APA91bFXE8zKW7yKdIzygEYYdyS9b6rCMI0ZKoJrs5JmA6GUhmHS0ccxCTqX3hjUThddSVR7GvCucogRUl7NLhEAjvs7Sg4sbBCr-PyyIk9g6gF2OhiwdYC8LmOSLVq18QtoBba6MWvs'
92
        ];
85
        ];
93
        
86
 
Línea 94... Línea 87...
94
        $headers = [
87
        $headers = [
95
            'Authorization: Bearer ' . $accessToken,
-
 
96
            'Content-Type: application/json'
88
            'Authorization: Bearer ' . $accessToken,
97
        ];
89
            'Content-Type: application/json'
98
 
90
        ];
99
        foreach( $devicesToken as $deviceToken)
91
 
100
        {
92
        foreach ($devicesToken as $deviceToken) {
101
            $fields = [
93
            $fields = [
102
                'message' => [
94
                'message' => [
103
                    'token' => $deviceToken,
95
                    'token' => $deviceToken,
104
                    'notification' => [
96
                    'notification' => [
105
                        'body' => 'Body de Prueba 2 ',
97
                        'body' => 'Body de Prueba 2 ',
106
                        'title' => 'Titulo de Prueba 2',
98
                        'title' => 'Titulo de Prueba 2'
107
                        //'url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212',
99
                        // 'url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212',
108
                        //'vibrate' => 1,
100
                        // 'vibrate' => 1,
109
                       // 'sound' => 1
-
 
110
                    ],
-
 
111
                    'data' => [
101
                        // 'sound' => 1
112
                        'url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212',
102
                    ],
113
                    ],
-
 
114
                 
103
                    'data' => [
115
                   
-
 
116
                ],    
-
 
117
            ];
-
 
118
            
-
 
119
     
104
                        'url' => 'https://dev-spa.leaderslinked.com/post/ed807f52-b418-4fd4-ba70-068604540212'
120
            
105
                    ]
121
            
106
                ]
122
            
107
            ];
123
            
108
 
124
            $ch = curl_init();
109
            $ch = curl_init();
125
            curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/v1/projects/leaderlinked-1553079536948/messages:send' );
110
            curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/v1/projects/leaderlinked-1553079536948/messages:send');
126
            curl_setopt( $ch,CURLOPT_POST, true );
111
            curl_setopt($ch, CURLOPT_POST, true);
127
            curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
112
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
128
            curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
113
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
129
            curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
-
 
130
            curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
114
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
131
            $result = curl_exec($ch );
115
            curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
Línea 132... Línea 116...
132
            curl_close( $ch );
116
            $result = curl_exec($ch);
133
            
-
 
134
            
117
            curl_close($ch);
135
            print_r($result);
-
 
136
        }
118
 
137
 
119
            print_r($result);
138
        $output->writeln('Fin del proceso');
-
 
139
        
-
 
140
      
-
 
141
        
120
        }
142
        return 0;
121