Вы находитесь на странице: 1из 25

MIOLO 2.

0 Guia de Referncia

Vilson Cristiano Grtner vilson@miolo.org.br Ely Edison Matos ely.matos@ufjf.edu.br


verso do documento: 1.1 16/05/2006

Sumrio
1.MIOLO................................................................................................................................................ ..........3 . class MIOLO........................................................................................................................... ......................3 . class Context.............................................................................................................................. ..................5 . 2.Controles.................................................................................................................................. ....................5 . Class UI........................................................................................................................................................5 . class Theme......................................................................................................................... ........................6 . class Page.............................................................................................................................. ......................7 . class Form....................................................................................................................................... .............8 . Server Controls...................................................................................................................... .....................10 . Lookup....................................................................................................................................... ................15 . Datagrid................................................................................................................................... ..................16 . Criao..................................................................................................................................................... 6 1 Colunas.......................................................................................................................................... .........16 . Class DataGridColumn .................................................................................................................... .........16 . Class DataGridHyperlink............................................................................................................................16 Class DataGridControl...............................................................................................................................17 Aes......................................................................................................................................... ................17 . Mtodos............................................................................................................................... ......................17 . Tabelas................................................................................................................................................. ......19 . class TableRaw................................................................................................................. .......................19 . HTML Controls....................................................................................................................... .....................19 . Theme Controls........................................................................................................................................... 19 . Menus..................................................................................................................................... ...................19 . class ThemeMenu................................................................................................................ ....................19 . Validators........................................................................................................................... ........................19 . Controles do usurio....................................................................................................................................20 Styles......................................................................................................................................... ................20 . 3.Regras de negcio..................................................................................................................... ..................20 . classe Business...................................................................................................................... .....................20 . 4.Acesso a Dados....................................................................................................................... ....................21 . classe Database........................................................................................................................ ..................21 . classe Connection....................................................................................................................................... .22 . classe Dataset........................................................................................................................................... ..22 . classe Query................................................................................................................................ ...............23 . classe Sql......................................................................................................................... ..........................24 . classe QueryRange.............................................................................................................................. ........24 . 5.Segurana......................................................................................................................................... ..........25 . class Login............................................................................................................................................ ......25 . classe Auth.................................................................................................................................. ...............25 . classe Perms...................................................................................................................................... .........25 . 6.Trace e Debug............................................................................................................................... ..............26 . 7.Locales........................................................................................................................................................26 .

1. MIOLO
class MIOLO
a classe central do framework, com mtodos que so utilizados pelas demais classes e pelos mdulos.

function MIOLO

