% if ( ref $IMAGE && exists $IMAGE->{filename} ) { % my $img_dir = $state->images_directory; % $img_dir =~ s/\/$//; % } <% $document->name %> <%args> $store => undef <%init> my $prj = $request->{project}; my $profile = $request->{project_profile}; my $root = $request->{project_section}; unless ( $store ) { my %cookies = Apache::Cookie->fetch; my $cookie = $cookies{card_id}; # Вытаскиваем SID из куки $store = $cookie->value() if $cookie; } my $document; my $IMAGE; warn Dumper(\%ARGS); if ( $store ) { $document = $keeper->get_document_by_id ( $store, class => 'promosuite::Postcard', ); unless ( ref $document ) { $document = promosuite::Postcard->new ($keeper); $document->sections($root->id); $document->status(1); } if ( $ARGS{picture} ) { my @properties = $document->structure(); my ($prop) = grep { $_->{attr} eq 'picture' } @properties; my $IMG = $document->get_image ('picture'); $IMAGE = $m->comp ('/subs/set_image.msn', field => 'picture', object => $document, prop => $prop, default => $IMG, SETS => \%ARGS, ); if (ref $IMAGE && exists($IMAGE->{filename})) { local $Data::Dumper::Indent = 0; $document->picture( Data::Dumper::Dumper($IMAGE) ); } } $document->store; my $cookie = Apache::Cookie->new ($request->r(), -name => 'card_id', -expires=> '+7d', -value => $document->id, -path => '/', ); $cookie->bake(); } return unless ref $document && $document->id; if ( $state->development ) { $r->content_type('text/xml; charset=utf-8'); } else { $r->content_type('text/xml; charset=utf-8'); } $r->header_out ('X-Accel-Expires', 0);