public function cadastrarHistorico() { $mysqli = $this->connect(); $insHistorico = $mysqli->prepare("insert into historico(produtoEstq,funcionario,qtdRetProd,dataSaida) values (?,?,?,?)"); $insHistorico->bind_param("ddds", $this->idProduto, $this->idFuncionario, $this->qtdProd, $this->dataSaida); if (!$insHistorico->execute()) { AJAXReturn("{'type':'error','msg':'Não foi possível cadastrar o histórico:<p>{$insHistorico->error}</p>'}"); } }
public function atualizar() { $upd = $this->conn->prepare("update produto set descricao=?,nome=?,custo=?,valorVenda=? where id=?"); $upd->bind_param("ssddd", $this->descricao, $this->nome, $this->custo, $this->valorVenda, $this->id); if (!$upd->execute()) { AJAXReturn("error", "Não foi possível atualizar o produto:<p>({$upd->errno}) {$upd->error}.</p>"); } else { AJAXReturn("success", "Atualização do produto {$this->nome}, de ID {$this->id}, finalizada com sucesso!"); } }
protected function dadosEndereco() { $data = $this->conn->prepare("select log_nome,logradouro,numero,complemento,cep,bairro,cidade,estado from endereco where id=?"); $data->bind_param("d", $this->idEndereco); if (!$data->execute()) { AJAXReturn("{'type':'error','msg':'Não foi possível obter os dados:<p>({$data->errno}) {$data->error}</p>'}"); } else { $data->bind_result($log_nome, $logradouro, $numero, $complemento, $cep, $bairro, $cidade, $estado); $data->fetch(); return "'log_nome':'{$log_nome}','logradouro':'{$logradouro}','numero':'{$numero}','complemento':'{$complemento}',\n 'cep':'{$cep}','bairro':'{$bairro}','cidade':'{$cidade}','estado':'{$estado}'"; } }
function autoload($path, $class) { // Conteúdo da função "__autoload" $folder = $path . "class"; $class .= ".php"; $file = searchFiles($folder, $class); if ($file !== false) { require_once $file; } else { AJAXReturn("{'type':'error','message':'Não foi possível encontrar o arquivo \\'{$class}\\'.'}"); } }
protected function dadosContato() { $data = $this->conn->prepare("select email,telCel,telFixo from contato where id=?"); $data->bind_param("d", $this->idContato); if (!$data->execute()) { AJAXReturn("error", "Não foi possível obter os dados:<p>({$data->errno}) {$data->error}</p>"); } else { $data->bind_result($email, $telCel, $telFixo); $data->fetch(); return "'email':'{$email}','telCel':'{$telCel}','telFixo':'{$telFixo}'"; } }
public function signUp() { if ($this->checkExistence("people", "name", $this->name) === true || $this->checkExistence("people", "email", $this->email) === true) { AJAXReturn("{'type':'error','msg':'Já existe cadastro com esse nome ou e-mail!'}"); } else { $conn = $this->connect(); $signUp = $conn->prepare("insert into people(name,email,age) values (?,?,?)"); $signUp->bind_param("ssd", $this->name, $this->email, $this->age); if (!$signUp->execute()) { AJAXReturn("{'type':'error','msg':'Não foi possível realizar o cadastro:<p>({$signUp->errno}) {$signUp->error}</p>'}"); } else { AJAXReturn("{'type':'success','msg':'Cadastro realizado com sucesso!'}"); } } }
public function cadastrarUsuario() { if ($this->checkExistence("usuario", "nome", $this->usuario) === true) { AJAXReturn("error", "O usuário \\'{$this->usuario}\\' já está cadastrado no sistema."); } else { $cad = $this->conn->prepare("insert into usuario(nome,senha) values (?,?)"); $cad->bind_param("ss", $this->usuario, $this->senha); if (!$cad->execute()) { AJAXReturn("error", "Não foi possível cadastrar o usuário \\'{$this->usuario}\\':<p>{$cad->error}.</p>"); } else { AJAXReturn("success", "O usuário \\'{$this->usuario}\\' foi cadastrado com sucesso!"); $this->iniciarSessao(); } } }
public function listar() { $list = $this->conn->prepare("select id,produto,fornecedor,qtdProd from remessa"); if (!$list->execute()) { AJAXReturn("error", "Erro ao listar as remessas:<p>({$list->errno}) {$list->error}<p>"); } else { $list->bind_result($id, $idProduto, $idFornecedor, $qtdProd); $listResult = ""; while ($list->fetch()) { $produto = $this->getValue("nome", "produto", "id", $idProduto); $fornecedor = $this->getValue("nome", "fornecedor", "id", $idFornecedor); $listResult .= "{'id':{$id},'produto':'{$produto}','fornecedor':'{$fornecedor}','qtdProd':{$qtdProd}},"; } echo fixJSON("[" . str_replace(",]", "]", "{$listResult}]")); } }
public function connect() { if (server("SERVER_ADDR") == "::1" || server("SERVER_ADDR") == "127.0.0.1") { $this->host = "localhost"; $this->db = "deway"; $this->user = "******"; $this->password = ""; } else { $this->host = "mysql.hostinger.com.br"; $this->db = "u398318873_deway"; $this->user = "******"; $this->password = "******"; } $conn = mysqli_connect($this->host, $this->user, $this->password, $this->db); if (mysqli_connect_errno()) { AJAXReturn("{'type':'error','msg':'Falha ao se conectar ao MySQL:<p>({$conn->connect_errno})</p><p>{$conn->connect_error}</p>'}"); } else { return $conn; } }
public function checkExistence($target, $field, $value) { $conn = $this->connect(1); $query = $conn->prepare("select * from {$target} where {$field}=?"); $query->bind_param("s", $value); $query->execute(); $query->store_result(); $conn->close(); if ($query->num_rows == 0) { switch ($target) { case "estoque": case "usuario": break; default: AJAXReturn("error", "O " . ($target == "funcionario" ? str_replace("a", "á", $target) : $target) . " de {$field} {$value} não existe."); } return false; } elseif ($target == "usuario") { return true; } }
public function retirar() { if ($this->checkExistence("funcionario", "id", $this->idFuncionario) === false || $this->checkExistence("produto", "id", $this->idProduto) === false) { return; } $qtdProdEstq = $this->getValue("qtdProd", "estoque", "produto", $this->idProduto); $nomeProduto = $this->getValue("nome", "produto", "id", $this->idProduto); if ($this->qtdProd > $qtdProdEstq) { AJAXReturn("{'type':'error','msg':'Há somente {$qtdProdEstq} " . ($qtdProdEstq > 1 ? "unidade" : "unidades") . " desse produto no estoque!'}"); } else { $qtdProdEstq -= $this->qtdProd; $mysqli = $this->connect(); $retQtdEstoque = $mysqli->prepare('update estoque set qtdProd=? where produto=?'); $retQtdEstoque->bind_param("dd", $qtdProdEstq, $this->idProduto); if (!$retQtdEstoque->execute()) { AJAXReturn("{'type':'error','msg':'Não foi possível retirar o produto {$nomeProduto} do estoque:<p><br>{$retQtdEstoque->error}</p>'}"); } else { $this->cadastrarHistorico(); AJAXReturn("{'type':'success','msg':'Retirado do estoque com sucesso<p><br>ID do funcionário: {$this->idFuncionario};</p><p>Produto: {$nomeProduto};</p><p>Quantidade retirada: {$this->qtdProd};</p><p>Quantidade no estoque: {$qtdProdEstq}.</p>'}"); } } }
public function excluir($target) { $targetSC = str_replace("a", "á", $target); $del = $this->conn->prepare("delete from {$target} where id=?"); $del->bind_param("d", $id); $errors = []; foreach ($this->id as $id) { $values = $this->getValue(["contato", "endereco"], $target, "id", $id); $this->idContato = $values->contato; $this->idEndereco = $values->endereco; if (gettype($delE = $this->excluirEndereco()) == "string") { $er = json_decode(fixJSON($delE)); $er = [$er->errno, $er->error]; } elseif (gettype($delC = $this->excluirContato()) == "string") { $er = json_decode(fixJSON($delC)); $er = [$er->errno, $er->error]; } elseif (!$del->execute()) { $er = [$del->errno, $del->error]; } // Erro 2006 if (isset($er)) { array_push($errors, [$this->getValue("nome", $target, "id", $id), $er]); } } $es = ($s = (count($errors) != 0 ? count($errors) : count($this->id)) > 1 ? "s" : "") == "s" ? $target == "fornecedor" ? "es" : "s" : ""; if (count($errors) != 0) { $errorList = ""; foreach ($errors as $error) { $errorList .= "<p>{$error['0']}: erro " . $error[1][0] . " (" . $error[1][1] . ");</p>"; } $success = count($this->id) - count($errors); AJAXReturn("error", ($success == 0 ? "Nenhum" : $success) . " {$targetSC}{$es} excluído{$s}, com o{$s} erro{$s} a seguir{$errorList}"); } else { AJAXReturn("success", "Exclusão de " . count($this->id) . " {$targetSC}{$es} finalizada com sucesso!"); } }