XOOPS Cube Weblog


apache lua php mysql kepler windows

PHP, links

XOOPS Cube

A versão 3.0 do XOOPS disponibilizará a ferramenta XoopsGraphs

Smarty Templates

Passo-a-passo: Entendendo o DEBUG do XOOPS

Quarta-feira, Dezembro 31, 2008

 

apache lua php mysql kepler windows

Fiz um pacote para win32 com Apache v2.2.11.0, PHP 5.2.8, mySQL 5.1.30 e Lua 5.1.2 (com Kepler); todos pre-instalados, e tudo isso em apenas 4.63MB. Acho que este é o primeiro WAMP que tem a linguagem de programação Lua instalada. Coloquei um pequeno exemplo no diretório "www"em que Lua e PHP são utilizadas no mesmo arquivo para formar a frase "hello world" pelo recurso SSI do apache. Não foi um bom exemplo, ainda preciso estudar melhores formas de utilizar essas duas linguagens em um mesmo projeto.

Download:

Assim como os outros pacotes de servidores configurados por mim, este pacote é 100% portável e autônomo: pode ser utilizado em Pen Drives e não precisa ser "instalado", basta descompactar e rodar. Ele não altera o registro do sistema ou qualquer outro arquivo.

Para rodar, basta clicar no arquivo "xoopserver.exe".

Nesta versão, o PhpMyAdmin foi substituído pelo PhpMiniAdmin com o objetivo de economizar espaço. Na próxima versão, atualizarei as versões da Lua, Kepler, e incluirei alguns componentes do PHP. Configurado em 31 de dezembro de 2008.

Marcadores: , , , ,


Quarta-feira, Maio 21, 2008

 

PHP, links

PHP

Marcadores: , ,


Terça-feira, Maio 06, 2008

 

XOOPS Cube

Sistema automatizado para criação de websites escrito em PHP onde qualquer pessoa, mesmo sem conhecimento de programação, pode rapidamente criar o site de seus sonhos em pouquíssimo tempo, pois tudo é realizado de forma visual e bastante intuitiva. Possui uma estrutura básica em que novas funcionalidades são instaladas por demanda via instalação de módulos. O XOOPS conta com mais de 500 módulos para diversas finalidades, como sistema de votação, fóruns, recomendação, quiz e testes, notícias, multimídia, gerenciamento de downloads, contatos, livros de endereços, etc.

Informações Adicionais:

  • Requer servidor web com suporte para PHP;
  • Banco de dados MySQL.


Marcadores: , , , , , , ,


Quinta-feira, Maio 01, 2008

 

A versão 3.0 do XOOPS disponibilizará a ferramenta XoopsGraphs



O XOOPS 3.0 irá incluir a biblioteca JpGraph.

JpGraph é uma biblioteca para PHP utilizada desde a versão 4.3.1 destinada a Criação de gráficos orientada a objeto. A biblioteca é completamente escrita em PHP e pronta para ser usada em qualquer script PHP (incluindo scripts CGI/APXS/CLI suportados pelo PHP). A biblioteca pode ser usada para criar vários tipos de gráficos tanto on-line quanto off-line.
JpGraph torna fácil desenhar tanto gráficos simples com um mínimo de código bem como gráficos complexos, o que exige um controle muito detalhado.



O membro Simon Roberts, também conhecido como Wishcraft, e que recentemente aderiu a equipe de desenvolvimento do Xoops, tem trabalhado em conjunto com o DJ (outro desenvolvedor) na conversão do JpGraph para o XOOPS. O trabalho é feito especificamente para a versão 3.0 e fará parte da ferramenta GraphFactory (Fábrica de Gráficos). Com isso, os usuários do XOOPS serão capazes de criar vários gráficos, expandindo o do uso do CMS para portais de negócio ou de áreas científicas.

Você pode ver aqui a versão beta (apenas os 6 primeiros gráficos estão funcionando):
http://www.scientificcombatfighting.com/modules/graphs

Você pode fazer o download do protótipo da Fábrica de Gráficos XOOPS clicando daqui.

