1. PHP / Говнокод #5724

    +168

    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
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    function getCurrentDate(){
            $vDate = '';
            $vFullDate = getdate();	
        //print_r($vFullDate);
            if ($vFullDate['mon']<10) $vFullDate['mon']='0'.$vFullDate['mon'];
            $vDay = $vFullDate['mday'];
            $vMon = $vFullDate['mon'];
            $vYear = $vFullDate['year']; 
            $vWDay = $vFullDate['wday'];
            $vVYear = (date("L"));		
            if (($vDay == 30) && ($vMon == 4)) {
                $vDate = '04.05.'.$vYear; 
                return $vDate;
            }
            if (($vDay == 8) && ($vMon == 5)) {
                $vDate = '11.05.'.$vYear; 
                return $vDate;
            }
    
    if (($vDay==30) && (in_array($vMon,$this->mTMon))) {
                $vMon++;
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vDay = 1;
            }
            elseif ($vDay==31) {
                $vDay =1;
                $vMon ++;
                if ($vMon<10) {
                    $vMon = '0'.$vMon;
                }
            }
            elseif (($vDay==31)&& ($vMon==12)){
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vMon = 1;
                $vYear ++;
            }
            elseif ($vWDay == 5) {
                $vDay=$vDay+3;
            }
            else {
                $vDay++;
            }
            if ($vDay < 10) {
                $vDay = '0'.$vDay;
            }
            if ($vMon < 10) {
                $vMon = '0'.$vMon;
            }
            
    $vDate = $vDay.'.'.$vMon.'.'.$vYear; 
    	if ($vDate == '12.06.2009') {
    	    $vDate = '15.06.2009';
    	}
            
            return $vDate;
        }

    Так получилось, что мне приходится часто смотреть на чужой код. В этом случае сотрудники одного отдела, выдающего справки (число в справке должно быть на 3 дня больше текущего) пожаловались мне, что форма выдает справки обычно нормально и они даже смирились, когда у месяца появляется 31-е число, но тут появилось вдруг 32-е и они забеспокоились.
    Полез - увидел - поржал - заменил одной строчкой date('d.m.Y',strtotime("+3 days"));

    g00d, 20 Февраля 2011

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

    +158

    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
    47. 47
    if ($_GET[action] == "avatar") {
    
    
    	if ($info = $_GET[info]) {
    
    			if ($info[avatar]) {
    				echo $info[avatar];
    			} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);
    			}
    	} else {
    					header("Content-type: image/png");
    
    					$im = imagecreatetruecolor(80, 80);
    					$white = imagecolorallocate($im, 255, 255, 255);
    					$grey = imagecolorallocate($im, 128, 128, 128);
    					$black = imagecolorallocate($im, 0, 0, 0);
    					imagefilledrectangle($im, 0, 0, 80, 80, $white);
    					$font = "fonts/avatar.ttf";
    
    					$text = "HET";
    					imagettftext($im, 20, 0, 15, 40, $grey, $font, $text);
    					imagettftext($im, 20, 0, 14, 39, $black, $font, $text);
    					$text = "ABATAPA";
    					imagettftext($im, 14, 0, 5, 55, $grey, $font, $text);
    					imagettftext($im, 14, 0, 4, 54, $black, $font, $text);
    					imagepng($im);
    					imagedestroy($im);	
    	}
    
    }

    Вот такое говнецо встретилось))

    Sulik78, 19 Февраля 2011

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

    +158

    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
    <?
        $id = isset($_GET['id']) ? (int)$_GET['id']: false;
        if(!isset($_GET['id'])){echo "Right";}
        elseif(!(int)($_GET['id'])){echo "The id does not exist";}else{
        $id = mysql_real_escape_string($_GET['id']);      }
        $sql = "SELECT * FROM `users` WHERE `id` = '$id'";
        $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
        
        while ($row = mysql_fetch_assoc($result)){
            Echo $row['name'];
            Echo $row['surname'];
        }
        
        # вывод рейтинга <<<
        
         // в этот запрос передаем id пользователя, полученный на предыдущем этапе
        $query = mysql_query("SELECT * FROM test WHERE id={$row['id']}");
     
        $info = mysql_fetch_assoc($query); // $info содержит рейтинг *одного* пользователя
        $rating = (int)$info[rating];
    ?>
    
    <table border="0" width="135" cellspacing="0" cellpadding="0" height="21">
        <tr>
            <td id="rating_<?php echo $info[id]; ?>" style="width: 88px; height: 21px">
                <span class="star_1"><img src="star_blank.png" alt="" <?php if($rating > 0) { echo"class='hover'"; } ?> /></span>
                <span class="star_2"><img src="star_blank.png" alt="" <?php if($rating > 1.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_3"><img src="star_blank.png" alt="" <?php if($rating > 2.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_4"><img src="star_blank.png" alt="" <?php if($rating > 3.5) { echo"class='hover'"; } ?> /></span>
                <span class="star_5"><img src="star_blank.png" alt="" <?php if($rating > 4.5) { echo"class='hover'"; } ?> /></span>
            </td>
            <td class="floatleft" width="46" align="left">
                (<?php echo $info[rating]; ?>)
            </td>
        </tr>
    </table>

    qbasic, 19 Февраля 2011

    Комментарии (1)
  4. PHP / Говнокод #5717

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $query = "SELECT id, idTovar FROM $table";
     $res = mysql_query_assoc($query) or die(mysql_error());
     foreach ($res as $id => $idTovar) 
      {
       $idTovar_array = explode(",", $idTovar);
       if($key = array_search($delete, $idTovar_array))
         unset($idTovar_array[$key]);
       $idTovar1 = implode(",", $idTovar_array);
       if ($idTovar==$idTovar1);
       else
       mysql_query("UPDATE $table SET idTovar = '$idTovar' WHERE id = '$id'");
      }

    qbasic, 19 Февраля 2011

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

    +167

    1. 1
    $new = preg_replace("/((\[{1}[^\[\]]+\]{1})|(\[{1}\]{1}))/", "", $a);

    метод тыка.... зато работеат

    Sulik78, 18 Февраля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    } elseif ($go == 4) {
    	include("function/no-cache.php");
    	include("config/config_uploads.php");
    	switch($go) {
    		default:
    		$con = explode("|", $confup[$mod]);
    		upload(2, "uploads/".$mod."", $con[0], $con[2], $mod, $con[3], $con[4]);
    		break;
    	}
    }

    http://www.slaed.net/files-view-1103.html

    111111, 18 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $str="T:/home//localhost///MyScripts/////";
    $pos=strpos($str,"//");
    while($pos!=false)
    {
        $str=str_replace("//","/",$str);
        $pos=strpos($str,"//");
    }

    функция удаляет повторяющиеся слэши в строке

    Sulik78, 17 Февраля 2011

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

    +161

    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
    <?php
            define('PATH_LEN', 32);
            define('ALPH_SIZE', 66);
            
            class Security
            {
                    public static $rus_alphabet = array('А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е', 'Ё', 'ё',   'Ж', 'ж',   'З', 'з', 'И', 'и', 'Й', 'й',   'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч',   'Ш', 'ш',   'Щ', 'щ',   'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь',     'Э', 'э', 'Ю', 'ю',     'Я', 'я');
                    public static $eng_alphabet = array('A', 'a', 'B', 'b', 'V', 'v', 'G', 'g', 'D', 'd', 'E', 'e', 'Yo', 'yo', 'Zh', 'zh', 'Z', 'z', 'I', 'i', 'Ji', 'ji', 'K', 'k', 'L', 'l', 'M', 'm', 'N', 'n', 'O', 'o', 'P', 'p', 'R', 'r', 'S', 's', 'T', 't', 'Y', 'y', 'F', 'f', 'H', 'h', 'C', 'c', 'Ch', 'ch', 'Sh', 'sh', 'Ch', 'ch', '_', '_', '_', '_', '_', '_', '_', '_', 'U', 'u', 'Ya', 'ya');
                    
                    static public function Transform($string)
                    {
                            $string = htmlspecialchars($string);
                            $string = strip_tags($string);
                            
                            return $string;
                    }
                    
                    static public function TransformName($string)
                    {
                            $temp = '';
                            
                            for($i = 0; $i < strlen($string); $i++)
                            {
                                    if($string[$i] === ' ')
                                            {
                                                    $temp += '_';
                                                    continue;
                                            }
                                    
                                    for($j = 0; $j < ALPH_SIZE; $j++)
                                            if(Security::$rus_alphabet[$j] === Security::$string[$i])
                                                    {
                                                            $temp += Security::$eng_alphabet[$j];
                                                            continue 2;                                                     
                                                    }
                                    $temp += $string[$i];                   
                            }
                            
                            return $temp;
                    }
                    
            }
    ?>

    qbasic, 17 Февраля 2011

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

    +173

    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
    $pattern = '/[^A-Za-zА-Яа-я0-9]/u';
    $phrase = $this->data['ProjectsPhrase']['phrase'];
    
    $phrase = preg_replace($pattern, ' ', $phrase);
    
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = trim($phrase);

    Вот такое говнокодище встретил в проекте. Паранойя такая паранойя…

    govnouzver, 17 Февраля 2011

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

    +144

    1. 1
    Вопрос...

    Ребят, у меня такой вопрос, тут или посмейтесь, или скажите как правельней, сайт не для вопросов согласен, но помогите не говнакодить)))
    Ядро системы у меня, сканирует директории модулей и плагинов таким образом что у имени деректории есть префикс mod and plg где если это модуль то вот имя директории mod[news], нет оно всё не в куче разумеется, порядок соблюдаю разумеется, но и исправить метод можно не проблема, но я пишу это к чему, недавно готовый сайт выложил на хостинг на котором ранее небыл, и всё конечно идеально, за исключением одного нюанса, FTP менеджеры не могут сканировать директории в имене которых находятся знаки [ ] и только единственный менеджер может сканировать отлично это FAR... И у меня просьба, посмеятся какой я дурак если это реально проблема, или это плюсом, что важные директории проблемно прочитать? Работа системы проходит на ура хоть где не в этом вопрос, а именно имена директорий с знакоми [ ], и проблема их сканировать из "ВНЕ"... Стоит ли их переименовывать?

    nethak, 16 Февраля 2011

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