You are here

private function EvaluationImplementation::generateSql in Drupal 8 upgrade evaluation 7

Same name and namespace in other branches
  1. 6 includes/EvaluationImplementation.php \Upgrade_check\EvaluationImplementation::generateSql()

Generate SQL.

9 calls to EvaluationImplementation::generateSql()
EvaluationImplementation::upgradeCheckCommentData in includes/EvaluationImplementation.php
Fetch comment data.
EvaluationImplementation::upgradeCheckEntityData in includes/EvaluationImplementation.php
Fetching: Nodes/Files usage/Users/Image styles/Roles/Languages/Blocks.
EvaluationImplementation::upgradeCheckFieldsData in includes/EvaluationImplementation.php
Fetch fields data.
EvaluationImplementation::upgradeCheckFilesData in includes/EvaluationImplementation.php
Fetch files data.
EvaluationImplementation::upgradeCheckMenusData in includes/EvaluationImplementation.php
Fetch menus data.

... See full list

File

includes/EvaluationImplementation.php, line 612

Class

EvaluationImplementation

Namespace

Upgrade_check

Code

private function generateSql($data, $dontAll = FALSE) {
  $result = array();
  if (!empty($data) && !empty($data['t']) && !empty($data['a'])) {
    $query = db_select($data['t'], $data['a']);
    if (!empty($data['j']) && !empty($data['j']['t'])) {
      if (!empty($data['j']['a']) && !empty($data['j']['jt']) && !empty($data['j']['con'])) {
        $sqlVal = $data['a'] . '.' . $data['j']['con']['left'] . ' = ';
        $sqlVal .= $data['j']['a'] . '.' . $data['j']['con']['right'];
        if ($data['j']['jt'] === 'inner') {
          $query
            ->innerJoin($data['j']['t'], $data['j']['a'], $sqlVal);
        }
        elseif ($data['j']['jt'] === 'left') {
          $query
            ->leftJoin($data['j']['t'], $data['j']['a'], $sqlVal);
        }
        elseif ($data['j']['jt'] === 'right') {
          $query
            ->rightJoin($data['j']['t'], $data['j']['a'], $sqlVal);
        }
      }
      if (!empty($data['j']['f'])) {
        $query
          ->fields($data['j']['a'], $data['j']['f']);
      }
      if (!empty($data['j']['c']) && is_array($data['j']['c'])) {
        foreach ($data['j']['c'] as $value) {
          if (!empty($value) && !empty($value['f']) && !empty($value['v'])) {
            if (!empty($value['p'])) {
              $query
                ->condition($value['f'], $value['v'], $value['p']);
            }
            else {
              $query
                ->condition($value['f'], $value['v']);
            }
          }
        }
      }
    }
    if (!empty($data['f']) && is_array($data['f'])) {
      $query
        ->fields($data['a'], $data['f']);
    }
    if (!empty($data['c']) && is_array($data['c'])) {
      foreach ($data['c'] as $value) {
        if (!empty($value) && !empty($value['f']) && !empty($value['v'])) {
          if (!empty($value['p'])) {
            $query
              ->condition($value['f'], $value['v'], $value['p']);
          }
          else {
            $query
              ->condition($value['f'], $value['v']);
          }
        }
      }
    }
    if (!empty($dontAll)) {
      $result = $query
        ->execute();
    }
    else {
      $result = $query
        ->execute()
        ->fetchAll();
    }
  }
  return $result;
}