Gostaríamos de expressar nossos sinceros agradecimentos a Johan Persson, autor do JpGraph, pelo seu apoio ao XOOPS e também a Simon Roberts, pelo seu constante esforço, inovação e vontade de fazer o melhor pelo CMS XOOPS.

Minahito escreveu um interessante post sobre este assunto:

Will XOOPS change its license?

"XOOPS Cube project wrote a new core from a scratch and licensed the core under the modified BSD. By that, XC became able to link with many kinds of libraries. Also xoops.org may choose a change of the lisence, because they plan that XOOPS3 will contains JpGraph. JpGraph freeware edition is licensed under QPL. QPL conflicts to GPL, so GPL software can not link with QPL code like JpGraph. This is the reason why I think that XOOPS3's license will not GPL.

Now, XOOPS3 code that we can check on SVN is XoopsSphere and is lisenced under GPL. I hread that XOOPS3 is developed in Beijing, so another XOOPS3 may exist at Beijing and may be licensed under a new license different from GPL.

If XOOPS3 will change its license, I think that is better. GPL is not good for PHP freeware world, whether we agree FSF activity. GPL is great license, but, in PHP world, there are many libraries that take license conflicted to GPL. It's hard-to-use for developers who operate under PHP freeware activity."

Criando gráficos utilizando a classe JPGraph com MySQL

Autoria: Rodrigo Rosa Fragoso

Como podemos ver na dica Criando gráficos com a classe JPGraph com PHP o PHP oferece diversos recursos para criar e manipular imagens. Utilizando o recurso de manipulação de imagens podemos buscar dados de um banco e apresentá-lo na tela na forma de gráfico.

Apresentarei nesta Dica como buscar os dados no MySQL e mostrar na forma de gráfico.

Nesta dica utilizarei uma tabela denominada vendas com as seguintes colunas (codigo, cidade e valor) já com alguns dados. Estou considerando que toda a estrutura (Apache,PHP,MySQL) já esteja instalada e rodando.

Para apresentar os dados, utilizaremos como exemplo o gráfico Bar Grad 1 localizado em //jpgraph-1.19/src/Examples/bargradex1.php .

1. Include das bibliotecas da classe JPGraph.

   

2. Rotina para acesso e busca do dados no MySQL.

  //rotina para conexão ao banco
$hostname_https = "localhost";
$database_https = "mysql";
$username_https = "web";
$password_https = "";

$con = mysql_connect($hostname_https, $username_https, $password_https)
or trigger_error(mysql_error(),E_USER_ERROR);

mysql_select_db("projeto",$con);

$query = "SELECT * FROM vendas";
$resultado = mysql_query($query,$con);

//Este tipo de gráfico utiliza o Eixo X e Y
$datay=array(); // array com os dado do Eixo Y
$datax=array(); // array com os dado do Eixo X

$i=0;
if (mysql_num_rows($resultado))
{
while ($campo = mysql_fetch_array($resultado))
{
//Retornando os dados e armazenado nos arrays.
$datay[$i] = $campo['valor']; //dados Eixo Y
$datax[$i] = $campo['cidade']; //dados Eixo X
$i++;
}
}
// fim do select nos dados.

3. Criando e manipulando os métodos do exemplo

O código abaixo está contido no exemplo //jpgraph-1.19/src/Examples/bargradex1.php .

  // Configuração das dimensões do gráfico.
$graph = new Graph(400,200,"auto");
$graph->img->SetMargin(40,30,30,50);
$graph->SetScale("textlin");
$graph->SetMarginColor("lightblue");
$graph->SetShadow();

// Configuração do titulo do gráfico.
$graph->title->Set("Total de Vendas por Estado");
$graph->title->SetFont(FF_VERDANA,FS_NORMAL,12);
$graph->title->SetColor("darkred");

// Configuração de Font.
$graph->xaxis->SetFont(FF_VERDANA,FS_NORMAL,10);
$graph->yaxis->SetFont(FF_VERDANA,FS_NORMAL,10);
$graph->yscale->ticks->SupressZeroLabel(false);

// Dados do --> Eixo X
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetLabelAngle(50);

