Пример #1
0
 /**
  * Return the Tabs Model
  * @return \Zbase\Models\Ui\Tabs
  */
 public function tabs()
 {
     if (!$this->tabs instanceof \Zbase\Models\Ui\Tabs) {
         $className = zbase_model_name('ui.tabs', null, '\\Zbase\\Models\\Ui\\Tabs');
         $this->tabs = new $className();
     }
     return $this->tabs;
 }
Пример #2
0
/**
 * Return an instance of a Model
 * @param string $modelName
 * @param string $default
 * @return object
 */
function zbase_model($modelName, $default = null)
{
    $modelName = zbase_model_name($modelName);
    if (!empty($modelName)) {
        $enable = zbase_value_get($modelName, 'enable', false);
        $modelName = zbase_value_get($modelName, 'model', $default);
        if (!empty($modelName) && !empty($enable)) {
            $model = new $modelName();
            return $model;
        }
    }
    return null;
}
Пример #3
0
 /**
  * UI Factory
  * @param array $configuration
  * @return \Zbase\Ui\UiInterface
  */
 public static function factory($configuration)
 {
     // $configuration = zbase_data_get($configuration);
     if (!is_array($configuration)) {
         $configuration = zbase_data_get($configuration);
         if (empty($configuration)) {
             return null;
         }
     }
     $type = !empty($configuration['type']) ? $configuration['type'] : 'ui';
     $prefix = '';
     if (!empty(preg_match('/component./', $type))) {
         $prefix = '\\Component';
         $type = zbase_string_camel_case(str_replace('component.', '', $type));
     }
     if (!empty(preg_match('/data./', $type))) {
         $prefix = '\\Data';
         $type = zbase_string_camel_case(str_replace('data.', '', $type));
     }
     $id = !empty($configuration['id']) ? $configuration['id'] : null;
     if (is_null($id)) {
         throw new Exceptions\ConfigNotFoundException('Index:id is not set on Ui Factory');
     }
     if (!empty($type)) {
         $className = zbase_model_name(null, 'class.ui.' . strtolower($type), '\\Zbase\\Ui' . $prefix . '\\' . ucfirst($type));
         $element = new $className($configuration);
         return $element;
     }
     return null;
 }
Пример #4
0
 /**
  * Element Factory
  * @param array $configuration
  * @return \Zbase\Ui\Form\Element
  */
 public static function factory($configuration)
 {
     /**
      * Load a widget
      */
     if (!empty($configuration['widget'])) {
         if (!empty($configuration['validations'])) {
             $widget = zbase()->widget($configuration['widget'], [], true)->setAttribute('validations', $configuration['validations']);
         } else {
             $widget = zbase()->widget($configuration['widget'], [], true);
         }
         return $widget;
     }
     if (!empty($configuration['ui'])) {
         $ui = \Zbase\Ui\Ui::factory($configuration['ui']);
         if ($ui->enabled()) {
             return $ui;
         }
         return null;
     }
     $type = !empty($configuration['type']) ? $configuration['type'] : 'text';
     $id = !empty($configuration['id']) ? $configuration['id'] : null;
     if (is_null($id)) {
         throw new Exceptions\ConfigNotFoundException('Index:id is not set on Form Element Factory');
     }
     if (!empty($type)) {
         $className = zbase_model_name(null, 'class.ui.form.type.' . strtolower($type), '\\Zbase\\Ui\\Form\\Type\\' . ucfirst($type));
         $element = new $className($configuration);
         if ($element->enabled()) {
             $element->prepare();
             return $element;
         }
     }
     return null;
 }
Пример #5
0
 /**
  * Return Module
  * @param string $name
  * @param Module|array $config
  * @return null|\Zbase\Module\ModuleInterface
  */
 public function module($name, $config = null)
 {
     if ($config instanceof \Zbase\Module\ModuleInterface) {
         return $config;
     }
     if (!empty($this->modules[$name])) {
         if (!$this->modules[$name] instanceof \Zbase\Module\ModuleInterface) {
             $moduleClassname = !empty($this->modules[$name]['class']) ? $this->modules[$name]['class'] : zbase_model_name('module', 'class.module', \Zbase\Module\Module::class);
             $module = new $moduleClassname();
             //				if($module->isEnable() && $module->hasAccess())
             //				{
             //					$module->setConfiguration($this->modules[$name]);
             //					$this->modules[$name] = $module;
             //				}
             //				else
             //				{
             //					unset($this->modules[$name]);
             //				}
             $module->setConfiguration($this->modules[$name]);
             $this->modules[$name] = $module;
         }
         if (!empty($this->modules[$name]) && $this->modules[$name] instanceof \Zbase\Module\ModuleInterface) {
             return $this->modules[$name];
         }
     }
     return null;
 }
Пример #6
0
 /**
  * @proxy $this->orderStatusText
  * @return string
  */
 public function emailVerifiedText()
 {
     $status = zbase_model_name('', 'class.ui.boolean', \Zbase\Ui\Data\Boolean::class);
     $status = new $status(['value' => $this->isEmailVerified(), 'id' => 'emailVerified' . $this->id()]);
     return $status->render();
 }