예제 #1
0
 protected static function strPad($input, $pad_length, $pad_string)
 {
     if (Locale::isWin1251()) {
         return str_pad($input, $pad_length, $pad_string, STR_PAD_RIGHT);
     } else {
         $diff = strlen($input) - mb_strlen($input, 'UTF-8');
         return str_pad($input, $pad_length + $diff, $pad_string, STR_PAD_RIGHT);
     }
 }
 /**
  * @param $query
  * @param null $var1
  * @param null $var2
  * @return bool|\CDBResult
  */
 protected function query($query, $var1 = null, $var2 = null)
 {
     if (func_num_args() > 1) {
         $params = func_get_args();
         $query = call_user_func_array('sprintf', $params);
     }
     $search = array('#TABLE1#' => $this->tableName, '#DBNAME#' => $this->dbName);
     if (Locale::isWin1251()) {
         $search['#CHARSET#'] = 'cp1251';
         $search['#COLLATE#'] = 'cp1251_general_ci';
     } else {
         $search['#CHARSET#'] = 'utf8';
         $search['#COLLATE#'] = 'utf8_general_ci';
     }
     $querySearch = array_keys($search);
     $queryReplace = array_values($search);
     $query = str_replace($querySearch, $queryReplace, $query);
     return $this->bitrixDb->Query($query);
 }