Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/hufersil/hufersil.com.br/system/libraries/lumine/lib/Connection/MySQL.php on line 516
HUFERSIL WEBDEVELOPER - Downloads

HUFERSIL.WEBDEVELOPER - SoluƧƵes com qualidade - Hugo Ferreira da Silva

Downloads SƔb, 02 de fevereiro de 2008 - as 18h33

Documentação API (PHPDoc) - HTML
Documentação API (PHPDoc) - PDF

A versão atual do Lumine está cheia de novidades. Estou sempre aprimorando, adicionando funcionalidades e recursos para facilitar o trabalho com banco de dados, e consequentemente aumentar a produtividade.

Abaixo, o link para versão atual do mesmo:

Lumine 1.6 - 05/01/2012

 

  • Inicio de suporte a annotations
  • Inclusao da classe Lumine_Metadata
  • Metodo setFrom alterado para populateFrom
  • Metodos getRelations, getField, getFieldByColumn, getFields, getRelation devem ser acessados pelo objeto metadata ($obj->metadata())
  • Nome da tabela e do pacote ficam na classe Metadata
  • Adicionadas as anotacoes para OneToMany, ManyToMany e ManyToOne
  • Ajustes nas nomenclaturas de classes
  • Implementacao de cache (APC e Array, podem ser escolhidas na engenharia reversa)
  • Separacao de modelos de geracao de codigo
  • Ajustes no metodo Load
  • getLink alterado para fetchLink
  • Metodos adicionados: addValidator, removeValidator, clearValidator, listValidators
  • Classes de validacao adicionadas:
  • Lumine_Validator_CNPJ
  • Lumine_Validator_CPF
  • Lumine_Validator_Custom
  • Lumine_Validator_Date
  • Lumine_Validator_DateTime
  • Lumine_Validator_Email
  • Lumine_Validator_Number
  • Lumine_Validator_String
  • Lumine_Validator_Unique
  • Suporte a validacao via XML removido. Se for necessario, implementar um validator
  • Suporte a validacao via metodos validate* removido. Se for necessario, implementar um validator
  • Classes removidas:
  • Lumine_Validator_ClassValidator
  • Lumine_Validator_XMLValidator
  • Lumine_Validator_PHPValidator
  • Adicionado o dialeto mysqli
  • Alteracao para poder passar os valores por um parser antes de enviar para o Lumine Base
  • Correcao para salvar lista de dados (encontrado por Tiago Hiller)
  • Correcao no where quando se tem "?" no valor do parametro (Encontrado por Eder "Mohamed" Fortunato)
  • Alteracao para poder identificar o schema no describe e na hora de recuperar o ultimo ID (sugestao Tiago Hiller)
  • Alteracao para que ao recuperar o ultimo ID, leve em consideracao o schema. Alterada para que na engenharia reversa o nome da sequencia venha com o schema
  • Correcao na engenharia reversa de Lumine quando se tinha mais de duas chaves estrangeiras para uma outra tabela (encontrado por Eder "Mohamed" Fortunato)

 

Lumine 1.5.9 - 23/08/2011

 

  • Alteracao para poder fazer parse do tipo smallint
  • Alteracao nos metodos toXML, toArray, toObject, toJSON - e os all's - para poder opcionalmente retornar somente os dados do dataselect (sugestao de Nilton Souza)
  • Adicionado a validacao para date time
  • Classe padrao para toObject eh "null" 
  • Possibilidade de usar prepared statement na clausula SELECT
  • Possibilidade de fazer join com expressoes personalizadas (joinExpression)
  • correcao para o postgres quando se utiliza um outro schema, dava problema na engenharia reversa (encontrado por Thiago Marsiglia)
  • Mais de um package para DTO's
  • Criacao dos DTO's por package, inclusive os diretorios
  • Ordenar os nomes das tabelas no PostgreSQL::getTables
  • Armazenar o mapeamento tabela => pacote de DTO escolhido
  • toObject e allToObject procuram os DTO's nos caminhos informados na configuracao "dto_package", que agora e um array
  • Correcao para salvar objetos relacionados quando ha colecoes e uma chave estrangeira entre duas classes (encontrado por Tiago Hiller)
  • Correcao no metodo Lumine_Util::FormatTime

 

