1. Список говнокодов пользователя Mihard

    Всего: 14

  2. PHP / Говнокод #11782

    +74

    1. 1
    2. 2
    //переворачиваем массив с ног на голову, отрезаем голову, чтоб осталось 10 элементов и ставим все что осталось на ноги
    $_lasts = array_reverse(array_splice(array_reverse($last_view), 5));

    "казнь" массива

    Mihard, 17 Сентября 2012

    Комментарии (13)
  3. Куча / Говнокод #11753

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <ul>
     <li><label><input class="smert_zaemchika" type="checkbox" /> Смерть заемщика</label></li>
     <li><label><input class="poterya_raboty" type="checkbox" /> Потеря работы</label></li>
     <li><label><input class="ne_nado" type="checkbox" /> Нет</label></li>
     </ul>

    не могу больше молчать......

    Mihard, 12 Сентября 2012

    Комментарии (2)
  4. C# / Говнокод #11503

    +107

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    if (curMenu != null)
     {
     depth = curMenu.Depth;
     Menu menuG = null;
     if (depth == 1)
     {
     menuG = curMenu;
     }
     if (depth == 2)
     {
     menuG = curMenu.Menu2;
     }
     if (depth == 3)
     {
     menuG = curMenu.Menu2.Menu2;
     }
     if (depth == 4)
     {
     menuG = curMenu.Menu2.Menu2.Menu2;
     }

    Меню "неограниченной" вложенности

    Mihard, 31 Июля 2012

    Комментарии (0)
  5. Perl / Говнокод #8301

    −116

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    sub addOrUpdateContr {
    	my $doc   =  shift;
    
    	my( $id ) = $common->dbh->selectrow_array( 
    		qq|SELECT contrid FROM... | );
    
    	$id = $id || 0; 
    
    	if ( $id ) {
                 # вариант действий 1 ....
                 return $id;
    	}
    
    	if( !$id ) {
                 # вариант действий 2 (делает INSERT)....
                 return $id;
    	} else {
                 # вариант действий 3 ....
                 return $id;
    	}  
    
    	return $id;
    }

    Просто красивая функция.
    И то, что при названии addOrUpdateContr никакого апдэйта она не делает в ней далеко не самое замечательное.

    Mihard, 26 Октября 2011

    Комментарии (2)
  6. PHP / Говнокод #4244

    +179

    1. 1
    2. 2
    3. 3
    function start() {
        global $_POST,$_GET,$items,$conn,$conn_ip;
        .....

    PHP может внезапно обмануть. Перестраховывайтесь!

    Mihard, 14 Сентября 2010

    Комментарии (8)
  7. Perl / Говнокод #4108

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    my $arr=[];
    my $res=$dbr->selectrow_arrayref("SELECT DISTINCT obj.value
    FROM obj
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    WHERE ..... 
    сложный, но не интересный SQL-запрос к наскольким таблицам под лям записей в каждом
    ...");
    arm_ls.lsid IN ($ls_str)
    
    foreach $row (@$res)
    {
    push(@$arr,$row->[0]) if (!grep(/^$row->[0]$/,@$arr));
    }
    my $sum=@$arr;
    return $sum;

    Нашел тут в одном проекте. Теперь хочу поделиться с вами великолепным способом получения числа уникальных значений из таблицы.
    В этот способ научит вас использовать всю мощь перла.

    Mihard, 26 Августа 2010

    Комментарии (5)
  8. PHP / Говнокод #3884

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    class recordset {
    /*используется для оптимизации работы с MySQL*/
    var $res;
    function recordset($sql,$link="") {
    if ($link!="")
    	{
        $this->res=mysql_query($sql,$link);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error($link);
    		}
        }
    else
    	{
        $this->res=mysql_query($sql);
        if (!$this->res)
        	{
            echo $sql;
    		echo mysql_error();
    		}
        }
    }
    
    function gr() {
    $row=mysql_fetch_row($this->res);
    if ($row) {for ($i=0;$i<count($row);$i++) $row[$i]=convert_cyr_string($row[$i],"k","w");}
    return $row; }
    
    function ga() {
    $row=mysql_fetch_array($this->res);
    if ($row) {foreach($row as $key=>$val) $row[$key]=convert_cyr_string($val,"k","w");}
    return $row; }
    
    function nr() {
    $num=mysql_num_rows($this->res);
    return $num; }}

    еще один перл того же автора, что и в 2х предыдущих опубликованных мной говнокодах.
    На этот раз старорежимный ООП - великолепный класс.

    Mihard, 06 Августа 2010

    Комментарии (14)
  9. PHP / Говнокод #3860

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    function toup($str) {
    #перевод в верхний регистр (просто strtoupper не всегда корректно работает с русскими буквами)
    $str=strtoupper($str);
    $str=str_replace("а","А",$str);$str=str_replace("б","Б",$str);$str=str_replace("в","В",$str);
    $str=str_replace("г","Г",$str);$str=str_replace("д","Д",$str);$str=str_replace("е","Е",$str);
    $str=str_replace("ж","Ж",$str);$str=str_replace("з","З",$str);$str=str_replace("и","И",$str);$str=str_replace("й","Й",$str);
    $str=str_replace("к","К",$str);$str=str_replace("л","Л",$str);$str=str_replace("м","М",$str);
    $str=str_replace("н","Н",$str);$str=str_replace("о","О",$str);$str=str_replace("п","П",$str);
    $str=str_replace("р","Р",$str);$str=str_replace("с","С",$str);$str=str_replace("т","Т",$str);
    $str=str_replace("у","У",$str);$str=str_replace("ф","Ф",$str);$str=str_replace("х","Х",$str);
    $str=str_replace("ц","Ц",$str);$str=str_replace("ч","Ч",$str);$str=str_replace("ш","Ш",$str);
    $str=str_replace("щ","Щ",$str);$str=str_replace("ъ","Ъ",$str);$str=str_replace("ы","Ы",$str);
    $str=str_replace("ь","Ь",$str);$str=str_replace("э","Э",$str);$str=str_replace("ю","Ю",$str);
    $str=str_replace("я","Я",$str);
    return $str;}
    
    function tolower($str) {
    #перевод в нижний регистр (просто strtolower не всегда корректно работает с русскими буквами)
    $str=strtolower($str);
    $str=str_replace("А","а",$str);$str=str_replace("Б","б",$str);$str=str_replace("В","в",$str);
    $str=str_replace("Г","г",$str);$str=str_replace("Д","д",$str);$str=str_replace("Е","е",$str);
    $str=str_replace("Ж","ж",$str);$str=str_replace("З","з",$str);$str=str_replace("И","и",$str);$str=str_replace("Й","й",$str);
    $str=str_replace("К","к",$str);$str=str_replace("Л","л",$str);$str=str_replace("М","м",$str);
    $str=str_replace("Н","н",$str);$str=str_replace("О","о",$str);$str=str_replace("П","п",$str);
    $str=str_replace("Р","р",$str);$str=str_replace("С","с",$str);$str=str_replace("Т","т",$str);
    $str=str_replace("У","у",$str);$str=str_replace("Ф","ф",$str);$str=str_replace("Х","х",$str);
    $str=str_replace("Ц","ц",$str);$str=str_replace("Ч","ч",$str);$str=str_replace("Ш","ш",$str);
    $str=str_replace("Щ","щ",$str);$str=str_replace("Ъ","ъ",$str);$str=str_replace("Ы","ы",$str);
    $str=str_replace("Ь","ь",$str);$str=str_replace("Э","э",$str);$str=str_replace("Ю","ю",$str);
    $str=str_replace("Я","я",$str);
    return $str;}

    Еще 2 шикарные функции, того же автора, что и в предыдущем моем посте.
    про setlocale никто и не слыхивал.

    Mihard, 03 Августа 2010

    Комментарии (10)
  10. PHP / Говнокод #3859

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    if (strlen($str)>1 && substr($str,strlen($str)-2,1)=="1") {
            switch(substr($str,strlen($str)-1,1)) {
            case "0": $newstr="десять рублей";break;
            case "1": $newstr="одиннадцать рублей";break;
            case "2": $newstr="двенадцать рублей";break;
            case "3": $newstr="тринадцать рублей";break;
            case "4": $newstr="четырнадцать рублей";break;
            case "5": $newstr="пятнадцать рублей";break;
            case "6": $newstr="шестнадцать рублей";break;
            case "7": $newstr="семьнадцать рублей";break;
            case "8": $newstr="восемьнадцать рублей";break;
            case "9": $newstr="девятьнадцать рублей";break;}}
    else {
            switch(substr($str,strlen($str)-1,1)) {
            case "0": $newstr="рублей";break;
            case "1": $newstr="один рубль";break;
            case "2": $newstr="два рубля";break;
            case "3": $newstr="три рубля";break;
            case "4": $newstr="четыре рубля";break;
            case "5": $newstr="пять рублей";break;
    .......................................
            case "7": $newstr="семь миллионов ".$newstr;break;
            case "8": $newstr="восемь миллионов ".$newstr;break;
            case "9": $newstr="девять миллионов ".$newstr;break;}
        if (strlen($str)>7) {
            switch(substr($str,strlen($str)-8,1)) {
            case "2": $newstr="двадцать ".$newstr;break;
            case "3": $newstr="тридцать ".$newstr;break;
            case "4": $newstr="сорок ".$newstr;break;
            case "5": $newstr="пятьдесят ".$newstr;break;
            case "6": $newstr="шестьдесят ".$newstr;break;
            case "7": $newstr="семьдесят ".$newstr;break;
            case "8": $newstr="восемьдесят ".$newstr;break;
            case "9": $newstr="девяносто ".$newstr;break;}}}}
    if (strlen($str)>8) {
    switch(substr($str,strlen($str)-9,1)) {
    	case "0": $newstr="сто ".$newstr;break;
        case "1": $newstr="сто ".$newstr;break;
        case "2": $newstr="двести ".$newstr;break;
        case "3": $newstr="триста ".$newstr;break;
        case "4": $newstr="четыреста ".$newstr;break;
        case "5": $newstr="пятьсот ".$newstr;break;
        case "6": $newstr="шестьсот ".$newstr;break;
        case "7": $newstr="семьсот ".$newstr;break;
        case "8": $newstr="восемьсот ".$newstr;break;
        case "9": $newstr="девятьсот ".$newstr;break;}}

    Вот так делают "сумму прописью".
    Радует и форматирование, и порядок порядков чисел в if .. elseif .. else

    Mihard, 03 Августа 2010

    Комментарии (3)
  11. PHP / Говнокод #3622

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    <?
    
    class с_self_add_form
    {
    var $main="<P>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....HTML...
    </table></form></P>";
    }
    
    class u_self_add_form
    {
    var $main="<P class=ttext>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....Другой HTML...
    </table></form></P>";
    }
    
    class d_self_add_form
    {
    var $main="<P class=zag>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....Третий HTML...
    </table></form></P>";
    }
    
    /* и так далее, и тому подобное */

    самый шикарный формат файла с шаблонами, который я видел.

    Mihard, 02 Июля 2010

    Комментарии (10)