<?php class Produto { public $nome = "Fogao"; private $descricao = "XYZ"; protected $preco = 150.4; public function getDescricao() { return $this->descricao; } } class Livro extends Produto { public $isbn; public function teste() { return $this->preco; } } class DVD extends Produto { public $titulo; } /* CODIGO FORA DAS CLASSES */ $livro = new Livro(); echo $livro->teste();
$quantValida = isset($edicao) && preg_match("/^\\d+\$/", $edicao); $dataValida = isset($data) && preg_match("/^\\d{4}-\\d{2}-\\d{2}\$/", $data); $fornecValido = isset($fornecedor) && mb_strlen($fornecedor, 'UTF-8') >= 3 && mb_strlen($fornecedor, 'UTF-8') <= 200; // se todos os dados estão válidos, o livro é cadastrado if ($nomeValido && $edicaoValido && $autorValido && $editoraValida && $precoValido && $quantValida && $dataValida && $fornecValido) { // lemos as credenciais do banco de dados $dados = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/../config.json"); $dados = json_decode($dados, true); foreach ($dados as $chave => $valor) { $dados[$chave] = str_rot13($valor); } $host = $dados["host"]; $usuario = $dados["nome_usuario"]; $senhaBD = $dados["senha"]; require_once "entidades/Livro.php"; $novo = new Livro(); $novo->setNome($nome); $novo->setEdicao($edicao); $novo->setAutor($autor); $novo->setEditora($editora); $novo->setPreco($preco); $novo->setQuantidade($quantidade); $novo->setDataPublicacao($data); $novo->setFornecedor($fornecedor); $sucesso = $novo->cadastrar($host, "homeopatias", $usuario, $senhaBD); if (!$sucesso) { $mensagem = "Erro"; } } else { if (!$nomeValido) { $mensagem = "Nome inválido!";
public function actionSearch($q = null) { $model = new Livro(); $model->unsetAttributes(); // clear any default values if (isset($_GET['Livro'])) { $model->attributes = $_GET['Livro']; } if ($q != null) { $model->titulo = $q; } $criteria = new CDbCriteria(); $criteria->addSearchCondition('t.titulo', $model->titulo, true, 'OR', 'ILIKE'); $criteria->addSearchCondition('t.autor', $model->titulo, true, 'OR', 'ILIKE'); $criteria->addSearchCondition('t.isbn', $model->titulo, true, 'OR', 'ILIKE'); $criteria->addSearchCondition('t.nro_patrimonio', $model->titulo, true, 'OR', 'ILIKE'); $criteria->order = 't.titulo, t.autor ASC'; $dataProvider = new CActiveDataProvider('Livro', array('criteria' => $criteria, 'pagination' => array('pageSize' => 10))); $this->render('search', array('dataProvider' => $dataProvider, 'model' => $model)); }
public function inserir(Livro $livro) { //Objetivo deste metodo é inserir um objeto no banco, fazendo-o ter persistencia. //utilizaremos a abstracao do SQL da classe TsqlInstruction //1. Foreach dos atributos . PRa cada existencia de atributo é um valor a ser adicionado. $instrucao = new TSqlInsert(); $instrucao->setEntity("livro"); if ($livro->getId() != null) { $instrucao->setRowData("id", $livro->getId()); } if ($livro->getTitulo() != null) { $instrucao->setRowData("titulo", $livro->getTitulo()); } if ($livro->getAutor() != null) { $instrucao->setRowData("autor", $livro->getAutor()); } if ($livro->getData() != null) { $instrucao->setRowData("data", $livro->getData()); } if ($livro->getHora() != null) { $instrucao->setRowData("hora", $livro->getHora()); } if ($livro->getUsuario() != null) { $instrucao->setRowData("usuario", $livro->getUsuario()); } if ($livro->getDescricao() != null) { $instrucao->setRowData("descricao", $livro->getDescricao()); } if ($livro->getLink0() != null) { $instrucao->setRowData("link0", $livro->getLink0()); } if ($livro->getLink1() != null) { $instrucao->setRowData("link1", $livro->getLink1()); } if ($livro->getLink2() != null) { $instrucao->setRowData("link2", $livro->getLink2()); } if ($livro->getVisibilidade() != null) { $instrucao->setRowData("visibilidade", $livro->getVisibilidade()); } if ($livro->getCaminhofoto() != null) { $instrucao->setRowData("caminhofoto", $livro->getCaminhofoto()); } if ($livro->getFdsifhsodfjos() != null) { $instrucao->setRowData("fdsifhsodfjos", $livro->getFdsifhsodfjos()); } echo $instrucao->getInstruction(); if ($this->Conexao->query($instrucao->getInstruction())) { return true; } else { return false; } }
/** * Método que retorna os conteúdos do livro informado com o seu andamento * @param Livro $livro O livro alvo da busca * @param Disciplina $disciplina A disciplina referente ao conteúdo * @throws Exception */ public function deLivroComAcompanhamento(Livro $livro, Disciplina $disciplina) { $select = new Select(); return $this->tg->selectObj($select->distinct("sequencial_topico")->columns("*, apostilas.acompanhamento.status " . "as topico_status, " . "data_aula as topico_data_aula ")->join("apostilas.capitulo", array("pk_capitulo" => "fk_capitulo"))->join("public.materia_vin", array("pk_materia_vin" => "fk_materia_vin"))->join("public.materia", array("pk_materia" => "fk_materia"))->join("public.materia_mae", array("pk_materia_mae" => "fk_materia_mae"))->join("public.area", array("pk_area" => "fk_area"))->join("apostilas.acompanhamento", array("fk_conteudo" => "pk_conteudo"))->where("fk_livro={$livro->getId()} " . "and pk_materia={$disciplina->getId()} " . "and (status=" . Topico::STATUS_EM_ANDAMENTO . " " . "or status=" . Topico::STATUS_CONCLUIDO . ") " . "and id=(select max(id) from apostilas.acompanhamento " . "where fk_conteudo=pk_conteudo and status!=" . Topico::STATUS_REVISADO . ") " . "and extract(year from data_aula)={$this->anoLetivo}")->order("sequencial_topico")); }
<div class="form"> <?php Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/js/formatter.js'); Yii::app()->clientScript->registerScript('formata_valor', "\n\t\t\t\n\t\t\t\$(document).ready( \n\t\t\t function(){\n\t\t\t \$('#Livro_isbn').focus();\n\t\t\t c = document.getElementById('Livro_valor');\n\t\t\t \tformataValor(c);\n\t\t\t }\n\t\t\t\n\t\t\t);\n\t\t\t\n\t\t\t"); $livros = Livro::toArray(); ?> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'livro-form', 'enableAjaxValidation' => false)); ?> <p class="note">Campos com <span class="required">*</span> são obrigatórios.</p> <?php echo $form->errorSummary($model); ?> <div id="erro"></div> <div class="input"> <?php $onchange = ''; if ($model->isNewRecord) { $onchange = "beginSearch(this.value); return false;"; } ?> <?php echo $form->labelEx($model, 'isbn'); ?> <?php echo $form->textField($model, 'isbn', array('onchange' => $onchange, 'size' => 30)); ?> <?php
public function paginacaoLivro($pagClick, $total_reg_por_pagina) { /*$busca = "SELECT * FROM produtos"; $inicio = $pc - 1; $inicio = $inicio * $total_reg; $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); $produtos = array(); while ($prod = mysql_fetch_array($limite)) { $produto = new Produto(); $produto->setCodigo($prod['COD_PRODUTO']); $produto->setNome($prod['NOME_PRODUTO']); $produto->setValor($prod['PRECOVENDA_PRODUTO']); $produtos[]=$produto; } return $produtos;*/ $inicio = ${$pagClick} - 1; $inicio = $inicio * $total_reg_por_pagina; $sql = "SELECT * FROM livro"; $result = $this->getConn()->Query("{$sql} LIMIT {$inicio},{$total_reg_por_pagina}"); //return $result; $livros = array(); while ($row = $result->fetchObject($this->getClass())) { $livro = new Livro(); $livro->setCodLivro($row->COD_LIVRO); $livro->setNomeLivro($row->NOME_LIVRO); $livro->setIsbnLivro($row->ISBN_LIVRO); $livro->setEditoraLivro($row->EDITORA_LIVRO); $livro->setTotalPaginas($row->TOTAL_PAGINAS); $livros[] = $livro; } return $livros; }
public static function toArray() { $arrEditoras = array(); $arrAutores = array(); $arrCidades = array(); //Coloca os nomes $livros = Livro::model()->findAll(); foreach ($livros as $livro) { if (!in_array($livro->autor, $arrAutores)) { $arrAutores[] = $livro->autor; } if (!in_array($livro->editora, $arrEditoras)) { $arrEditoras[] = $livro->editora; } if (!in_array($livro->cidade_publicacao, $arrCidades)) { $arrCidades[] = $livro->cidade_publicacao; } } $arr = array('autores' => $arrAutores, 'editoras' => $arrEditoras, 'cidades' => $arrCidades); return $arr; }
public function show($acao) { switch ($acao) { case 'autenticar': break; case 'inserir': //Aqui faz as validações necessárias e requisita o método da classe DAO responsável por cadastrar o usuário. $this->carregarModelView(); // Se for autenticar, então deverão ser informados login e senha. //Primeiro instanciamos um objeto da classe Bean, para setar os valores informados no formulário $livro = new Livro(); $autor = new AutorLivro(); // Agora setamos para a Bean os valores informados,pois serão validados na camada DAO, que //irá verificar a consistencia dos dados em um Banco de Dados: MySQL, XML, ou qualquer outra base de dados; e depois retornar para a controller o resultado. $livro->setNomeLivro($_REQUEST['nomelivro']); $livro->setIsbnLivro($_REQUEST['isbnlivro']); $livro->setTotalPaginas($_REQUEST['totalpaginas']); $livro->setEditoraLivro($_REQUEST['editoralivro']); $autor->setCodigoAutor($_REQUEST['autores']); $livro->setAutorLivro($autor); try { TTransaction::open('my_cruditb'); // Obtém a transação ativa $conn = TTransaction::get(); $livroDao = new LivroDao($conn); $resultado = $livroDao->inserir($livro); $livros = $livroDao->listar(); //$totalLivros = $livroDao->getTotalLivros(); TTransaction::close(); $livroView = new LivroView(); $livroView->respostaCadastro($resultado); $livroView->montarGridLivros($livros); } catch (Exception $e) { $e->getMessage(); TTransaction::rollback(); } break; case 'listar': $this->carregarModelView(); try { TTransaction::open('my_cruditb'); // Obtém a transação ativa $conn = TTransaction::get(); $livroDao = new LivroDao($conn); $livros = $livroDao->listar(); TTransaction::close(); $livroView = new LivroView(); $livroView->montarGridLivros($livros); } catch (Exception $e) { $e->getMessage(); TTransaction::rollback(); } break; case 'excluir': //Aqui faz as validações necessárias e requisita o método da classe DAO responsável por excluir o usuário. break; case 'loadFrmGridLivros': $livroView = new LivroView(); $livroView->carregarFrmGridLivros(); break; default: return null; //Por padrão, esse switch não retorna nada. } }
<?php include_once '../configs/configurations.inc.php'; Seguranca::estaConectado(); $tabLivro = new Livro(); if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])) { $id = $_POST['id']; if ($tabLivro->atualizar($id, $_POST)) { echo "<h2> Registro Salvo </h2>"; } else { echo "<h2> Erro ao salvar </h2> "; } } else { $id = $_GET['id']; } echo '<a href="index.php"> Voltar </a>'; $registro = $tabLivro->listartPorChave($id); //RETIRANDO ID do array //PQ ID não eh editavel // PORRA $registro eh um objeto! =S N DEU CERTO //$registro = array_slice($registro, 1); //print_r($registro); echo ' <form action="editarCategoria.php" method="post" >'; foreach ($registro as $campo => $valor) { echo $tabLivro->legendas[$campo] . ': ' . '<input type="text" name="' . $campo . '"' . 'value="' . $valor . '" /></br>' . "\n"; } echo '<button type="submit">Salvar</button> </form>';
public function createObjectFromData($row) { //Cria um novo objeto piso com os dados da consulta $livro = new Livro(); $livro->setISBN($row->ISBN); $livro->setTitle($row->title); $livro->setDescription($row->description); $livro->setPrice($row->price); $livro->setPublisher($row->publisher); $livro->setPubdate($row->pubdate); $livro->setEdition($row->edition); $livro->setPages($row->pages); $livro->setCategoryName($row->CategoryName); $livro->setStrFName($row->nameF); $livro->setStrLName($row->nameL); return $livro; }
$quantValida = isset($edicao) && preg_match("/^\\d+\$/", $edicao); $dataValida = isset($data) && preg_match("/^\\d{4}-\\d{2}-\\d{2}\$/", $data); $fornecValido = isset($fornecedor) && mb_strlen($fornecedor, 'UTF-8') >= 3 && mb_strlen($fornecedor, 'UTF-8') <= 200; // se todos os dados estão válidos, o coordenador é editado if ($idValido && $nomeValido && $edicaoValido && $autorValido && $editoraValida && $precoValido && $quantValida && $dataValida && $fornecValido) { // lemos as credenciais do banco de dados $dados = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/../config.json"); $dados = json_decode($dados, true); foreach ($dados as $chave => $valor) { $dados[$chave] = str_rot13($valor); } $host = $dados["host"]; $usuario = $dados["nome_usuario"]; $senhaBD = $dados["senha"]; require_once "../../entidades/Livro.php"; $atualizar = new Livro(); $atualizar->setIdLivro($id); $atualizar->setNome($nome); $atualizar->setEdicao($edicao); $atualizar->setAutor($autor); $atualizar->setEditora($editora); $atualizar->setPreco($preco); $atualizar->setQuantidade($quantidade); $atualizar->setDataPublicacao($data); $atualizar->setFornecedor($fornecedor); $sucesso = $atualizar->atualizar($host, "homeopatias", $usuario, $senhaBD); if ($sucesso) { $mensagem = ""; } else { $mensagem = "Erro na edição de livro"; }
public function actionAddLivro() { $model = new Livro(); // uncomment the following code to enable ajax-based validation /* if(isset($_POST['ajax']) && $_POST['ajax']==='livro-_form_livro-form') { echo CActiveForm::validate($model); Yii::app()->end(); } */ if (isset($_POST['Livro'])) { $model->attributes = $_POST['Livro']; if ($model->validate()) { // form inputs are valid, do something here return; } } $this->render('_form_livro', array('model' => $model)); }
<?php include '../configs/configurations.inc.php'; Seguranca::estaConectado(); //require_once(SMARTY_DIR . 'Smarty.class.php'); session_start(); /* * TTODOS os locais/scripts que eu for acessar um Objeto * eu preciso instancia-lo, neste caso $carrinhoXYZ esta * pegando as variaveis da sessao, isto 'e definido no Carrinho.class */ $carrinhoXYZ = new Carrinho(); $tabLivro = new Livro(); //$smarty = new Smarty(); $table = <<<FIM <table border='1' align='center'> <tr> <td colspan='4'><h3 align='center'>CARRINHO DE COMPRAS</h3></td> </tr> <tr> <td>Quantidade</td><td>Produto</td><td>Nome</td><td>Descricao</td><td>Preco</td><td>Acao</td> </tr> FIM; #echo $table; foreach ($_SESSION['produtos'] as $pid => $qtde) { if ($pid != '') { $camposDoLivro = $tabLivro->listartPorChave($pid); echo 'Quantidade: ' . $qtde . ' Titulo: ' . $camposDoLivro->titulo . ' Preço: ' . $camposDoLivro->preco . "<br/>"; //echo $camposDoLivro->titulo . "<br/>"; //echo 'Quantidade:' . $qtde . ' ' . "<br/>"; //echo $
<?php include_once '../configs/configurations.inc.php'; Seguranca::estaConectado(); Template::gerarCabecalhoSite(); $tabLivro = new Livro(); $livros = $tabLivro->listar(); //$livroscatid = $tabLivro->listarPorCatID(1); //Template::gerarSite(listarLivros.php); //Template::gerar //$campos = array('id','isbn','autor','titulo'); echo Template::gerarTabela($tabLivro, $livros); echo Template::gerarMenuAdmin(); //echo Template::gerarTabela($tabLivro,$livros,$campos); //echo Template::gerarTabela($tabLivro,$livroscatid,$campos); //print_r($livros); //print_r($livroscatid->fetchObject()); echo Template::gerarRodape();