redirecionamento de campo modal do joomla
<p>criei um campo modal de upload para enviar conteúdo para o diretório de imagens e tudo funciona perfeitamente bem, exceto o redirecionamento após o upload.</p><p>este é o formulário de upload na janela modal:</p><pre><code>&lt;form action="&lt;?php echo juri::base(); ?&gt;index.php?option=com\_file\_manager&amp;amp;task=file.upload&amp;amp;tmpl=component&amp;amp;&lt;?php echo $this-&gt;session-&gt;getname() . '=' . $this-&gt;session-&gt;getid(); ?&gt;&amp;amp;&lt;?php echo jsession::getformtoken();?&gt;=1&amp;amp;view=file" id="uploadform" class="form-horizontal" name="uploadform" method="post" enctype="multipart/form-data"&gt; &lt;div id="uploadform" class="well"&gt; &lt;fieldset id="upload-noflash" class="actions"&gt; &lt;div class="control-group"&gt; &lt;div class="control-label"&gt; &lt;label for="upload-file" class="control-label"&gt;&lt;?php echo jtext::\_('com\_media\_upload\_file'); ?&gt;&lt;/label&gt; &lt;/div&gt; &lt;div class="controls"&gt; &lt;input type="file" id="upload-file" name="filedata[]" multiple /&gt;&lt;button class="btn btn-primary" id="upload-submit"&gt;&lt;i class="icon-upload icon-white"&gt;&lt;/i&gt; &lt;?php echo jtext::\_('com\_media\_start\_upload'); ?&gt;&lt;/button&gt; &lt;/div&gt; &lt;/div&gt; &lt;/fieldset&gt; &lt;input type="hidden" name="return-url" value="&lt;?php echo base64\_encode('index.php?option=com\_fal\_manager&amp;amp;view=file&amp;amp;layout=modal&amp;amp;tmpl=component'); ?&gt;" /&gt; &lt;/div&gt; &lt;/form&gt; </code></pre><p>e é assim que o redirecionamento fica no controlador:</p><pre><code>public function upload() { // check for request forgeries jsession::checktoken('request') or jexit(jtext::\_('jinvalid\_token')); $files = $this-&gt;input-&gt;files-&gt;get('filedata', '', 'array'); $return = $this-&gt;input-&gt;post-&gt;get('return-url', null, 'base64'); $this-&gt;folder = $this-&gt;input-&gt;get('folder', '', 'path'); if ($return) { $this-&gt;setredirect(base64\_decode($return)); } } </code></pre><p>eu só preciso que ele me leve de volta ao local original em que estava antes de fazer o upload, o url do modal é:</p><pre><code>index.php?option=com\_file\_manager&amp;view=videofile&amp;layout=modal&amp;tmpl=component&amp;function=jselectvideofile\_jform\_video </code></pre><p>e após o upload:</p><pre><code>index.php?option=com\_file\_manager&amp;view=videofile&amp;layout=modal&amp;tmpl=component&amp;function=jselectvideofile\_jform\_video </code></pre><p>estranho, eu sei, é o mesmo url, mas não é a mesma página. isso me leva à exibição em lista dessa página.</p><p>qualquer ajuda muito apreciada</p>
<p>o problema acabou sendo algo tão simples quanto <code>&amp;amp;</code>, mudança simples:</p><pre><code>&lt;input type="hidden" name="return-url" value="&lt;?php echo base64\_encode('index.php?option=com\_file\_manager&amp;amp;view=file&amp;amp;layout=modal&amp;amp;tmpl=component'); ?&gt;" /&gt; </code></pre><p>para:</p><pre><code>&lt;input type="hidden" name="return-url" value="&lt;?php echo base64\_encode('index.php?option=com\_file\_manager&amp;view=file&amp;layout=modal&amp;tmpl=component'); ?&gt;" /&gt; </code></pre><p>fiz o truque. obrigado a todos por suas contribuições.</p>
<p>redirectmatch de mod\_alias ​​não é tão poderoso quanto mod\_rewrite. se você tiver mod\_rewrite no seu host (pretty permalinks use-o, por exemplo), você poderá fazer o redirecionamento somente se o url não estiver no formato de link do arquivo.</p><p>para testar esse caso, há <a href="http://httpd.apache.org/docs/2.0/mod/mod\_rewrite.html#rewritecond"><code>rewritecond</code></a> e para fazer o comando de redirecionamento, existe o <a href="http://httpd.apache.org/docs/2.0/mod/mod\_rewrite.html#rewriterule"><code>rewriterule ... [r=301]</code></a> diretiva.</p><p>um exemplo baseado em seus dados:</p><pre><code>rewritecond %{request\_uri} !^/((20|19)[0-9]{2})/([0-9]{2})/[0-9]{2}$ [nc] rewriterule ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://&lt;domain&gt;/$4 [r=301,l] </code></pre><p>isso não foi testado, mas acho que deveria fazer o trabalho. eu usei o quantificador ({2}) para especificar melhor quantos números você espera. ao lado disso, no rewritecond eu criei um padrão que combina apenas com os 20 .. e 19 .. anos.</p><p>a primeira linha (a condição, <code>rewritecond</code>) verifica se não corresponde a uma url de arquivamento e, somente se não corresponder, a regra para fazer o redirecionamento será executada. o <code>rewriterule</code> basicamente faz o mesmo que a sua diretiva <code>redirectmatch</code>.</p> boa [@cesar\_de\_souza\_lima2](/u/cesar_de_souza_lima2)

obrigado, bem esclarecedor.

fazer esse redirecionamento é possível e basta que o contexto do roteador esteja ativo em todos os subbots para que as variáveis do contato sejam visíveis para todos eles.

subbot 2: você pode atribuir esses valores das variáveis limiteparcela … <p>exatamente como você está fazendo. a idéia de vulnerabilidades de redirecionamento aberto é usar a confiança que um usuário possui em um site específico (o site vulnerável) e explorá-lo para fazer com que eles visitem seu site.</p><p>então você enviaria este link para um usuário: <code>example.com/?url=evil.com/sploitcode.php</code>. porque o site que eles veem é <code>example.com</code>, e eles confiam neles, eles clicarão nele (em teoria). por outro lado, se você os enviar, <code>evil.com</code>, eles não clicaram nele, porque não conhecem ou confiam nele.</p><p>você também pode ofuscar ainda mais o url <code>example.com/some/nice/sounding/path/%2f..%2f..%2f..%2f..%2f/?url=evil.com/something-less-evil.php?some-unneded=parameters</code>. depois, você também pode agrupá-lo em uma tag nice <code>a</code>, para que os usuários sejam menos suspeitos (a principal vantagem é que passar o mouse sobre o link mostrará a eles um link inocente à primeira vista).</p> <p>verificou o nome do arquivo? verificou se a imagem está na mesma pasta que o arquivo html? verificou se tudo está escrito correto?</p>
<p>se possível, cole o código html aqui para que possamos ajudá-lo.</p> <p>olá, josé. tudo bem? </p>
<p>no arquivo <strong>imagens.js</strong>, na função <strong>preload()</strong>, todas as imagens estão sendo armazenadas na mesma variável: <code>imagemcarro</code></p>
<pre class="prettyprint"><code>function preload(){
 imagemcarro &#61; loadimage(&#34;imagens/carro-1.png&#34;); 
 imagemcarro &#61; loadimage(&#34;imagens/carro-2.png&#34;);
 imagemcarro &#61; loadimage(&#34;imagens/carro-3.png&#34;);
}</code></pre>
<p> dessa forma, o erro ocorre ao invocar a função <strong>image</strong>, no arquivo <strong>carro.js</strong> e tentar passar a <em>var</em> <strong>imagemcarro2</strong> como parâmetro, pois o mesmo não armazena o local da imagem do <strong>carro-2</strong>, conforme a sua intenção: </p>
<pre class="prettyprint"><code>//a imagemcarro2 não está armazenando a localização da imagem: carro2
image(imagemcarro2, xcarro2, ycarro2, 50, 40);</code></pre>
<p>o correto seria: </p>
<pre class="prettyprint"><code>function preload(){
 imagemcarro &#61; loadimage(&#34;imagens/carro-1.png&#34;); 
 imagemcarro2 &#61; loadimage(&#34;imagens/carro-2.png&#34;);
 imagemcarro3 &#61; loadimage(&#34;imagens/carro-3.png&#34;);
}</code></pre>
<p>&amp;</p>
<pre class="prettyprint"><code>image(imagemcarro, xcarro, ycarro, 50, 40);
image(imagemcarro2, xcarro2, ycarro2, 50, 40);</code></pre>
<p>espero ter ajudado. bons estudos pra gente!</p> <p>oi nilton,</p>
<p>vc precisa mudar o caminho no <code>produtoscontroller</code> no metodo <code>gravar</code>:</p>
<pre class="prettyprint"><code>string path &#61; filesaver.write(&#34;resources/arquivos-sumario&#34;, sumario);
</code></pre><p>a pasta <code>arquivos-sumario</code> deve existir dentro da pasta <code>src/main/webapp/resources</code>:</p>
<pre class="prettyprint"><code>src/main/webapp/resources/arquivos-sumario</code></pre><p>alem disso, vc precisa ajustar o caminho na tag <code>img</code> no jsp:</p>
<pre class="prettyprint"><code> &lt;c:url value&#61;&#34;/resources&#34; var&#61;&#34;resources&#34; /&gt;

&lt;c:foreach items&#61;&#34;${produtos}&#34; var&#61;&#34;produto&#34;&gt;
 &lt;tr&gt;
 &lt;td&gt;${produto.nome}&lt;/td&gt;
 &lt;td&gt;${produto.descricao}&lt;/td&gt;
 &lt;td&gt;&lt;c:url value&#61;&#39;/${produto.sumariopath}&#39; /&gt;&lt;/td&gt;
 &lt;td&gt;&lt;img src&#61;&#34;${resources}/${produto.sumariopath}&#34;&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/c:foreach&gt;</code></pre><p>espero ter errado em nada!!!</p>
<p>abs</p> oi [@verena.andreatta](/u/verena.andreatta) e [@francesca\_martinelli](/u/francesca_martinelli)

fizemos uma simplifcação nos campos de imagem.

agora só precisamos de uma legenda e um link (opcional):

[[image]](https://aws1.discourse-cdn.com/standard17/uploads/imaginerio/original/1x/f7157cf0ace1d3e230596fdd70c6c8ffe3819a80.jpeg "image")

[image] mandei as fotos do errado, esse é o local vou abrir outro topico com o modelo correto, desculpa. opa, alison. tudo bem?nesses casos eu prefiro que a minha action retorne um json e a partir dele eu renderizo a tabela novamente direto no front, ao invés de retornar uma view pronta. se você usa al... Como faço pra volta a foto do perfil