<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum CakePHP.org.pl - Ogólne]]></title>
		<link>http://forum.cakephp.org.pl/</link>
		<description><![CDATA[Najświeże tematy w Forum CakePHP.org.pl.]]></description>
		<lastBuildDate>Tue, 20 Jul 2010 07:46:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Wstawianie obrazu do maila]]></title>
			<link>http://forum.cakephp.org.pl/topic/139/wstawianie-obrazu-do-maila/new/posts/</link>
			<description><![CDATA[<p>Witam,</p><p>Być może to złe miejsce na takie pytanie, ale tylko takie znalazłem. </p><p>Informatyk, który administruje moją stroną internetową twierdzi, że nie ma możliwości załączenia obrazu do maila (newsletter wysyłany klientom). Według niego Cake obsługuje wyłącznie załączanie grafiki jako link. Mi zależy na tym, aby fotka była dołączana do maila, czyli tak jak można to zrobić np. w Outlook Express. Fotka nie jest wtedy ciągnięta z serwera tylko jest zintegrowaną częscią wiadomości. </p><p>Z góry dziękuję za ewentualną pomoc.</p><p>pzdr<br />wed</p>]]></description>
			<author><![CDATA[dummy@example.com (rocichy)]]></author>
			<pubDate>Tue, 20 Jul 2010 07:46:28 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/139/wstawianie-obrazu-do-maila/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problem z AppController]]></title>
			<link>http://forum.cakephp.org.pl/topic/144/problem-z-appcontroller/new/posts/</link>
			<description><![CDATA[<p>Witam,<br />Mam pewien problem z kontrolerem aplikacji. Stworzyłem plik app_controller.php w folderze /app/</p><p>Oto kod tego pliku :</p><div class="codebox"><pre><code>&lt;?php
class AppController extends Controller {
    
    var $helpers = array(&#039;Session&#039;);
    var $uses    = array(&#039;Event&#039;); 
    
    function beforeFilter() 
    {
        $this-&gt;set(&#039;premiumEvents&#039;, $this-&gt;Event-&gt;getPremium());
        echo &#039;xx&#039;;
    }
    
    
}</code></pre></div><p>Cake tak jak by nie widzi tego pliku. Niedośc, że podczas wywoływania poszczególnych metod zmienna $premiumEvents nie istnieje (z poziomu widoków) to jeszcze na stronie nie pojawia się ciąg znaków &#039;xx&#039;. </p><p>Czy macie może jakiś pomysł co może być nie tak ? </p><p>Pozdrawiam i z góry dziękuje za pomoc <img src="http://forum.cakephp.org.pl/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[dummy@example.com (rocichy)]]></author>
			<pubDate>Tue, 20 Jul 2010 07:29:11 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/144/problem-z-appcontroller/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Jak to rozwiązać. Jeden użytkownik, wiele grup, aktywne,nieaktywne...]]></title>
			<link>http://forum.cakephp.org.pl/topic/147/jak-to-rozwiazac-jeden-uzytkownik-wiele-grup-aktywnenieaktywne/new/posts/</link>
			<description><![CDATA[<p>Witam</p><p>mam do rozwiazania taki problem i nie bardzo wiem jak..</p><p>otóż:<br />Może nie potrzebuję mieć HABTM ale właśnie dlatego chcę spytać.<br />Użytkownik może być członkiem wielu grup, stąd chciałem mieć tabelę Membership która zawierałaby user_id, group_id, active(0-nieaktywne,1-aktywne,-1 -ban),describe(miejsce np. na notkę od admina, coś w stylu co aktualnie z twoim członkostwem,ale to tylko detal)</p><p>Potem w aplikacji będę potrzebował wyświetlać user&#039;owi wiele różnych rzeczy powiązanych z grupą, której członkostwo w danym momencie jest aktywne dla user&#039;a. Jak to rozwiązać, żeby uniknąć pisania w aplikacji co chwilę user-&gt;membership-&gt;group .. itd.</p><p>Myślałem by użytkownik miał kolumnę z active_membership lub coś w tym stylu i na tej podstawie system mu podawał informacje ale nie wiem jak to dobrze rozwiązać i główkuje nad tym od paru dni i nic mądrego nie wymyśliłem, a zapewne ktoś z kolegów tutaj nie raz się z takim czymś spotkał i robił to może podzieli się doświadczeniem ?</p>]]></description>
			<author><![CDATA[dummy@example.com (mariaczi)]]></author>
			<pubDate>Mon, 19 Jul 2010 20:58:28 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/147/jak-to-rozwiazac-jeden-uzytkownik-wiele-grup-aktywnenieaktywne/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problem z routingiem, potrzebuję niejako dwuznacznych ścieżek]]></title>
			<link>http://forum.cakephp.org.pl/topic/124/problem-z-routingiem-potrzebuje-niejako-dwuznacznych-sciezek/new/posts/</link>
			<description><![CDATA[<p>Witam.</p><p>Piszę CMS, którego sercem jest kontroler PagesController (który w założeniu ma działać niejako front-controller). Model Page bazuje na TreeBehavior oraz drzewiastej strukturze slugów w postaci unikalnej ścieżki do danej strony.<br /></p><div class="codebox"><pre><code>- aktualnosci (slug: aktualnosci)
- produkty (slug: produkty)
  - produkt 1 (slug: produkty/produkt-1)
  - produkt 2 (slug: produkty/produkt-2)</code></pre></div><p>Do tego wszystkiego mam podpięty route w postaci:<br /></p><div class="codebox"><pre><code>Router::connect(
    &#039;/:path&#039;,
    array(&#039;controller&#039; =&gt; &#039;pages&#039;, &#039;action&#039; =&gt; &#039;view&#039;),
    array(
        &#039;pass&#039; =&gt; array(&#039;path&#039;),
        &#039;path&#039; =&gt; &quot;(?!admin/)[\w/-]+&quot;,
    )
);</code></pre></div><p>tak, aby linki do strony były w postaci:<br /></p><div class="codebox"><pre><code>http://domena.pl/produkty/produkt-1</code></pre></div><p><strong>A teraz mój problem:</strong></p><p>Nie mogę wywołać strony z parametrami np.<br /></p><div class="codebox"><pre><code>http://domena.pl/produkty/aktywne</code></pre></div><p>... ponieważ taki URI spowoduje szukanie strony o slugu &quot;/produkty/aktywne&quot; (będzie 404) zamiast znaleźć stronę &quot;/produkty&quot;, a parametr &quot;[0] =&gt; aktywne&quot; wrzucić do Controller::params[&#039;named&#039;].</p><p>Macie jakąs radę jak to rozwiązać, żeby Router odpowiednio linkował do kontrolera, a jednocześnie poprawnie obsługiwał parametry passed i named zgodnie z konwencją przyjętą w ścieżce?</p><p>Od razu mówię, że nie wiem jakie nazwy parametrów będą się pojawiać w adresie URI, bo to będzie zależne od wtyczek, zatem podanie na sztywno nazw parametrów w Router::connect() odpada.</p><p>Pomóżcie <img src="http://forum.cakephp.org.pl/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[dummy@example.com (prgTW)]]></author>
			<pubDate>Sat, 03 Jul 2010 10:54:36 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/124/problem-z-routingiem-potrzebuje-niejako-dwuznacznych-sciezek/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[dodawanie user'ów problem]]></title>
			<link>http://forum.cakephp.org.pl/topic/143/dodawanie-userow-problem/new/posts/</link>
			<description><![CDATA[<p>Witam,<br />jestem początkującym użytkownikiem cake (a nawet raczkującym). Robię sobie tutoriale ze strony <a href="http://%20http://book.cakephp.org/"> http://book.cakephp.org/</a>,<br />o ile z blogiem nie miałem problemów tak z acl trochę się katuję (jak widziałem to nie tylko mi stwarza to problemy).</p><p>Mianowicie mam problem z dodawaniem user&#039;ów, poniżej zawartość modelu -group.php ; view -add.ctp oraz controller -group_controllers.php:<br /></p><div class="codebox"><pre><code>&lt;?php
class Group extends AppModel {

    var $name = &#039;Group&#039;;
    var $validate = array(
        &#039;name&#039; =&gt; array(&#039;notempty&#039;)
    );
    //The Associations below have been created with all possible keys, those that are not needed can be removed
    var $hasOne = array(
        &#039;User&#039; =&gt; array(&#039;className&#039; =&gt; &#039;User&#039;,&#039;foreignKey&#039; =&gt; &#039;group_id&#039;,&#039;dependent&#039; =&gt; false,&#039;conditions&#039; =&gt; &#039;&#039;,&#039;fields&#039; =&gt; &#039;&#039;,
            &#039;order&#039; =&gt; &#039;&#039;
        )
    );
    var $hasMany = array(
        &#039;User&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;User&#039;,&#039;foreignKey&#039; =&gt; &#039;group_id&#039;,&#039;dependent&#039; =&gt; false,&#039;conditions&#039; =&gt; &#039;&#039;,&#039;fields&#039; =&gt; &#039;&#039;,&#039;order&#039; =&gt; &#039;&#039;,
            &#039;limit&#039; =&gt; &#039;&#039;,&#039;offset&#039; =&gt; &#039;&#039;,&#039;exclusive&#039; =&gt; &#039;&#039;,&#039;finderQuery&#039; =&gt; &#039;&#039;,&#039;counterQuery&#039; =&gt; &#039;&#039;
        )
    );
        var $actsAs = array(&#039;Acl&#039; =&gt; array(&#039;type&#039; =&gt; &#039;requester&#039;));
        function parentNode() {
            return null;
        }
}
?&gt;</code></pre></div><p>controller:<br /></p><div class="codebox"><pre><code>&lt;?php
class GroupsController extends AppController {

    var $name = &#039;Groups&#039;;
    var $helpers = array(&#039;Html&#039;, &#039;Form&#039;);
        
        function beforeFilter() {
            parent::beforeFilter();
            $this-&gt;Auth-&gt;allow(&#039;*&#039;);
        }

        function index(){

        }
        
        function add() {
            if(empty ($this-&gt;data)){
            if ($this-&gt;Group-&gt;save($this-&gt;data)){
                $this-&gt;Session-&gt;setFlash(&#039;Twoja grupa została zapisana&#039;);
                //$this-&gt;redirect(array(&#039;action&#039;=&gt;&#039;index&#039;));
            }
        }
        }
}
?&gt;</code></pre></div><p>view:<br /></p><div class="codebox"><pre><code>&lt;h1&gt;Dodawanie grupy&lt;/h1&gt;
&lt;?php
echo $form-&gt;create(&#039;Group&#039;);
echo $form-&gt;input(&#039;name&#039;);
echo $form-&gt;submit(&#039;Dodaj&#039;);
?&gt;</code></pre></div><p>Jak wchodzę na stronkę ../groups/add automatycznie dodawana jest grupa do bazy, wyświetlany komunikat o dodanej grupie.</p><p>Jednak jak wpiszę na tej stronie w formularzu jakąś nazwę grupy i kliknę dodaj nic się nie dzieje, nie wyświetla komunikatu, ani nie dodaje do bazy. Nie mam pojęcia dlaczego tak jest i gdzie robię błąd. proszę o pomoc.</p><p>W momencie gdy wchodzi się tylko na stronę to dodawany jest rekord do bazy ale bez wartości name ponieważ z formularza nie przechodzi.</p>]]></description>
			<author><![CDATA[dummy@example.com (rob_zombie)]]></author>
			<pubDate>Thu, 01 Jul 2010 23:55:29 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/143/dodawanie-userow-problem/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Cache trochę inaczej]]></title>
			<link>http://forum.cakephp.org.pl/topic/141/cache-troche-inaczej/new/posts/</link>
			<description><![CDATA[<p>Witam,</p><p>pomysła mam ,&nbsp; pomysła ciekawego, na cache&#039;owanie danych w kłejku. Być może kejk w tej chwili &quot;umi&quot; już tak jak ja chce, ale pewnie nie do końca. Mam zamiar napisać behaviora&nbsp; + model&nbsp; lub&nbsp; plugin, który zapewni cacheowanie danych z bazy przy czym,&nbsp; dane dostaczone do użytkownia końcowego nigdy nie bedą przeterminowane (nie będzie on musial czekac na&nbsp; koniec zycia danego cache&#039;u zeby zobaczyc odswieżone dane) - cache sam się będzie odswieżać&nbsp; przy najmniejszej zmianie w spodziewanym zestawie rekordów - taki Real Time Cache - ważny np w przypadku wyników sportowych, które muszą być serwowane bez żadnych opóźnień.</p><p>Całość zakłada dodanie do tabel, z których dane będą cacheowane, pola modified int(10) - czyli będzie można powiedzieć kiedy dany rekord był zmieniony z dokładnością co do 1 ms, albo inaczej kiedy ostatnio jakikolwiek rekord ze spodziewanego zestawu rekordów był ostatnio modyfikowany -&nbsp; rekord o najwyzszej wartosci modified jest ostatnim zmienionym/utworzonym&nbsp; rekordem&nbsp; - będzie to jedno z dwóch kryteriów świadczące o zmianie&nbsp; w&nbsp; zestawie spodziewanych rekordów.</p><p>Drugie kryterium to ilość rekordów, które zostaną zwrócone po uwzględnieniu warunków zapytania.</p><p>mając np takie 3&nbsp; rekordy&nbsp; w tabeli (id,name, modified)<br />3 , n3 , 1276891296<br />2 , n2 , 1276891200<br />1 , n1 , 1276891100</p><p>Keszując dane i sprawdzając tylko wartość pola modified nie zauważymy&nbsp; usnięcią&nbsp; rekordów z modified&nbsp; niższym niż najwyższe w czasie ostatniego keszowania.</p><p>Czyli porównując ilość rekordów w cache + czas ostatnio zmodyfikowanego rekordu , z iloscią rekrdów i czasem jakie zwroci baza po wykonaniu zapytania będzie wiadomo czy cache należy odświeżyć czy nie. </p><p>Dodatkowo można sprawdzać z jakimi argumentami została odpalona metoda probujaca uzyskać dostęp do danych (func_get_args() ), w przypadkach gry rekord nalezy do danego użytkowika.</p><p>Jakieś sugestie co do powyższych założeń ? </p><p>O ile sprawa jest prosta w przypadku modeli bez asocjacji, to trochę zaczyna się komplikować w przypadku asocacji, zwłaszcza tych bardziej złożonych, ale narazie nie zabrnałem aż tak daleko w moich przemyśleniach, sugestie mile widziane i do tej części.</p><br /><p>+ Takie tam założenia na przyszłość : <br />Cache powinien być plikowy&nbsp; - wszystko zapisywane do pliku (File albo APC), ale tzw gorące dane powinny trafiać do bufora&nbsp; memcached, okresowo cronem można dane ktore już ostygły wywalać z bufora.</p>]]></description>
			<author><![CDATA[dummy@example.com (rob_zombie)]]></author>
			<pubDate>Mon, 28 Jun 2010 11:50:03 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/141/cache-troche-inaczej/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[polskie znaki w $html->link]]></title>
			<link>http://forum.cakephp.org.pl/topic/142/polskie-znaki-w-htmllink/new/posts/</link>
			<description><![CDATA[<p>Nie wiem czy ktoś miał już taki problem mianowicie nie mogę wsadzić w link polskich znaków. np:<br />&lt;?php echo $html-&gt;link(&quot;Strona Glowna&quot;, array(...)); ?&gt;<br />&lt;?php echo $html-&gt;link(&quot;Strona Główna&quot;, array(...)); ?&gt;<br />to na stronce mam tylko jeden link &quot;Strona Glowna&quot; a drugi w ogóle nie jest wyświetlany - jakby go nie było. Czy w ogóle jest w Cake`u możliwość zrobienia &#039;polskich&#039; linków ?</p>]]></description>
			<author><![CDATA[dummy@example.com (m1chal)]]></author>
			<pubDate>Mon, 28 Jun 2010 11:06:18 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/142/polskie-znaki-w-htmllink/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Zabezpieczenie i Galeria]]></title>
			<link>http://forum.cakephp.org.pl/topic/138/zabezpieczenie-i-galeria/new/posts/</link>
			<description><![CDATA[<p>Cześć, od kilku dni zacząłem przygodę z CakePHP.<br />Zrobiłem kilka ciekawych rzeczy, w sumie nic specjalnego (tj. edycja podstron).<br />Szukam rozwiązania - wsparcia dla galerii, dodawanie, kategorie (albumy) etc.</p><p>Najważniejsze jednak, jest dla mnie logowanie - znalazłem kilka rozwiązań paneli admina, ale co chwila jakiś komunikat o błędzie mi wyskakuje. Chcę zwykły panel, gdzie wejdę na &quot;domena.pl/admin&quot; i będe miał panel logowania, zaś strona &quot;domena.pl/admin/pages/add&quot; będzie zabezpieczona i widoczna tylko po zalogowaniu.</p>]]></description>
			<author><![CDATA[dummy@example.com (rafaln)]]></author>
			<pubDate>Mon, 31 May 2010 11:14:21 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/138/zabezpieczenie-i-galeria/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Walidacja z oficjalnej dokumentacji]]></title>
			<link>http://forum.cakephp.org.pl/topic/129/walidacja-z-oficjalnej-dokumentacji/new/posts/</link>
			<description><![CDATA[<p>Witam,</p><p>Robię tutorial z BLOG-iem (oficjalna dokumentacja): <a href="http://book.cakephp.org/view/219/Blog">tutaj</a></p><p>Model, kontroler i widok wyglądają jak w w/w linku (dla pewności załączam poniżej), ale walidacja nie działa.<br />Czy to dlatego, że korzystam z CakePHP 1.3.0-beta, czy dlatego że wykorzystuję SQLite3?</p><p>posts.php<br /></p><div class="codebox"><pre><code>&lt;?php
class Post extends AppModel
{
    var $name = &#039;Post&#039;;
    var $validate = array(
        &#039;title&#039; =&gt; array(
            &#039;rule&#039; =&gt; &#039;notEmpty&#039;
        ),
        &#039;body&#039; = array(
            &#039;rule&#039; =&gt; &#039;notEmpty&#039;
        )
    );
}
?&gt;</code></pre></div><p>controllers/posts_controller.php<br /></p><div class="codebox"><pre><code>&lt;?php
class PostsController extends AppController
{
    var $name = &#039;Posts&#039;;
    function index()
    {
        $this-&gt;set(&#039;posts&#039;, $this-&gt;Post-&gt;find(&#039;all&#039;));
    }
    function view($id = null)
    {
        $this-&gt;Post-&gt;id = $id;
        $this-&gt;set(&#039;post&#039;, $this-&gt;Post-&gt;read());
    }
    function add()
    {
        if (!empty($this-&gt;data))
        {
            if ($this-&gt;Post-&gt;save($this-&gt;data))
            {
                $this-&gt;Session-&gt;setFlash(&#039;Your post has been saved.&#039;);
                $this-&gt;redirect(array(&#039;action&#039; =&gt; &#039;index&#039;));
            }
        }
    }
}
?&gt;</code></pre></div><p>views/posts/index.ctp<br /></p><div class="codebox"><pre><code>&lt;?php echo $html-&gt;link(&#039;Add Post&#039;, array(&#039;controller&#039; =&gt; &#039;posts&#039;, &#039;action&#039; =&gt; &#039;add&#039;)); ?&gt;
&lt;table&gt;
    &lt;tr&gt;
        &lt;th&gt;id&lt;/th&gt;
        &lt;th&gt;title&lt;/th&gt;
        &lt;th&gt;created&lt;/th&gt;
    &lt;/tr&gt;
    &lt;?php foreach ($posts as $post): ?&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;?php echo $post[&#039;Post&#039;][&#039;id&#039;]; ?&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;?php echo $html-&gt;link($post[&#039;Post&#039;][&#039;title&#039;], array(
                &#039;controller&#039; =&gt; &#039;posts&#039;, &#039;action&#039; =&gt; &#039;view&#039;, $post[&#039;Post&#039;][&#039;id&#039;])
            ); ?&gt;
        &lt;/td&gt;
        &lt;td&gt;&lt;?php echo $post[&#039;Post&#039;][&#039;created&#039;]; ?&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;?php endforeach; ?&gt;
&lt;/table&gt;</code></pre></div><p>views/posts/add.ctp<br /></p><div class="codebox"><pre><code>&lt;h1&gt;Add Post&lt;/h1&gt;
&lt;?php
echo $form-&gt;create(&#039;Post&#039;);
echo $form-&gt;input(&#039;title&#039;);
echo $form-&gt;input(&#039;body&#039;, array(&#039;rows&#039; =&gt; &#039;3&#039;));
echo $form-&gt;end(&#039;Save Post&#039;);
?&gt;</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (tomay7)]]></author>
			<pubDate>Tue, 11 May 2010 17:48:06 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/129/walidacja-z-oficjalnej-dokumentacji/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Skomplikowane zapytanie do bazy, jak go wykonać?]]></title>
			<link>http://forum.cakephp.org.pl/topic/127/skomplikowane-zapytanie-do-bazy-jak-go-wykonac/new/posts/</link>
			<description><![CDATA[<p>Mam takie oto query:<br /></p><div class="codebox"><pre><code>SELECT (
(
ROUND( (
SUM( t1.rate ) / COUNT( t1.id ) ) , 2
)
) * COUNT( t1.id )
) AS ocenaKoncowa, ROUND( (
SUM( t1.rate ) / COUNT( t1.id ) ) , 2
) AS ocenaPostow, COUNT( t1.id ) AS ilePostow, t1.user_id, t2.username AS user
FROM posts t1, users t2
WHERE t1.user_id = t2.id
AND t2.id !=2
AND t2.id !=30
AND t2.id !=109
AND t2.id !=33
AND t1.created &gt;= DATE_SUB( CURDATE( ) , INTERVAL 1 week ) 
GROUP BY t1.user_id
ORDER BY ocenaKoncowa DESC 
LIMIT 0 , 10</code></pre></div><p>Czyli pobieram dane, zaokrąglem je, dzielę, mnożę itd... jak to włożyć w kod cakePHP, macie pomysł?</p>]]></description>
			<author><![CDATA[dummy@example.com (id02009)]]></author>
			<pubDate>Thu, 06 May 2010 03:27:10 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/127/skomplikowane-zapytanie-do-bazy-jak-go-wykonac/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Użytkownicy online - problem z app_controll.php]]></title>
			<link>http://forum.cakephp.org.pl/topic/119/uzytkownicy-online-problem-z-appcontrollphp/new/posts/</link>
			<description><![CDATA[<p>Potrzebuje informacji na temat użytkowników, którzy są online w serwisie. W bazie danych trzymam informacje o ostatniej akcji zalogowanego użytkownika i na tej podstawie wysnuwam wniosek, czy jest on on-line, czy nie. Zapis akcji robię w app_controller.php jako, że kod tam zawarty jest wykonywane zawsze. Cały kod jest zawarty w metodzie beforeRender</p><div class="codebox"><pre><code>$member=$this-&gt;Session-&gt;read(&#039;Auth.Member&#039;);
        if(!empty($member)){
            $this-&gt;set(&#039;auth&#039;, true);
            if(isset($this-&gt;Member)){
                $data=array();
                $data[&#039;Member&#039;][&#039;id&#039;]=$member[&#039;id&#039;];
                $data[&#039;Member&#039;][&#039;last_action&#039;]=time();
                $this-&gt;Member-&gt;save($data,false);
            }
        } else
            $this-&gt;set(&#039;auth&#039;, false);</code></pre></div><p>Problem w tym, że czasami odwołanie $this-&gt;Member - wyrzuca błąd, gdyż nie każda podstrona używa tego modelu. W takim wypadku chciałem dynamiczne załadować moduł, jednak App:import wyrzuca błąd, że metoda import() nie istnieje. W jaki sposób zrobić to tak, aby działało poprawnie? Tzn. załadować dynamicznie moduł Member lub w ogóle przenieść wywołanie z app_controller.php gdzie indziej ten kod?</p>]]></description>
			<author><![CDATA[dummy@example.com (m1chal)]]></author>
			<pubDate>Wed, 05 May 2010 21:16:13 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/119/uzytkownicy-online-problem-z-appcontrollphp/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[var $paginate domyślne sortowanie w zależności od klikniętego linku]]></title>
			<link>http://forum.cakephp.org.pl/topic/128/var-paginate-domyslne-sortowanie-w-zaleznosci-od-kliknietego-linku/new/posts/</link>
			<description><![CDATA[<p>Mam taki kod w kontrolerze:<br /></p><div class="codebox"><pre><code>var $paginate = array(&#039;Post&#039;=&gt;array(&#039;limit&#039;=&gt;10,&#039;order&#039;=&gt;array(&#039;Post.typ&#039;=&gt;&#039;ASC&#039;,&#039;Post.created&#039;=&gt;&#039;DESC&#039;)),&#039;Tag&#039;=&gt;array(&#039;limit&#039;=&gt;10,&#039;order&#039;=&gt;array(&#039;Tag.created&#039;)));</code></pre></div><p>Czy da się kliknięciem w link tak ustawić domyśle sortowanie, żeby po załadowaniu strony sortowało: array(&#039;Post.typ&#039;=&gt;&#039;DESC&#039;,&#039;Post.created&#039;=&gt;&#039;DESC&#039;), a po kliknięciu w link: array(&#039;Post.typ&#039;=&gt;&#039;ASC&#039;,&#039;Post.created&#039;=&gt;&#039;DESC&#039;), czyli w Post.typ odwrócić kolejność?</p><p>Albo w ogóle inaczej, w bazie mam tabelę Post i ona ma kolumnę typ, która zawiera 2 wartości TXT lub IMG, chcę domyślnie ładować IMG, a jak by się kliknęło w link, to żeby zamiast IMG ładowało TXT, nie wiem, czy dobrze wszystko wytłumaczyłem...</p>]]></description>
			<author><![CDATA[dummy@example.com (m1chal)]]></author>
			<pubDate>Wed, 05 May 2010 21:12:49 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/128/var-paginate-domyslne-sortowanie-w-zaleznosci-od-kliknietego-linku/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problem z ograniczaniem ilości złączeń tabel w paginacji]]></title>
			<link>http://forum.cakephp.org.pl/topic/133/problem-z-ograniczaniem-ilosci-zlaczen-tabel-w-paginacji/new/posts/</link>
			<description><![CDATA[<p>Mam problem z ograniczeniem &quot;głębokości&quot; tabel z jakiej wybierane są dane podczas paginacji.<br />Działam na następującym zestawie:</p><p>Tag &lt;--habtm--&gt; Note</p><p>Warunki w paginacji wyglądają tak:<br /></p><div class="codebox"><pre><code>$this-&gt;paginate = array(
        &#039;Tag&#039; =&gt;array(
                &#039;recursive&#039; =&gt; 1,
                &#039;conditions&#039; =&gt; array(
                        &#039;Tag.id&#039; =&gt; $id
                ),
                &#039;fields&#039; =&gt; array(
                        &#039;Tag.id&#039;,
                        &#039;Tag.tag&#039;,
                ),
                &#039;contain&#039; =&gt; array(
                        &#039;Note&#039; =&gt; array(
                                &#039;order&#039; =&gt; &#039;Note.created DESC&#039;,
                                &#039;fields&#039; =&gt; array(&#039;Note.id&#039;, &#039;Note.created&#039;),
                        )
                )
        )      
);

$notes = $this-&gt;paginate(&#039;Tag&#039;);</code></pre></div><p>Wyniki jest w takiej postaci:<br /></p><div class="codebox"><pre><code>Array
(
    [0] =&gt; Array
        (
            [Tag] =&gt; Array
                (
                    [id] =&gt; 3
                    [tag] =&gt; praca
                )

            [Note] =&gt; Array
                (
                    [0] =&gt; Array
                        (
                            [id] =&gt; 2
                            [created] =&gt; 2010-04-15 07:32:38
                            [NotesTag] =&gt; Array
                                (
                                    [id] =&gt; 3
                                    [note_id] =&gt; 2
                                    [tag_id] =&gt; 3
                                )

                        )

                    [1] =&gt; Array
                        (
                            [id] =&gt; 1
                            [created] =&gt; 2010-04-14 14:40:29
                            [NotesTag] =&gt; Array
                                (
                                    [id] =&gt; 1
                                    [note_id] =&gt; 1
                                    [tag_id] =&gt; 3
                                )

                        )

                )

        )

)</code></pre></div><p>Problemem jest to, że razem z rekoradami tabeli Note wybierane są dane z tabeli habtm NotesTag. Kombinowałem z $recursive - na poziomie 0 wybierają tylko dane Tag a na 1 wszystko tak jak widać wyżej.</p><p>Zastanawiam się nad tym już dobry dzień i skończyły mi się pomysły.</p>]]></description>
			<author><![CDATA[dummy@example.com (m1chal)]]></author>
			<pubDate>Wed, 05 May 2010 21:08:24 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/133/problem-z-ograniczaniem-ilosci-zlaczen-tabel-w-paginacji/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problem z relacją M:N (HABTM)]]></title>
			<link>http://forum.cakephp.org.pl/topic/122/problem-z-relacja-mn-habtm/new/posts/</link>
			<description><![CDATA[<p>Witam.<br />Jestem początkującym jeżeli chodzi o Cake&#039;a i frameworki MCV. Zacząłem pisać pewną aplikację i utknąłem na banalnej rzeczy.</p><p>Założenie jest takie: <br />Mam dwie tabele z produktami i rozmiarami. Każdy produkt może mieć wiele rozmiarów, a każdy rozmiar może odnosić się do wielu produktów. Klasyczny przykład relacji M:N, którą rozbiję przy pomocy dodatkowej tabeli.</p><p>Mam zatem dane tabele z kluczami:<br /></p><div class="codebox"><pre><code>Product (id)                    
ProductSize (id, product_id, size_id)
Size (id)                                                    </code></pre></div><p>Oraz modele:<br /></p><div class="codebox"><pre><code>class Product extends AppModel
{
    var $name = &#039;Product&#039;;
    var $hasMany = array(&#039;ProductSize&#039;);
}

class ProductSize extends AppModel
{
    var $name = &#039;ProductSize&#039;;    
    var $belongsTo = array(&#039;Product&#039;,&#039;Size&#039;);
}

class Size extends AppModel
{
    var $name = &#039;Size&#039;;
    var $hasMany = array(&#039;ProductSize&#039;);
}</code></pre></div><p>A w kontrolerze ProductsController:<br /></p><div class="codebox"><pre><code>        $this-&gt;Product-&gt;recursive = 2;
        $this-&gt;set(&#039;products&#039;, $this-&gt;Product-&gt;find(&#039;all&#039;));</code></pre></div><p>Problem polega na tym, że Cake generuje tylko dwa SELECTy, które obejmują tylko dwie pierwsze tabele tj. Product i ProductSize, nic nie pobiera z tabeli Size. Wogóle dziwna sprawa, bo model wogóle nie reaguje na zmianę recursive&#039;a (recursive próbowałem już ustawiać chyba we wszystkich możliwych miejscach - w klasie modelu, przy find(), w kontrolerze - żadnej róznicy).</p><p>Dodam, że pomyślne udało mi się powiązać tabele relacją HABTM w Cake&#039;u, jednakże nie odpowiada mi to z racji tego, że utrudni to aktualizację bardziej złożonych tabel (a przynajmniej tak sugerowano w <a href="http://book.cakephp.org/view/85/Saving-Related-Model-Data-HABTM">Cookbooku</a>).</p><p>Za wszelkie rady, co tutaj mogłem skopać, będe wdzięczny.</p><p>PS. Używam CakePHP 1.2</p>]]></description>
			<author><![CDATA[dummy@example.com (id02009)]]></author>
			<pubDate>Tue, 16 Feb 2010 08:39:20 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/122/problem-z-relacja-mn-habtm/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problem]]></title>
			<link>http://forum.cakephp.org.pl/topic/118/problem/new/posts/</link>
			<description><![CDATA[<p>Czesc, wczoraj zainstalowalem cake&#039;a i próbuje cos tam w nim tworzyc, ale nie wiem jak usunac tabele, która wyswietla sie na samym dole strony w widoku z zapytaniami sql i predkoscia realizacji zapytan.<br />Nie moge znalezc gdzie to ustawic, aby sie to automatycznie nie wyswietlalo.<br />Z gory dzieki za pomoc;)</p>]]></description>
			<author><![CDATA[dummy@example.com (id02009)]]></author>
			<pubDate>Mon, 28 Dec 2009 09:17:29 +0000</pubDate>
			<guid>http://forum.cakephp.org.pl/topic/118/problem/new/posts/</guid>
		</item>
	</channel>
</rss>
