Ejemplo n.º 1
0
 /**
  * Escape data
  *
  * @param mixed $data
  * @param string $type - int|like
  * @return string
  */
 public function escape($data, $type = null)
 {
     if (is_array($data)) {
         foreach ($data as $key => $value) {
             if ($type === 'int') {
                 $data[$key] = (int) $value;
             } elseif ($type === 'like') {
                 $value = str_replace('\\', '\\\\', $value);
                 $data[$key] = str_replace(array('%', '_'), array('\\%', '\\_'), $this->adapter->escape($value));
             } else {
                 $data[$key] = $this->adapter->escape($value);
             }
         }
         return $data;
     }
     switch ($type) {
         case 'int':
             return (int) $data;
         case 'like':
             $data = str_replace('\\', '\\\\', $data);
             return str_replace(array('%', '_'), array('\\%', '\\_'), $this->adapter->escape($data));
         default:
             return $this->adapter->escape($data);
     }
 }