public function __construct($data, DrPublishApiClient $dpClient)
 {
     $this->data = $data;
     $this->dpClient = $dpClient;
     $this->setMedium($dpClient->getMedium());
     $this->buildArticleXmlContentElements();
     self::$imagePublishUrl = $this->data->service->imagePublishUrl;
     self::$imageServiceUrl = $this->data->service->imageServiceUrl;
 }
 protected function readConfigs()
 {
     if (self::$configs !== null) {
         return;
     }
     $configs = array();
     $dir = dirname(__FILE__);
     require $dir . '/../config.default.php';
     if (file_exists($dir . '/../config.php')) {
         $tmpConfigs = $configs;
         require $dir . '/../config.php';
         $configs = array_merge($tmpConfigs, $configs);
     }
     self::$configs = $configs;
 }
 public function resize($type)
 {
     $currentSrc = $this->getAttribute('src');
     try {
         $properties = DrPublishApiClient::resizeImage($currentSrc, $type, DrPublishApiClientArticle::getImageServiceUrl(), DrPublishApiClientArticle::getImagePublishUrl());
     } catch (DrPublishApiClientException $e) {
         throw $e;
     }
     $this->setAttribute('src', $properties['src']);
     if (array_key_exists('width', $properties)) {
         $this->setAttribute('width', $properties['width']);
     }
     if (array_key_exists('height', $properties)) {
         $this->setAttribute('height', $properties['height']);
     }
     return $this;
 }
 public function __construct($url, $publicationName)
 {
     parent::__construct($url, $publicationName);
     $this->setMedium('web');
 }
 public function getParent(DrPublishApiClient $dpClient)
 {
     return $dpClient->getCategory($this->parentId);
 }