- Little Visuals http://littlevisuals.co/
- Unsplash http://unsplash.com/
- Death to the Stock Photo http://join.deathtothestockphoto.com/
- New Old Stock http://nos.twnsnd.co/
- Superfamous (requires attribution) http://superfamous.com/
- Picjumbo http://picjumbo.com/
- The Pattern Library http://thepatternlibrary.com/
- Gratisography http://www.gratisography.com/
- Getrefe http://getrefe.tumblr.com/
- IM Free (requires attribution) http://imcreator.com/free
- SplitShire http://splitshire.com/
19/02/2014
Site para uso de várias fotos e imagens tematicas variadas
Neste post do site abaixo segue uma relação de sites que disponibilizaram muitas fotos para se usar em diferentes projetos:
Marcadores:
variedade
11/02/2014
Personalizar Mensagens “setFlash” no CakePHP
Olá, estive com uma dificuldade de entender como modificava as mensagens de erro e sucesso padrão do CakePHP e achei um interessante tutorial:
Como achei muito útil para mim gostaria de compartilhar este tutorial:
1º Passo:
Criar arquivo: /app/views/elements/flash-sucesso.ctp
2º Passo:
Criar arquivo: /app/views/elements/flash-erro.ctp
ALTERANDO O CONTROLLER
Devemos agora alterar o controller para chamar os arquivos que criamos na pasta “views/elements/”.
//CONTROLLER
CRIANDO O CSS
Criar arquivo: /app/webroot/css/css-styles.css
Não, eu não criei o código css acima, apenas dei um CTRL C + CTRL V para facilitar a minha vida e a de vocês. Sejamos práticos galera! Rsrs.
Pronto! Basicamente é isto. Simples, não é?
É claro que vocês podem ainda criar “n” situações com o setFlash. Vocês podem implementar funcionalidades com o jQuery, tais como: criar um botão “fechar” dentro da mensagem, fazer com que a mensagem suma depois de alguns segundos, etc. Isso vai depender do conhecimento, da criatividade e da preguiça de cada um. =D
Espero que tenham gostado.
Abraços e até a próxima!
http://mytechnews.com.br/blog/?p=64
Como achei muito útil para mim gostaria de compartilhar este tutorial:
1º Passo:
Criar arquivo: /app/views/elements/flash-sucesso.ctp
<div class="flash-sucesso">
“O cadastro foi concluído com sucesso!”
</div>2º Passo:
Criar arquivo: /app/views/elements/flash-erro.ctp
<div class="flash-erro">
“Não foi possível salvar. Tente novamente.”
</div>ALTERANDO O CONTROLLER
Devemos agora alterar o controller para chamar os arquivos que criamos na pasta “views/elements/”.
//CONTROLLER
$this->Session->setFlash(‘’, ‘flash-sucesso’);
//ou
$this->Session->setFlash(‘’, ‘flash-erro’);CRIANDO O CSS
Criar arquivo: /app/webroot/css/css-styles.css
.flash-sucesso {
background: #e5f2be;
border:2px solid #bedf5d;
padding:10px;
font-weight:bold;
}
.flash-erro {
background: #eccecf;
border:2px solid #9e0b0f;
padding:10px;
font-weight:bold;
}Não, eu não criei o código css acima, apenas dei um CTRL C + CTRL V para facilitar a minha vida e a de vocês. Sejamos práticos galera! Rsrs.
Pronto! Basicamente é isto. Simples, não é?
É claro que vocês podem ainda criar “n” situações com o setFlash. Vocês podem implementar funcionalidades com o jQuery, tais como: criar um botão “fechar” dentro da mensagem, fazer com que a mensagem suma depois de alguns segundos, etc. Isso vai depender do conhecimento, da criatividade e da preguiça de cada um. =D
Espero que tenham gostado.
Abraços e até a próxima!
http://mytechnews.com.br/blog/?p=64
Marcadores:
PHP
10/02/2014
TRABALHANDO COM O CAKEPHP E O USO DE JOIN
Entre os framaworks de desenvolvimento ágil e rápido de aplicações em linguagem PHP, temos o CakePHP. Criado e mantido pelo desenvolvedor Garrett Woodworth (aproximadamente em 2009). Possui uma excelente estrutura contendo todos os padrões de separação de camadas do MVC e boas práticas de programação. Sua documentação e colaboração em sua comunidade tem animado mais e mais a multiplicar seus novos adeptos a este framework.
Vou tratar de deixar registrado um recurso para quem já iniciou seus projetos com o CakePHP ou pretende iniciar, que trata sobre o uso de JOINS numa consulta que retorna uma paginação de resultados vindo de 2 ou mais tabelas de um banco relacional MySQL.
Observe que neste exemplo temos na linha 43 a parametrização do recursive como -1, para que o JOIN desta consulta ocorra desprezando os relacionamentos existentes no Model da aplicação para este contexto de visão no Controller.
A linha 44 além de trazer o relacionamento dos campos da tabela de Log e Users(usuários) ele armazena em uma sub-consulta a data de último acesso ao sistema através da leitura do registro de ultimo acesso:
$this->paginate['User']['fields'] = array('Log.*,(SELECT MAX(created) FROM logs WHERE users = User.id ORDER BY created DESC LIMIT 1) as ultimo','User.*');
Nas linhas 46 a 53 temos a consulta JOIN de relacionamento da tabela users com a tabela logs através de suas respectivas chaves primária e estrangeiras.
Na linha 54 temos uma conditions (condição) para caso o filtro de busca seja usado será filtrado e adequadamente listado.
Linha 55 temos o agrupamento da tabela ou GROUP BY, seguido pelo ORDER (ordenação linha 56) e limite de páginas a serem exibidas na listagem (linha 57).
A estrutura da classe do modelo de Log ficou simples e objetiva para este caso:
-------------------------------------------------------------------------------------------------------
class Log extends AppModel {
public $name = 'Log';
public $belongsTo = array(
'User' => array(
'className'=> 'User',
'foreignKey' => 'users'
)
);
}
-------------------------------------------------------------------------------------------------------
Já a classe de modelo (Model) de usuário foi mantido acrescentado ao atributo $belongsTo o relacionamento do Model Logs:
-------------------------------------------------------------------------------------------------------
public $belongsTo = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'group_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Log' => array(
'className' => 'Log',
'foreignKey' => 'id'
)
);
-------------------------------------------------------------------------------------------------------
Disso resultará uma consulta para listar todos os usuários ativos e suas respectivas data e hora de último acesso:
Podemos ver na coluna Ultimo - Acesso a data e hora de último acesso de cada usuário ao sistema.
Achei bom compartilhar esta experiência e agradeço a colaboração e ajuda de meu amigo Victor Souto que me orientou a melhor prática para chegar a esse resultado.
Um abraço a todos (as).
Bibliografia:
http://pt.wikipedia.org/wiki/CakePHP
http://www.mainelydesign.com/blog/view/forcing-a-single-join-in-cakephp-pagination
http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html
Marcadores:
PHP
09/09/2013
Formatar datas com PHP
Uma maneira objetiva e boa para se formatar as datas no PHP é usando o objeto DateTime :
Outra forma seria esta:
date("d/m/Y",strtotime($data_formato_mysql));
=> Retorna: 10/02/2014
Ou essa:
date("d/m/Y H:i:s",strtotime($data_formato_mysql))
=> Retorna: 10/02/2014 11:25:02
Para usarmos ele basta instanciarmos a classe com o valor sendo passado como parâmetro e pronto!
$date = new DateTime('2011-06-21');
echo $date->format('dmY');
Outra forma seria esta:
date("d/m/Y",strtotime($data_formato_mysql));
=> Retorna: 10/02/2014
Ou essa:
date("d/m/Y H:i:s",strtotime($data_formato_mysql))
=> Retorna: 10/02/2014 11:25:02
Para usarmos ele basta instanciarmos a classe com o valor sendo passado como parâmetro e pronto!
Marcadores:
PHP
28/08/2013
Remover caracter especiais
Olá a todos (as),
Existem muitos versões de funções para remoção de caracteres especiais no PHP, mas eu optei em compartilhar esta aqui que funciona muito bem em minhas aplicações e usa expressão regular:
<?php
/*
* Remover caracteres especiais - Roberto S. Melo - roberto_sm822@yahoo.com.br
*/
class AlgumaCoisaAi{
public __construct(){
}
//METODO DE REMOÇÃO DE CARACTERES ESPECIAIS
public function removerCaracter($valor){
$valor = preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($valor));
return $valor;
}
//......... logica ........
}
?>
Espero que sirva de ajuda.
Marcadores:
PHP
09/07/2013
Tornar qualquer usuario Moodle em Root
Boa tarde a todos (as),
Hoje vou falar de configuração do LMS Moodle para quem conhece. Estive com uma certa dificuldade de descobrir como setar um usuário qualquer para que ele se tornasse administrador também.
O procedimento não poderia ser o mais fácil como pode ser visto na imagem ilustrativa abaixo:
Observe que o caminho para se chegar a esta tela é "Administração do Site => Usuários => Permissões => Administradores do site". Para este exemplo usei a versão Moodle 2.3.8.
Marcadores:
PHP
06/02/2013
Por que devo aprender Linux?
Por que devo aprender Linux?
Publicada em 04/02/2013 às 14:29
Principais tendências do mercado de TI tem Linux como pré-requisito
Empresas de consultoria, que trabalham na previsão de como será o futuro de TI, são unânimes em afirmar que a inter-relação das forças entre Cloud Computing, Mobilidade, Redes Sociais eInformações direcionam os novos cenários de negócios, juntas, elas estão revolucionando empresas e a sociedade.
Milhares de tecnologias, softwares e produtos são utilizados para suportar a "Era da Informação", o que nos leva a perguntar: Por que eu devo aprender Linux? A resposta é bastante simples: o Linux está na base, 'no coração', da computação em nuvem e dos dispositivos móveis que tem o Android como sistema operacional.