Lumine 1.5.8 - 21/01/2011

  • Verifica se o valor informado como "default" da coluna e uma funcao do banco - sugerencia do Juliano Polito
  • Correcoes pequenas para o MsSQL
  • BugFix: quando uma string vem com o valor zero (0), era passado como string vazia
  • Lumine_Model, possibilidade de alterar como se comportam os filtros (whereFilters) - sugestao Juliano Polito
  • Lumine_Model, possibilidade de adicionar condicoes no find sem intervencao de filtros
  • Alteracao na engenharia reversa para poder procurar em outros locais por add-ons
  • Lumine_Model, possibilidade de adicionar campos no select
  • Possibilidade de alteracao de uma opcao ou propriedade na configuracao em tempo de execucao
  • funcao de camel case centralizada na Lumine_Util
  • alterado para validar CPF, CNPJ e Date na validacao via XML
  • correcao no metodo getLink da model
  • criada classe abstrata de conexao onde os demais tipos de conexao a extendem
  • adicionada a opcao "charset" na configuracao
  • bugfix no metodo remove (encontrado por ramcorreio at yahoo dot com dot br)
  • propagacao de eventos podem ser paradas
  • possibilidade de remover valores de links pela model (removeLinks e remove)
  • Alteracao para identificar o tipo "Numeric" do postgres 
  • Alteracao para o describe do postgre nao trazer campos duplicados
  • Alteracao para executar os codigos de log somente quando o nivel desejado e igual ou maior que nivel setado
  • quando utilizando DTO's, tambem ja cria a pasta completa conforme o caminho do pacote
  • Quanto ha uma chave estrangeira composta, criar um relacionamento para cada campo (PostgreSQL)
  • Metodos para registrar expressoes para atualizacao de campos
  • Lumine_Util::array2xml agora tambem permite que os valores sejam colocados em atributos

Lumine 1.5.7

  • Na model, um parametro para o find pode ser array, e lumine fara com where in
  • Na model, um parametro para o get pode ser array, e lumine fara com where in
  • Lumine Base implementa a classe Iterator
  • Quando uma nova consulta e efetuada em um mesmo objeto, a consulta anterior e liberada (freed)
  • Quando uma conexao e fechada, os resultados abertos sao liberados (freed)
  • Implementado o metodo fetch_row(int $row)
  • Adiciona contra-barras no tipo da coluna (enum, porque contem aspas simples)
  • Correcao do dialeto para Firebird - Enviado por Paulo Cesar Garcia
  • No momento do update, retirava o alias. Depois de realizar, agora volta o alias que estava antes
  • Bug corrigido: assinatura do metodo setConnection do dialeto do Firebird esta incompativel com a interface
  • Correcao para conexao com o firebird (nao colocar o numero da porta)
  • Correcao para a engenharia reversa usando o form white (fazer group by nos registros somente quando for MySQL)
  • A contagem de linhas do firebird e feita pelos registros no dataset
  • Metodo getLink adicionado (Lumine_Model)
  • Quando o metodo nao existir, nem em plugins, dispara excecao
  • Possivel de fazer join's aninhados utilizando as preferencias quando trabalhando com as Models (sugestao de Nelson Martucci)
  • Criada a classe Lumine_AddOn para possibilitar inclusao de add-ons principalmente na engenharia reversa
  • Quando um parametro nao esta setado nas opcoes, o valor null e setado automaticamente, para evitar warnings. Somente na primeira vez ele e emitido.
  • Alteracoes na tela de engenharia reversa para suportar add-ons
  • As opcoes do tipo de campo enum sao adicionadas ao array de opcoes do campo com o indice option_list
  • Beta: Classes auxiliares para trabalhar com arvore de dados
  • Beta: Dialeto para SQLServer (MsSQL). Testes efetuados com a versao 2008R2

