---+ Package =TWiki::Compatibility=

Support for compatibility with old TWiki versions. Packaged
separately because 99.999999% of the time this won't be needed.

=end

sub _upgradeCategoryItem {
	 my ( $catitems, $ctext ) = @_;
	 my $catname = '';
	 my $scatname = '';
	 my $catmodifier = '';
	 my $catvalue = '';
	 my @cmd = split( /\|/, $catitems );
	 my $src = '';
	 my $len = @cmd;
	 if( $len < '2' ) {
		  # FIXME
		  return ( $catname, $catmodifier, $catvalue )
	 }
	 my $svalue = '';

	 my $i;
	 my $itemsPerLine;

	 # check for CategoryName=CategoryValue parameter
	 my $paramCmd = '';
	 my $cvalue = ''; # was$query->param( $cmd[1] );
	 if( $cvalue ) {
		  $src = "<!---->$cvalue<!---->";
	 } elsif( $ctext ) {
		  foreach( split( /\r?\n/, $ctext ) ) {
				if( /$cmd[1]/ ) {
					 $src = $_;
					 last;
				}
		  }
	 }

	 if( $cmd[0] eq 'select' || $cmd[0] eq 'radio') {
		  $catname = $cmd[1];
		  $scatname = $catname;
		  #$scatname =~ s/[^a-zA-Z0-9]//g;
		  my $size = $cmd[2];
		  for( $i = 3; $i < $len; $i++ ) {
				my $value = $cmd[$i];
				$svalue = $value;
				if( $src =~ /$value/ ) {
					$catvalue = $svalue;
				}
		  }

	 } elsif( $cmd[0] eq 'checkbox' ) {
		  $catname = $cmd[1];
		  $scatname = $catname;
		  #$scatname =~ s/[^a-zA-Z0-9]//g;
		  if( $cmd[2] eq 'true' || $cmd[2] eq '1' ) {
				$i = $len - 4;
				$catmodifier = 1;
		  }
		  $itemsPerLine = $cmd[3];
		  for( $i = 4; $i < $len; $i++ ) {
				my $value = $cmd[$i];
				$svalue = $value;
				# I18N: FIXME - need to look at this, but since it's upgrading
				# old forms that probably didn't use I18N, it's not a high
				# priority.
				if( $src =~ /$value[^a-zA-Z0-9\.]/ ) {
					 $catvalue .= ", " if( $catvalue );
					 $catvalue .= $svalue;
				}
		  }

	 } elsif( $cmd[0] eq 'text' ) {
		  $catname = $cmd[1];
		  $scatname = $catname;
		  #$scatname =~ s/[^a-zA-Z0-9]//g;
		  $src =~ /<!---->(.*)<!---->/;
		  if( $1 ) {
				$src = $1;
		  } else {
				$src = '';
		  }
		  $catvalue = $src;
	 }

	 return ( $catname, $catmodifier, $catvalue )
}



%TOC%
---++ StaticMethod *upgradeCategoryTable* <tt>($session,$web,$topic,$meta,$text) -> $text</tt>

Upgrade old style category table

May throw TWiki::OopsException


<!-- Do _not_ attempt to edit this topic; it is auto-generated. Please add comments/questions/remarks to the Dev topic instead. -->
