/**
  * Decorates a cell which contains an Advertisement object
  * @param zibo\library\html\table\Cell $cell
  * @param zibo\library\html\table\Row $row
  * @param int $rowNumber
  * @param array $remainingValues
  * @return null
  */
 public function decorate(Cell $cell, Row $row, $rowNumber, array $remainingValues)
 {
     $advertisement = $cell->getValue();
     if (!$advertisement instanceof AdvertisementData) {
         return;
     }
     $cell->appendToClass('advertisement');
     try {
         $image = new Image($advertisement->image);
         $image->appendToClass('data');
         $image->setThumbnailer('crop', 50, 50);
         $value = $image->getHtml();
     } catch (Exception $e) {
         $value = 'Could not load image: ' . $e->getMessage();
     }
     $anchor = new Anchor($advertisement->name, $this->action . $advertisement->id);
     $value .= $anchor->getHtml();
     if (!$advertisement->clicks) {
         $advertisement->clicks = '0';
     }
     $translateParams = array('from' => $this->locale->formatDate($advertisement->dateStart), 'till' => $this->locale->formatDate($advertisement->dateStop), 'clicks' => $advertisement->clicks);
     $value .= '<div class="info">';
     $value .= $advertisement->website . '<br />';
     $value .= $this->translator->translate(self::TRANSLATION_DISPLAY, $translateParams) . '<br />';
     $value .= $this->translator->translate(self::TRANSLATION_CLICKS, $translateParams);
     $value .= '</div>';
     $cell->setValue($value);
 }
 /**
  * Decorates the cell with a order handle for the category
  * @param zibo\library\html\table\Cell $cell
  * @param zibo\library\html\table\Row $row
  * @param integer $rowNumber
  * @param array $remainingValues
  * @return null
  */
 public function decorate(Cell $cell, Row $row, $rowNumber, array $remainingValues)
 {
     $data = $cell->getValue();
     $row->setId('data_' . $data->id);
     $cell->appendToClass('action');
     $image = new Image(self::IMAGE_HANDLE);
     $image->appendToClass('handle');
     $cell->setValue($image->getHtml());
 }
 /**
  * Decorates the cell
  * @param zibo\library\html\table\Cell $cell Cell of the value to decorate
  * @param zibo\library\html\table\Row $row Row containing the cell
  * @param int $rowNumber Number of the current row
  * @param array $remainingValues Array containing the values of the remaining rows of the table
  * @return null
  */
 public function decorate(Cell $cell, Row $row, $rowNumber, array $remainingValues)
 {
     $field = $cell->getValue();
     if (!$field instanceof ModelField) {
         return;
     }
     $row->setId('field_' . $field->getName());
     $cell->appendToClass('action');
     $image = new Image(self::IMAGE_HANDLE);
     $image->appendToClass('handle');
     $cell->setValue($image->getHtml());
 }
 /**
  * Gets the HTML for the image of the data
  * @param mixed $data
  * @return string
  */
 private function getImageHtml($data)
 {
     $modelTable = $this->meta->getModelTable();
     if (!$modelTable->hasDataFormat(DataFormatter::FORMAT_IMAGE)) {
         return '';
     }
     $image = $this->meta->formatData($data, DataFormatter::FORMAT_IMAGE);
     if ($image) {
         $image = new Image($image);
     } else {
         $image = new Image($this->defaultImage);
     }
     $image->setThumbnailer('crop', 50, 50);
     $image->appendToClass(self::STYLE_IMAGE);
     return $image->getHtml();
 }