Beispiel #1
0
function getPluginTableName()
{
    importlib('model.common.setting');
    $context = Model_Context::getInstance();
    $likeEscape = array('/_/', '/%/');
    $likeReplace = array('\\_', '\\%');
    $escapename = preg_replace($likeEscape, $likeReplace, $context->getProperty('database.prefix'));
    $dbtables = POD::tableList($escapename);
    $dbCaseInsensitive = Setting::getServiceSetting('lowercaseTableNames', true);
    if ($dbCaseInsensitive === null) {
        doesExistTable('');
        // determine the table name rule. (lowercase only / mixed cases)
    }
    $definedTables = getDefinedTableNames();
    $dbtables = array_values(array_diff($dbtables, $definedTables));
    if ($dbCaseInsensitive == 1) {
        $tempTables = $definedTables;
        $definedTables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($definedTables, $table);
        }
        $tempTables = $dbtables;
        $dbtables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($dbtables, $table);
        }
        $dbtables = array_values(array_diff($dbtables, $definedTables));
    }
    return $dbtables;
}
Beispiel #2
0
									</tr>
								</thead>
								<tbody>
<?php 
    //$likeEscape = array ( '/_/' , '/%/' );
    //$likeReplace = array ( '\\_' , '\\%' );
    //$escapename = preg_replace($likeEscape, $likeReplace, $database['prefix']);
    $dbtables = POD::tableList($database['prefix']);
    if (in_array(POD::dbms(), array('MySQL', 'MySQLi'))) {
        $result = POD::queryRow("SHOW VARIABLES LIKE 'lower_case_table_names'");
        $dbCaseInsensitive = $result['Value'] == 1 ? true : false;
    } else {
        $dbCaseInsensitive = true;
    }
    requireModel('common.setting');
    $definedTables = getDefinedTableNames();
    $dbtables = array_values(array_diff($dbtables, $definedTables));
    if ($dbCaseInsensitive == true) {
        $tempTables = $definedTables;
        $definedTables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($definedTables, $table);
        }
        $tempTables = $dbtables;
        $dbtables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($dbtables, $table);
        }
        $dbtables = array_values(array_diff($dbtables, $definedTables));
Beispiel #3
0
function getPluginTableName()
{
    requireModel('common.setting');
    $ctx = Model_Context::getInstance();
    $likeEscape = array('/_/', '/%/');
    $likeReplace = array('\\_', '\\%');
    $escapename = preg_replace($likeEscape, $likeReplace, $ctx->getProperty('database.prefix'));
    $dbtables = POD::tableList($escapename);
    $dbCaseInsensitive = Setting::getServiceSetting('lowercaseTableNames', true);
    if ($dbCaseInsensitive === null) {
        $result = POD::queryRow("SHOW VARIABLES LIKE 'lower_case_table_names'");
        $dbCaseInsensitive = $result['Value'] == 1 ? 1 : 0;
        Setting::setServiceSetting('lowercaseTableNames', $dbCaseInsensitive, true);
    }
    $definedTables = getDefinedTableNames();
    $dbtables = array_values(array_diff($dbtables, $definedTables));
    if ($dbCaseInsensitive == 1) {
        $tempTables = $definedTables;
        $definedTables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($definedTables, $table);
        }
        $tempTables = $dbtables;
        $dbtables = array();
        foreach ($tempTables as $table) {
            $table = strtolower($table);
            array_push($dbtables, $table);
        }
        $dbtables = array_values(array_diff($dbtables, $definedTables));
    }
    return $dbtables;
}