-
document.html
385 386 25 25 </td></tr></table> 26 26 % } else { 27 27 <div align="center" style="font-size:110%; color:red;"> 28 Не верный вызов документа!!! (отсутствуют id и class одновременно) 28 Неверный вызов документа!!! (отсутствуют id и class одновременно) 29 29 </div> 30 30 <br><br> 31 31 % } … … 74 74 </body> 75 75 </html> 76 76 <%ARGS> 77 77 78 $p => 1 78 79 $class => undef 80 $table => undef 79 81 $sect_id => undef 80 82 $s_alias => undef 81 83 $id => undef … … 84 86 $clone => undef 85 87 $activate => undef 86 88 $deactivate => undef 89 87 90 </%ARGS> 88 91 <%INIT> 89 92 90 &abort404 unless $class; 93 &abort404 unless $class || $table; 91 94 my $error=''; 92 95 ### !!! При добавлении переменных в ARGS их надо внести в список исключений в структуре ниже 93 96 … … 97 100 my $new; 98 101 99 102 if ($id && ($id !~ /\D/) && ($id > 0)) { 100 $document = $keeper->get_document_by_id($id, class=>$class); 103 $document = $keeper->get_document_by_id($id, $class ? (class => $class) : (table => $table)); 104 $class ||= $document->class if ref $document; 101 105 if ( $clone && exists $document->{'attributes'}->{'dtime'} ) { 102 106 $document->dtime(undef); 103 107 } … … 109 113 foreach my $prop ( @properties ) { 110 114 my $attr = $prop->{attr}; 111 115 ### !!! Если не стандартная переменная, то можем инициализировать 112 if ( exists $ARGS{$attr} && ! grep { $prop->{attr} eq $_ } qw( class sect_id id delete save clone s_alias activate deactivate p s use_section alpha alpha_search search_by search ) ) { 116 if ( exists $ARGS{$attr} && ! grep { $prop->{attr} eq $_ } qw( class table sect_id id delete save clone s_alias activate deactivate p s use_section alpha alpha_search search_by search ) ) { 113 117 $document->$attr($ARGS{$attr}); 114 118 } 115 119 }