Mtodo construtor da classe. Inicializa as variveis de configurao definidas no arquivo miolo.conf, inclui outros arquivos (classes) necessrios ao framework e instancia as principais classes do kernel. Manipulador de asseres. Se a condio $cond de uma assero falha ( false), uma mensagem de erro apresentada e a execuo do script suspensa. O parmetro $goto uma URL; se informado adicionado um boto com ao para o respectivo endereo. Verifica se o usurio corrente (objeto Login) tem o direito $access na transao $trans. $deny determina se a execuo do script deve ser interrompida ou no. Cria uma tela apresentando a mensagem $msg. Os parmetros $gotoOK e $gotoCancel so URLs; se forem informados so adicionados dois botes (Ok e Cancel) com a ao para os respectivos endereos. Gera um dump de "var" na tela. __FILE__ e __LINE__ so valores globais que indicam o arquivo e linha dessa execuo. Info alguma informao adicional. Cria uma tela apresentando a mensagem de erro $msg. O parmetro $goto uma URL; se for informado adicionado um boto com a ao para esse endereo. Compe um path para um arquivo a partir do diretrio do MIOLO. $arquivo = $MIOLO->GetAbsolutePath('/dir/arquivo.txt'); Compe uma URL, a partir do home-url definido no miolo.conf, e retorna o endereo html do parmetro $rel. Se $module for informado, compe a URL com o nome do mdulo, caso contrrio, compe utilizando o diretrio de instalao do miolo. Utilizado para gerar uma URL no formato do MIOLO (v. "Arquitetura"), para execuo de um handler no mdulo especificado por $module. $acao=$MIOLO->GetActionURL('modulo', 'arquivo') Retorna uma referncia para o objeto Auth. Utilizado para instanciar a classe do arquivo $name no diretrio classes do mdulo $module. Para evitar conflitos de nomes, a classe derivada de Business deve ter o nome no formato <Business><Mdulo><Classe>. $business = $MIOLO->GetBusiness('mdulo, 'arquivo') Este mtodo utilizado para criar uma conexo com a base de dados especificada no parmetro $conf. A configurao da base deve ter sido previamente criada no arquivo de configurao do MIOLO (miolo.conf). Retorna uma referncia para um objeto Database. $MIOLO->GetDatabase('NomeBase') Retorna um path indicando a localizao do arquivo $file do mdulo $module. Retorna uma referncia para o objeto Page.

function Assert($cond,$msg='',$goto='')

function CheckAccess($trans, $Access, $deny)

function Confirmation($msg,$gotoOK='',$gotoCancel='')

function Dump($var,$file=false,$line=false,$info=false)

function Error($msg='',$goto='', $caption='')

function GetAbsolutePath($rel=null)

function GetAbsoluteURL($rel,$module=null)

function GetActionURL($module='', $action='NONE', $item='', $args=null , $dispatch=null)

function & GetAuth()

function GetBusiness($module,$name='main')

function GetDatabase($conf=null,$user=null,$pass=null)

function GetModulePath($module,$file) function & GetPage()

function & GetPerms()

Retorna uma referncia para o objeto Perms. Retorna uma referencia para o tema (um objeto Theme) a ser usado, indicando o nome do tema ($themeid) e o layout a ser usado ($layout) $theme =& $MIOLO->GetTheme(); Retorna o endereo web do tema atualmente utilizado.

function & GetTheme($themeid=,$layout=)

function GetThemeURL($rel,$name=null,$default=null) function GetUI()

Instancia a classe UI, permitindo acesso s funes de Interface de Usurio Cria uma tela apresentando a mensagem $msg. O parmetro $goto uma URL; se for informado adicionado um boto com a ao para esse endereo. Cria dinamicamente uma classe interna ao script, e coloca na definio desta classe o contedo do arquivo $name que est no diretrio handlers do mdulo indicado por $module. Instancia um objeto desta classe, causando a execuo dos comandos presentes no arquivo $name. Determina se o processo de loggin est ativado. Retorna uma lista dos arquivos do diretrio $dir. O parmetro $type indica se nomes de diretrios devero ser includos ou no na lista. Mtodo chamado pelos demais mtodos de mensagens e avisos. O parmetro $prompt um objeto da classe Prompt e $halt indica se o processamento do script deve ou no ser interrompido. Cria uma tela apresentando a mensagem $msg. Os parmetros $gotoYes e $gotoNo so URLs; se forem informados so adicionados dois botes (Yes e No) com a ao para os respectivos endereos. Obtm o valor de uma varivel (ou de vrias, em um array) a partir dos arrays globals do PHP ($_REQUEST, $_POST, $_GET, $_SESSION, global). Criptografadecriptograva um $texto, usando como chave a sessionid corrente. Determina o path para o arquivo de log. Utilizado para definir o tema, "theme" um objeto da classe Theme. No deve ser confundido com o mtodo SetIdTheme da classe Theme. Similar a funo include do PHP. Esse mtodo inclui no script o arquivo $name do mdulo $module. Inclui o cdigo referente a uma classe Business, sem instanci-la. Esse mtodo inclui no script todos os arquivos do diretrio <home>/extensions (que possuem classes que adicionam funcionalidade ao framework).

function Information($msg,$goto='')

function InvokeHandler($module,$name)

function IsLogging()

function ListFiles($dir,$type='d')

function Prompt($prompt,$halt=true)

function Question($msg,$gotoYes='',$gotoNo='')

function _Request($vars, $from=ALL)

function UnScramble($text) function SetLog($logname)

function SetTheme(&$theme)

function Uses($name,$module=null)

function UsesBusiness($module, $name=main) function UsesExtensions()

class Context
Esta classe usada para ober os dados passados na url do handler.php ($module, $action, $item). Tambm pode ser usada para compor uma url.

function ComposeURL()

Retorna uma url com os valores atuais dos atributos $module, $action e $item.

function Create($module,$action,$item) function GetAction($index=0) function PushAction($a) function ShiftAction()

Atribui os valores dos parmetros aos atributos do objeto. Obtm o valor da string $action na posio indicada por $index. Acrescenta a string $a no atributo $action. Obtm o prximo valor na seqncia da string $action.

2. Controles
Class UI
A classe UI atua como um ponto central para se obter as instncias dos objetos referentes a interface com o usurio (forms, menus, imagens etc)

function Alert($msg,$info,$href='')
Emite uma mensagem de alerta.

function CreateForm($title='')

Instancia um formulrio (class Form). Instancia um formulrio definido pelo usurio. O arquivo com a classe do formulrio deve estar localizado em <home_miolo>/$module/forms/<$dir>/$name.class. Instancia um grid (listing) definido pelo usurio. O arquivo com a classe do grid deve estar localizado em <home_miolo>/$module/listings/<$dir>/$name.class. Instancia um menu definido pelo usurio. O arquivo com a classe do menu deve estar localizado em <home_miolo>/$module/menus/$name.class. Instancia um relatrio definido pelo usurio. O arquivo com a classe do relatrio deve estar localizado em <home_miolo>/$module/reports/<$dir>/$name.class. Retorna a URL de uma imagem.

function GetForm($module,$name,$data=null, $dir=null)

function GetListing($module,$name,$data=null, $dir=null)

function GetMenu($module='main',$name='UIMainMenu')

function GetReport($module,$name,$data=null, $dir=null)

function GetImage($module,$nome)

class Theme
O objeto Theme encapsula o layout da pgina HTML a ser exibida. Os principais elementos HTML so encapsulados na classe e o desenho da pgina feito atravs de seus mtodos. Alm disso a classe Theme permite instanciar os objetos que compe o tema (Barra de navegao navbar, Menus, rea de contedo content, Barra de status statusbar).

function & GetNavigationBar()

Retorna uma referncia para a barra de navegao (navbar). Atribui a barra de navegao. Elimina os menus da pgina. Retorna o array de menus da pgina. Retorna uma referncia para o menu principal.

function SetNavigationBar(&$bar) function ClearMenus()

function & GetMenus()

function & GetMainMenu()

function & GetMenu($name) function & GetStatusBar()

Retorna uma referncia para o menu $name, ou o cria se ele no existir. Retorna uma referncia para a barra de status. Atribui a barra de status.

function SetStatusBar(&$bar) function ClearContent()

Inicializa a rea de contedo. Retorna uma referncia para a rea de contedo. Atribui o elemento para a area de contedo. Insere o elemento no incio da rea de contedo. Insere o elemento no final da rea de contedo. Retorna o Id do tema em uso. Atribui o Id do tema.

function & GetContent()

function SetContent(&$content)

function InsertContent(&$element)

function AppendContent(&$element) function GetId()

function SetId($idtheme) function GetLayout()

Retorna o layout do tema em uso. Atribui o layout do tema.

function SetLayout($layout) function AddElement(&$element, $location='content') function & UseComponent($name)

Adiciona o elemento a uma das reas do tema (menu ou content). Instancia um componente externo ao Miolo.

class Page
O objeto Page encapsula a funcionalidade do Webform, representando a pgina HTML que criada quando uma URL chamada. Cada pgina possui um nico formulrio HTML, ainda que possa possuir vrios objetos Form.

function Page()

Instancia um objeto Page, inicializando os atributos da pgina , a funcionalidade dos temas e o objeto State (que possui o contedo das variveis que mantm estado entre round-trips). Determina se a pgina est sendo chamada a primeira vez ou se um postback (devido a submisso de um formulrio). Atribui um valor ao atributo postback. Indica a URL que ser o action do Webform. Indica o tipo de codificao do Webform. Adiciona um link para uma folha de estilo CSS. Adiciona um link para um arquivo de script. Adiciona uma tag META NAME do HTML.

function IsPostBack()

function SetPostBack($postback) function SetAction($action)

function SetEnctype($enctype) function AddStyle($url)

function AddScript($url)

function AddMeta($name,$content)

function AddHttpEquiv($name,$content) function & GetStyles()

Adiciona uma tag META HTPP-EQUIV do HTML. Retorna o array com as URL de folhas de estilo CSS. Retorna o array com as URL de scripts. Retorna o array com as tags META. Retorna o ttulo da pgina. Atribui o ttulo da pgina. Retorna o valor de uma varivel submetida, consultando $MIOLO->_Request e array de variveis de estado. Carrega as variveis de estado (que mantm os valores atravs de round-trips). Salva o estado das variveis de estado. Transfere a execuo para outro handler, atravs da chamada a $MIOLO->InvokeHandler.

function & GetScripts() function & GetMetas() function & GetTitle()

function SetTitle(&$title)

function Request($variable)

function LoadViewState() function SaveViewState()

function Transfer($module,$action,$item='') function GoTo($url) function Redirect($url)

Transfere a execuo para outro script, indicado atravs de $url, usando o campo Location do protocolo HTTP. Executa o evento associado classe $subject. Dispara o processo de renderizao da pgina HTML. o mtodo principal da classe, responsvel por carregar as definies do tema, executar o handler necessrio e gerar a pgina HTML.

function EventHandler(&$subject) function Generate() function Handler()

class Form
A classe Form o principal mecanismo de interface com o usurio. Os formulrios criados pelos desenvolvedores vo, via de regra, estender a class Form para implementar um Webform. Embora no corresponda diretamente a um formulrio HTML, atravs da classe Form que o controles da pgina so definidos. A classe mantm um atributo $fields, que um array de objetos representando os controles do Form. A classe tambm acrescenta um prefixo frm_ ao nome dos campos, antes da renderizao.

function Form($title='',$action='')

Instancia um Form. Executa o mtodo CreateFields (geralmente definido em uma classe-filha) e faz a carga inicial do array $fields, chamando o mtodo GetFormFields. tambm executado, caso exista, o mtodo OnLoad. Adiciona um controle Validator ao Form. Adiciona um conjunto de contrioles Validator ao Form. Retorna o nome do Form. Retorna o ttulo do Form.

function AddValidator($validator)

function SetValidators($validators) function GetName()

function & GetTitle()

function SetTitle($title) function & GetFooter()

Indica o ttulo do Form. Retorna o controle usado com rodap do Form. Indica o controle a ser usado como rodap do Form. Atribui valores ao array $fields, com base nas variveis submetidas via POST ou GET. Esta funo esttica retorna o valor do campo $name. Busca no array $fields, $_POST, $GET. Indica um valor para o campo $name. Indica um cdigo Javascript para ser executado na submisso do Form. Indica um cdigo Javascript a ser acrescentado no Form. Indica um a URL como action do Form. Indica uma URL como pgina de help. Indica os valores para o array $fields. No registro de cada controle, acrescentado o prefixo frm_ ao nome do controle e criado um atributo de mesmo nome, que representar o controle, para a classe. Acrescenta um controle $field no array $fields. Acrescenta um boto no array $buttons. Indica os valores para o array $buttons. Os botes no possuem o prefixo frm_. Modifica o label do boto indicado por $index, no array $buttons. Indica se deve ser exibido um boto Return. Indica se deve ser exibido um boto Reset. Retorna se os hints dos campos sero exibidos. Indica se os hints dos campos sero exibidos ou no. Retorna uma lista dos campos do Form que podem possuir valor, omitindo os campos puramente decorativos. Verifica se todos os campos possuem um valor, podendo interromper ou no a execuo, dependendo de $assert. Verifica se os campos em $required possuem um valor, podendo interromper ou no a execuo, dependnedo de $assert. Adiciona um erro lista de erros do Form.

function SetFooter($footer) function GetFormFields()

function /* static */ GetFormValue($name,$value=null) function SetFormValue($name,$value) function OnSubmit($jscode)

function AddJsCode($jscode) function SetAction($action) function SetHelp($href)

function SetFields(&$fields)

function AddField(&$field,$hint=false) function AddButton(&$btn)

function SetButtons(&$btn)

function SetButtonLabel($index,$label) function ShowReturn($state) function ShowReset($state) function GetShowHints()

function ShowHints($state) function GetFieldList()

function ValidateAll($assert=true)

function Validate($required,$assert=true)

function /* static */ AddError($err)

function HasErrors()

Retorna se o Form possui algum erro. Recebe o objeto $data com parmetro e cria como nome de atributos de $data os nomes dos campos do Form e como valores destes atributos os valores dos campos. Geralmente chamado por GetData(). Executa CollectInput para obter um objeto da class FormData. Pode ser sobreposto pelas classes-filhas, para tratamentos especficos nos dados de entrada. Percorre os atributos do objeto $data e, para os campos do Form que tm o mesmo nome, atribui o valor daquele atributo. Usado depois que os campos j esto registrados. Executa o mtodo GetValue() do controle correspondente ao campo. Usado depois que os campos j esto registrados. Executa o mtodo SetValue() do controle correspondente ao campo. Atribui o controle Validator $value ao campo indicado por $name. Retorna o controle (objeto) referente ao campo $name. Retorna o boto (objeto) referente ao boto $name. Atribui o valor $value ao atributo $attr do controle $name. Retorna o valor do atributo $attr do controle $name. Se o atributo for um array usa o ndice $index. Atribui o valor $value ao atributo $attr do boto $name.

function CollectInput($data)

function GetData()

function SetData($data)

function GetFieldValue($name,$value=false)

function SetFieldValue($name,$value)

function SetFieldValidator($name,$value) function & GetField($name)

function & GetButton($name)

function SetFieldAttr($name,$attr,$value)

function GetFieldAttr($name,$attr, $index=null) function SetButtonAttr($name,$attr,$value)

Server Controls
As diversas classes de controles encapsulam a criao e renderizao de controles html, usados principalmente em formulrios, bem como servem de base para criao de controles mais complexos, formados atravs de composio.

function Separator($text=null)

$text (string) Exibe uma linha e opcionalmente o texto $text. Exemplo: new Separator();

function Text($name, $text='')

$name (string) $text (string) Exibe o texto $text. Exemplo: $exemplo = new Text(txtNome,$nome);

function TextLabel($name, $text=null,$label='')

$name (string) $text (string) $label (string) Exibe o texto $text com o label $label. Exemplo: $exemplo = new TextLabel(txtNome,$nome,Nome);

function HyperLink($name=null,$label=null,$href=null,$text=null)

$name (string) $label (string) $href (string) $text (string) Exibe um hyperlink para $href com o texto $text ou $label. Exemplo: $link = new Hyperlink(lnkVoltar,null,$MIOLO->GetActionURL(common,main), Principal);

function ImageForm($name=null,$label=null,$location=null, $attrs=null)

$name (string) $label (string) $location (string) $attrs (array) Exibe uma imagem. $location indica a URL do arquivo de imagem, $label usado como atributo alt e $attrs um array com atributos a serem usados na renderizao (no formato $attr[atributo] = valor). Exemplo: $img = new ImageForm(imgDelete,Delete,images/delete.gif,array(border=>0));

function FormButton($name='', $label='',$action=null)

$name (string) $label (string) $action (string) Exibe um boto de ao. $action pode ter um dos seguintes formatos: null ou submit: gera um evento <$name>:click no formulrio reset: funciona como um boto reset do html print: abre uma janela para impresso da pgina corrente report: gera um evento <$name>:click no formulrio e abre uma janela para exibio do relatrio em pdf http://...: desvia imediatamente para a pgina indicada pela URL Exemplos: $btnPost = new FormButton(btnPost,Enviar); // submit $btnPrint = new FormButton(btnPrint,Imprimir,print); $btnMain = new FormButton(btnMain,Principal,$MIOLO->GetActionURL(common,main)); // http://

function LinkButton($name='', $label='',$action='')

$name (string) $label (string) $action (string) Exibe um hyperlink que aponta para a pgina indicada por $action e gera um evento <$name>:click Exemplos: $btnPost = new LinkButton(btnPost,Enviar); // submit na mesma pgina $btnGoto = new LinkButton(btnGoto,Ir para Principal, $MIOLO->GetActionURL(common,main)); // submit em outra pgina

function ImageButton($name='', $label='',$action='',$location='')

$name (string) $label (string) $action (string) $location (string) Exibe uma imagem como um hyperlink que aponta para a pgina indicada por $action e gera um evento <$name>:click. $location indica a URL da imagem a ser renderizada. Exemplos: $btnPost = new ImageButton(btnPost,Enviar,submit,images/post.gif);

function TextField($name,$value='',$label='', $size=10,$hint='',$validator=null)


$name (string) $value (string) $label (string) $size (string) $hint (string)

$validator (objeto validator) Exibe um campo para entrada de texto. Exemplo: $exemplo = new TextField(edtNome,$nome,Nome Completo,40);

function PasswordField($name,$value='',$label='', $size=20, $hint='', $validator=null)


$name (string) $value (string) $label (string) $size (string) $hint (string) $validator (objeto validator) Exibe um campo para entrada de senha (mostra * no lugar dos caracteres). Exemplo: $pass = new PasswordField(edtPass,$password,Senha,20);

function HiddenField($name='',$value='')

$name (string) $value (string) Renderiza um campo oculto no formulrio. Exemplo: $idCliente = new HiddenField(hidId,$id);

function MultiLineField($name='',$value='',$label='', $size=20, $rows=1, $cols=20, $hint='',$validator=null)

$name (string) $value (string) $label (string) $size (string) $rows (integer) $cols (integer) $hint (string) $validator (objeto validator) Exibe um campo para entrada de texto com mltiplas linhas. $rows indica o nmero de linhas e $cols o nmero de colunas. Exemplo: $edtObs = new MultiLineField(edtObs,$obs,Observao,20,5,20);

function LookupTextField($name='',$value='',$label='', $size=10, $hint='', $validator=null, $related='', module='',$item='', $event='', $autocomplete=false)

$name (string) $value (string) $label (string) $hint (string) $validator (objeto validator) $related (string) $module (string) $item(string) $event (string) $autocomplete (boolean) Exibe um campo para entrada de texto, que permite fazer pesquisas no banco de dados. A descrio do funcionamento feita no captulo Lookup.

function MultiTextField2($name='',$value=null,$label='',$fields='', $width=200, $buttons=false, $layout='vertical',$hint='')


$name (string) $value (string) $label (string)

$fields (array) $width (integer) $buttons (Boolean) $layout (string) $hint (string) MultiTextField um controle composto, que permite criar uma lista de dados a partir de campos TextField ou Selection. O controle prov botes para adicionar, modificar e remover dados da lista, e opcionalmente botes para percorrer a lista. Os campos so indicados atravs do array $fields. Cada elemento de $fields um array com o seguinte formato: array($id,$label,$name,[$options_array]), onde $id: identificador do campo $label: texto a ser exibido como label do campo $name: texto opcional a ser exibido junto ao label $options_array: array de opes, no campo de um campo tipo Selection; se no for fornecido, o campo renderizado como um TextField A propriedade $info permite informar um label a ser exibido para a lista de dados. So fornecidos dois mtodos para facilitar o tratamento da lista de dados: GetCodeValue e SetCodeValue. $value = $obj->GetCodeValue() O mtodo retorna em $value um array onde cada elemento uma linha da lista de dados. Cada linha, por sua vez tambm representada como um array, onde cada elemento o valor do campo correspondente. $obj->SetCodeValue() O mtodo define o contedo da lista de dados, baseado no array $value (onde cada elemento uma linha da lista de dados e cada linha, por sua vez um array, onde cada elemento o valor do campo correspondente).

function FileField($name='',$value='',$label='',$size=40,$hint='')
$name (string) $value (string) $label (string) $hint (string) Exibe um controle para upload de arquivos.

function CalendarField($name='',$value='',$label='',$size=10,$hint='')

$name (string) $value (string) $label (string) $hint (string) Exibe um entrada de texto para receber uma data. Permite a execuo de um calendrio em javascript.

function CheckBox($name='',$value='',$label='', $checked=false, $text=null, $hint='')

$name (string) $value (string) $label (string) $hint (string) Exibe um controle do tipo checkbox. $checked indica se o controle est inicialmente marcado ou no e $text define o texto a ser exibido. $value o valor a ser enviado no post.

function RadionButton($name='',$value='',$label='', $checked=false, $text=null, $hint='')

$name (string) $value (string) $label (string) $hint (string) Exibe um controle do tipo radiobutton. $checked indica se o controle est inicialmente marcado ou no e $text define o texto a ser exibido. $value o valor a ser enviado no post.

function Option($name,$value=null,$label,$checked=false)

$name (string) $value (string) $label (string) $checked (boolean) Option uma classe auxiliar, que permite a definio de itens para os controles CheckBoxGroup e RadioButtonGroup.

function CheckBoxGroup($name='',$label='',$options='',$hint='')

$name (string) $label (string) $options (array) $hint (string) Exibe um grupo de controles do tipo checkbox. $options um array, onde cada elemento um objeto do tipo Option.

function RadioButtonGroup($name='',$label='',$options='', $default=false, $layout='horizontal', $hint='')

$name (string) $label (string) $options (array) $default (boolen) $layout (string) : horizontal ou vertical $hint (string) Exibe um grupo de controles do tipo radiobutton. $options um array, onde cada elemento um objeto do tipo Option. $default indica qual opo vai estar selecionada por default (deve ser o valor de um dos elementos de $options). $layout indica como os itens sero dispostos no formulrio.

function LinkButtonGroup($name='',$label='',$options='', $layout='horizontal', $break='&nbsp;&nbsp;')

$name (string) $label (string) $options (array) $layout (string) : horizontal ou vertical $break (string) Exibe um grupo de controles do tipo linkbutton. $options um array, onde cada elemento um objeto do tipo Option. $layout indica como os botes sero dispostos no formulrio. $break indica como os itens devero ser separados.

function Selection($name='',$value,$label='', $options=Array('No','Sim'), $showValues=false, $hint='')

$name (string) $value (string) $label (string) $options (array) $showValues (boolean) $hint (string) Exibe uma caixa de seleo. $options um array onde cada elemento tem o formato $options[value] = text onde value indica o valor a ser enviado no post, quando o item for selecionado, e text indica o texto a ser apresentado na caixa de seleo para aquele item. $showValues indica se o valor do item deve ser exibido ou no.

function MultiSelection($name='', $values=Array('1','2','3'), $label='&nbsp;', $options=Array('Option1','Option2','Option3'), $showValues=false, $hint='', $size='')


$name (string) $values (array) $label (string)

$options (array) $showValues (boolean) $hint (string) $size (integer) Exibe uma caixa de seleo mltipla. $values um array onde cada elemento um valor de um item da caixa de seleo. $options um array com uma ou duas dimenses. Se for unidimensional, onde cada elemento tem o formato $options[value] = text onde value indica o valor a ser enviado no post, quando o item for selecionado, e text indica o texto a ser apresentado na caixa de seleo para aquele item. Se $options for bidimensional, cada elemento tem o formato $options[] = array(value, text) $showValues indica se o valor do item deve ser exibido ou no. No post, o controle retorna um array onde cada elemento um item que foi selecionado no formulrio.

function ComboBox($name='',$value='',$label='',$options='',$hint='')

$name (string) $value (string) $label (string) $options (array) $hint (string) Exibe uma caixa de texto associada a uma caixa de seleo. $options um array onde cada elemento tem o formato $options[value] = text onde value indica o valor a ser enviado no post, quando o item for selecionado, e text indica o texto a ser apresentado na caixa de seleo para aquele item. Quando um item selecionado, seu valor colocado automaticamente na caixa de texto para ser enviado no post.

Lookup
Objetivo: Abrir uma janela no browser, onde o usurio pode informar argumentos de pesquisa no banco de dados. Processamento: Definio de um campo LookupTextField no formulrio. Ex: new LookupTextField('lkpNome','','Nome',80) Definio das propriedades do campo LookupTextField: Module e Item: define o mdulo onde est a funo que implementa a pesquisa. Todo mdulo que oferea pesquisa, deve possuir um arquivo <miolo>/<module>/classes/lookup.class, implementando a classe Business<module>Lookup. Nesta classe deve haver um mtodo para cada tipo de pesquisa que pode ser feita. Cada mtodo recebe o nome Lookup<item> (ex. LookupPessoa) Event: que evento ser disparado aps a seleo do item pesquisado. Pode ser usado o valor filler, se o objetivo apenas preencher os campos do formulrio. Related: lista dos campos que devero ser preenchidos, caso o evento seja filler. A renderizao do campo LookupTextField gera um campo texto com a imagem de uma lupa ao lado. O usurio pode preencher o campo texto com o valor inicial a ser pesquisado e ento clicar na imagem. No evento OnClick da imagem, criado um objeto javascript do tipo LookupContext, que rene as propriedades do campo LookupTextField. ento executada a funo MIOLO_Lookup (do arquivo common.js), sendo passado o objeto LookupContext. A funo javascript monta uma URL para uma pgina lookup.php e abre a pgina em uma nova janela do browser.

A pgina lookup.php recebe os parmetros relativos pesquisa e instancia um objeto da classe Lookup. O objetivo desta classe simplesmente agregar todas propriedades do formulrio de pesquisa. A pgina ento cria um novo formulrio (classe Form), que composto por caixas de texto para os argumentos de pesquisa (filtros) e um datagrid que exibe os resultados. A pgina lookup.php tambm responsvel por instanciar o objeto Business<module>Lookup e executar o mtodo Lookup<item>, passando como parmetro o objeto Lookup criado anteriormente. O mtodo Lookup<item> que efetivamente define quais os campos para filtrar a pesquisa, qual a coluna chave do datagrid, e qual a query ser executada no banco de dados. O argumento inicial da pesquisa pode ser acessado atravs de $lookup->filterValue. Atravs da coluna de ao do datagrid possvel selecionar um registro especfico. Quando um registro selecionado, executada a funo javascript MIOLO_Deliver (do arquivo common.js). Esta funo recebe como parmetros o nome do campo, o nmero da coluna chave (a coluna do datagrid que contm o valor da chave do registro exibido) e uma lista de valores (que so os valores exibidos na linha do datagrid). Caso o evento seja filler, feito o preenchimento dos campos referenciados na lista related com os valores das colunas do datagrid (a atribuio feita de acordo com a posio na lista). Caso seja um outro evento, este disparado atravs da funo _doPostBack do formulrio, passando o valor do campo chave como parmetro.

Datagrid
Objetivo: Apresentar um grid para exibio do resultado de consultas ao banco de dados, em objetos Query, permitindo paginao, ordenao e filtragem.

Criao
$datagrid = new DataGrid($query, $columns, $href_datagrid,$pagelength);
$query: objeto Query, representando uma consulta feita ao banco de dados $columns: array com objetos representando as colunas a serem exibidas $href_datagrig: URL representando a pgina onde o datagrid est inserido $pagelength: quantidade de linhas a serem exibidas por pgina (0, se no for feita paginao)

Colunas
Os dados podem ser exibidos em 3 tipos de colunas: dados (DataGridColumn), links (DataGridHyperlink) e controles (DataGridControl).

Class DataGridColumn
DataGridColumn($field, $title='', $align='left', $nowrap=false, $width=0, $visible=true, $options=null, $order=false, $filter=false)
$field: nome do campo a ser exibido nesta coluna. Este nome deve aparecer na lista de campos do objeto Query. Pode estar no formato field ou table.field. $title: ttulo da coluna $align: define o alinhamento do campo (rigth, center, left). Por default, nmeros so alinhados direira. $nowrap: define se o dado pode ser quebrado em mais de uma linha ou no (true/false) $width: define a largura da coluna $visible: define a coluna deve ser exibida ou no (true/false) $options: array de opes no formato (opo => texto), texto exibido quando o valor do campo for igual a uma das opes do array. $order: expresso usada para ordenao do datagrid (string). $filter: define se esta coluna pode ser usada para filtrar a exibio de dados no datagrid (true/false).

function SetAttr($attr, $value)


$attr (string) $value (mixed)

Define o valor do atributo $attr para $value.

Class DataGridHyperlink
DataGridHyperlink($field, $title='', $href, $width=0,$visible=true,$options=null, $order=false, $filter=false)
$field: nome do campo a ser exibido nesta coluna. Este nome deve aparecer na lista de campos do objeto Query. Pode estar no formato field ou table.field. $title: ttulo da coluna $href: URL do hyperlink. Nesta URL o token #?# substitudo pelo valor do campo corrente e o token #n# substitudo pelo valor do campo n da query. $width: define a largura da coluna $visible: define a coluna deve ser exibida ou no (true/false) $options: array de opes no formato (opo => texto), texto exibido quando o valor do campo for igual a uma das opes do array. $order: expresso usada para ordenao do datagrid (string). $filter: define se esta coluna pode ser usada para filtrar a exibio de dados no datagrid (true/false).

Class DataGridControl
DataGridControl(&$control, $name, $title='',$align=null,$nowrap=false,$width=0,$visible=true)
$control: referncia ao objeto base representando o controle a ser exibido. criado um novo objeto para cada linha exibida. $name: nome dos objetos a serem criados em cada linha. Neste nome pode ser usado o token %n%, onde n o nmero do campo da query. $title: ttulo da coluna $align: define o alinhamento do campo (rigth, center, left). $nowrap: define se o dado pode ser quebrado em mais de uma linha ou no (true/false) $width: define a largura da coluna $visible: define a coluna deve ser exibida ou no (true/false)

Aes
A primeira coluna do datagrid pode ser usada para aes a serem aplicadas s linhas. DataGridAction a classe base para as aes, sendo acessada atravs dos mtodos AddActionSelect, AddActionIcon e AddActionText, do datagrid. As funes Enable() e Disable(), da classe DataGridAction, so usadapara para habilitar ou desabilitar uma ao.

Mtodos
function SetTitle($title)
$title (string) Define o ttulo do datagrid.

function SetFilter($filter)

$filter (string) Define uma expresso do tipo sql-where para filtragem do datagrid.

function SetLinkType($linktype)

$linktype (string): hyperlink ou linkbutton Define a forma de uso dos links do datagrid. Linkbutton fora a utilizao do mtodo Post, permitindo que sejam enviados os contedos dos controles apresentados na pgina.

function SetButtons($aButtons)

$aButtons (array): array de botes de controle (Button) Define botes a serem apresentados no rodap.

function SetControls($aControls)
$aControls (array): array de controles

Define controles a serem apresentados no rodap.

function SetWidth($width)

$width (string) ex: 95% Define a largura da tabela onde o datagrid ser apresentado.

function SetRowMethod($class, $method)

$class (string): nome de uma classe $method (string): nome de um mtodo da classe $class Define o mtodo a ser chamado antes da criao de cada linha do datagrid, permitindo que sejam feitos teste e alteraes no contedo das colunas. O mtodo a ser chamada tem a seguinte assinatura: <method_name>($row,$actions,$columns, $fieldpos); $row (array): array com o contedo da linha a ser renderizada. Cada elemento de $row um campo da consulta feita no objeto Query. $actions (array): array com as aes que foram definidas para este datagrid. $columns (array): array com os objetos que representam as colunas do datagrid. $fieldpos (array): array com a posio em $row de cada campo da consulta feita no objeto Query.

function HeaderLink($id, $label, $href)

$id (integer | string) : ndice do array de links $label ($string) $href (string) Define um controle LinkButton a ser colocado no cabealho do datagrid.

function SetColumnAttr($field,$attr,$value)

$field (string) $attr (string) $value (mixed) Define ou altera um atributo da coluna referente ao campo $field.

function AddActionSelect($index=0)

$index (integer) Adiciona uma ao do tipo select (um controle do tipo CheckBox) na coluna de aes. O controle recebe o nome selectRow<n>, onde n o nmero da linha do controle, e o valor $row[$index].

function AddActionIcon($alt,$icon,$href,$index=0)

$alt (string) : texto alternativo para a imagem $icon (string | array) $href (string) $index (integer) Adiciona uma ao do tipo image na coluna de aes. $icon indica o nome do arquivo de imagem, ou um array com dois arquivos (quando a ao pode estar habilitada ou desabilitada). $href indica a URL a ser executada (como um hyperlink ou um linkbutton, dependendo do valor da propriedade $linktype do datagrid). Nesta URL o token $id substitudo por $row[$index], o token %n% substitudo por urlencode($row[$n]) e o token #n# substitudo por $row[$n].

function AddActionText($alt,$text,$href,$index=0)

$alt (string) : texto alternativo $text (string) $href (string) $index (integer) Adiciona uma ao do tipo text na coluna de aes. $text indica a string a ser exibida na coluna. Em $text o token %n% substitudo por $row[$n]. $href indica a URL a ser executada (como um hyperlink ou um linkbutton, dependendo do valor da propriedade $linktype do datagrid). Nesta URL o token $id substitudo por $row[$index], o token %n% substitudo por urlencode($row[$n]) e o token #n# substitudo por $row[$n].

function AddActionUpdate($href)

$href (string) Adiciona uma ao do tipo image, com $alt = Editar e $icon = button_edit.png'. $href indica a URL a ser executada (como um hyperlink ou um linkbutton, dependendo do valor da propriedade $linktype do datagrid). Nesta URL o token $id substitudo por $row[$index], o token %n% substitudo por urlencode($row[$n]) e o token #n# substitudo por $row[$n].

function AddActionDelete($href)
$href (string)

Adiciona uma ao do tipo image, com $alt = Excluirr e $icon = button_drop.png'. $href indica a URL a ser executada (como um hyperlink ou um linkbutton, dependendo do valor da propriedade $linktype do datagrid). Nesta URL o token $id substitudo por $row[$index], o token %n% substitudo por urlencode($row[$n]) e o token #n# substitudo por $row[$n].

function ShowID($state)

$state (Boolean) Usado com $options. Indica se o ndice do array $options deve ser exibido na coluna ou no.

function HasErrors()

Indica se h erros no datagrid.

Tabelas
class TableRaw
function TableRaw($title='', $array, $colTitle=null)
Renderiza um array como uma tabela HTML. $title o ttulo da tabela, $array contm o contedo a ser exibido e $colTitle um array com o ttulo de cada coluna.

HTML Controls
-- incluir --

Theme Controls Menus


Os menus do sistemas esto baseados na classe ThemeMenu, que por sua vez estende a classe ThemeControl.

class ThemeMenu
function ThemeMenu($title,$base='',$home='main')
Instancia um objeto Menu.

function Clear()

Inicializa o menu, removendo todas as entradas. Atribui o ttulo do menu. Atribui o estilo do menu. Atribui a base do menu. Adiciona um link ao menu.

function SetTitle($title)

function SetStyle($style) function SetBase($base)

function AddLink($label,$link='#',$target='_self') function AddHyperLink($hyperlink)

Adiciona um link ao menu, com base em um controle Hyperlink. Adiciona uma entrada ao menu.

function AddOption($label,$module='main',$action='',$item='') function AddUserOption($transaction, $access,$label,$module='main',$action='',$item='')


Adiciona uma entrada ao menu, dependendo dos direitos do usurio. Adiciona um separador ao menu. Adiciona um sub-menu.

function AddSeparator($name=null) function AddMenu($label,$options)

Validators
Validators so objetos que fazem a validao da entrada de dados do usurio. So geralmente renderizados como rotinas Javascript executadas no lado do cliente. A maioria dos Validator recebe trs parmetros: $field: nome do controle HTML a ser validado $label: nome amigvel do campo, para aparecer na mensagem ao usurio $type: tipo de validao; pode ser required (o usurio deve fornecer um valor) ou optional (o valor opcional) ou ignore (se a validao puder ser ignorada, em certas situaes).

class RequiredValidator: function RequiredValidator($field,$label='')


O usurio deve fornecer um valor para o campo.

class MASKValidator: function MASKValidator($field,$label='',$mask,$type = 'ignore')

Valida a entrada do usurio segundo uma mscara. A mscara pode conter os caracteres 9, para forar um digito, ou a, para forar uma letra. Um caracter diferente destes, fora a existncia daquele caracter especfico. O tamanho da mscara delimita o nmero mximo de caracteres que podem ser digitados. Valida a entrada do usurio com um email. Valida a entrada do usurio com um CEP.

class EmailValidator: function EMAILValidator($field,$label='',$type = 'optional') class CEPValidator: function CEPValidator($field,$label='',$type = 'optional') class PHONEValidator: function PHONEValidator($field,$label='',$type = 'optional')
Valida a entrada do usurio com um telefone (xx)xxx-xxxx Valida a entrada do usurio com uma hora xx:xx Valida a entrada do usurio com um CPF.

class TIMEValidator: function TIMEValidator($field,$label='',$type = 'optional') class CPFValidator: function CPFValidator($field,$label='',$type = 'optional') class CNPJValidator: function CNPJValidator($field,$label='',$type = 'optional')
Valida a entrada do usurio com um CNPJ.

class DATEDMYValidator: function DATEDMYValidator($field,$label='',$type = 'optional')


Valida a entrada do usurio com uma data no formato dd/mm/aaaa.

class DATEYMDValidator: function DATEYMDValidator($field,$label='',$type = 'optional')


Valida a entrada do usurio com uma data no formato aaaa/mm/dd.

class CompareValidator: function CompareValidator($field,$label='', $operator, $value, $datatype='s', $type = 'optional')

Valida a entrada do usurio comparando com o valor fornecido em $value. $operator indica qual a operao de comparao (==,>,<,>=,<=,!=). $datatype indica se o valor string (s) ou inteiro (i).

class RangeValidator: function RangeValidator($field,$label='', $min, $max, $datatype='s', $type = 'optional')

Valida a entrada do usurio comparando-a com a faixa de valores estabelecida por $min e $max. $datatype indica se o valor string (s) ou inteiro (i) Valida a entrada do usurio de acordo com uma expresso regular.

class RegExpValidator: function RegExpValidator($field,$label='', $regexp='', $type = 'optional')

Controles do usurio
--incluir--

Styles
--incluir--

3. Regras de negcio
classe Business
Classe que serve de base para os objetos relativos s regras de negcios (diretrio classes de cada mdulo).

function CheckError($db)

Verifica ocorrncia de erros no objeto Database $db e registra estes erros no objeto Business. No apresenta nenhuma mensagem, apenas insere a informao que pode ser usada posteriormente. Retorna os erros associados ao objeto. Adiciona um erro lista de erros do objeto. Associa um objeto Database ao objeto Business.

function GetErrors()

function AddError($err)

function GetDatabase($database=null)

function GetQuery($sql, $parameters=null, $maxrows=0) function objQuery($sql, $parameters=null, $maxrows=0) function Execute($sql, $parameters=null)
Executa o comando $sql. Obtm um objeto Query, como resultado da execuo da consulta em $sql.

function GetAffectedRows()

Retorna o nmero de registro afetados pela execuo do ltimo comando. Executa uma seqncia de comando SQL, dentro de uma transao. Obtm um objeto Query, como resultado da execuo da consulta em $sql. Execura uma StoredProcedure (no implementado). Registra uma operao na tabela de Log do sistema. Coloca a conexo do banco de dados em estado de transao. Encerra uma transao (com comit ou rollback).

function ExecuteBatch($cmds)

function objQueryRange($sql,&$range)

function ExecuteSP($sql, $parameters=null) function Log($operacao,$descricao) function BeginTransaction() function EndTransaction()

4. Acesso a Dados
No framework Miolo, o acesso s base de dados relacionais encapsulado em uma camada de acesso a dados, o que permite uma grande independncia do banco de dados usado. No framework so distintos os conceitos de: ResultSet: corresponde a um array de linhas, retornado como resultado de uma query SQL. Cada linha corresponde a um registro e cada coluna corresponde a um campo. As colunas tm ndice nmero a partir de 0, e so ordenadas de acordo com o comando SQL. DataSet: corresponde a uma instncia da classe DataSet, usada internamente pela camada de acesso a dados, para encapsular o acesso a um ResultSet.

classe Database
function Database($conf,$system,$host,$db,$user,$pass)
Abre uma conexo com o banco de dados, criando uma instancia do objeto Connection correspondente quele banco. Os parmetros para a conexo so os descritos no arquivo de configurao miolo.conf. Fecha a conexo com o banco de dados. Obtm o primeiro erro da lista de erros da conexo, se existir. Obtm a lista de erros relativa conexo. Inicia uma transao.

function Close()

function GetError()

function GetErrors()

function StartTransaction()

function CompleteTransaction() function FailTransaction() function Execute($sql)

Encerra uma transao com sucesso (comit). Encerra uma transao com falha (rollback). Executa o comando $sql. Executa os comandos SQL do array $sql_array (simula a execuo de um script). Os comandos so executados dentro de uma transao. Retorna o nmero de registros do resultado da execuo de $sql. Retorna o ResultSet correspondente execuo de $sql, com no mximo $maxrows linhas.

function ExecuteBatch($sql_array)

function Count($sql)

function Query($sql,$maxrows=0)

function GetQuery($sql,$maxrows=0) function objQuery($sql,$maxrows=0) function GetTable($tablename)


Retorna um objeto Query, correspondente execuo do comando $sql. Retorna um objeto Query, com todos os registros e campos da tabela $tablename. Corresponde execuo de select * from $tablename. Retorna o ResultSet correspondente execuo do comando $sql. $range uma instncia da classe QueryRange e delimita a faixa de registros retornados.

function QueryRange($sql,&$range)

function GetQueryRange($sql,&$range) function objQueryRange($sql,&$range)


Retorna o objeto Query correspondente execuo do comando $sql. $range uma instncia da classe QueryRange e delimita a faixa de registros retornados. Retorna o objeto Query correspondente execuo do comando $sql. $maxrows indica o mximo de registros a serem retornados, $offset indica o deslocamento a partir do incio da tabela e $total retorna o efetivo nmero de registros do resultado. Executa uma StoredProcedure (no implementado). Interrompe a execuo do script caso haja um erro no acesso ao banco de dados. Retorna o nmero de registros afetados pela execuo de um comando SQL. Faz a converso do tipo char para timestamp (dependente do banco de dados). Faz a converso do tipo char para date (dependente do banco de dados). Faz a converso do tipo timestamp para char (dependente do banco de dados). Faz a converso do tipo date para char (dependente do banco de dados).

function QueryChunk($sql, $maxrows, $offset, &$total)

function ExecProc($sql, $aParams=null) function Assert($info=false) function GetAffectedRows()

function CharToTimestamp($timestamp) function CharToDate($date)

function TimestampToChar($timestamp) function DateToChar($date)

classe Connection
A classe Connection usada internamente pela camada de acesso a dados, definindo mtodos abstratos que so implementados pelas classes *_connection (de cada banco de dados especfico).

classe Dataset
A classe Dataset usada internamente pela camada de acesso a dados, definindo mtodos para acesso aos ResultSet originados pela execuo de consultas SQL. As consultas so realizadas atravs de objetos da classe Query (que estende a classe Dataset). Os mtodos descritos aqui so acessados atravs de um objeto Query, retornado por um mtodo da classe Database. usado o conceito de ponteiro para indicar a posio do ResultSet est sendo acessada em determinado momento e de registro corrente a linha indica pelo ponteiro.

function MovePrev() function MoveNext()

Move o ponteiro para o registro anterior ao corrente (ou BOF). Move o ponteiro para o registro seguinte ao corrente (ou EOF). Move o ponteiro para o primeiro registro do ResultSet. Move o ponteiro para o ltimo registro do ResultSet. Move o ponteiro para o registro $row do ResultSet. Retorna quantas linhas o ResultSet possui. Retorna quantas colunas o ResultSet possui. Retorna o nome do campo corresponte coluna $col. Retorna a posio da coluna correspondente ao campo $colname. Retorna o contedo do campo $col no registro corrente. Retorna o contedo do campo $field no registro corrente. Retorna a linha correspondente ao registro corrente, como um array com ndices numricos. Retorna a linha correspondente ao registro corrente, como um array com ndices alfabticos (nome dos campos). Indica se foi alcanado o fim do ResultSet. Indica se foi alcanado o incio do ResultSet. Faz a compactao do ResultSet em um array associativo, cujos ndices so determinados pelos valores da coluna $key e cujos valores so determinados pelos valores da coluna $value. $showKeyValue indica de o valor do ndice ser exibido no contedo do array. Faz a compactao do ResultSet em um array associativo, cujos ndices so determinados pelos valores da coluna $key. $values um array indicando quais colunas sero agregadas. $type determina se os valores sero agrupados como strings ($type=S), separados por $separator, ou se sero colocados em um array. Cria uma estrutura em rvore, baseada em um array associativo. $group indica quais campos devem ser agrupados, e $node indica quais campos formaro o valor do n.

function MoveFirst() function MoveLast()

function MoveTo($row)

function GetRowCount()

function GetColumnCount()

function GetColumnName($col)

function GetColumnPos($colname) function GetValue($col) function Fields($field)

function GetRowValues()

function GetFieldValues()

function eof()

function bof()

function chunkResult($key=0, $value=1, $showKeyValue=true)

function chunkResultMany($key, $values, $type='S', $separator='')

function treeResult($group, $node)

classe Query
A classe Query encapsula os mtodos para a execuo de consultas ao banco de dados. Esta classe define alguns mtodos abstratos que so implementados pelas classes *_query para cada banco de dados especfico. Os mtodos de acesso ao ResultSet so herdados da classe Dataset.

function _query() function _error()

Mtodo abstrato. Realiza efetivamente o acesso ao banco de dados. Mtodo abstrato. Indica se houve algum erro no acesso ao banco de dados. Mtodo abstrato. Libera os recursos usados na consulta. Mtodo abstrato. Obtm metadados (p.ex. nome e tipo dos campos). Retorna o erro encontrado na consulta, se houver. Executa a consulta, retornando no mximo $maxrows a partir do registro $offset. Libera os recusos usados na consulta. Indica qual conexo ser usada para consulta. $c um objeto Connection. Indica o comando SQL correspondente consulta. Acrescenta a clusula order by ao comando SQL. Acrescenta a clusula where ao comando SQL. Converte o ResultSet para o formato CSV.

function _close()

function _setmetadata() function GetError()

function Open($maxrows=null, $offset=null) function Close()

function SetConnection(&$c) function SetSQL($sql)

function SetOrder($order) function SetFilter($filter)

function GetCSV($filename = '')

classe Sql
A classe Sql usada para encapsular um comando SQL, com seus respectivos parmetros. No comando SQL o uso de parmetros indicado pelo caracter ?. Antes da execuo do comando, os parmetros devem ser substitudos por seus valores atuais.

function sql($columns='',$tables='',$where='',$orderBy='',$groupBy='',$having='') function Prepare($parameters)

Instancia um objeto Sql. Cada um dos parmetros, quando fornecido, usado na construo do comando SQL. Faz a substituio dos parmetros formais pelos valores dos parmetros atuais.

function Insert($parameters=null)

Gera uma instruo SQL INSERT, fazendo a substituio dos parmetros formais pelos valores dos parmetros atuais, se necessrio.

function Delete($parameters=null)

Gera uma instruo SQL DELETE, fazendo a substituio dos parmetros formais pelos valores dos parmetros atuais, se necessrio.

function Update($parameters=null)

Gera uma instruo SQL UPDATE, fazendo a substituio dos parmetros formais pelos valores dos parmetros atuais, se necessrio.

function Select($parameters=null)

Gera uma instruo SQL SELECT, fazendo a substituio dos parmetros formais pelos valores dos parmetros atuais, se necessrio.

function Clear()

Remove o contedo dos atributos, inicializando o objeto.

function SetParameters($parameters)
Indica o atributo parameters.

function CreateFrom($sqltext)

Estabelece os atributos do objeto com base um comando SQL SELECT.

classe QueryRange
function QueryRange($page,$rows,$total=0)
Instancia um objeto QueryRange, onde $page o nmero da pgina, $rows a quantidade de linhas por pgina e $total quantidade efetiva de linha na pgina.

5. Segurana
class Login
Mantm as informaes sobre o usrio logado no sistema: $id: login (armazenado no banco de dados) $time: data/hora que o usurio logou $user: nome completo do usurio $userData: array com dados associados ao mdulo $idkey: login id no banco de dados $idsetor: setor do usurio $isAdmin: direitos de Administrador (true/false) $idsessao: session id do PHP $rights: array com os direitos de acesso $groups: array com os grupos aos quais o usurio pertence $idpessoa: id relativo tabela Pessoa do banco de dados

classe Auth
Implementa os mtodos de autenticao do usurio e mantm o objeto Login correspondente.

function CheckLogin()

Determina se h algum usurio logado. Retorna true se houver ou se o sistema no exige login e faz o login automtico dependendo da configurao em miolo.conf. Autentica o usurio e cria os objetos Login e Sesso correspondentes. Retorna o objeto Login, em caso de sucesso, ou null caso ocorra falha na autenticao. Realiza a autenticao com MD5. Retorna o objeto Login em uso. Atribui o objeto Login.

function Authenticate($user,$pass)

function AuthenticateMD5($user,$challenge, $response) function & GetLogin()

function SetLogin($login) function IsLogged()

Determina se h um usurio logado. Registra o fim da sesso, destri o objeto session e atribui null para o objeto Login.

function Logout($forced='')

classe Perms
Implementa os mtodos para verificao de direitos de acesso s transaes do sistema. Os seguintes direitos esto definidos: A_ACCESS/A_QUERY : permite o acesso de leitura/consulta A_INSERT : permite inseres de registros nas tabelas

A_DELETE : permite remoes de registros A_UPDATE : permite atualizaes de registros A_EXECUTE : permite insero/remoo/atualizao de regidtros' A_SYSTEM/A_ADMIN: direitos de Admnistrador

function CheckAccess($trans, $access, $deny=false)

Verifica se o usurio corrente (objeto Login) tem o direito $access na transao $trans. $deny determina se a execuo do script deve ser interrompida ou no. Retorna o direito de acesso do usurio $loginid na transao $trans. Retorna um array (transao, direito) com os direitos de acesso do usurio $loginid em cada transao. Retorna um array com os grupos aos quais o usurio $loginid pertence. Determina se o usurio $login pertence ao grupo $group. Retorna um array com os usurios que tm o direito $action na transao $trans. Retorna um array com os grupos que tm o direito $action na transao $trans. Determina se o usurio corrente tem direito de Administrador.

function GetRights($trans, $loginid)

function GetTransactionRights($loginid) function GetGroups($loginid)

function isMemberOf($login, $group)

function GetUsersAllowed($trans, $action)

function GetGroupsAllowed($trans, $action) function isAdmin()

Вам также может понравиться