<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum CakePHP.org.pl - Relacje i błąd przy generowaniu obrazka]]></title>
	<link rel="self" href="http://forum.cakephp.org.pl/feed/atom/topic/114/"/>
	<updated>2009-11-20T12:34:03Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.cakephp.org.pl/topic/114/relacje-i-blad-przy-generowaniu-obrazka/</id>
		<entry>
			<title type="html"><![CDATA[Odp: Relacje i błąd przy generowaniu obrazka]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/531/#p531"/>
			<content type="html"><![CDATA[<p>Dzięki za informacje, w zasadzie nie wpadłem na to, żeby oprzeć captcha o osobny controller i tak właśnie zrobiłem, więc problem się już nie pojawia.</p>]]></content>
			<author>
				<name><![CDATA[sabat24]]></name>
				<uri>http://forum.cakephp.org.pl/user/244/</uri>
			</author>
			<updated>2009-11-20T12:34:03Z</updated>
			<id>http://forum.cakephp.org.pl/post/531/#p531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Relacje i błąd przy generowaniu obrazka]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/530/#p530"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>sabat24 napisał/a:</cite><blockquote><p>Problem jest w tym, że przy powyższej deklaracji zależności w modelu Member, do przeglądarki wysyłany jest nagłówek:<br /></p><div class="codebox"><pre><code>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</code></pre></div><p>natomiast kiedy usunę z modelu Member pole var $belongsTo - wszystko działa w porządku, obrazek się generuje i nagłówek wysyłany do przeglądarki ma wartość:<br /></p><div class="codebox"><pre><code>Accept: image/png,image/*;q=0.8,*/*;q=0.5</code></pre></div><p>Dlaczego dodanie relacji powoduje taki dziwny błąd? Tak jakby jakiś znak był wysyłany wcześniej i psuł definicję nagłówka.</p></blockquote></div><p>Taki nagłóek sugeruje, że niedostajesz obrazka, ale html z informacją o błedzie (nieistniejąca klasa, albo coś w ten desen?).</p><p>Pamiętaj, że Cake przy błedach wysyła stronę (Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8) html (np. o nieistniejącym modelu/kontrolerze/widoku)</p><p>Dodaj sobie metodę w tym samym kontrolerze co generująca captcha. Możliwe, że dostaniesz te same błędy, skoro zależą one od tego jakie relacje zdefiniujesz w modelach. Może gdzieś masz zwykłą literówkę?</p><p>Co do osobnego kontrolera - to jest też niezły pomysł.</p>]]></content>
			<author>
				<name><![CDATA[id02009]]></name>
				<uri>http://forum.cakephp.org.pl/user/199/</uri>
			</author>
			<updated>2009-11-20T10:28:46Z</updated>
			<id>http://forum.cakephp.org.pl/post/530/#p530</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Relacje i błąd przy generowaniu obrazka]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/528/#p528"/>
			<content type="html"><![CDATA[<p>hej,</p><p>w ogole to powinienes stworzyc osobny kontroler na Captche - np. CaptchaController - w nim w metodzie index() mozesz generowac obrazek pamietajac o wylaczeniu layoutu i widoku:</p><br /><br /><div class="codebox"><pre><code>function index() {
$this-&gt;layout = null;

$this-&gt;autoRender = false;

Configure::write(&#039;debug&#039;, 0);
//generujesz obrazek
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[tomay7]]></name>
				<uri>http://forum.cakephp.org.pl/user/227/</uri>
			</author>
			<updated>2009-11-19T21:38:21Z</updated>
			<id>http://forum.cakephp.org.pl/post/528/#p528</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Relacje i błąd przy generowaniu obrazka]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/526/#p526"/>
			<content type="html"><![CDATA[<p>Potrzebowałem stworzyć relację pomiędzy użytkownikami, a przypisaną do nich grupą. Stworzyłem model Group</p><div class="codebox"><pre><code>class Group extends AppModel {
    var $name = &#039;Group&#039;;
    var $displayField = &#039;name&#039;;

    var $hasMany = array(
        &#039;Member&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;Member&#039;,
            &#039;foreignKey&#039; =&gt; &#039;id&#039;,
            &#039;dependent&#039; =&gt; false
        )
    );

}</code></pre></div><p>A w modelu Member (używam go zamiast User), mam:<br /></p><div class="codebox"><pre><code>var $name = &#039;Member&#039;;
    var $displayField = &#039;username&#039;;
    var $belongsTo = array(
        &#039;Group&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;Group&#039;,
            &#039;foreignKey&#039; =&gt; &#039;group_id&#039;
        )
    );</code></pre></div><p>Wszystko działa dobrze, jednak problem pojawia się w momencie, gdy z controllera chcę wywołać funkcję generującą obrazek captcha. Obrazek generowany jest klasycznie tzn.<br /></p><div class="codebox"><pre><code>header(&quot;Expires: Sun, 1 Jan 2000 12:00:00 GMT&quot;);
    header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot;GMT&quot;);
    header(&quot;Cache-Control: no-store, no-cache, must-revalidate&quot;);
    header(&quot;Cache-Control: post-check=0, pre-check=0&quot;, false);
    header(&quot;Pragma: no-cache&quot;);
    header(&quot;Content-Type: image/png&quot;);
    imagepng($this-&gt;im);</code></pre></div><p>Problem jest w tym, że przy powyższej deklaracji zależności w modelu Member, do przeglądarki wysyłany jest nagłówek:<br /></p><div class="codebox"><pre><code>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</code></pre></div><p>natomiast kiedy usunę z modelu Member pole var $belongsTo - wszystko działa w porządku, obrazek się generuje i nagłówek wysyłany do przeglądarki ma wartość:<br /></p><div class="codebox"><pre><code>Accept: image/png,image/*;q=0.8,*/*;q=0.5</code></pre></div><p>Dlaczego dodanie relacji powoduje taki dziwny błąd? Tak jakby jakiś znak był wysyłany wcześniej i psuł definicję nagłówka.</p>]]></content>
			<author>
				<name><![CDATA[sabat24]]></name>
				<uri>http://forum.cakephp.org.pl/user/244/</uri>
			</author>
			<updated>2009-11-19T10:52:49Z</updated>
			<id>http://forum.cakephp.org.pl/post/526/#p526</id>
		</entry>
</feed>