Lumine 1.5.6

  • Bug Fix - Renomeia na engenharia reversa o nome do mapeamento caso ele esteja duplicado (no DTOTemplate) (encontrado por Juliano Polito)
  • Criado o metodo setFilters dentro da Model para separar a aplicacao dos filtros do metodo de pesquisa (sugestao de Juliano Polito)
  • Adicionado um parametro para array associativo de preferencias para busca no metodo LumineModel::find (sugestao de Juliano Polito)
  • Correcao em alguns comentarios de eventos
  • Nao sobrescrever o arquivo de contexto na engenharia reversa
  • Colocado o comando SQL executado nos eventos POS_INSERT, POS_DELETE e POS_UPDATE
  • Criados os eventos PRE_UPDATE_SQL, POS_UPDATE_SQL, PRE_INSERT_SQL, POS_INSERT_SQL, PRE_DELETE_SQL e POS_DELETE_SQL
  • O metodo de validacao requiredDate tambem verifica se o valor informado eh uma data valida
  • Ao passar um valor NULO para o campo, coloca IS NULL como condicao (Lumine_Model::setFilters)
  • Algumas verificacoes de isset foram alteradas para array_key_exists
  • Remocao do atributo $state
  • Alteracao da propriedade que conta o indice de objetos
  • Alterado o nome do template de Model.php para Model.tpl
  • Alterada a classe de Union
  • Possibilidade de colocar clausulas where iniciando com OR ou AND
  • Possibilidade de registro e chamadas a metodos como plugins
  • Correcao para quando o Union tem somente um objeto para executar a consulta
  • Correcao para pegar o novo ID de insercao do mysql (ele permite que seja inserido o valor zero em uma chave autoincrement, retornando o novo valor)
  • Correcao no setFrom quando for um objeto
  • Alterado no construtor para aceitar objetos e array

Lumine 1.5.5

  • se o usuario informou um tamanho minimo, mas nao o maximo, o maximo passa a ser o do campo (Lumine_Validator_PHPValidator::addValidation::requiredString)
  • adicionado evento para antes e depois de efetuar um fetch (Lumine_IteratorEvent)
  • complemento de enumeracao de validadores (Lumine_Validator)
  • no modelo da engenharia reversa, as aspas duplas dos campos foram substituidos por aspas simples
  • nos metodos save, update e insert, quando o valor do campo eh maior que o seu comprimento, o valor eh truncado
  • criado o metodo _initialize para models
  • Alterado para que no setFrom ele tambem atribua valores aos campos de relacionamentos estrangeiros (_foreign)
  • Bug corrigido: quando havia varios niveis de lazy, so estava trazendo o primeiro nivel (encontrado por Esdras Eduardo)
  • Bug corrigido: no form White, quando se vinculava um M-N em um novo registro dava problema de integridade referencial
  • Util alterado para utilizar preg_match ao inves de ereg para checar email

Lumine 1.5.4

  • se o mapeamento tiver a opcao "displayField", este campo sera usado para poder exibir o campo correspondente na classe que esta sendo unida no formulario "White"
  • opcao para poder marcar um campo como nulo no novo modelo de formulario de controle basico
  • novo modelo de formularios (White) ficou como padrao da engenharia reversa
  • novo modelo de formularios para engenharia reversa (White)
  • Metodo de analise de clausulas where, para prepared statements, aperfeicoada (graças ao Juliano Polito que não fez nada mas encheu o saco para fazer isso!)
  • Alterado no dialeto do mysql para que mude de timestamp para datetime no mapeamento quando gerando pelo engenharia reversa
  • Adicionada a opcao de formatar o nome da classe com sprintf, assim pode-se colocar prefixo/sufixo

Lumine 1.5.3

  • correcao no metodo Lumine::factory - para poder adicionar os itens default e sequence quando existirem
  • correcao na engenharia reversa do postgres - nao duplicar registros na consulta
  • correcao para poder pegar o valor do campo quando for inserir e o valor nao foi definido
  • adicionado o metodo Lumine_Configuration::loadModel
  • bug corrigido no selectAs

