Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Database/Connection/Connection.php
Строк: 206
<?php

namespace ConcreteCoreDatabaseConnection;

use 
DoctrineORMEntityManager;
use 
ORM;

class 
Connection extends DoctrineDBALConnection
{
    
/** @var EntityManager */
    
protected $entityManager;

    
/**
     * @return EntityManager
     */
    
public function getEntityManager()
    {
        if (!
$this->entityManager) {
            
$this->entityManager $this->createEntityManager();
        }

        return 
$this->entityManager;
    }

    
/**
     * @return EntityManager
     *
     * @throws DoctrineORMORMException
     */
    
public function createEntityManager()
    {
        return 
ORM::makeEntityManager($this'core');
    }

    
/**
     * Returns true if a table exists – is NOT case sensitive.
     *
     * @return bool
     */
    
public function tableExists($tableName)
    {
        
$sm $this->getSchemaManager();
        
$schemaTables $sm->listTableNames();

        return 
in_array(strtolower($tableName), array_map('strtolower'$schemaTables));
    }

    
/**
     * @deprecated
     */
    
public function Execute($q$arguments = array())
    {
        if (
$q instanceof DoctrineDBALStatement) {
            return 
$q->execute($arguments);
        } else {
            if (!
is_array($arguments)) {
                
$arguments = array($arguments); // adodb backward compatibility
            
}

            return 
$this->executeQuery($q$arguments);
        }
    }

    public function 
query()
    {
        
$args func_get_args();
        if (isset(
$args) && isset($args[1]) && (is_string($args[1]) || is_array($args[1]))) {
            return 
$this->executeQuery($args[0], $args[1]);
        } else {
            return 
call_user_func_array('parent::query'$args);
        }
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function GetRow($q$arguments = array())
    {
        if (!
is_array($arguments)) {
            
$arguments = array($arguments); // adodb backward compatibility
        
}
        
$r $this->fetchAssoc($q$arguments);
        if (!
is_array($r)) {
            
$r = array();
        }

        return 
$r;
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function qstr($string)
    {
        return 
$this->quote($string);
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function GetOne($q$arguments = array())
    {
        if (!
is_array($arguments)) {
            
$arguments = array($arguments); // adodb backward compatibility
        
}

        return 
$this->fetchColumn($q$arguments0);
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function ErrorMsg()
    {
        if (
$this->errorCode() > 0) {
            return 
$this->errorCode();
        }

        return 
false;
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function GetAll($q$arguments = array())
    {
        if (!
is_array($arguments)) {
            
$arguments = array($arguments); // adodb backward compatibility
        
}

        return 
$this->fetchAll($q$arguments);
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function GetArray($q$arguments = array())
    {
        return 
$this->GetAll($q$arguments);
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function GetAssoc($q$arguments = array())
    {
        
$query $this->query($q$arguments);

        return 
$query->fetchAll(PDO::FETCH_KEY_PAIR);
    }

    
/**
     * @deprecated
     * Returns an associative array of all columns in a table
     */
    
public function MetaColumnNames($table)
    {
        
$sm $this->getSchemaManager();
        
$columnNames = array();
        
$columns $sm->listTableColumns($table);
        foreach (
$columns as $column) {
            
$columnNames[] = $column->getName();
        }

        return 
$columnNames;
    }

    
/**
     * @deprecated
     * Alias to old ADODB Replace() method.
     */
    
public function Replace($table$fieldArray$keyCol$autoQuote true)
    {
        
$qb $this->createQueryBuilder();
        
$qb->select('count(*)')->from($table't');
        
$where $qb->expr()->andX();
        
$updateKeys = array();
        if (!
is_array($keyCol)) {
            
$keyCol = array($keyCol);
        }
        foreach (
$keyCol as $key) {
            if (isset(
$fieldArray[$key])) {
                
$field $fieldArray[$key];
            } else {
                
$field null;
            }
            
$updateKeys[$key] = $field;
            if (
$autoQuote) {
                
$field $qb->expr()->literal($field);
            }
            
$where->add($qb->expr()->eq($key$field));
        }
        
$qb->where($where);
        
$num $this->query($qb->getSql())->fetchColumn();
        if (
$num 1) {
            
$this->insert($table$fieldArray);
        } else {
            
$this->update($table$fieldArray$updateKeys);
        }
    }

    
/**
     * @deprecated -
     * alias to old ADODB method
     */
    
public function GetCol($q$arguments = array())
    {
        
$r $this->fetchAll($q$arguments);
        
$return = array();

        foreach (
$r as $value) {
            
$return[] = $value[key($value)];
        }

        return 
$return;
    }

    
/**
     * @deprecated
     * alias to old ADODB method
     */
    
public function Insert_ID()
    {
        return 
$this->lastInsertId();
    }

    
/**
     * @deprecated
     */
    
public function MetaTables()
    {
        
$sm $this->getSchemaManager();
        
$schemaTables $sm->listTables();
        
$tables = array();
        foreach (
$schemaTables as $table) {
            
$tables[] = $table->getName();
        }

        return 
$tables;
    }

    
/**
     * @deprecated
     */
    
public function MetaColumns($table)
    {
        
$sm $this->getSchemaManager();
        
$schemaColumns $sm->listTableColumns($table);

        return 
$schemaColumns;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function BeginTrans()
    {
        
$this->beginTransaction();

        return 
true;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function StartTrans()
    {
        
$this->beginTransaction();

        return 
true;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function CommitTrans()
    {
        
$this->commit();

        return 
true;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function CompleteTrans()
    {
        
$this->commit();

        return 
true;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function RollbackTrans()
    {
        
$this->rollBack();

        return 
true;
    }

    
/**
     * @deprecated Alias to old ADODB method
     */
    
public function FailTrans()
    {
        
$this->rollBack();

        return 
true;
    }
}
Онлайн: 1
Реклама