1{strip} 2 {if $heading ne 'n'} 3 {if $showItemId ne 'n'} 4 {assign var='comma' value='y'} 5 {$delimitorL}itemId{$delimitorR} 6 {/if} 7 {if $showStatus ne 'n'} 8 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 9 {$delimitorL}status{$delimitorR} 10 {/if} 11 {if $showCreated ne 'n'} 12 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 13 {$delimitorL}created{$delimitorR} 14 {/if} 15 {if $showLastModif ne 'n'} 16 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 17 {$delimitorL}lastModif{$delimitorR} 18 {/if} 19 {if !empty($listfields)} 20 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 21 {foreach item=field key=fieldId from=$listfields name=list} 22 {$delimitorL}{$field.name} -- {$fieldId}{$delimitorR} 23 {if !$smarty.foreach.list.last}{$separator}{/if} 24 {/foreach} 25 {/if} 26 {assign var='comma' value='n'} 27 {/if} 28{/strip}{* this empty line below is necessary to make data starts on the line after the headers *} 29 30{foreach from=$items item=item} 31{strip}{* DO NOT ident this strip - the line must not begin with space *} 32 {assign var='comma' value='n'} 33 {if $showItemId ne 'n'} 34 {assign var='comma' value='y'} 35 {$delimitorL}{$item.itemId}{$delimitorR} 36 {/if} 37 {if $showStatus eq 'y'} 38 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 39 {$delimitorL}{$item.status}{$delimitorR} 40 {/if} 41 {if $showCreated ne 'n'} 42 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 43 {$delimitorL}{$item.created|tiki_short_datetime}{$delimitorR} 44 {/if} 45 {if $showLastModif ne 'n'} 46 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 47 {$delimitorL}{$item.lastModif|tiki_short_datetime}{$delimitorR} 48 {/if} 49 {if !empty($listfields)} 50 {if $comma eq 'y'}{$separator}{else}{assign var='comma' value='y'}{/if} 51 {foreach item=field_value from=$item.field_values name=list} 52 {if $field_value.isHidden ne 'c' or ($field_value.isHidden eq 'c' and (in_array($user, $item.itemUsers) or $tiki_p_admin_trackers eq 'y'))} 53 {capture name="line"} 54 {trackeroutput field=$field_value item=$item list_mode='csv' showlinks='n'} 55 {/capture} 56 {$delimitorL}{$smarty.capture.line|replace:"\r\n":"$CR"|replace:"\n":"$CR"|replace:"<br>":"$CR"|replace:"$delimitorL":"$delimitorL$delimitorL"|replace:"$delimitorR":"$delimitorR$delimitorR"}{$delimitorR} 57 {else} 58 {$delimitorL}{$delimitorR} 59 {/if} 60 {if !$smarty.foreach.list.last}{$separator}{/if} 61 {/foreach} 62 {/if} 63 {/strip}{* this empty line below is necessary to make separate rows - but make sure there are no empty lines after the /foreach end tag to avoid empty rows being generated after every 100th row *} 64 65{/foreach}