Lumine 1.5.2

  • - correcao de bug no metodo Lumine_Util::buildOptions
  • - bug no tokenizer: quando se colocava uma string na select logo no inicio era disparado um erro
  • - bug ao adicionar um formatador para o campo. Ele adicionava o valor na consulta mesmo quando vc nao colocava nada (depois de colocar um format para o campo)
  • - correcao ao salvar objetos relacionados
  • - criado metodo para destruir um objeto e todos os relacionados
  • - aceita um array associativo para setar valores no construtor da classe
  • - agora eh criado somente uma instancia de Lumine_Dialect para consultas
  • - metodo destroy funciona em cascata, liberando memoria
  • - pega o nome da sequencia na engenharia reversa
  • - correcao na classe Lumine_Model para delete, update, save e insert (pegar chave primaria)

Lumine 1.5.1

  • correcao do PostgreSQL para poder pegar o valor da chave auto-incrementavel
  • pequenas alteracoes para o PHP 5.3
  • quando validando um campo usando classe > metodo em PHP, passa o objeto, nome do campo e valor do campo como parametros
  • adicionado modelo de arquivo para criacao de models
  • adicionado arquivo de contexto para aplicacoes MVC
  • adicionado modelos de configuracao
  • engenharia reversa cria models para MVC
  • agora eh possivel selecionar o arquivo de configuracao original para engenharia reversa
  • reverse adiciona uma numeracao quando relacionamentos 1-N e N-M tem nomes repetidos
  • correcao do schema name da engenharia reversa

Lumine 1.5

  • Metodo validate agora sempre retorna um array. Caso nao tenha erros, o retorno eh um array vazio
  • Alteracoes na engenharia reversa
  • Nova tela de engenharia reversa, mais intuitiva
  • retirados os codigos de fechamento de bloco PHP nas classes de entidades geradas pelo lumine reverse
  • colocada a class_path na lista de procura do xml validator
  • Correcao no parseamento de strings Lumine_Parser
  • Possivel criar entidades on the fly (Lumine::factory)
  • Disparo de Eventos organizado, melhorado e padronizado
  • Alterado na engenharia reversa para poder identificar o pacote em explicity type dos DTO's
  • quando adicionar a opcao "formatter" no mapeamento, automaticamente chama $obj->addFormatter
  • setFrom aceita tanto array como objetos
  • alterado o metodo toObject para poder fazer recursivamente nos objetos internos
  • correcao de bug (acesso direto a classe Lumine_Base)
  • correcao no disparo de excecoes quando houver erro de SQL (em update, save, insert, delete)

Lumine 1.3.7

  • correcao no metodo toArray para quando tiver formatadores
  • adicionado o metodo Lumine_Base::toObject($format='%s',$classname='stdClass');
  • adicionado o metodo Lumine_Base::allToObject($format='%s',$classname='stdClass');
  • na engenharia reversa cria as classes DTO's
  • classe adicionada Reverse::DTOTemplate


Lumine 1.3.6

  • correcao em Lumine_Util::array2xml
  • correcao em Lumine_Util::showResult
  • adicionado metodo Lumine_Base::remove($linkname, $items);
  • adicionado metodo Lumine_Base::toJSON($utf8 = false);
  • adicionado metodo Lumine_Base::allToJSON($utf8 = false);
  • adicionado metodo Lumine_Util::json($utf8 = false);


Lumine 1.3.5

  • Documentacao atualizada
  • Melhoria de performance


Lumine 1.3.4

  • Alteracoes para os controles basicos com postgres
  • Alteracoes para que os campos booleanos sejam salvos corretamente com o postgres
  • Alteracoes para que a instancia da configuracao nao fique no objeto basico, melhorando a performance
  • correcao para pegar o nome da tabela ou alias em um join quando o alias nao e informado
  • Correcao nos nomes das classes na engenharia reversa
  • Correcao para que, quando fizer join e estiver utilizando schema, colocar corretamente nas tabelas unidas
  • (beta) Dicionario de plural. Converte consultor -> consultores, autor -> autores, etc, para colecoes, na engenharia reversa.
  • bug corrigido: no momento de salvar uma lista de objetos dependentes com nomes diferentes na tabela de uniao ele pega os nomes das colunas incorretamente.
  • corrigido o bug em relacao aos membros encapsulados como private: eles nao eram retornados no metodo allToArray ou toArray