// Dados do --> Eixo Y
$bplot = new BarPlot($datay);
$bplot->SetWidth(0.6);

// Ajuste de cor
$bplot->SetFillGradient("navy","#EEEEEE",GRAD_LEFT_REFLECTION);
$bplot->SetColor("white");
$graph->Add($bplot);

// Cria o gráfico
$graph->Stroke();

?>
//fim *.php

4. Exemplo do gráfico.

5. Saiba mais



Marcadores: , , ,


Sexta-feira, Março 28, 2008

 

Smarty Templates

Smarty Templates

A ferramenta para compilar modelos no XOOPS Cube


Índice
Prefácio
I. Iniciando
1. O que é o Smarty?
2. Instalação
Requisitos
Instalação Básica
Estendendo a configuração
II. Smarty para Designers de Template
3. Sintaxe Básica
Comentários
Funções
Atributos
Colocando Variáveis em Aspas Duplas
Matemática
Escapando da interpretação do Smarty
4. Variáveis
Variáveis definidas do PHP
Variáveis carregadas de arquivos de configuração
A variável reservada {$smarty}
5. Modificadores de variáveis
capitalize
count_characters
cat
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap
6. Combinando Modificadores
7. Funções internas
capture
config_load
foreach,foreachelse
include
include_php
insert
if,elseif,else
ldelim,rdelim
literal
php
section,sectionelse
strip
8. Funções Personalizadas
assign
counter
cycle
debug
eval
fetch
html_checkboxes
html_image
html_options
html_radios
html_select_date
html_select_time
html_table
math
mailto
popup_init
popup
textformat
9. Arquivos de Configuração
10. Debugging Console
III. Smarty para Programadores
11. Constantes
SMARTY_DIR
12. Variáveis
$template_dir
$compile_dir
$config_dir
$plugins_dir
$debugging
$debug_tpl
$debugging_ctrl
$global_assign
$undefined
$autoload_filters
$compile_check
$force_compile
$caching
$cache_dir
$cache_lifetime
$cache_handler_func
$cache_modified_check
$config_overwrite
$config_booleanize
$config_read_hidden
$config_fix_newlines
$default_template_handler_func
$php_handling
$security
$secure_dir
$security_settings
$trusted_dir
$left_delimiter
$right_delimiter
$compiler_class
$request_vars_order
$request_use_auto_globals
$compile_id
$use_sub_dirs
$default_modifiers
$default_resource_type
13. Métodos
append
append_by_ref
assign
assign_by_ref
clear_all_assign
clear_all_cache
clear_assign
clear_cache
clear_compiled_tpl
clear_config
config_load
display
fetch
get_config_vars
get_registered_object
get_template_vars
is_cached
load_filter
register_block
register_compiler_function
register_function
register_modifier
register_object
register_outputfilter
register_postfilter
register_prefilter
register_resource
trigger_error
template_exists
unregister_block
unregister_compiler_function
unregister_function
unregister_modifier
unregister_object
unregister_outputfilter
unregister_postfilter
unregister_prefilter
unregister_resource
14. Caching
Configurando Caching
Multiple Caches Per Page
Grupos de Cache
Controlling Cacheability of Plugins' Output
15. Advanced Features
Objetos
Prefilters
Postfilters
Output Filters (Filtros de Saída)
Função Manipuladora de Cache
Recursos (Resources)
16. Extendendo a Smarty com Plugins
Como os Plugins Funcionam
Convenções de Aparência
Escrevendo Plugins
Funções de Template
Modifiers
Block Functions
Funções Compiladoras
Prefiltros/Posfiltros
Filtros de saída
Recursos (Resources)
Inserts
IV. Apêndices
17. Localização de Erros
Erros do Smarty/PHP
18. Dicas & Truques
Manipulação de Variável Vazia
Manipulação do valor padrão de uma Variável
Passando a variável titulo para o template de cabeçalho
Datas
WAP/WML
Templates componentizados
Ofuscando endereços de E-mail
19. Recursos
20. BUGS

Marcadores: , ,


Quinta-feira, Janeiro 19, 2006

 

