- 1
- 2
- 3
- 4
- 5
- 6
- 7
def query(sql)
begin
@mysql.query(sql)
rescue StandardError => err
@log.error("Mysql query: '#{sql}\n#{err}'") if @log.class == LoggerHandler
end
end
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 15
−104
def query(sql)
begin
@mysql.query(sql)
rescue StandardError => err
@log.error("Mysql query: '#{sql}\n#{err}'") if @log.class == LoggerHandler
end
end
Говнообертка. LoggerHandler - класс, наследующийся от Logger.
Говнонюанс в том, что Logger.error возвращает true/false в зависимости от того была ли запись в лог успешной, что приводит потом к ошибкам вида NoMethodError: undefined method `each' for true:TrueClass
+163
function db_query($sql)
{
global $dbcnx;
$k=0;
while(!@$res=mysql_query($sql))
{
if($k>5)
{
$f=fopen(dirname(__FILE__).'/tmp/error.log','a');
fwrite($f,"\n".mysql_error().' in '.$sql."\n");
fclose($f);
die();
}
//@mysql_close($dbcnx);
//MysqlConnect();
$k++;
}
return $res;
}
+160
function sinonimizer($my_text)
{
$arr_ = file(dirname(__FILE__).'/new_words.txt');
$arr = array();
foreach ($arr_ as $str)
{
$str = trim($str);
$t1 = explode('|', $str);
$master = trim($t1[0]); //пихаем слово которое заменять
if (!isset($t1[1]))
continue;
$t2 = explode('|', $t1[1]); //Тут слово которым заменять
if (sizeof($t2) == 0)
continue;
//Дальше волшебные мунипуляции
foreach ($t2 as $t)
$arr[crc32(strtolower($master))][crc32(strtolower(trim($t)))] = array('word' =>
trim($t), 'rep' => 0);
}
$my_text=str_replace(array("\n","\t","\r")," ",$my_text);
$text_arr = explode(' ', $my_text);
$str_ = '';
foreach ($text_arr as $item)
{
$fl = false;
$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
str_replace('?', '', str_replace('"', '', str_replace('\'', '',
str_replace('<', '', str_replace('>', '', str_replace(':', '',
str_replace(';', '', $item))))))))));
if (isset($arr[crc32(strtolower($t))]))
{
foreach ($arr[crc32(strtolower($t))] as $k => $v)
if ($v['rep'] == 0)
{
$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
$$v['rep'] = 1;
$fl = true;
break;
}
}
if (!$fl) $str_ .= $item . ' ';
}
return $str_;
}
function sinonimizer_new($my_text)
{
$arr_ = file(dirname(__FILE__).'/new_words.txt');
$arr = array();
foreach ($arr_ as $str)
{
$str = trim($str);
$t1 = explode('|', $str);
$master = trim($t1[0]); //пихаем слово которое заменять
if (!isset($t1[1]))
continue;
$t2 = explode('|', $t1[1]); //Тут слово которым заменять
if (sizeof($t2) == 0)
continue;
//Дальше волшебные мунипуляции
foreach ($t2 as $t)
$arr[(strtolower($master))][(strtolower(trim($t)))] = array('word' =>
trim($t), 'rep' => 0);
}
$my_text=str_replace(array("\n","\t","\r")," ",$my_text);
$text_arr = explode(' ', $my_text);
$str_ = '';
foreach ($text_arr as $item)
{
$fl = false;
$t = str_replace('.', '', str_replace(',', '', str_replace('!', '',
str_replace('?', '', str_replace('"', '', str_replace('\'', '',
str_replace('<', '', str_replace('>', '', str_replace(':', '',
str_replace(';', '', $item))))))))));
if (isset($arr[(strtolower($t))]))
{
foreach ($arr[(strtolower($t))] as $k => $v)
if ($v['rep'] == 0)
{
$str_ .= str_ireplace($t, "$v[word]", $item) . ' ';
$$v['rep'] = 1;
$fl = true;
break;
}
}
if (!$fl) $str_ .= $item . ' ';
}
return $str_;
волшебные мунипуляции
+166
$res['descr'] = str_replace("\n\n\n", "<br>", $res['descr']);
$res['descr'] = str_replace("\n\n", "<br>", $res['descr']);
$res['descr'] = str_replace("<br><br><br>", "<br>", $res['descr']);
$res['descr'] = str_replace("<br><br>", "<br>", $res['descr']);
$res['descr'] = str_replace("<br><br>", "<br>", $res['descr']);
Конвертируем переносы строк типа.
+171
@flush();@ob_flush();@flush();
Я сказал flush(), сука! Эта фигня встречается в одном .php файле раз 20