static function create(array $settings, $userID = 0, $enablePermissionCheck = true)
{
$name = isset($settings['name'])? mb_strtoupper($settings['name']) : '';
if($name === DealSumStatistics::TYPE_NAME)
{
return new DealSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadSumStatistics::TYPE_NAME)
{
return new LeadSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealInvoiceStatistics::TYPE_NAME)
{
return new DealInvoiceStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealActivityStatistics::TYPE_NAME)
{
return new DealActivityStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadActivityStatistics::TYPE_NAME)
{
return new LeadActivityStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealStageHistory::TYPE_NAME)
{
return new DealStageHistory($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadStatusHistory::TYPE_NAME)
{
return new LeadStatusHistory($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealInWork::TYPE_NAME)
{
return new DealInWork($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadInWork::TYPE_NAME)
{
return new LeadInWork($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealIdle::TYPE_NAME)
{
return new DealIdle($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadIdle::TYPE_NAME)
{
return new LeadIdle($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadNew::TYPE_NAME)
{
return new LeadNew($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadConversionStatistics::TYPE_NAME)
{
return new LeadConversionStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadConversionRate::TYPE_NAME)
{
return new LeadConversionRate($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadJunk::TYPE_NAME)
{
return new LeadJunk($settings, $userID, $enablePermissionCheck);
}
elseif($name === LeadChannelStatistics::TYPE_NAME)
{
return new LeadChannelStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === DealChannelStatistics::TYPE_NAME)
{
return new DealChannelStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === Activity\ChannelStatistics::TYPE_NAME)
{
return new Activity\ChannelStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === InvoiceInWork::TYPE_NAME)
{
return new InvoiceInWork($settings, $userID, $enablePermissionCheck);
}
elseif($name === InvoiceSumStatistics::TYPE_NAME)
{
return new InvoiceSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif($name === InvoiceOverdue::TYPE_NAME)
{
return new InvoiceOverdue($settings, $userID, $enablePermissionCheck);
}
elseif($name === ExpressionDataSource::TYPE_NAME)
{
return new ExpressionDataSource($settings, $userID);
}
elseif($name === ActivityProviderStatus::TYPE_NAME)
{
return new ActivityProviderStatus($settings, $userID);
}
elseif ($name === Company\ActivityStatistics::TYPE_NAME)
{
return new Company\ActivityStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\GrowthStatistics::TYPE_NAME)
{
return new Company\GrowthStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\ActivityStreamStatistics::TYPE_NAME)
{
return new Company\ActivityStreamStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\ActivityMarkStatistics::TYPE_NAME)
{
return new Company\ActivityMarkStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\ActivitySumStatistics::TYPE_NAME)
{
return new Company\ActivitySumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\ActivityStatusStatistics::TYPE_NAME)
{
return new Company\ActivityStatusStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\DealSumStatistics::TYPE_NAME)
{
return new Company\DealSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\InvoiceSumStatistics::TYPE_NAME)
{
return new Company\InvoiceSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Company\DealConversionRate::TYPE_NAME)
{
return new Company\DealConversionRate($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\ActivityStatistics::TYPE_NAME)
{
return new Contact\ActivityStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\ActivityStreamStatistics::TYPE_NAME)
{
return new Contact\ActivityStreamStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\ActivityMarkStatistics::TYPE_NAME)
{
return new Contact\ActivityMarkStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\ActivitySumStatistics::TYPE_NAME)
{
return new Contact\ActivitySumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\ActivityStatusStatistics::TYPE_NAME)
{
return new Contact\ActivityStatusStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\GrowthStatistics::TYPE_NAME)
{
return new Contact\GrowthStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\DealSumStatistics::TYPE_NAME)
{
return new Contact\DealSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\InvoiceSumStatistics::TYPE_NAME)
{
return new Contact\InvoiceSumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Contact\DealConversionRate::TYPE_NAME)
{
return new Contact\DealConversionRate($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\Statistics::TYPE_NAME)
{
return new Activity\Statistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\StreamStatistics::TYPE_NAME)
{
return new Activity\StreamStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\MarkStatistics::TYPE_NAME)
{
return new Activity\MarkStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\SumStatistics::TYPE_NAME)
{
return new Activity\SumStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\StatusStatistics::TYPE_NAME)
{
return new Activity\StatusStatistics($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\ActivityDynamic::TYPE_NAME)
{
return new Activity\ActivityDynamic($settings, $userID, $enablePermissionCheck);
}
elseif ($name === Activity\ManagerCounters::TYPE_NAME)
{
return new Activity\ManagerCounters($settings, $userID, $enablePermissionCheck);
}
elseif ($name === DealSaleTarget::TYPE_NAME)
{
return new DealSaleTarget($settings, $userID, $enablePermissionCheck);
}
else
{
throw new Main\NotSupportedException("The data source '{$name}' is not supported in current context.");
}
}