public function getDataForCall()
 {
     $payload = [];
     if ($this->typeAttachment == self::ATTACHMENT_TYPE_IMAGE) {
         if (isset($this->data['url'])) {
             $payload['url'] = $this->data['url'];
         }
     } else {
         $payload['template_type'] = $this->typePayolad;
     }
     switch ($this->typePayolad) {
         case self::TEMPLATE_PAYLOAD_TYPE_BUTTON:
             $payload['text'] = $this->data['text'];
             $buttons = [];
             foreach ($this->data['buttons'] as $button) {
                 $buttons[] = $button->getDataForCall();
             }
             $payload['buttons'] = $buttons;
             break;
         default:
             if ($this->typeAttachment != self::ATTACHMENT_TYPE_IMAGE) {
                 $payloadData = null;
                 if (is_array($this->data)) {
                     foreach ($this->data as $data) {
                         $payloadData[] = $data->getDataForCall();
                     }
                     $payload = array_replace($payload, ['elements' => $payloadData]);
                 } else {
                     $payload = array_replace($payload, $this->data->getDataForCall());
                 }
             }
             break;
     }
     $this->messageTemplate = ['attachment' => ['type' => $this->typeAttachment, 'payload' => $payload]];
     return parent::getDataForCall();
 }
Пример #2
0
     $file_size = 0;
     // echo "Size of files: " . sizeof($files['files'][array_keys($files['files'])[0]]) . "\r\n";
     for ($i = 0; $i < sizeof($files['files'][array_keys($files['files'])[0]]); $i++) {
         $f = null;
         foreach ($files['files'] as $key => $value) {
             $f[$key] = $value[$i];
         }
         $file[$i] = $f;
         $file_size += $f['size'];
     }
     // print_r($files['files']['size']);
     // echo "Total file size: " . $file_size . "\r\n";
     // print_r($file);
 }
 // error_reporting(0);
 $message = new MessageSend($post);
 if (sizeof($files) > 0) {
     $message->setAttachments($file);
 }
 try {
     // The message needs to be encoded in Base64URL
     // $mime = rtrim(strtr(base64_encode($message->formatMessage()), '+/', '-_'), '=');
     // $msg = new Google_Service_Gmail_Message();
     // $msg->setRaw($mime);
     // $msg->setRaw($message->formatMessage());
     // echo $mime . "\r\n";
     // $msg->setThreadId('15231854c99addab');
     // echo "\n\r" . strlen($msg->getPayload()) . " - " . strlen($mime) . "\n\r";
     // $objSentMsg = $service->users_messages->send($userId, $msg);
     // $objSentMsg = $service->users_messages->send($userId, $msg, ['uploadType' => 'multipart']);
     // print('Message sent object');
 public function __construct($recipient, $textMessage, $data, $notificationType = self::NOTIFICATION_TYPE_REGULAR)
 {
     parent::__construct($recipient, $textMessage, $notificationType);
     $this->replies = $data;
 }