<& output.html, titulo => $titulo, filterstr => $filterstr, records => $records, req_credits => $req_credits, user_credits => $user_credits, updt => $updt, reqkey => $reqkey, message => $message, status => 'idle' &> % return;
<%$titulo%>
<% $filterstr %>
<% $labels{registos} %>: <% $records %>
<% $labels{creditos_nec} %>: <% $req_credits %>
<% $labels{creditos_disp} %>: <% $user_credits %>

<%$message%>
<& /_shared/templates/messages/small.html, contents=>$message, bgcolor=>'#f6ffc6', style=>'ticker', bbar=>'#9ea093' &>

<& SELF:TR, label=>$labels{titulo}, value=>$titulo &> % if ($filterstr){ <& SELF:TR, label=>$labels{opcoes}, value=>$filterstr &> % } <& SELF:TR, label=>$labels{registos}, value=>$records &> <& SELF:TR_SPACE &> % if ($updtdate){ <& SELF:TR, label=>$labels{actualizacao}, value=>$updtdate &> % }elsif (!$updt){ <& SELF:TR, label=>$labels{creditos_nec}, value=>$req_credits &> <& SELF:TR, label=>$labels{creditos_disp}, value=>$user_credits &> % } % if ($dl_ok){ % }else{ % }
<%$messages{history}%>  
%# <% $reqkey %>
<%args> $qrcd => undef $zone => undef $zcod => undef $zdsc => undef $net1 => undef $agnand => undef $agnlist => undef $node => undef $user=>undef $updt=>undef $updtkey=>undef $vrfy=>undef $options=>undef <%init> #----------------------------------------------------------- # Ficha de Download de Rubrica #----------------------------------------------------------- my $dbh = $m->comp("/_shared/procs/utils/dbi_connect.m", database=>'guianet'); #----------------------------------------------------------- # Traduções #----------------------------------------------------------- my %labels = ( titulo => $m->comp("/_shared/procs/utils/localize.m", str=>'Título'), opcoes => $m->comp("/_shared/procs/utils/localize.m", str=>'_Opções'), registos => $m->comp("/_shared/procs/utils/localize.m", str=>'Registos'), actualizacao => $m->comp("/_shared/procs/utils/localize.m", str=>"Ultima actualização"), creditos_nec => $m->comp("/_shared/procs/utils/localize.m", str=>"Créditos necessários"), creditos_disp => $m->comp("/_shared/procs/utils/localize.m", str=>"_Créditos disponíveis"), cancelar => $m->comp("/_shared/procs/utils/localize.m", str=>'cancelar'), iniciar => $m->comp("/_shared/procs/utils/localize.m", str=>'iniciar'), ); my %messages = ( history => $m->comp("/_shared/procs/utils/localize.m", str=>'ver histórico de downloads'), novo_download => $m->comp("/_shared/procs/utils/localize.m", str=>"clique aqui se deseja fazer um novo download"), actualizado => $m->comp("/_shared/procs/utils/localize.m", str=>"esta categoria foi já actualizada."), iniciar => $m->comp("/_shared/procs/utils/localize.m", str=>"clique
para iniciar o download"), mais_creditos => $m->comp("/_shared/procs/utils/localize.m", str=>"contacte-nos para adquirir mais créditos"), ); #----------------------------------------------------------- # Crédito de Downloads para este cliente #----------------------------------------------------------- my ($user_credits, $used_credits) = $m->comp("procs/getusercredits.m",user=>$user); #----------------------------------------------------------- # Titulo, Opções e Número de registos #----------------------------------------------------------- my $titulo; my $filterstr; my $records = 0; my $set; my $reqkey; my $extra; #----------------------------------------------------------- # specs do item #----------------------------------------------------------- my ($tipo_item, $itemid) = $m->comp("/_shared/procs/utils/parseqrcd.m", qrcd=>$qrcd); #=========================================================== # download de categoria #=========================================================== # Opções de Pesquisa #----------------------------------------------------------- my $filters; my $demo; # a partir da chave se for update if ($updt){ $updtkey = $m->comp("procs/getreqkeybyid.m",id=>$updt) unless $updtkey; ($demo,$qrcd,$zone,$zcod,$zdsc,$net1,$agnlist,$agnand) = $m->comp("procs/parsereqkey.m",reqkey=>$updtkey); ($tipo_item, $itemid) = $m->comp("/_shared/procs/utils/parseqrcd.m", qrcd=>$qrcd); $filters = $m->comp('/_shared/procs/getfilters.m', srchargs=>{net1=>$net1, net2=>undef, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, agnlist=>$agnlist, agnand=>$agnand}); # dos cookies se for pesquisa }else{ my $global_options = $m->comp("/_shared/procs/get_searchoptions.m"); $filters = $m->comp('/_shared/procs/getfilters.m', srchargs=>$global_options); } #----------------------------------------------------------- # actualizar parâmetros #----------------------------------------------------------- $zone = $filters->{zone}; $zdsc = $filters->{zdsc}; $zcod = $filters->{zcod}; $net1 = $filters->{net1}; $agnlist = $filters->{agnlist}; $agnand = $filters->{agnand}; $filterstr = $filters->{str}; #----------------------------------------------------------- # Verificar erros nas opções de pesquisa #----------------------------------------------------------- if ($filters->{err}){ my $searchurl = $m->comp("/_shared/procs/utils/get_searchargs.m",currargs=>{net1=>$net1, net2=>undef, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, agnlist=>$agnlist, agnand=>$agnand}); $node = $m->comp("/_shared/procs/getnodeid.m", itemid=>$itemid, tipo_item=>$tipo_item) unless $node; my $dir = ($tipo_item eq 'G') ? "vdir":"vcat"; my $returnurl = "/$dir/$node?$searchurl"; return $m->comp("err.html",url=>$returnurl); } #----------------------------------------------------------- # Titulo da Rubrica #----------------------------------------------------------- ($titulo) = $m->comp("/_shared/procs/getitemtitle.m", itemid=>$itemid, tipo_item=>$tipo_item); #----------------------------------------------------------- # Número de Registos #----------------------------------------------------------- if ($tipo_item eq 'G'){ $node = $m->comp("/_shared/procs/getnodeid.m", itemid=>$itemid, tipo_item=>$tipo_item) unless $node; my $srchargs = {qrcd=>$qrcd, net1=>$net1, net2=>undef, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, agnlist=>$agnlist, agnand=>$agnand}; $records = $m->comp("/_shared/procs/count_group_distinct_clients.m", node=>$node, srchargs=>$srchargs, filters=>$filters) }else{ $records = $m->comp("/_shared/procs/dosearchrubcli.m", download=>1, justcount=>1, srchargs=>{qrcd=>$qrcd, net1=>$net1, net2=>undef, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, agnlist=>$agnlist, agnand=>$agnand}, filters=>$filters); } #----------------------------------------------------------- # chave de download #----------------------------------------------------------- $reqkey = $m->comp("/downloads/procs/makereqkey.m",user=>$user,qrcd=>$qrcd, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, net1=>$net1, agnlist=>$agnlist, agnand=>$agnand); #----------------------------------------------------------- # criar / actualizar ficha de download #----------------------------------------------------------- $m->comp("procs/makedownloadrecord.m",reqkey=>$reqkey, records=>$records, extra=>$extra); # cria/actualiza o registo se necessario #----------------------------------------------------------- # procurar no historico para nao duplicar #----------------------------------------------------------- my ($reqid, $reqdate, $updated) = $m->comp("/downloads/procs/getreqid.m",reqkey=>$reqkey, user=>$user, extra_info=>1); my ($id, $filename) = $dbh->selectrow_array("select id,filename from tdownloads where reqkey='$reqkey'"); my $done; #----------------------------------------------------------- # download ja foi efectuado se nao é update e existe historico, # ou se e update e no historico consta como actualizado # e o ficheiro ainda não foi apagado #----------------------------------------------------------- $done = 1 if ($filename && (!$updt && $reqid) || ($updt && $updated)); #----------------------------------------------------------- # retornar pagina com link se ja foi efectuado #----------------------------------------------------------- return $m->comp("done.html",reqkey=>$reqkey) if $done; #----------------------------------------------------------- # Créditos necessários #----------------------------------------------------------- my $req_credits = $m->comp("procs/getreqcredits.m",records=>$records); #----------------------------------------------------------- # Validar update #----------------------------------------------------------- my $updtdate = $m->comp("procs/getupdtdate.m",updt=>$updt) if $updt; #----------------------------------------------------------- # URL de retorno #----------------------------------------------------------- my $dir = ($tipo_item eq 'G') ? "vdir":"vcat"; my $referer = $r->header_in('Referer'); my $fromhistory = ($referer =~ m/history/); my $returnurl = ($vrfy) ? "/downloads/dbcheck/check.m":(($fromhistory) ? "/downloads/history.html":"/$dir/$node"); my $returnmeth = ($vrfy) ? "POST":(($fromhistory) ? "POST":"GET"); #----------------------------------------------------------- # URL de encomenda #----------------------------------------------------------- my $orderurl = "start.m"; #----------------------------------------------------------- # Mensagem #----------------------------------------------------------- my $dl_ok = 0; my $message; if ($updt && $updtdate){ my $searchurl = $m->comp("/_shared/procs/utils/get_searchargs.m",currargs=>{options=>$options, net1=>$net1, net2=>undef, zone=>$zone, zcod=>$zcod, zdsc=>$zdsc, agnlist=>$agnlist, agnand=>$agnand}); $message = $messages{actualizado}; $message .= "".$messages{novo_download}.""; }elsif ($updt || ($user_credits>=$req_credits)){ $message = $messages{iniciar}; $dl_ok = 1; }else{ $message .= "".$messages{mais_creditos}.""; }