Lumine 1.3.3

  • Correcao de quando se tinha relacionamentos many-to-many e os nomes das colunas na tabela de uniao eram diferentes das tabelas de origem, nao estava gravando os dados (bug enviado por fernandouhu at gmail dot com)
  • Correcao na engenharia reversa. Quando se fazia engenharia reversa de uma tabela de ligacao e as chaves primarias da ligacao continham nomes diferentes das tabelas de origem, nao coloca certo nas entidades
  • Correcao no PostgreSQL para recuperacao das foreign keys sem aspas duplas

Lumine 1.3.2

  • Correção para o PHP 5.2.8

Lumine 1.3 (2008-12-24)

  • Adicao de constantes a classe Lumine_Validator
  • Agora no modo REQUIRED_STRING, tambem ja verifica o comprimento dos campos (MINIMO, MAXIMO)
  • Dispara exceções em métodos de persistencia (Lumine_SQLException)
  • Comentários em geral

Lumine 1.2.2 (2008-10-30)

  • Inclusão dos metodos getFieldOption e setFieldOption, o que permite alterar uma opção do campo em tempo de execução
  • Criação opcional de get / set na engenharia reversa
  • Correção de alguns alertas em strict mode
  • Correção do insert quando se tem get/set de chave primaria auto-incrementavel

Lumine 1.2.1 (2008-10-27)

  • Correção de pequenos bugs

Lumine 1.2 (2008-10-24)

  • - Declaracao de membros das classes
  • - Ajuste na opcao lazy para carregamento de dados automatico

Lumine 1.1 (2008-09-08)

  • Quando um novo objeto é criado, a configuracao dispara o evento onCreateObject
  • correcao na clausula where com valor null
  • adicionados os metodos toXML e allToXML

Lumine 1.0.9 (2008-08-20)

  • Alteracao correta no setDataset quando se recupera uma informacao do dialeto
  • funcao para autload
  • Alteracao para passar o objeto que esta sendo validado em uma requiredFunction
  • Correção na opção "manter nome das colunas em chaves estrangeiras" na engenharia reversa
  • correcao no getLink

Lumine 1.0.9Beta

  • Opcao de remover nos arquivos gerados pela engenharia reversa
  • reinicia a matriz original_dataholder no metodo reset
  • Ajuste de destrutores
  • ajuste de memoria (mysql e postgre)
  • ajuste na engenharia reversa
  • criacao do metodo "destroy"

Lumine 1.0.8.4

  • Alteracao formato de campo TIME
  • Correção quando se faz um count e não retorna resultados, e após é feita uma chamada ao toArray ou allToArray
  • Firebird Beta
  • Correção de que quando não há alterações no objeto atual, não estava atualizando as dependencias
  • Dispara uma exceção quando falha a conexão
  • Camel case nos nomes das classes e nomes dos membros da entidade
  • Alteracao em alguns bugs na conexao do Firebird
  • Alteracao automatica de LIMIT e OFFSET para Firebird
  • Ajustes na engenharia reversa na opcao "manter nomes das colunas", quando eram relacionamentos

Lumine 1.0.8.2

  • Correção quando se usa mais de um banco de dados ao mesmo tempo (perdia a relação com o primeiro banco quando se entrava no segundo - MySQL)
  • Correção na opção "manter nome das colunas em chaves estrangeiras" na engenharia reversa

Lumine 1.0.8.1

  • Correção de insert quando uma coluna tem chave estrangeira e o valor padrão é null (antes era convertido para zero) - (Fernando Santana);
  • Remoção de um código de teste (print_r) dentro da função _insertSQL (Fernando Santana);

Lumine 1.0.8

Lumine 1.0.7

Lumine 1.0.6

Lumine 1.0.5

Lumine 1.0.4

Lumine 1.0.3

Lumine 1.0.2

Lumine 1.0.1