/** * @param ChartDataProvider $chartDataProvider * @param string $uniqueId * @return string */ public static function renderEmailsInThisListChartContent(ChartDataProvider $chartDataProvider, $uniqueId) { assert('is_string($uniqueId)'); $chartData = $chartDataProvider->getChartData(); Yii::import('ext.amcharts.AmChartMaker'); $amChart = new AmChartMaker(); $amChart->data = $chartData; $amChart->id = $uniqueId; $amChart->type = ChartRules::TYPE_STACKED_COLUMN_2D; $amChart->addSerialGraph(MarketingChartDataProvider::QUEUED, 'column', array('title' => "'" . Zurmo::t('MarketingModule', 'Queued') . "'", 'balloonText' => "'" . Zurmo::t('MarketingModule', 'Queued') . ": [[value]]'")); $amChart->addSerialGraph(MarketingChartDataProvider::SENT, 'column', array('title' => "'" . Zurmo::t('Core', 'Sent') . "'", 'balloonText' => "'" . Zurmo::t('Core', 'Sent') . ": [[value]]'")); $amChart->addSerialGraph(MarketingChartDataProvider::UNIQUE_OPENS, 'column', array('title' => "'" . Zurmo::t('MarketingModule', 'Opened') . "'", 'balloonText' => "'" . Zurmo::t('MarketingModule', 'Opened') . ": [[value]]'")); $amChart->addSerialGraph(MarketingChartDataProvider::UNIQUE_CLICKS, 'column', array('title' => "'" . Zurmo::t('MarketingModule', 'Clicked') . "'", 'balloonText' => "'" . Zurmo::t('MarketingModule', 'Clicked') . ": [[value]]'")); $amChart->addSerialGraph(MarketingChartDataProvider::BOUNCED, 'column', array('title' => "'" . Zurmo::t('MarketingModule', 'Bounced') . "'", 'balloonText' => "'" . Zurmo::t('MarketingModule', 'Bounced') . ": [[value]]'")); $amChart->addSerialGraph(MarketingChartDataProvider::UNSUBSCRIBED, 'column', array('title' => "'" . Zurmo::t('Core', 'Unsubscribed') . "'", 'balloonText' => "'" . Zurmo::t('Core', 'Unsubscribed') . ": [[value]]'")); $amChart->xAxisName = $chartDataProvider->getXAxisName(); $amChart->yAxisName = $chartDataProvider->getYAxisName(); $javascript = $amChart->javascriptChart(); Yii::app()->getClientScript()->registerScript(__CLASS__ . $uniqueId, $javascript); $cClipWidget = new CClipWidget(); $cClipWidget->beginClip("Chart"); $cClipWidget->widget('application.core.widgets.AmChart', array('id' => $uniqueId)); $cClipWidget->endClip(); return $cClipWidget->getController()->clips['Chart']; }