<?php /** * Token para o sistema nao "confundir" as mensagens de sessao * atual com mensagens que ja existiam em outra pagina. * Utilizado dentro da classe Braghim\MvcAbstractController * * ¯\_(-.-)_/¯ */ define('MSG_NSP_TOKEN', mctime()); /** * Utilize este arquivo como entrada do framework. * Vide documentação online. */ class BraghimSistemas { /** * Versão atual do sistema */ const VERSION = '1.1.5'; /** Singleton **/ private static $instance; /** * Caminho, no projeto do usuario, onde se encontram as pastas dos módulos. * @var string */ private $modulesPath; /** * Todos os parametros necessarios para rodar a aplicacao. * @var stdClass */
/** * Every method which needs to execute a SQL query uses this method. * * 1. If not connected, connect to the database. * 2. Prepare Query. * 3. Parameterize Query. * 4. Execute Query. * 5. On exception : Write Exception into the log + SQL query. * 6. Reset the Parameters. */ private function Init($query, $parameters = "") { # Connect to database if (!$this->bConnected) { $this->Connect(); } try { # Prepare query $this->sQuery = $this->pdo->prepare($query); # Add parameters to the parameter array $this->bindMore($parameters); // Lista de parametros que podem ser recuperados no log $logParamsList = array(); # Bind parameters if (!empty($this->parameters)) { foreach ($this->parameters as $param) { $parameters = explode("", $param); $this->sQuery->bindParam($parameters[0], $parameters[1]); // Guarda parametros para exibir no log. $logParamsList[$parameters[0]] = $parameters[1]; } } // Adiciona aos logs $this->queryLogs[(string) ++$this->i . ' - ' . mctime()] = array('query' => is_object($query) ? $query->__toString() : $query, 'params' => $logParamsList); # Execute SQL $this->success = $this->sQuery->execute(); } catch (\PDOException $e) { # Write into log and display Exception $this->ExceptionLog($e->getMessage(), $query); throw new \Exception($e->getMessage()); } # Reset the parameters $this->parameters = array(); }