You are here

public function FrxDrupalControls::format in Forena Reports 7.3

Same name and namespace in other branches
  1. 6.2 plugins/FrxDrupalControls.inc \FrxDrupalControls::format()
  2. 7.5 plugins/FrxDrupalControls.inc \FrxDrupalControls::format()
  3. 7.2 plugins/FrxDrupalControls.inc \FrxDrupalControls::format()
  4. 7.4 plugins/FrxDrupalControls.inc \FrxDrupalControls::format()

Implement custom SQL formatter to make sure that strings are properly escaped. Ideally we'd replace this with something that handles prepared statements, but it wouldn't work for

Parameters

unknown_type $value:

unknown_type $key:

unknown_type $data:

File

plugins/FrxDrupalControls.inc, line 20
Provides data blocks for native drupal connections using the default drupal connections.

Class

FrxDrupalControls
@file Provides data blocks for native drupal connections using the default drupal connections.

Code

public function format($value, $key, $data) {
  $db = Database::getConnection('default');
  if ($db) {
    if ($value == '') {
      $value = 'NULL';
    }
    else {
      if (is_array($value)) {
        if ($value == array()) {
          $value = 'NULL';
        }
        else {

          // Build a array of values string
          $i = 0;
          $val = '';
          foreach ($value as $v) {
            $i++;
            if ($i > 1) {
              $val .= ',';
            }
            $val .= $db
              ->quote($v);
          }
          $value = $val;
        }
      }
      else {
        $value = trim($value);
        $value = $db
          ->quote($value);
      }
    }
  }
  return $value;
}