package tag::Tag; use base 'Contenido::Document'; use Contenido::Globals; sub extra_properties { return ( { 'attr' => 'name', 'rusname' => 'Название тега', shortname => 'Тег' }, ) } sub class_name { return 'Тег'; } sub class_description { return 'Тег'; } sub class_table { return 'tag::SQL::TagsTable'; } sub search_fields { return ('name'); } sub pre_store { my $self = shift; my $default_section = $project->s_alias->{tags} if ref $project->s_alias eq 'HASH' && exists $project->s_alias->{tags}; $self->sections( $default_section ) if $default_section; return 1; } sub post_delete { my $self = shift; my $links = $self->keeper->get_links( class => 'tag::Cloud', source_id => $self->id, return_mode => 'array_ref', ); if ( ref $links eq 'ARRAY' && @$links ) { foreach my $link ( @$links ) { $link->delete; } } } 1;