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); }