Application->recallObject( $this->getPrefixSpecial(), $this->Prefix.'_List',$params); $id_field = $this->Application->getUnitOption($this->Prefix,'IDField'); $list->PerPage=-1; $list->Query(); $o = ''; $list->GoFirst(); $block_params=$this->prepareTagParams($params); $block_params['name']=$params['block']; $block_params['pass_params']='true'; $block_params['IdField'] = $id_field; $next_block=$params['full_block']; $prev_title=""; while (!$list->EOL()) { $nextItemPrompt=$list->Records[$list->CurrentIndex+1]['prompt']; $thisItemPrompt=$list->Records[$list->CurrentIndex]['prompt']; $this_title=$list->Records[$list->CurrentIndex]['heading']; if ($this_title!=$prev_title){ $prev_title=$this_title; $section_header_params=array(); $section_header_params['name']='config_section_header'; $section_header_params['title']=$this->Application->Phrase($this_title); $o.= $this->Application->ParseBlock($section_header_params, 1); } if ($nextItemPrompt==$thisItemPrompt){ $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; $this->Application->SetVar( $this->getPrefixSpecial().'_id', $list->GetDBField($id_field) ); $o.= $this->Application->ParseBlock($block_params, 1); $list->GoNext(); } return $o; } } ?>