GetList($params); $id_field = $this->Application->getUnitOption($this->Prefix,'IDField'); $list->Query(); $o = ''; $list->GoFirst(); $block_params=$this->prepareTagParams($params); // $block_params['name'] = $this->SelectParam($params, 'render_as,block'); $block_params['pass_params'] = 'true'; $block_params['IdField'] = $list->IDField; $prev_heading = ''; $next_block = $params['full_block']; $this->groupRecords($list->Records, 'heading'); while (!$list->EOL()) { $this->Application->SetVar( $this->getPrefixSpecial().'_id', $list->GetDBField($id_field) ); // for edit/delete links using GET // using 2 blocks for drawing o row in case if current & next record titles match $next_item_prompt = $list->Records[$list->CurrentIndex + 1]['prompt']; $this_item_prompt = $list->GetDBField('prompt'); if ($next_item_prompt == $this_item_prompt) { $curr_block = $params['half_block1']; $next_block = $params['half_block2']; } else { $curr_block = $next_block; $next_block = $params['full_block']; } $block_params['name'] = $curr_block; $block_params['show_heading'] = ($prev_heading != $list->GetDBField('heading') ) ? 1 : 0; $o.= $this->Application->ParseBlock($block_params, 1); $prev_heading = $list->GetDBField('heading'); $list->GoNext(); } $this->Application->SetVar( $this->getPrefixSpecial().'_id', ''); return $o; } function getModuleItemName() { $module = $this->Application->GetVar('module'); $table = $this->Application->getUnitOption('confs', 'TableName'); $sql = 'SELECT ConfigHeader FROM '.$table.' WHERE ModuleName = '.$this->Conn->qstr($module); return $this->Conn->GetOne($sql); } function PrintConfList($params) { $list =& $this->GetList($params); $id_field = $this->Application->getUnitOption($this->Prefix, 'IDField'); $list->PerPage = -1; $list->Query(); $o = ''; $list->GoFirst(); $tmp_row = Array(); while (!$list->EOL()) { $rec = $list->getCurrentRecord(); $tmp_row[0][$rec['VariableName']] = $rec['VariableValue']; $tmp_row[0][$rec['VariableName'].'_prompt'] = $rec['prompt']; $list->GoNext(); } $list->Records = $tmp_row; $block_params = $this->prepareTagParams($params); $block_params['name'] = $this->SelectParam($params, 'render_as,block'); $block_params['module_key'] = $this->Application->GetLinkedVar('module_key'); $block_params['module_item'] = $this->getModuleItemName(); $list->GoFirst(); return $this->Application->ParseBlock($block_params, 1); } function ConfigValue($params) { return $this->Application->ConfigValue($params['name']); } function Error($params) { $object =& $this->Application->recallObject( $this->getPrefixSpecial() ); $field = $object->GetDBField($params['id_field']); $errors = $this->Application->GetVar('errormsgs'); $errors = $errors[$this->getPrefixSpecial()]; if (isset($errors[$field])) { $msg = $this->Application->Phrase($errors[$field]); } else { $msg = ''; } return $msg; } } ?>