###################################################################### # # EPrints::MetaField::Longtext; # ###################################################################### # # This file is part of GNU EPrints 2. # # Copyright (c) 2000-2004 University of Southampton, UK. SO17 1BJ. # # EPrints 2 is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # EPrints 2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with EPrints 2; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # ###################################################################### =pod =head1 NAME B<EPrints::MetaField::Longtext> - no description =head1 DESCRIPTION not done =over 4 =cut package EPrints::MetaField::Longtext; use strict; use warnings; BEGIN { our( @ISA ); @ISA = qw( EPrints::MetaField::Text ); } use EPrints::MetaField::Text; sub get_sql_type { my( $self, $notnull ) = @_; return $self->get_sql_name()." TEXT".($notnull?" NOT NULL":""); } # never SQL index this type sub get_sql_index { my( $self ) = @_; return undef; } sub render_single_value { my( $self, $session, $value ) = @_; # my @paras = split( /\r\n\r\n|\r\r|\n\n/ , $value ); # # my $frag = $session->make_doc_fragment(); # foreach( @paras ) # { # my $p = $session->make_element( "p" ); # $p->appendChild( $session->make_text( $_ ) ); # $frag->appendChild( $p ); # } # return $frag; return $session->make_text( $value ); } sub get_basic_input_elements { my( $self, $session, $value, $basename, $staff, $obj ) = @_; my $textarea = $session->make_element( "textarea", "accept-charset" => "utf-8", name => $basename, id => $basename, rows => $self->{input_rows}, cols => $self->{input_cols}, wrap => "virtual" ); $textarea->appendChild( $session->make_text( $value ) ); return [ [ { el=>$textarea } ] ]; } sub form_value_basic { my( $self, $session, $basename ) = @_; # this version is just like that for Basic except it # does not remove line breaks. my $value = $session->param( $basename ); return undef if( $value eq "" ); return $value; } sub is_browsable { return( 1 ); } sub get_property_defaults { my( $self ) = @_; my %defaults = $self->SUPER::get_property_defaults; $defaults{input_rows} = $EPrints::MetaField::FROM_CONFIG; return %defaults; } ###################################################################### 1;