Index: trunk/kernel/include/itemreview.php =================================================================== diff -u -N -r7635 -r8436 --- trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 7635) +++ trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 8436) @@ -109,6 +109,21 @@ $this->Decrement("Priority"); } + function getMainItem($module_info, $field_name) + { + static $item_data = Array (); + + $resource_id = $this->Get('ItemId'); + if (!isset($item_data[$resource_id])) { + $sql = 'SELECT * + FROM '.TABLE_PREFIX.$module_info['MainTable'].' + WHERE ResourceId = '.$resource_id; + $item_data[$resource_id] = $this->adodbConnection->GetRow($sql); + } + + return $item_data[$resource_id][$field_name]; + } + function ParseObject($element) { global $objConfig, $objCatList, $rootURL, $objUsers, $objModules; @@ -124,16 +139,16 @@ $db=&GetADODBConnection(); $module_info=$objModules->ExecuteFunction('GetModuleInfo','rel_list'); $module_info=$module_info[$this->Get('Module')]; - $ret=$db->GetOne('SELECT '.$module_info['ItemNameField'].' FROM '.GetTablePrefix().$module_info['MainTable'].' WHERE ResourceId='.$this->Get('ItemId')); + $ret = $this->getMainItem($module_info, $module_info['ItemNameField']); break; case 'itemlink': $db=&GetADODBConnection(); $module_info=$objModules->ExecuteFunction('GetModuleInfo','rel_list'); $module_info=$module_info[$this->Get('Module')]; - $prefix=$db->GetOne('SELECT Var FROM '.$objModules->SourceTable.' WHERE Name=\''.$this->Get('Module').'\''); + $prefix = $this->Application->findModule('Name', $this->Get('Module'), 'Var'); - $id=$db->GetOne('SELECT '.$module_info['MainTable'].'Id FROM '.GetTablePrefix().$module_info['MainTable'].' WHERE ResourceId='.$this->Get('ItemId')); + $id = $this->getMainItem($module_info, $module_info['MainTable'].'Id'); $GLOBALS[$prefix.'_var_list_update'][ $module_info['EnvIDField'] ]=$id; /*$env_unparsed=explode(':',$_REQUEST['env']);