= Download de Arquivos =
[[TOC(heading=Workflow,depth=1,WF/Changelog,WF/Documentacao,WF/Instalacao,WF/Links,WF/Propostas,WF/Recursos)]]
== Plugin: wf_download_link ==
'''Descrição:''' Este plugin tem por finalidade criar links para downloads de arquivos. Estes links não apontam para o arquivo que será baixado e sim para uma página que irá enviar o arquivo (útil para arquivos que estão no banco de dados).
'''Parâmetros:'''
base_url : a URL que irá enviar o arquivo (tratar a requisição).
text : texto do link gerado
getParams : parâmetro(s) que identifica(m) o(s) download(s).
'''Parâmetro obrigatório''': getParams
'''Valor padrão''':
text : "download"
base_url : $_SERVER!['REQUEST_URI']
Qualquer outro parâmetro passado será incorporado na tag do link gerado.
'''Exemplos de utilização:'''
Supondo que o código esteja localizado na URL: ```/index.php?menuaction=workflow.run_activity.go&activity_id=99```
{{{
{wf_download_link getParams="id_arquivo=1"}
irá produzir:
download
{wf_download_link getParams="id_arquivo=1" text="clique aqui" class="download_css"}
irá produzir:
clique aqui
{wf_download_link getParams="id_arquivo=1&usuario=2"}
irá produzir:
download
{wf_download_link base_url="http://www.outrosite.com/index.php" getParams="id_arquivo=1"}
irá produzir:
model->downloadAction();
}
}}}
No arquivo model da atividade (class.registrar.model.php)
{{{
function downloadAction(){
// Obter o conteúdo o arquivo através dos parâmetros passados
// Neste exemplo o arquivo está em banco de dados
$param = $this->request[id_arquivo];
$resultSet = $this->DAO->query('SELECT nome,conteudo FROM arquivos WHERE (arquivo_id = ?)', array($param));
$row = $resultSet->fetchRow();
$this->sendfile($row[nome], $row[conteudo]);
}
}}}