Feed items

CakePHP – Função para verificar registros únicos

Como todos sabem o isUnique do cake pode ser um pouco chato quando queremos verificar por vários campos ao mesmo tempo.
Existe uma função que normalmente é utilizada, está pelas páginas do google, seu nome é checkUnique.
Este POST, traz essa função aprimorada, visto que a função original não aceita que seja fornecido pares de chave e [...]

CakePHP paginate with group bug fix

Many people know this bug, when you try to paginate model with group by the count return only one.
I have fixed this bug making a fork of cake/libs/model/model.php.

We need to edit the file near at line 2050. I change de IF’s adding a new condition and added a new one.
So it’s look like:

...
} elseif [...]

Funções do CakePHP que facilitam a vida

Existem diversas funções no CakePHP que são alias para funções já existentes, outras que incrementam algumas das funções do PHP.
Ex.: Ao invés de usar print_r(), podemos usar pr(). Qual a diferença? O pr() coloca a TAG

 em volta do print_r, com que faz que ele seja exibido “formatado” e elimina a necessidade de ver [...]

CakePHP – passando variáveis do PHP para o javascript

Vocês já devem ter notado o fato que desenvolvemos em http://localhost/projeto e normalmente quando vai para a produção é algo como http://www.meudominio.com.br
É aí que começa a se cogitar passar algumas variáveis do PHP para o javascript. Também tem o fato de que não podemos ficar voltando com ../ e não podemos simplesmente colocar /. Se [...]

CakePHP – Editando um registro sem input hidden

Para todos que já leram o book.cakephp.org, vocês devem ter notado que o cake pede pra utilizar um campo hidden com o id do registro correto?
Pois bem eu não gosto muito de campos hidden (afinal hoje em dia todo mundo tem firebug, hehehe..), por esse motivo gostaria de explicar como fazer para não utilizar o [...]

CakePHP – Utilizando dois cookies de sessão.

Se você tem a necessidade de utilizar dois cookies para sessão, como por exemplo um site e a área administrativa de um site, poderá utilizar da função deste POST.
O porque de usar dois cookies? Simples, você terá dois “sistemas indenpendentes”, onde cada $_SESSION terá chaves e valores diferentes. E se você der um session_destroy ele [...]

CakePHP – Trabalhando com Filtros em buscas

Esta classe tem como objetivo principal pegar dados de um formulário e filtrar nas queries do cakephp, salvando para próximas consultas (como paginação e etc…)
Espero que ajude.

Primeiramente o componente Filter que fará todo o trabalho

<?php

class FilterComponent extends Object{
private $controller = null;
private $filters = array();
private $storedData = array();
private $filterKey = "Filter";
private $conditions = array();

/**
* @author [...]

CakePHP .htaccess da pasta webroot

Como todos sabem (ou deveriam saber), a pasta webroot do cake lista os diretórios e permite a navegação no mesmo.
Então como podemos resolver isto?

Simples, vamos melhorar o .htaccess da pasta webroot!
Segue abaixo o novo .htaccess:

Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} webroot/files/*
RewriteRule ^(.*)$ index.php [R=403]

O que isso faz?
Não permite [...]

CakePHP – Mensagem flash com layout

Como hoje estou “inspirado” pra postar, pois a chefa me mandou pra casa por causa da gripe (obs. estou quase desidratando de tanto espirrar), e também não vou a aula hoje por conta disto…..
Neste POST vou mostrar como personalizar a mensagem de flash do CakePHP, aquela que redireciona em X segundos e tal…

Você deve criar [...]

Função para ajudar no ajax com cakephp

Ando meio cheio de coisa pra fazer ultimamente, gostaria de deixar aqui uma funçãozinha que costumo utilizar quando trabalho com cake.
Ela facilita na hora de criar uma função ajax, não precisa decorar os header, nem mudar toda vez o debug para 0.

Coloque o código abaixo no AppController. Se você quiser que não seja renderizado, [...]