Index: branches/5.3.x/core/kernel/kbase.php
===================================================================
diff -u -N -r15584 -r15698
--- branches/5.3.x/core/kernel/kbase.php (.../kbase.php) (revision 15584)
+++ branches/5.3.x/core/kernel/kbase.php (.../kbase.php) (revision 15698)
@@ -1,6 +1,6 @@
Application->getUnitConfig($this->Prefix);
+ }
+
+ /**
* Creates string representation of a class (for logging)
*
* @return string
@@ -271,7 +282,7 @@
*/
public function SwitchToLive()
{
- $this->TableName = $this->Application->getUnitOption($this->Prefix, 'TableName');
+ $this->TableName = $this->getUnitConfig()->getTableName();
}
/**
@@ -281,7 +292,7 @@
*/
public function SwitchToTemp()
{
- $table_name = $this->Application->getUnitOption($this->Prefix, 'TableName');
+ $table_name = $this->getUnitConfig()->getTableName();
$this->TableName = $this->Application->GetTempName($table_name, 'prefix:' . $this->Prefix);
}
@@ -476,8 +487,9 @@
$this->populateMultiLangFields = $populate_ml_fields;
}
- $this->IDField = $this->Application->getUnitOption($this->Prefix, 'IDField');
- $this->TableName = $this->Application->getUnitOption($this->Prefix, 'TableName');
+ $config = $this->getUnitConfig();
+ $this->IDField = $config->getIDField();
+ $this->TableName = $config->getTableName();
$this->initForm($form_name);
$this->defineFields();
@@ -500,20 +512,22 @@
*/
protected function initForm($form_name = null)
{
- $forms = $this->Application->getUnitOption($this->Prefix, 'Forms', Array ());
+ $config = $this->getUnitConfig();
$this->formName = $form_name;
- $this->formConfig = isset($forms['default']) ? $forms['default'] : Array ();
+ $this->formConfig = $config->getFormByName('default', Array ());
if ( !$this->formName ) {
return ;
}
- if ( !isset($forms[$this->formName]) ) {
+ $form_data = $config->getFormByName($this->formName);
+
+ if ( !$form_data ) {
trigger_error('Form "' . $this->formName . '" isn\'t declared in "' . $this->Prefix . '" unit config.', E_USER_NOTICE);
}
else {
- $this->formConfig = kUtil::array_merge_recursive($this->formConfig, $forms[$this->formName]);
+ $this->formConfig = kUtil::array_merge_recursive($this->formConfig, $form_data);
}
}
@@ -557,7 +571,7 @@
*/
public function getFormOption($option, $default = false)
{
- $ret = $this->Application->getUnitOption($this->Prefix, $option, $default);
+ $ret = $this->getUnitConfig()->getSetting($option, $default);
if ( isset($this->formConfig[$option]) ) {
$ret = kUtil::array_merge_recursive($ret, $this->formConfig[$option]);
@@ -683,8 +697,9 @@
return;
}
- $fields = $this->Application->getUnitOption($this->Prefix, 'Fields', Array ());
- $virtual_fields = $this->Application->getUnitOption($this->Prefix, 'VirtualFields', Array ());
+ $config = $this->getUnitConfig();
+ $fields = $config->getFields(Array ());
+ $virtual_fields = $config->getVirtualFields(Array ());
foreach ($field_modifiers as $field => $field_options) {
foreach ($field_options as $option_name => $option_value) {
@@ -708,8 +723,8 @@
}
}
- $this->Application->setUnitOption($this->Prefix, 'Fields', $fields);
- $this->Application->setUnitOption($this->Prefix, 'VirtualFields', $virtual_fields);
+ $config->setFields($fields);
+ $config->setVirtualFields($virtual_fields);
}
/**
@@ -1050,33 +1065,29 @@
*/
public function getLinkedInfo($special = '', $guess_special = false)
{
- $parent_prefix = $this->Application->getUnitOption($this->Prefix, 'ParentPrefix');
- if ($parent_prefix) {
+ $config = $this->getUnitConfig();
+ $parent_prefix = $config->getParentPrefix();
+
+ if ( $parent_prefix ) {
// if this is linked table, then set id from main table
$table_info = Array (
- 'TableName' => $this->Application->getUnitOption($this->Prefix,'TableName'),
- 'IdField' => $this->Application->getUnitOption($this->Prefix,'IDField'),
- 'ForeignKey' => $this->Application->getUnitOption($this->Prefix,'ForeignKey'),
- 'ParentTableKey' => $this->Application->getUnitOption($this->Prefix,'ParentTableKey'),
+ 'TableName' => $config->getTableName(),
+ 'IdField' => $config->getIDField(),
+ 'ForeignKey' => $config->getForeignKey($parent_prefix),
+ 'ParentTableKey' => $config->getParentTableKey($parent_prefix),
'ParentPrefix' => $parent_prefix
);
- if (is_array($table_info['ForeignKey'])) {
- $table_info['ForeignKey'] = getArrayValue($table_info, 'ForeignKey', $parent_prefix);
- }
-
- if (is_array($table_info['ParentTableKey'])) {
- $table_info['ParentTableKey'] = getArrayValue($table_info, 'ParentTableKey', $parent_prefix);
- }
-
- $main_object = $this->Application->recallObject($parent_prefix.'.'.$special, null, Array ('raise_warnings' => 0));
+ $main_object = $this->Application->recallObject($parent_prefix . '.' . $special, null, Array ('raise_warnings' => 0));
/* @var $main_object kDBItem */
- if (!$main_object->isLoaded() && $guess_special) {
+ if ( !$main_object->isLoaded() && $guess_special ) {
$main_object = $this->Application->recallObject($parent_prefix);
}
- return array_merge($table_info, Array('ParentId'=> $main_object->GetDBField( $table_info['ParentTableKey'] ) ) );
+ $table_info['ParentId'] = $main_object->GetDBField($table_info['ParentTableKey']);
+
+ return $table_info;
}
return false;