Exemplo n.º 1
0
 /**
  * Send sms concurrently
  *
  * @param  bool $async
  * @param  Closure $complete executed after that every request gets an actual
  *                           response
  * @return void
  */
 public function sendConcurrentSms($async = true, Closure $complete)
 {
     if ($sms instanceof Sms) {
         $sms = [$sms];
     }
     $this->driver->sendConcurrentSms($sms);
 }
 public function __construct($user, $password, $databaseName, $host = null)
 {
     parent::__construct($user, $password, $databaseName, $host);
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function renderStatement($type, $data)
 {
     switch (strtolower($type)) {
         case 'select':
             extract($data);
             $fields = trim($fields);
             if (strpos($limit, 'TOP') !== false && strpos($fields, 'DISTINCT ') === 0) {
                 $limit = 'DISTINCT ' . trim($limit);
                 $fields = substr($fields, 9);
             }
             if (preg_match('/offset\\s+([0-9]+)/i', $limit, $offset)) {
                 $limit = preg_replace('/\\s*offset.*$/i', '', $limit);
                 preg_match('/top\\s+([0-9]+)/i', $limit, $limitVal);
                 $offset = intval($offset[1]) + intval($limitVal[1]);
                 $rOrder = $this->switchSort($order);
                 list($order2, $rOrder) = [$this->mapFields($order), $this->mapFields($rOrder)];
                 $query = "SELECT * FROM (SELECT {$limit} * FROM (";
                 $query .= "SELECT TOP {$offset} {$fields} FROM {$table} {$alias} {$joins} ";
                 $query .= "{$conditions} {$group} {$order}) AS Set1 {$rOrder}) AS Set2 {$order2}";
                 return $query;
             } else {
                 return "SELECT {$limit} {$fields} FROM {$table} {$alias} {$joins} {$conditions} {$group} {$order}";
             }
             break;
         case 'schema':
             extract($data);
             $indexes = $data['indexes'];
             $columns = $data['columns'];
             foreach ($indexes as $i => $index) {
                 if (preg_match('/PRIMARY KEY/', $index)) {
                     unset($indexes[$i]);
                     break;
                 }
             }
             foreach (['columns', 'indexes'] as $var) {
                 if (is_array(${$var})) {
                     ${$var} = "\t" . implode(",\n\t", array_filter(${$var}));
                 }
             }
             return 'CREATE TABLE ' . $data['table'] . " (\n" . $columns . ");\n" . $indexes;
             break;
         default:
             return parent::renderStatement($type, $data);
             break;
     }
 }