Revision 480 (by ahitrov, 2015/03/03 12:14:40) |
Tags plugin: initial import
|
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;