Passo-a-passo: Entendendo o DEBUG do XOOPS

Entendendo o DEBUG do XOOPS: Passo-a-passo
Sumário
1 - O que é DEBUG?
2 - Ativando o DEBUG
2.1 - Debug do PHP
2.2 - Debug do MySQL/Blocos
2.3 - Debug do Smarty
2.4 - Ativando pelo Banco de Dados (PhpMyAdmin)
3 - Resultados do DEBUG
3.1 - Verificando resutado do debug do PHP
3.2 - Verificando resutado do debug do MySQL/Blocos
3.3 - Verificando resutado do debug do Smarty
4 - Debug Sarado
1 - O que é DEBUG?

É um processo metódico de encontrar e de reduzir o número dos erros, ou os defeitos, em um programa de computador ou em parte de um hardware eletrônico, fazendo0os a voltarem a se comportar como esperado (programado). O Debugging tende a ser mais difícil quando há vários subsistemas acoplados, quando mudanças em um parte do código pode fazer com que os erros apareçam em outra.

A tradução mais tranqüila para o termo DEBUG, a meu ver, é simplesmente tratamento de erros, mas enfim, pode haver diversas outras tradução que dificilmente vai estar errado. Para o pessoal que não gosta de termos estrangeiros em nossa língua, pode-se usar a expressão Depuração ao invés de debug.

Um pouco de história: Segundo os dicionários "Oxford English Dictionary" e "Webster's New International Dictionary" esse termo foi usado primeiramente pelo inventor Thomas Edison durante o desenvolvimento de seu Fonógrafo para descrever os erros mecânicos de seu invento. O emprego deste termo para sistema de computadores é um pouco mais recente, sendo a autoria disputada por Glenford J. Myers (1976) e Grace Hopper (1940).

Para nós usuários do XOOPS, podemos resumir, dizendo que debug é a uma das principais ferramentas do CMS, pois na hora do desespero (não funcionamento) ela geralmente nos ajuda a ter uma saída para o problema.

[pagebreak]

2 - Ativando o DEBUG

O Debug do XOOPS pode ser ativado basicamente por duas formas, pelo Painel Administrativo (backend) ou pelo Banco de Dados (modo forçado).

A ferramenta Debug está subdividida em 03 (três) filtros para procura de erros, os quais são: Erros do PHP; Erros do MySQL/Blocos e Erros do Smarty.

A maior utilidade desta ferramenta está no tratamento de Erros do PHP, pois a programação do CMS é em PHP e a infinidade de programadores e versões de cores, módulos acabam eventualmente criando incompatibilidades.

Na minha experiência com XOOPS, usei muito pouco o tratamento de Erros do MySQL/Blocos e a maioria desses vezes foi apenas para teste ou estudo.

Já o tratamento de Erros do Smarty, tenho utilizado bastante, especialmente para modificar templates, pois o resultado desse filtro é muito útil para essa finalidade, tendo em vista que nos mostra todos os arquivos de templates e tag smart em uso atual (veja item 3.3).

Para ativar o debug é muito simples, e as três filtros têm muito em comum:

OBSERVAÇÃO: Se o seu site estiver on-line (em funcionamento) o ideal é bloquear o site para visitas. (Se você não sabe como fazer isso, veja ao final do artigo.)

2.1 - Ativando o Debug do PHP

a) Acesse o site PHP em questão, realizando o Login com poderes de administrador



b) Clique em Administração



c) Sobre a figura do Sistema clique me Preferências



d) Em seguida clique em Configurações Gerais



f) Role a página de preferência até a linha indicada abaixo



g) Você vai encontrar a posição do "select list" em Desativado



h) Clique no "select list" e escolha a opção Exibir erros do PHP



i) Role a página até o final e clique em Ok



E o Debug já está ativado, para exibir os erros do PHP! (se houver)

2.2 - Ativando o Debug do MySQL/Blocos

Repita os procedimentos a até g do item 2.1

h) Clique no "select list" e escolha a opção Exibir erros do MySQL/Blocos



i) Role a página até o final e clique em Ok



