Index: branches/RC/core/units/admin/admin_events_handler.php =================================================================== diff -u -N -r10887 -r10954 --- branches/RC/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 10887) +++ branches/RC/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 10954) @@ -129,14 +129,18 @@ return ; } - if (TABLE_PREFIX && !preg_match('/^'.preg_quote(TABLE_PREFIX, '/').'(.*)/', $table_name)) { - // table name without prefix, then add it + if (TABLE_PREFIX && !preg_match('/^'.preg_quote(TABLE_PREFIX, '/').'(.*)/', $table_name) && (strtolower($table_name) != $table_name)) { + // table name without prefix, then add it (don't affect K3 tables named in lowercase) $table_name = TABLE_PREFIX.$table_name; } if (!$this->Conn->TableFound($table_name)) { // table with prefix doesn't exist, assume that just config prefix passed -> resolve table name from it - $table_name = $this->Application->getUnitOption(substr($table_name, strlen(TABLE_PREFIX)), 'TableName'); + $prefix = preg_replace('/^' . preg_quote(TABLE_PREFIX, '/') . '/', '', $table_name); + if ($this->Application->prefixRegistred($prefix)) { + // when prefix is found -> use it's table (don't affect K3 tables named in lowecase) + $table_name = $this->Application->getUnitOption($prefix, 'TableName'); + } } $table_info = $this->Conn->Query('DESCRIBE '.$table_name);