Em 2012, os tablets e celulares Android venderam mais do que PCs e já são 400.000.000 de dispositivos em todo o mundo. Em 2015, para cada 4 desenvolvimentos, em mobile, apenas 1 será para PC. O Android é baseado no Linux
Mas, se existe uma enorme probabilidade de termos em nossas mãos um dispositivo móvel que use Linux, a probabilidade de nos conectarmos em um aplicativo hospedado em Cloud, que tenha o Linux como sistema operacional, é ainda maior.
Na Amazon (AWS), um dos maiores provedores mundiais de serviços em Cloud, aproximadamente meio milhão de servidores físicos rodam Linux, suportando milhões de máquinas virtuais que também rodam em Linux. Outros provedores de Cloud devem apresentar situações parecidas.
Ninguém pode prever o futuro mas, trabalhando com probabilidades, aprender Linux é a opção certa para uma carreira de sucesso em TI - tanto agora quanto no futuro.
Linux/Android em números:
Fontes:
Marcadores:
tecnologia
23/01/2013
PHP mostrando planilha Excel XLS
Olá a todos(as),
Estive pesquisando um recurso para exibir uma planilha do Excel na página HTML com o seu conteúdo.
Achei a seguinte solução no Google Code: http://code.google.com/p/php-excel-reader/
A última revisão desta classe foi em 14-04-2009, então apresentou-se erros na codificação devido a funções antigas PHP que não são mais usadas nas versões atuais do núcleo PHP. Por exemplo temos a função split('', $valor) que poderemos substituir pela explode("", $valor), temos também na linha que faz a chamada a classe "OLERead" que controla a exibição das posições das células da planilha.
Exite uma versão desta classe "OLERead" atualizada para quem quiser contribuir em melhorar o código n o seguinte link: http://code.google.com/p/php-spreadsheetreader/source/browse/Excel/OLERead.php?r=26
Para quem precisa usar este recurso disponibilizo a versão melhorada do código que funcionará nas versões do PHP acima do 5.3:
http://code.google.com/p/php-excel-reader-melhorado/downloads/list
O proximo passo agora é criar um módulo ou plugin do Joomla 2.5 para ler os arquivos relacionados a artigos!
Um abraço a todos e vamos ver quem pode colaborar também... :)
Estive pesquisando um recurso para exibir uma planilha do Excel na página HTML com o seu conteúdo.
Achei a seguinte solução no Google Code: http://code.google.com/p/php-excel-reader/
A última revisão desta classe foi em 14-04-2009, então apresentou-se erros na codificação devido a funções antigas PHP que não são mais usadas nas versões atuais do núcleo PHP. Por exemplo temos a função split('', $valor) que poderemos substituir pela explode("", $valor), temos também na linha que faz a chamada a classe "OLERead" que controla a exibição das posições das células da planilha.
Exite uma versão desta classe "OLERead" atualizada para quem quiser contribuir em melhorar o código n o seguinte link: http://code.google.com/p/php-spreadsheetreader/source/browse/Excel/OLERead.php?r=26
Para quem precisa usar este recurso disponibilizo a versão melhorada do código que funcionará nas versões do PHP acima do 5.3:
http://code.google.com/p/php-excel-reader-melhorado/downloads/list
O proximo passo agora é criar um módulo ou plugin do Joomla 2.5 para ler os arquivos relacionados a artigos!
Um abraço a todos e vamos ver quem pode colaborar também... :)
Marcadores:
PHP
20/12/2012
Fazendo Upload em PHP, Metodos "move_uploaded_file()" e suas variáveis.
Olá a todos!
Um recurso ou método muito interessante na linguagem PHP é o método move_uploaded_file(). Ao trabalharmos com esse método, temos várias formas de analizar o arquivo que iremos resgatar via navagador(browser).
Um dos parametros que varre o conteudo do arquivo e armazena o seu tipo é o "$_FILES['userfile']['type']".
Se debugarmos esta variável teremos como saber como o PHP interpreta os nomes dos diferentes tipos de arquivo como por exemplo:
Sabendo-se deste recurso podemos tratar de uma forma mais elaborada os tipos de arquivos que poderemos fazer Upload.
Continua no próximo artigo...
Um recurso ou método muito interessante na linguagem PHP é o método move_uploaded_file(). Ao trabalharmos com esse método, temos várias formas de analizar o arquivo que iremos resgatar via navagador(browser).
Um dos parametros que varre o conteudo do arquivo e armazena o seu tipo é o "$_FILES['userfile']['type']".
Se debugarmos esta variável teremos como saber como o PHP interpreta os nomes dos diferentes tipos de arquivo como por exemplo:
| Tipos de arquivos para upload a serem declarados e comparados por tipo: | |
| Arquivos do tipo comprimidos: | |
| application/x-rar-compressed | .rar |
| application/force-download | .zip |
| Arquivos do tipo texto: | |
| text/comma-separated-values | .csv |
| application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx |
| application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx |
| application/msword | .doc |
| text/plain | .txt |
| application/pdf | |
| Arquivos do tipo Imagem: | |
| image/jpeg | .jpg |
| image/png | .png |
Sabendo-se deste recurso podemos tratar de uma forma mais elaborada os tipos de arquivos que poderemos fazer Upload.
Continua no próximo artigo...
Marcadores:
PHP
19/12/2012
Resolvendo erro “TCPDF ERROR: Could not include font definition file: helvetica”
Recentemente tive um problema com a execução da biblioteca (conjunto de classes) de geração de arquivos no formato PDF de nome TCPDF. Esta biblioteca já vem no pacote de instalação do Joomla! Da versão 1.5 até as últimas. Sua estrutura de pastas pode ser encontrada acessando a raiz de seu site / CMS em:
- /libraries/tcpdf/
- Temos a pasta /cache/, onde fica armazenado como o próprio nome sugere o “cache” de execução das classes;
- Também temos o /config/, que armazena as classes de configuração dos recursos e arquivos de linguagem;
- A pasta /fonts/ é de vital importância para o carregamento dos tipos de fonte usados no sistema. Verifique se o seu sistema Joomla! Está configurado corretamente para o tipo de fonte que se encontra nesta pasta.
Nesta pasta só deve conter o tipo de fonte que você configurou no arquivo XML do Joomla. No exemplo que me causou dor de cabeça com essa classe, tive de baixar a última versão do TCPDF através do link:
- http://sourceforge.net/projects/tcpdf/files/
Para saber qual fonte está configurada em seu arquivo de linguagem, acesse em seu Joomla! (somente nas versões 1.5) a pasta:
- /language/pt-BR/
Este parâmetro no arquivo de linguagem do Joomla! 1.5 (versões atuais como a 2.5 não o possui) é o que define a fonte da biblioteca de TCPDF.
Caso isso não resolva (também aconteceu comigo), teremos de recorrer a uma mudança diretamente na classe que controla a exibição do PDF (não desconfigure o que você já fez até aqui). Para isso abriremos o arquivo de classe PHP de nome “/libraries/tcpdf/tcpdf.php”. Fazendo uma busca no arquivo pela função que controla o caminho (path) dos arquivos de fonte usados pela classe através do método:
-> _getfontpath()
-> Ou através da lógica de retorno do método: “ defined('K_PATH_FONTS') ? K_PATH_FONTS : ''; ”

Marcadores:
PHP
Assinar:
Postagens (Atom)













