/** * Get all available administration regisetered properties. * * @return array Get all properties. */ public function actionDataProperties() { $data = []; foreach (Property::find()->all() as $item) { $object = Property::getObject($item->class_name); $data[] = ['id' => $item->id, 'var_name' => $object->varName(), 'option_json' => $object->options(), 'label' => $object->label(), 'type' => $object->type(), 'default_value' => $object->defaultValue(), 'i18n' => $object->i18n]; } return $data; }
/** * Installation of the property */ protected function install($object) { $model = Property::find()->where(['var_name' => $object->varName()])->one(); if ($model) { $model->setAttributes(['module_name' => $object->moduleName, 'class_name' => $object::className()]); $model->update(false); return $model->id; } else { $model = new Property(); $model->setAttributes(['var_name' => $object->varName(), 'module_name' => $object->moduleName, 'class_name' => $object::className()]); $insert = $model->insert(false); if ($insert) { return $model->id; } } }