public function addAjaxAction(\Difra\Param\AjaxString $search) { $this->subInit(); /** @var \Difra\Plugins\Widgets\Objects\Directory $class */ $class = \Difra\Unify\Storage::getClass('WidgetsDirectory'); if (strlen($search) > $class::DIRECTORY_LENGTH) { \Difra\Ajaxer::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('widgets/directory/value-too-long')); } $searchObj = new \Difra\Unify\Search('WidgetsDirectory'); $searchObj->addConditions(['directory' => static::directory, 'name' => $search]); $res = $searchObj->doQuery(); if (empty($res)) { $object = $class::create(); $object->directory = static::directory; $object->name = (string) $search; } \Difra\Ajaxer::getInstance()->close(); $this->action((string) $search); }