Revision 234 (by ahitrov, 2012/08/28 09:26:59) Blog plugin
package blogs::Tag;

use base "Contenido::Document";
use Contenido::Globals;

sub extra_properties
{
	return (
		{ 'attr' => 'name',	'type' => 'string',	'rusname' => 'Тег' },
		{ 'attr' => 'status',   'type' => 'status',     'rusname' => 'Статус записи',
			'cases' => [
					[0, 'Тег не активен'],
					[1, 'Тег активен'],
				],
		},
	)
}

sub class_name
{
	return 'Тег для блогов';
}

sub class_description
{
	return 'Тег для блогов';
}


sub class_table
{
	return 'blogs::SQL::TagsTable';
}

#sub search_fields
#{
#	return ('name');
#}

sub pre_store
{
	my $self = shift;

	my $default_section = $project->s_alias->{blog_cloud}	if ref $project->s_alias eq 'HASH' && exists $project->s_alias->{blog_cloud};
	$self->sections( $default_section )	unless $self->sections;

	unless ( $self->id ) {
		if ( $user && ref $user ) {
			$self->uid( $user->id );
		} elsif ( $session && ref $session eq 'HASH' && exists $session->{id} ) {
			$self->uid( $session->{id} );
		}
	}

	return 1;
}

sub pre_delete
{
    my $self = shift;

    my $comments_db_table = blogs::SQL::TagCloudTable->db_table;
    my $sthcom = $self->keeper->SQL->prepare( "delete from $comments_db_table where source_id = ?" );
    $sthcom->execute( $self->id );
    $sthcom->finish;

    1;
}

1;