public function save()
 {
     if (empty($this->data['id'])) {
         $id = $this->getLastId() + 1;
         $sql = "INSERT INTO produto (id, descricao, estoque, preco_custo, " . "preco_venda, codigo_barras, data_cadastro, origem)" . " VALUES ('{$id}', " . "'{$this->descricao}', " . "'{$this->estoque}', " . "'{$this->preco_custo}', " . "'{$this->preco_venda}', " . "'{$this->codigo_barras}', " . "'{$this->data_cadastro}', " . "'{$this->origem}')";
     } else {
         $sql = "UPDATE produto SET descricao = '{$this->descricao}', " . "estoque = '{$this->estoque}', " . "preco_custo = '{$this->preco_custo}', " . "preco_venda = '{$this->preco_venda}', " . "codigo_barras = '{$this->codigo_barras}', " . "data_cadastro = '{$this->data_cadastro}', " . "origem = '{$this->origem}' " . "WHERE id = '{$this->id}'";
     }
     //print "$sql <br>\n";
     Transaction::log($sql);
     $conn = Transaction::get();
     return $conn->exec($sql);
 }
 function count(Criteria $criteria)
 {
     $expression = $criteria->dump();
     $sql = "SELECT count(*) FROM " . constant($this->activeRecord . '::TABLENAME');
     if ($expression) {
         $sql .= ' WHERE ' . $expression;
     }
     if ($conn = Transaction::get()) {
         Transaction::log($sql);
         $result = $conn->query($sql);
         if ($result) {
             $row = $result->fetch();
         }
         return $row[0];
     } else {
         throw new Exception('Não há transação ativa!!');
     }
 }
Пример #3
0
 public static function query($query)
 {
     $ip = $_SERVER['REMOTE_ADDR'];
     Transaction::log("A Seguinte Query Fo Feita: {$query}  ;", "sql");
     return Transaction::query($query);
 }
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_update.txt'));
    Transaction::log('Alterando um produto');
    $p1 = Produto::find(2);
    print $p1->estoque . "<br>\n";
    $p1->estoque += 10;
    print $p1->estoque . "<br>\n";
    $p1->store();
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_protect.txt'));
    Transaction::log('Protegendo o acesso a um produto');
    $p1 = Produto::find(2);
    $p1->estoque = 'dois';
    $p1->store();
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_find.txt'));
    Transaction::log('Buscando um produto');
    $p1 = Produto::find(2);
    print $p1->descricao;
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_novo.txt'));
    Transaction::log('Inserindo produto novo');
    $p1 = new Produto();
    $p1->descricao = 'Cerveja artesanal IPA';
    $p1->estoque = 50;
    $p1->preco_custo = 8;
    $p1->preco_venda = 12;
    $p1->codigo_barras = '75363453234234';
    $p1->data_cadastro = date('Y-m-d');
    $p1->origem = 'N';
    $p1->store();
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/ar/ProdutoComTransacaoELog.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Transaction.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log.txt'));
    Transaction::log("Inserindo produto novo");
    $p1 = new Produto();
    $p1->descricao = 'Chocolate amargo';
    $p1->estoque = 80;
    $p1->preco_custo = 4;
    $p1->preco_venda = 7;
    $p1->codigo_barras = '68323453234234';
    $p1->data_cadastro = date('Y-m-d');
    $p1->origem = 'N';
    $p1->save();
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_delete.txt'));
    Transaction::log('Removendo um produto');
    $p1 = Produto::find(7);
    if ($p1 instanceof Produto) {
        $p1->delete();
    } else {
        throw new Exception('Produto não localizado');
    }
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}
<?php

require_once 'classes/api/Transaction.php';
require_once 'classes/api/Connection.php';
require_once 'classes/api/Logger.php';
require_once 'classes/api/LoggerTXT.php';
require_once 'classes/api/Record.php';
require_once 'classes/model/Produto.php';
try {
    Transaction::open('estoque');
    Transaction::setLogger(new LoggerTXT('tmp/log_clone.txt'));
    Transaction::log('Clonando um produto');
    $p1 = Produto::find(2);
    $p2 = clone $p1;
    $p2->descricao .= ' (clonado)';
    $p2->store();
    Transaction::close();
} catch (Exception $e) {
    Transaction::rollback();
    print $e->getMessage();
}