示例#1
0
 /**
  * @param \CentralNews\Entity\Order[] $orders
  * @param \CentralNews\Entity\ISubscriberGroup $group
  * @return bool
  * @throws \CentralNews\Exception\InvalidArgumentException
  */
 public function importOrders(array $orders, ISubscriberGroup $group)
 {
     if (!$group->getId()) {
         throw new InvalidArgumentException('Invalid Group ID');
     }
     $xmlOrders = $this->createOrdersXml($orders);
     $data = array('group_id' => $group->getId(), 'orders' => base64_encode($xmlOrders));
     $request = new \CentralNews\Service\Request('import_orders', $data, '', '');
     $response = $this->sendRequest($request);
     $this->onImportedOrders($this, $response);
     return $response->isSuccess();
 }
 /**
  * @param \CentralNews\Service\Subscriber $subscriber
  * @return string|false
  */
 protected function createXmlSubscribers(array $subscribers, ISubscriberGroup $group, array $options)
 {
     $xml = new \XMLWriter();
     $xml->openMemory();
     $xml->startDocument('1.0', 'UTF-8');
     $xml->startElement("subscribers");
     $xml->writeAttribute('enable_update', isset($options['enable_update']) ? (bool) $options['enable_update'] : TRUE);
     if ($group instanceof BaseSubscriberGroup && !$group->getId() && $group->getName()) {
         $xml->writeAttribute('subscriber_group_name', $group->getName());
     }
     foreach ($subscribers as $subscriber) {
         $xml->startElement("subscriber");
         $xml->writeAttribute('email', $subscriber->getEmail());
         $xml->writeAttribute('firstname', $subscriber->getFirstname());
         $xml->writeAttribute('surname', $subscriber->getSurname());
         $xml->writeAttribute('city', $subscriber->getCity());
         $xml->writeAttribute('address', $subscriber->getAddress());
         $xml->writeAttribute('zip_code', $subscriber->getZipCode());
         $xml->writeAttribute('company', $subscriber->getCompany());
         $xml->writeAttribute('status_activity', $subscriber->getStatus());
         $xml->writeAttribute('status_activity_rewrite', $subscriber->getStatusActivityRewrite());
         $xml->endElement();
     }
     $xml->endElement();
     return $xml->flush();
 }