/home/techb158/immovalet.com/platform/packages/widget/src/Factories
NameSizeModeActions
AbstractWidgetFactory.php30600644editdlrm
WidgetFactory.php14970644editdlrm
Edit: /home/techb158/immovalet.com/platform/packages/widget/src/Factories/AbstractWidgetFactory.php (3060B)
app = $app; } /** * Magic method that catches all widget calls. * * @param string $widgetName * @param array $params * @return mixed */ public function __call($widgetName, array $params = []) { array_unshift($params, $widgetName); return call_user_func_array([$this, 'run'], $params); } /** * Set class properties and instantiate a widget object. * * @param array $params * * @throws InvalidWidgetClassException * @throws Exception */ protected function instantiateWidget(array $params = []) { WidgetId::increment(); $this->widgetName = $this->parseFullWidgetNameFromString(array_shift($params)); $this->widgetFullParams = $params; $this->widgetConfig = (array)array_shift($params); $this->widgetParams = $params; $widgetClass = $this->widgetName; if (!class_exists($widgetClass, false)) { throw new Exception($widgetClass . ' is not exists'); } if (!is_subclass_of($widgetClass, AbstractWidget::class)) { throw new InvalidWidgetClassException('Class "' . $widgetClass . '" must extend "' . AbstractWidget::class . '" class'); } $this->widget = new $widgetClass($this->widgetConfig); } /** * Convert stuff like 'profile.feedWidget' to 'Profile\FeedWidget'. * * @param string $widgetName * @return string */ protected function parseFullWidgetNameFromString($widgetName) { return Str::studly(str_replace('.', '\\', $widgetName)); } }