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

    +163

    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
    if(empty($value)) {
         $empty_colls++;
         $value = $value = str_replace(" ", "", $value);
    } else {
         $haystack=mb_convert_encoding($format_value, 'UTF-8', mb_detect_encoding($format_value));
         $needle=mb_convert_encoding('грн', "windows-1251", "UTF-8");
         if (strpos($haystack, $needle)) $currency='грн';
              else {
              $needle=mb_convert_encoding('€', "windows-1251", "UTF-8");
              if (strpos($haystack, $needle)) $currency= '€';
                   else {
                   $needle=mb_convert_encoding('$USD', "windows-1251", "UTF-8");
                   if (strpos($haystack, $needle)) $currency='USD';
                   }
             }
         $value = mb_convert_encoding($value,"UTF-8", mb_detect_encoding($value));
         ...
    }

    Даже не знаю с чего больше смеяться/плакать (исходники в UTF-8) :-)

    Lowezar, 27 Апреля 2011

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

    +169

    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
    function cp1251_to_utf8 ($txt)  {
            $in_arr = array (
                chr(208), chr(192), chr(193), chr(194),
                chr(195), chr(196), chr(197), chr(168),
                chr(198), chr(199), chr(200), chr(201),
                chr(202), chr(203), chr(204), chr(205),
                chr(206), chr(207), chr(209), chr(210),
                chr(211), chr(212), chr(213), chr(214),
                chr(215), chr(216), chr(217), chr(218),
                chr(219), chr(220), chr(221), chr(222),
                chr(223), chr(224), chr(225), chr(226),
            chr(227), chr(228), chr(229), chr(184),
                chr(230), chr(231), chr(232), chr(233),
                chr(234), chr(235), chr(236), chr(237),
                chr(238), chr(239), chr(240), chr(241),
                chr(242), chr(243), chr(244), chr(245),
                chr(246), chr(247), chr(248), chr(249),
                chr(250), chr(251), chr(252), chr(253),
                chr(254), chr(255)
            );  
            $out_arr = array (
                chr(208).chr(160), chr(208).chr(144), chr(208).chr(145),
                chr(208).chr(146), chr(208).chr(147), chr(208).chr(148),
                chr(208).chr(149), chr(208).chr(129), chr(208).chr(150),
                chr(208).chr(151), chr(208).chr(152), chr(208).chr(153),
                chr(208).chr(154), chr(208).chr(155), chr(208).chr(156),
                chr(208).chr(157), chr(208).chr(158), chr(208).chr(159),
                chr(208).chr(161), chr(208).chr(162), chr(208).chr(163),
                chr(208).chr(164), chr(208).chr(165), chr(208).chr(166),
                chr(208).chr(167), chr(208).chr(168), chr(208).chr(169),
                chr(208).chr(170), chr(208).chr(171), chr(208).chr(172),
                chr(208).chr(173), chr(208).chr(174), chr(208).chr(175),
                chr(208).chr(176), chr(208).chr(177), chr(208).chr(178),
                chr(208).chr(179), chr(208).chr(180), chr(208).chr(181),
                chr(209).chr(145), chr(208).chr(182), chr(208).chr(183),
                chr(208).chr(184), chr(208).chr(185), chr(208).chr(186),
                chr(208).chr(187), chr(208).chr(188), chr(208).chr(189),
                chr(208).chr(190), chr(208).chr(191), chr(209).chr(128),
                chr(209).chr(129), chr(209).chr(130), chr(209).chr(131),
                chr(209).chr(132), chr(209).chr(133), chr(209).chr(134),
                chr(209).chr(135), chr(209).chr(136), chr(209).chr(137),
                chr(209).chr(138), chr(209).chr(139), chr(209).chr(140),
                chr(209).chr(141), chr(209).chr(142), chr(209).chr(143)
            ); 
            $txt = str_replace($in_arr,$out_arr,$txt);
            return $txt;
        }

    Перекодировка cp1251 в UTF8
    http://mihalytch.org.ua/programming/php/convert-cp1251-utf8.html

    Случайно сотрудник использовал

    hunterman, 27 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function __TTT($txt)
    {
    	if (strlen($txt) > 0)
    	{
    		$fff = fopen($_SERVER["DOCUMENT_ROOT"]."/__ttt.txt", "a");
    		fwrite($fff, $txt."\n");
    		fclose($fff);
    	}
    }

    Магическая функция битрикса, видимо, для логирования чего-то, которая нигде не используется)
    Иногда мне правда кажется, что битрикс писали школьники.. :)

    greevex, 25 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function m($s, $re)
        {
            return preg_match($re, $s);
        }
    // ... чуть пониже ...
                if (!$this->m($caching_level, '/^[012]$/')) {
                    die(__CLASS__ . "::stem_caching() - Legal values are '0','1' or '2'. '$caching_level' is not a legal value");

    telnet, 25 Апреля 2011

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

    +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
    $_i=1;
      $_stb = mysql_query("SELECT * FROM ".$admin_prefix."_catalog_title WHERE pub=1 ORDER BY sort, BINARY name");
      while($_rtb=mysql_fetch_assoc($_stb)){
        echo print_r($_rtb,2);
        $sql="SELECT * FROM ".$admin_prefix."_catalog_regions WHERE pub=1 AND region_id=0 AND (id IN (".implode(",",$_SESSION['terms']['toureastgroup_catalog_regions'])."))";
        $_s_reg=mysql_query($sql);
        while($_r_reg=mysql_fetch_assoc($_s_reg)){
            // определяем подрегионы региона
            $result_array=array();$all_current_regions_array=array();$all_current_regions_array_where=array();
            GetChildElements("region_id",$_r_reg['id'],$admin_prefix."_catalog_regions",$_SESSION['terms']['toureastgroup_catalog_regions']);
            $all_current_regions_array=$result_array;
            // добавляем сам регион
            
            $all_current_regions_array[]=$_r_reg['id'];
            // составляем условие региона
            foreach($all_current_regions_array as $v){									
              $all_current_regions_array_where[]="(region_id LIKE '%##".$v."##%')";									
            }
            $sql="SELECT * FROM ".$admin_prefix."_catalog_programms WHERE pub=1 AND title_id=$_rtb[id] AND (id IN (".$_SESSION['string_where_programms'].")) AND (".implode(" OR ",$all_current_regions_array_where).")";
            $_s_pr=mysql_query($sql);
            $_title_progs_id=array();
            while($_r_pr=mysql_fetch_assoc($_s_pr)){
              $_title_progs_id[]=$_r_pr['id'];
            }
            $_title_progs_where="(".implode(",",$_title_progs_id).")";
            
            $sql="SELECT * FROM ".$admin_prefix."_catalog_programs_tours WHERE price>0 AND start>=".(time()-36000)." AND pub=1 AND (programm_id IN ".$_title_progs_where.") ORDER BY start LIMIT 5";
            $_stours=mysql_query($sql);
            if(mysql_num_rows($_stours)>0){
                while($_rtours=mysql_fetch_assoc($_stours)){
                  echo '<pre>'.print_r($_rtours,2).'</pre>';
                  $_array_r=array();
                }
            }
       }
       $_i++;

    Простите не удержался, больше не могу раскапывать это...
    сайт ввв.toureastgroup.ру автор откликнись - плюну в лицо

    Sum, 25 Апреля 2011

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

    +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
    $posts = $db->execAndReturnAll('select `id`, `user_id`, `theme_id`, `text` from `posts` order by `id` desc limit 5');
    
    $users = array();
    $themes = array();
    $groups = array();
    
    $l = sizeof($posts);
    for($i = 0; $i < $l; ++$i)
    {
    if(!in_array($posts[$i]['user_id']), $users)
        $users[] = $posts[$i]['user_id'];
    if(!in_array($posts[$i]['theme_id']), $themes)
        $themes[] = $posts[$i]['theme_id'];
    }
    
    $users = $db->execAndReturnAll('select `id`, `nick`, `group_id` from `users` where `id` in (0,'.implode(',', $users).')');
    $themes = $db->execAndReturnAll('select `id`, `name` from `themes` where `id` in (0,'.implode(',', $themes).')');
    
    $l = sizeof($users);
    for($i = 0; $i < $l; ++$i)
    {
    if(!in_array($users[$i]['group_id']), $groups)
        $groups[] = $users[$i]['group_id'];
    }
    
    $groups = $db->execAndReturnAll('select `id`, `name` from `groups` where `id` in (0,'.implode(',', $groups).')');

    qbasic, 24 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (is_array($custom_data)) {
    	foreach ($custom_data as $key => $val) {
    		$session[$key] = $val;
    	}
    }

    хитрый план

    DrFreez, 23 Апреля 2011

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

    +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
    //было:
    	function query($sque){
    		$sque = mysql_real_escape_string($sque,$this->hdb);
    		$res = mysql_query($sque,$this->hdb);
    		if(!$res){
    			echo 'Invalid query: '.mysql_error().'; ';
    			return 0;
    		}
    		return $res;
    	}
    //добавил:
    //так как предыдущая функция иногда косячила запрос
    	function sensiblequery($sque,$arr){
    		for($i = 0; $i<count($arr); ++$i){
    			$arr[$i] = mysql_real_escape_string($arr[$i],$this->hdb);
    			$pattern = "/{var$i}/";
    			$sque = preg_replace($pattern, $arr[$i], $sque);	
    		}
    		$res = mysql_query($sque,$this->hdb);
    		if(!$res){
    			echo 'Invalid query: '.mysql_error().'; ';
    			return 0;
    		}
    		return $res;
    	}

    Такое ощущение что написал говно. Если это так подскажите как адекватней сделать...

    greshnik, 23 Апреля 2011

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

    +162

    1. 1
    2. 2
    <tr{if ($key+1)=="2" OR ($key+1)=="4" OR ($key+1)=="6" OR ($key+1)=="8" OR ($key+1)=="10" OR 
    ($key+1)=="12" OR ($key+1)=="14" OR ($key+1)=="16" OR ($key+1)=="18" OR ($key+1)=="20"} class="dark"{/if}>

    код с реального, довольно серьезного проекта) прогера называют оч толковым)

    i10k, 23 Апреля 2011

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

    +168

    1. 1
    $fails = readdir($handle);

    Не удивительно, что скрипт у автора никак не хотел работать как надо.

    Uchkuma, 22 Апреля 2011

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