');
return $out . '
';
}
$out .= ' | ';
switch($name) {
case 'cell':
case 'cellnr':
SetupCloseLastElement(' | ');
return $out;
case 'celli#9': if ($IncSub === 0) $IncSub = 9;
case 'celli#8': if ($IncSub === 0) $IncSub = 8;
case 'celli#7': if ($IncSub === 0) $IncSub = 7;
case 'celli#6': if ($IncSub === 0) $IncSub = 6;
case 'celli#5': if ($IncSub === 0) $IncSub = 5;
case 'celli#4': if ($IncSub === 0) $IncSub = 4;
case 'celli#3': if ($IncSub === 0) $IncSub = 3;
case 'celli#2': if ($IncSub === 0) $IncSub = 2;
case 'celli#1': if ($IncSub === 0) $IncSub = 1;
case 'celli#' : return $out . ++$Incrementor[$ATDTableNumber][$IncSub] . '';
case 'cellr#' : return $out . $TableRowNumber[$ATDTableNumber] . '';
case 'cellc#' :
case 'cell#' : return $out . $TableColumnNumber[$ATDTableNumber] . '';
case 'cellic#': return $out . ++$IncrementingColumn[$ATDTableNumber] . '';
case 'cellir#':
# only increment if in a new row
if ($LastIncrementingTableRow[$ATDTableNumber] !== $TableRowNumber[$ATDTableNumber]) {
$LastIncrementingTableRow[$ATDTableNumber] = $TableRowNumber[$ATDTableNumber];
$IncrementingRow[$ATDTableNumber] ++;
}
return $out . $IncrementingRow[$ATDTableNumber] . '';
}
}
switch ($name) {
case 'row': # THIS DIRECTIVE CAN ALSO BE CALLED THROUGH RECURSION
if ($ATDLastElementOpen[$ATDTableNumber][0]) $out .= CloseLastElement();
# FALL THROUGH TO NEXT CASE
case 'newrow': # ONLY CALLED THROUGH RECURSION AND FALL THROUGH
if ($ATDLastElementOpen[$ATDTableNumber][1]) $out .= CloseLastElement(1);
$TableColumnNumber[$ATDTableNumber] = 0;
$IncrementingColumn[$ATDTableNumber] = 0;
$FmtV['$TableCellCount'] = 0;
$FmtV['$TableRowIndex' ] = ($TableRowNumber[$ATDTableNumber] % $TableRowIndexMax) + 1;
$FmtV['$TableRowCount' ] = ++$TableRowNumber[$ATDTableNumber];
$attr = MergeClassAndAppendAttributes($attr, FmtPageName(@$TableRowAttrFmt, ''));
SetupCloseLastElement('', 1);
return $out . '';
case 'caption':
# valign does not belong on caption attribute
SetupCloseLastElement('');
# pmwiki does not recognize caption as a block markup
return '<:block>';
case 'table':
$ATDTableNumber ++;
$TableRowNumber [$ATDTableNumber] = 0;
$RowCounter [$ATDTableNumber] = 0;
$IncrementingColumn[$ATDTableNumber] = 0;
$IncrementingRow [$ATDTableNumber] = 0;
$Incrementor[$ATDTableNumber][0] = 0;
$Incrementor[$ATDTableNumber][1] = 0;
$Incrementor[$ATDTableNumber][2] = 0;
$Incrementor[$ATDTableNumber][3] = 0;
$Incrementor[$ATDTableNumber][4] = 0;
$Incrementor[$ATDTableNumber][5] = 0;
$Incrementor[$ATDTableNumber][6] = 0;
$Incrementor[$ATDTableNumber][7] = 0;
$Incrementor[$ATDTableNumber][8] = 0;
$Incrementor[$ATDTableNumber][9] = 0;
CloseLastElement($ATDTableNumber);
CloseLastElement($ATDTableNumber, 1);
SetupCloseLastElement('', 2);
# PM said to put <:block> here.
return '<:block>';
case 'tableend':
if ($ATDLastElementOpen[$ATDTableNumber][0]) $out .= CloseLastElement();
if ($ATDLastElementOpen[$ATDTableNumber][1]) $out .= CloseLastElement(1);
if ($ATDLastElementOpen[$ATDTableNumber][2]) $out .= CloseLastElement(2);
$ATDTableNumber --;
return $out;
case 'row#': # deprecated - kept for backward compatibility
$out .= AdvancedTableDirectives('row', $attr);
$RowCounter[$ATDTableNumber]++;
$FmtV['$TableCellCount'] = $RowCounter[$ATDTableNumber];
$attr = MergeClassAndAppendAttributes($attr, FmtPageName(@$TableCellAttrFmt, ''));
return $out . '' . $RowCounter[$ATDTableNumber] . ' | ';
}
}