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

    +174

    1. 1
    mysql_query("TRUNCATE TABLE ".$this->mysqlTable) or die(mysql_error()) or die(mysql_error());

    Хороший киллер всегда делает контрольный выстрел.

    i--, 07 Сентября 2011

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

    +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
    private function cp1251_utf8($sInput) {
                    $sOutput = "";
                    for ( $i = 0; $i < strlen( $sInput ); $i++ )
                    {
                            $iAscii = ord( $sInput[$i] );
                            if ( $iAscii >= 192 && $iAscii <= 255 )
                                    $sOutput .=  "&#".( 1040 + ( $iAscii - 192 ) ).";";
                            else if ( $iAscii == 168 )
                                    $sOutput .= "&#".( 1025 ).";";
                            else if ( $iAscii == 184 )
                                    $sOutput .= "&#".( 1105 ).";";
                            else
                                    $sOutput .= $sInput[$i];
                    }
    
                    return $sOutput;
            }
    
            protected function utf8_strtr($str, $from, $to = '') {
                    $str = iconv('UTF-8', 'cp1251', $str);
                    $str = $to ? strtr($str, $from, $to) : strtr($str, $from);
                    return iconv('cp1251', 'UTF-8', $str);
            }
    
            public function date_rus($str) {
                    $str = str_replace('Jan', 'Янв', $str);
                    $str = str_replace('Feb', 'Фев', $str);
                    $str = str_replace('Mar', 'Мар', $str);
                    $str = str_replace('Apr', 'Апр', $str);
                    $str = str_replace('May', 'Май', $str);
                    $str = str_replace('Jun', 'Июн', $str);
                    $str = str_replace('Jul', 'Июл', $str);
                    $str = str_replace('Aug', 'Авг', $str);
                    $str = str_replace('Sep', 'Сен', $str);
                    $str = str_replace('Oct', 'Окт', $str);
                    $str = str_replace('Nov', 'Ноя', $str);
                    $str = str_replace('Dec', 'Дек', $str);
                    return $str;
            }

    пара функций из одного интересного проекта =)
    перекодировка с подвыпердоворотом, перевод даты на русский без компромисов

    fr_butch, 06 Сентября 2011

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function editSetting($group, $data, $store_id = 0) {
    	$this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$store_id . "' AND `group` = '" . $this->db->escape($group) . "'");
    	foreach ($data as $key => $value) {
    		if (!is_array($value)) {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'");
    		} else {
    			$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'");
    		}
    	}
    }

    Всё оттуда же (Open Cart).
    Оно бы вроде и ничего, если бы не id и автоинкрементом в таблице "setting". Вот так вот, каждый раз сохраняя настройки, мы прибиваем стопицот старых значений и заводим столько же совершенно новых, которые, тем не менее, в большинстве своём ничем не отличаются от старых.

    cybervantyz, 06 Сентября 2011

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

    +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
    if (isset($this->request->post['config_image_manufacturer_height'])) {
    			$this->data['config_image_manufacturer_height'] = $this->request->post['config_image_manufacturer_height'];
    		} else {
    			$this->data['config_image_manufacturer_height'] = $this->config->get('config_image_manufacturer_height');
    		}
    
    		if (isset($this->request->post['config_image_additional_width'])) {
    			$this->data['config_image_additional_width'] = $this->request->post['config_image_additional_width'];
    		} else {
    			$this->data['config_image_additional_width'] = $this->config->get('config_image_additional_width');
    		}
    		
    		if (isset($this->request->post['config_image_additional_height'])) {
    			$this->data['config_image_additional_height'] = $this->request->post['config_image_additional_height'];
    		} else {
    			$this->data['config_image_additional_height'] = $this->config->get('config_image_additional_height');
    		}
    		
    		if (isset($this->request->post['config_image_related_width'])) {
    			$this->data['config_image_related_width'] = $this->request->post['config_image_related_width'];
    		} else {
    			$this->data['config_image_related_width'] = $this->config->get('config_image_related_width');
    		}
    		
    		if (isset($this->request->post['config_image_related_height'])) {
    			$this->data['config_image_related_height'] = $this->request->post['config_image_related_height'];
    		} else {
    			$this->data['config_image_related_height'] = $this->config->get('config_image_related_height');
    		}
    		
    		if (isset($this->request->post['config_image_compare_width'])) {
    			$this->data['config_image_compare_width'] = $this->request->post['config_image_compare_width'];
    		} else {
    			$this->data['config_image_compare_width'] = $this->config->get('config_image_compare_width');
    		}

    Всего лишь небольшой кусок кода из админки OpenCart-а.
    Люди! OpenCart - гамно.

    cybervantyz, 06 Сентября 2011

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

    +146

    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
    function define_week_start_and_end($what)
    {
            $time_stamp = time();
            $cur_day = getdate($time_stamp); 
            $month_day = $cur_day['mday'];        
            $month_num = $cur_day['mon'];        
            $year_num = $cur_day['year'];        
            $day_num = $cur_day['wday'];
            if ($day_num!=0)
            {
                    $week_start = $month_day-$day_num+1;
            }
            else
            {
                    $week_start = $month_day-6;
            }
            $week_end = $week_start+6;
            $week_start_month_num = $month_num;
            $week_end_month_num = $month_num;
            $week_start_year_num = $year_num;
            $week_end_year_num = $year_num;
            
            if ($week_start < 1)
            {
                    if ($month_num == 1)
                    {
                            $week_start_year_num--;
                            $week_start_month_num = 12;
                    }
                    else
                    {
                            $week_start_month_num--;
                    }
                    $last_day_in_previous_month = 31;
                    while (!checkdate ($week_start_month_num, $last_day_in_previous_month, $week_start_year_num))
                    {
                            $last_day_in_previous_month--;
                    }
                    $week_start += $last_day_in_previous_month;
            }
    
            $last_day_in_month = 31;
            while (!checkdate ($week_start_month_num, $last_day_in_month, $week_start_year_num))
            {
                    $last_day_in_month--;
            }
    
            if ($week_end > $last_day_in_month)
            {
                    if ($month_num == 12)
                    {
                            $week_end_year_num++;
                            $week_end_month_num = 1;
                    }
                    else
                    {
                            $week_end_month_num++;
                    }
                    $week_end = $week_end-$last_day_in_month;
            }
    
            $week_start_time_stamp = gmmktime (0, 0, 0, $week_start_month_num, $week_start, $week_start_year_num);
            $week_end_time_stamp = gmmktime (23, 59, 59,  $week_end_month_num, $week_end, $week_end_year_num);
    
            if ($what == "start")
            {
                    return $week_start_time_stamp;
            }
            else if ($what == "end")
            {
                    return $week_end_time_stamp;
            }
            return NULL;
    }

    определение конца недели

    Lure Of Chaos, 05 Сентября 2011

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

    +147

    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
    function ckos() {
            $so = $_SERVER['HTTP_USER_AGENT'];
            $windowsxp = preg_match("/windows nt 5.1/i", $so);
            $windowsxp2 = preg_match("/windows xp/i", $so);
            $linux = preg_match("/linux/i", $so);
            $windowsme = preg_match("/win 9x 4.90/i", $so);
            $windowsme2 = preg_match("/windows me/i", $so);
            $windows2k = preg_match("/windows nt 5.0/i", $so);
            $windows2kb = preg_match("/windows 2000/i", $so);
            $windowsnt = preg_match("/windows nt 3.1/i", $so);
            $windowsnt2 = preg_match("/windows nt 3.5.0/i", $so);
            $windowsnt3 = preg_match("/windows nt 3.5.1/i", $so);
            $windowsnt4 = preg_match("/windows nt 4.0/i", $so);
            $windows98 = preg_match("/windows 98/i", $so);
            $windows95 = preg_match("/windows 95/i", $so);
            if ($windowsxp == 1 or $windowsxp2 == 1) {
            $sys = "Windows XP";
            } else if ($linux == 1) {
            $sys = "Linux";
            } else if ($windowsme == 1 or $windowsme2 == 1) {
            $sys = "Windows ME";
            } else if ($windows2k == 1 or $windows2kb == 1) {
            $sys = "Windows 2000";
            } else if ($windowsnt == 1 or $windowsnt2 == 1 or $windowsnt3 == 1 or $windowsnt4 == 1) {
            $sys = "Windows NT";
            } else if ($windows98 == 1 and $windowsme != 1) {
            $sys = "Windows 98";
            } else if ($windows95 == 1) {
            $sys = "Windows 95";
            } else {
            $sys = "Not identified";
            }
            return($sys);
    }

    вариация на тему броузеросниффера

    Lure Of Chaos, 05 Сентября 2011

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

    +170

    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
    <?php
    // $Id: post.php, v 1.12 2010/08/09 11:42:55 dries Exp $
    
    /**
     * Description of post
     *		Sending Email
     *
     * @author Unknown
     */
    class post {
    
    	public function send ( $email, $subject, $message, $addHeaders, $addParameters ) {
    
    		return mail($email, $subject, $message, $addHeaders, $addParameters);
    	}
    }
    ?>

    Цит: "Говорят, что сначала была нарисована какая-то картина, а потом Малевич закрасил ее в черный цвет".
    Ну мы ХОТЕЛИ нарисовать. Очень очень...

    istem, 05 Сентября 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function get_os($user_agent) 
    {    
    $oses = array ('(Windows 95)|(Win95)|(Windows_95)', '(Windows 98)|(Win98)',  '(Windows NT 5.0)|(Windows 2000)', '(Windows NT 5.1)|(Windows XP)', 'Windows NT 5.2', '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)', 'Windows ME', 'OpenBSD',   'SunOS',  '(Linux)|(X11)',   '(Mac_PowerPC)|(Macintosh)',   'QNX',  'BeOS', 'OS/2'); 
    foreach($oses as $os) 
    { 
    if (eregi($os, $user_agent)) return 'PC'; 
    } 
    return 'Mobile'; 
    }

    И снова мастер-класс по определению какую версию сайта отдать.

    И ведь хоть бы кто-то додумался, начиная писать свой костыль, думать от обратного - легче опознать телефон.

    7ion, 04 Сентября 2011

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

    +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
    <?php 
    function greeting($_lang="ru", $_offset=""){ 
        //// Функция greeting 
        //// Возвращает приветствие 
         
        // Языковые переменные 
        $lang = array( 
            'ru' => array( 
                'morning' => 'Доброе утро!', 
                'afternoon' => 'Добрый день!', 
                'evening' => 'Добрый вечер!', 
                'night' => 'Доброй ночи!' 
            ), 
            'en' => array( 
                'morning' => 'Good morning!', 
                'afternoon' => 'Good afternoon!', 
                'evening' => 'Good evening!', 
                'night' => 'Good night!' 
            ) 
        ); 
         
        if(empty($_offset)){ 
            // Если время на Вашем сервере отличается от Вашего, поменяйте сдвиг в переменной $offset 
            $_offset = 0; 
        } 
        if(empty($_lang)){ 
            // язык по умолчанию 
            $_lang = 'ru'; 
        } 
             
        // $curr_hour = текущий час 
        $curr_hour = date('G', time() + (60 * 60 * $_offset)); 
         
        if($curr_hour >= "5" && $curr_hour <= "11"){ 
            // если текущий час больше 5 и менее 11 
            return $lang[$_lang]['morning']; 
        }elseif($curr_hour >= "12" && $curr_hour <= "17"){ 
            // если текущий час больше 12 и менее 17 
            return $lang[$_lang]['afternoon']; 
        }elseif($curr_hour >= "18" && $curr_hour <= "20"){ 
            // если текущий час больше 18 и менее 20 
            return $lang[$_lang]['evening']; 
        }else{ 
            // все другие случаи 
            return $lang[$_lang]['night']; 
        } 
    } 
    ?>

    Концептуально новый серьезный подход к приветствию пользователя.

    7ion, 04 Сентября 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    .....
    include("funkcei.phps");
    .....
    if(proverka_polzavatelskih_dannblh())
        mysql_query("Create Table {$POST['imye']}($id, $POST['parol'])");
    ?>

    "Тормозит, жрет дисковое пространство"....
    Люблю вас. фрилансеры. Мне после вашего пьяного бреда голды пересыпают за исправление :3

    Но как бы там ни было, какого хрена функции хранятся в .phps?!

    AlexT, 04 Сентября 2011

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