E o Debug já está ativado, para exibir os erros do MySQL e dos Blocos! (se houver)

2.3 - Ativando o Debug do Smarty

Repita os procedimentos a até g do item 2.1

h) Clique no "select list" e escolha a opção Exibir erros do Smarty



i) Role a página até o final e clique em Ok



E o Debug já está ativado, para exibir os erros do Smarty! (se houver)

[pagebreak]

3 - Verificando os resultados do DEBUG

Agora que o Debug está ativado, navegue no seu site, normalmente, que se houver erros ele irá exibir, dessa forma simplifica a vida do webmaster em resolver o problemas, apontando-o diretamente para o erro.

3.1 - Verificando resultados do PHP

O Debug de erros do PHP exibe os resultados sempre após o rodapé da página, veja:



O resultado exibirá o tipo de erro, o arquivo e a linha que provoca o erro

3.2 - Verificando os resultados do MySQL/Blocos

Você observará que neste filtro do Debug, os resultados são exibidos em uma nova janela, e sempre será exibido as operações realizadas, e se houver erro aparecerá na requisição a palavra "Error" em vermelho.


O resultado exibe todas as "queries" ao banco de dados, em seqüência os blocos lidos e se estão em cache, após exibe o tempo de execução da consulta.

3.3 - Verificando os resultados do Smarty

Neste filtro, os resultados são exibidos de forma semelhante a anterior, pois também são exibidos em nova janela, porém com "layout" diferente:



O resultado exibe em lista todas as templates em uso, tanto do tema como dos módulos e em seguida as tags smarty utilizadas e o conteúdo delas, por tal motivo que é útil para modificação de templates e até mesmo para saber se a tag está retornando o desejado.

4 - Debug Sarado

Essa ferramenta é show, "para quem programa ou quer programar" como diz o desenvolvedor dela (topet05).

Esta ferramenta é composta por um arquivo "globais.php" e para utilizar basta:

a) copiar o arquivo para a pasta root do XOOPS.
b) executar o arquivo, exemplo:



O resultado será impresso na tela trazendo todas as variáveis globais e objetos que o XOOPS usa para montar o core. Exemplo:






Extra: Desativando o site!

Para bloquear o site para acesso dos usuários vá em Administração >> Sistema >> Preferências >> Configurações Gerais, ou seja, repita os passos a até f do item 2.1 (explanado neste artigo).

g) Role a página até as linhas abaixo:

Você vai encontrar na linha Desativar site? o "radio button" marcado em "Não", clique no outro, marcando em "SIM"

Nas linhas seguintes você vai poder selecionar os grupos que têm permissão de acessar o site, quando estiver bloqueado (desativado) e vai poder mais abaixo, modificar a mensagem que aparece na página principal, para o usuário que tentar acessar seu site no momento que o mesmo estiver bloqueado.



h) Role a página até o final e clique em Ok

Marcadores: , , , ,


Arquivos

04/14/04   05/15/05   01/19/06   01/27/06   05/11/07   09/21/07   02/19/08   03/27/08   03/28/08   03/29/08   03/30/08   03/31/08   04/01/08   04/14/08   04/15/08   04/16/08   04/22/08   04/24/08   04/25/08   05/01/08   05/04/08   05/05/08   05/06/08   05/09/08   05/10/08   05/11/08   05/14/08   05/21/08   06/08/08   08/13/08   08/16/08   08/19/08   08/20/08   09/09/08   10/10/08   10/12/08   11/10/08   12/31/08  

XOOPS Cube é um sistema de gerenciamento e publicação de conteúdo para a criação de portais, comunidades virtuais, fotologs, weblogs, videologs, etc. Pode ser gerenciado por qualquer pessoa sem conhecimento em programação, e representa a solução ideal para quem não pode ou não quer depender de terceiros para criar e administrar o seu próprio portal. Possui milhares de recursos de redação, edição e publicação de conteúdo já incorporados e a custo zero!

This page is powered by Blogger. Isn't yours?

Assinar Postagens [Atom]





Guarde e Compartilhe

This page is powered by Blogger. Isn't yours?