コード例 #1
0
 public function __construct()
 {
     Oraculum_Plugins::Load('auth');
     // Carrega o plugin de autenticação
     if (post('send')) {
         $user = trim(post('user'));
         $pass = trim(post('pass'));
         if ($user != '' && $pass != '') {
             $auth = new Oraculum_Auth();
             // Cria a instância
             $db = new Oraculum_Models('mysql');
             // Carrega a configuração do banco mysqç
             $db->LoadModelClass('users');
             // Mapeia a tabela/entidade usuarios do banco
             $authtableclass = new Users();
             // Cria um objeto da entidade
             /* Define qual o objeto corresponde a classe
                do banco com os usuários e passa como parâmetro */
             $auth->setDbAutentication($authtableclass);
             /* Define campos para autenticação */
             $auth->setDbKeyField('userid');
             $auth->setDbUserField('user');
             $auth->setDbPasswordField('password');
             /* Repassa dados do usuario para autenticar */
             $auth->setUser($user);
             $auth->setPassword($pass);
             /* Faz a validação */
             if ($auth->DbAuth()) {
                 $auth->sethomeurl(URL);
                 $auth->setsess(SESS);
                 $fields = array('userid', 'user', 'email', 'status', 'photo', 'usertype', 'lastlogin');
                 $auth->RecordFields($fields);
                 $auth->RecordSession(TRUE);
             } else {
                 Oraculum_Register::set('error', 'Usuário e/ou senha inválidos!');
                 Oraculum_WebApp::LoadView()->AddTemplate('geral')->LoadPage('login');
             }
         } else {
             Oraculum_Register::set('error', 'Você deixou algum campo em branco!');
             Oraculum_WebApp::LoadView()->AddTemplate('geral')->LoadPage('login');
         }
     } else {
         $auth = new Oraculum_Auth();
         // Cria a instância
         $auth->setsess(SESS);
         if ($auth->verify()) {
             // Verifica se já está logado
             Oraculum_WebApp::LoadView()->AddTemplate('geral')->LoadPage('home');
         } else {
             Oraculum_WebApp::LoadView()->AddTemplate('geral')->LoadPage('login');
         }
     }
 }
コード例 #2
0
Oraculum_Register::set('bancos', $bancos);
define('NL', "\n\r\t");
$firstkey = NULL;
if (post('send')) {
    $banco = post('banco');
    $servidor = post('servidor');
    $usuario = post('usuario');
    $senha = post('senha');
    $base = post('base');
    $tabela = post('tabela');
    $arquivo = strtolower($tabela);
    $classe = ucwords($tabela);
    if ($base != '') {
        $model = '<' . '?' . 'php' . NL . '$this->_dsn=\'' . $banco . '://' . $usuario . ':' . $senha . '@' . $servidor . '/' . $base . '\';';
        try {
            $db = new Oraculum_Models();
            $db->setDsn($banco . '://' . $usuario . ':' . $senha . '@' . $servidor . '/' . $base);
            $db->PDO();
            $dbo = new DBO();
            DBO::execSQL('USE ' . $base . ';');
            $query = DBO::execSQL('SHOW KEYS FROM ' . $tabela . ' WHERE Key_name = \'PRIMARY\';')->fetchAll();
            //$d=$query->fetchAll();
            //var_dump($query);
            $keys = array();
            foreach ($query as $r) {
                if (is_null($firstkey)) {
                    $firstkey = $r['Column_name'];
                }
                $keys[] = $r['Column_name'];
            }
            $keys = 'array(\'' . implode('\',\'', $keys) . '\')';
コード例 #3
0
ファイル: Models.php プロジェクト: patrix/oraculum-php
 public function PDO()
 {
     if (extension_loaded('pdo')) {
         if (in_array($this->_driver, PDO::getAvailableDrivers())) {
             try {
                 self::$connection = new PDO($this->_dsn, $this->_user, !$this->_pass ? '' : $this->_pass, $this->_driveroptions);
                 self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
             } catch (PDOException $e) {
                 throw new Exception('PDO Connection Error: ' . $e->getMessage());
             }
             return self::$connection;
         } else {
             throw new Exception('[Error CGM54] Nao ha driver disponivel para \'' . $this->_driver . '\'');
         }
     } else {
         throw new Exception('[Error CGM57] Extensao PDO nao carregada');
     }
 }
コード例 #4
0
 public function LoadTable($table = NULL)
 {
     if (is_null($table)) {
         throw new Exception('[Erro CGM66] Tabela nao informada');
     } else {
         if ($adapter == null) {
             return Oraculum_Models::getInstance()->getCurrentConnection();
         } else {
             return Oraculum_Models::getInstance()->openConnection($adapter, $name);
         }
     }
     return $this;
 }