/**
  * @param $language
  * @return string
  */
 public function getLabel($language)
 {
     if (strpos($this->chart->getChartType(), 'Storage') !== false) {
         $meta = json_decode($this->chart->getMetaData());
         if (!empty($meta) && $meta->size) {
             return $language->t('sizes_' . $meta->size);
         }
         return $language->t('sizes_gb');
     }
     return $language->t('activities');
 }
 /**
  * Save a chartconfig entity to the database
  *
  * @param ChartConfig $config
  * @return boolean
  */
 public function save(ChartConfig $config)
 {
     $id = $config->getId();
     if (!empty($id)) {
         $query = $this->db->prepareQuery('UPDATE *PREFIX*uc_chartconfig SET created = ?, username = ?, charttype = ?, chartprovider = ?, metadata = ? WHERE id = ?');
         $query->execute(array($config->getDate()->format('Y-m-d H:i:s'), $config->getUsername(), $config->getChartType(), $config->getChartProvider(), $config->getMetaData(), $config->getId()));
     } else {
         $query = $this->db->prepareQuery('INSERT INTO *PREFIX*uc_chartconfig(created, username, charttype, chartprovider, metadata) VALUES (?,?,?,?,?)');
         $query->execute(array($config->getDate()->format('Y-m-d H:i:s'), $config->getUsername(), $config->getChartType(), $config->getChartProvider(), $config->getMetaData()));
     }
     return true;
 }
 /**
  * @param ChartConfig $chartConfig
  * @param User $user
  */
 public function __construct(ChartConfig $chartConfig, User $user)
 {
     $metaData = json_decode($chartConfig->getMetaData());
     if (!empty($metaData)) {
         $size = $metaData->size;
     }
     if (empty($size) || !in_array($size, $this->allowedSizes)) {
         $size = 'gb';
     }
     $this->size = $size;
     parent::__construct($chartConfig, $user);
 }
 public function testGetMetaData()
 {
     $this->assertEquals('metadata', $this->chartConfig->getMetaData());
 }