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

    Всего: 4

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

    +156

    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
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    public function catalog_add() {
            
            if (Route::is_post()) {
                $this->L->view = false;
                $errors = array();
    
                $Company = new Model_Companies();
                $Company->fillFromArray($_POST['companies']);
    
                if (!$Company['cats_id']) {
                    $errors[] = 'Не выбрана категория';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['startdate'])) {
                    $errors[] = 'Неверный формат начала периода размещения';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['enddate'])) {
                    $errors[] = 'Неверный формат конца периода размещения';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_start'])) {
                    $errors[] = 'Неверный формат начала действия приоритетной позиции';
                }
                if (!preg_match('/^\d{2}\.\d{2}\.\d{4}$/', $Company['position_end'])) {
                    $errors[] = 'Неверный формат конца действия приоритетной позиции';
                }
    
                //проверка на существования графика работы
                $noSchedule = true;
                foreach ($_POST['schedule'] as $key => $value) {
                    if (isset($value['work'])) {
                        $noSchedule = false;
                        break;
                    }
                }
    
                if ($noSchedule) {
                    $errors[] = 'Не указано ни одного рабочего дня';
                } else {
                    //проверка рабочего времени
                    foreach ($_POST['schedule'] as $key => $value) {
                        if (isset($value['work'])) {
                            if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['end'])) {
                                $errors[] = 'Неверный формат времени работы в ' . strtolower(Model_Schedule::$days[$key]);
                            } else {
                                //проверка грамотности, конец больше начала
                                if (strtotime($value['start']) > strtotime($value['end'])) {
                                    $errors[] = 'Конец работы должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
                                } else {
                                    //провека обеда
                                    if (isset($value['lunch'])) {
                                        if (!preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_start']) || !preg_match('/^(2[0-3]|[01][0-9]):[0-5][0-9]$/', $value['lunch_end'])) {
                                            $errors[] = 'Неверный формат времени обеда в ' . strtolower(Model_Schedule::$days[$key]);
                                        } else {
                                            //проверка грамотности границ обеда
                                            if (strtotime($value['lunch_start']) > strtotime($value['lunch_end'])) {
                                                $errors[] = 'Конец обеденного перерыва должен быть позже времени начала в ' . strtolower(Model_Schedule::$days[$key]);
                                            } else {
                                                //проверка что обед вмещается в рабочее время
                                                if ($value['lunch_start'] < $value['start'] || $value['lunch_end'] > $value['end']) {
                                                    $errors[] = 'Обед выходит за рамки указанного рабочего времени в ' . strtolower(Model_Schedule::$days[$key]);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
    
                //todo: сделать проверку на занятость приоритетной позиции в выбраной категории в указанный период
    
                if (!count($errors)) {
                    //если нет ошибок то пишем
                    $Company->save();
    
                    foreach ($_POST['schedule'] as $key => $value) {
                        if (isset($value['work'])) {
                            $Schedule = new Model_Schedule();
                            $Schedule->fillFromArray($value);
                            $Schedule['day'] = $key;
                            $Schedule['companies_id'] = $Company['id'];
                            $Schedule->save();
                        }
                    }
                }
    
                echo json_encode($errors);
            }
        }

    проверки, такие проверки

    Serious_Andy, 17 Мая 2014

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

    +173

    1. 1
    $i = $i++;

    инкремент от бога

    Serious_Andy, 12 Сентября 2013

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

    +150

    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
    function deleteDublicateItems(){
        $q = '
        select COUNT(*), id, vk_id
        from `items`
        group by `vk_id`
        having COUNT(*) > 1';
        $sql = mysql_query($q);
        
        if (mysql_num_rows($sql)){	
    	while($row = mysql_fetch_assoc($sql)){
    	    $sql2 = mysql_query('select * from `items` where `vk_id` = "'.$row['vk_id'].'" and `id` != "'.$row['id'].'"');
    	    
    	    if (mysql_num_rows($sql2)) {
    		while($row2 = mysql_fetch_assoc($sql2)) {
    		    $sql3 = mysql_query('select * from `images` where `item_id` = "'.$row2['id'].'"');
    		    
    		    if (mysql_num_rows($sql3)) {
    			while ($row3 = mysql_fetch_assoc($sql3)) {
    			    @unlink( ROOT . DS . 'uploads' . DS . 'images' . DS . $row3['name'] . '.' . $row3['ext']);
    			    mysql_query('delete from `images` where `id` = "'.$row3['id'].'"');
    			}
    		    }		    
    		    mysql_query('delete from `items` where `id` = "'.$row2['id'].'"');
    		}
    	    }
    	}
        }
    }

    удаление дубликатов

    Serious_Andy, 22 Мая 2013

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

    +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
    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
    var resizeTimer,calWidth,$BlockPath,widthLeftPart,widthRightPart,count;
    var $headBlock = $('div.hdr');
    var $rightBlock = $('li.userFullName');
    var $leftBlock = $('li.subMenu-title');
    
    $(document).ready(resizeLabels);
    $(window).resize(resizeLabels);
    
    function doResizeLabels($typeBlock) {
            count = 2;
            resultWidth = 0;
            if ($typeBlock==$leftBlock) {
                    $BlockPath=$('ul.subMenu li:not(.subMenu-title)');
            } else {
                    $BlockPath=$('ul.usersLink li:not(.userFullName)');
            };    
            $BlockPath.each(function() {
            eachPosition = $(this).position(); 
            eachWidth = $(this).width();  
            eachOuterWidth = $(this).outerWidth();
            count++;
            if ($typeBlock==$leftBlock) {
                    widthLeftPart = eachPosition.left + eachWidth;
                    widthPadding = eachOuterWidth - eachWidth;
            } else {
                    if (count==3) widthPadding = eachPosition.left;
                    widthRightPart = widthRightPart + eachOuterWidth;
            };              
            });    
            if ($typeBlock==$leftBlock) {
                    widthLeftPart = widthLeftPart + ((widthPadding / 2) * count);
                    resultWidth = headWidth/2 - widthLeftPart;
            } else {
                    rightWidth = headWidth/2 - widthRightPart;
                    resultWidth = rightWidth-(headWidth/2-widthPadding/2)/2;
            };        
            $typeBlock.width(resultWidth);
    }
    function resizeLabels() {
            $leftBlock.width(0);
            $rightBlock.width(0);
            headWidth = $headBlock.width();
            widthLeftPart = widthRightPart = 0;        
            headWidth = $headBlock.width();
            
            doResizeLabels($leftBlock);
            doResizeLabels($rightBlock);				
    };

    Serious_Andy, 30 Сентября 2011

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