Exemple #1
0
 /**
  * Executa uma query conforme o modo selecionado
  * @param string $sql
  * @return PDO|resource
  */
 public static function executeQuery($sql)
 {
     if (self::$modo == self::QUERY_MODE_PDO) {
         $r1 = self::getConn()->query($sql);
         $error = CRUD::getPDO()->errorInfo();
         if (isset($error[1])) {
             if ($error[1] != null) {
                 throw new CRUDQueryException("CRUD SQL ERROR - {$sql} <hr />ERROR INFO:" . $error[2]);
             }
         }
         return $r1;
     } elseif (self::$modo == self::QUERY_MODE_MYSQLI) {
         $r1 = mysqli_query(self::getConn(), $sql);
         if (mysqli_errno(self::getConn()) != 0) {
             throw new CRUDQueryException("CRUD SQL ERROR - {$sql} <hr />ERROR INFO:" . mysqli_errno(ConnectionMySqli::getConn()));
         }
         return $r1;
     }
 }
Exemple #2
0
 /**
  * Método que dispara o projeto
  * - Fax a conexão como banco utilizando o array $connection
  * - Especifica o TablePrefix
  * - Especifica a topLevelClass
  * - Faz o tratamento da URL
  * - Exibe o tratamento chamando a URL
  *
  * @return void
  */
 public static function init()
 {
     define("PROTOCOLO", 'http://');
     self::$configurationArray = parse_ini_file(self::$globalConfiurationFile, true);
     if (!defined('WEB_DIR')) {
         define('WEB_DIR', self::$configurationArray['project']['directory']);
     }
     if (!defined("WEB_URL")) {
         define("WEB_URL", self::$configurationArray['project']['url']);
     }
     if (!defined("SMARTY_DIR")) {
         define("SMARTY_DIR", WEB_DIR . "classes/smarty/");
     }
     set_include_path(WEB_DIR . 'classes/smarty/' . PATH_SEPARATOR . WEB_DIR . 'classes/' . PATH_SEPARATOR . ".");
     /*******************************************************************************
      * AUTO_LOAD
      * define se o método mágico para autoload de classes esta ativo
      ******************************************************************************/
     if (Samus::$useAutoloadFunction) {
         require_once 'util/AutoRequire.php';
         function __autoload($className)
         {
             AutoRequire::showSugests();
             AutoRequire::requireClass($className);
         }
     }
     include_once 'samus/Samus_Keeper.php';
     require_once 'samus/Samus_Exception.php';
     require_once 'samus/Samus_Model.php';
     require_once 'samus/Samus_Filter.php';
     require_once 'CRUD/Properties.php';
     require_once 'CRUD/TableFactory.php';
     require_once 'samus/Samus_Object.php';
     require_once 'database/Connection.php';
     require_once 'CRUD/CRUDQuery.php';
     require_once 'database/ConnectionMySqli.php';
     ////////////////////////////////////////////////////////////////////////
     // CONFIGURAÇÃO DA CONEXÃO
     // faz a configuração da conexão a partir do global_configuration.ini
     ////////////////////////////////////////////////////////////////////////
     self::setConnection(self::$configurationArray['connection']);
     // lê arquivo de conexão e realiza a conexão
     CRUDQuery::setModo(self::$connection["queryMode"]);
     if (self::$connection["queryMode"] == CRUDQuery::QUERY_MODE_MYSQLI) {
         ConnectionMySqli::connect(self::$connection['name'], self::$connection['user'], self::$connection['password'], self::$connection['host'], self::$connection['charset'], self::$connection['engine']);
         CRUDQuery::setConn(ConnectionMySqli::getConn());
         // essalinha ta meio redundante verificar depois
         CRUD::setConn(ConnectionMySqli::getConn());
     } else {
         Connection::connect(self::$connection['adapter'], self::$connection['host'], self::$connection['name'], self::$connection['user'], self::$connection['password']);
         CRUDQuery::setConn(Connection::getConn());
         CRUD::setConn(Connection::getPdo());
     }
     self::$tablePrefix = self::$connection["table_prefix"];
     CRUD::$tablePrefix = self::getTablePrefix();
     CRUD::$topLevelClass = "Samus_Model";
     ////////////////////////////////////////////////////////////////////////
     // EXIBINDO AS PÁGINAS
     // aqui o fazendeiro exibe as páginas
     ////////////////////////////////////////////////////////////////////////
     self::setHttpHost($_GET['httpHost']);
     $samus_keeper = new Samus_Keeper($_GET['__cod'], $_GET['httpHost']);
     $samus_keeper->displayPage();
 }