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

    +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
    function cleanUrl( $url ){
    	
    	$new_url = str_replace( " ", "-", $url );
    	$new_url = str_replace( "/", "-", $new_url );
    	$new_url = str_replace( "--", "-", $new_url );
    	$new_url = str_split( $new_url );
    	$new_url = preg_grep( "<[A-Za-z0-9-_]+>", $new_url );
    	$new_url = trim( implode( $new_url ) );
    	$new_url = strtolower($new_url);
    	
    	// Was still getting cases of double hyphens
    	$new_url = str_replace( "--", "-", $new_url );
    	
    	return $new_url;
    	
    }// end function - cleanUrl

    Спасаю "Говнокод.ру" пехапе шедевром.

    Yurik, 27 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    while(sizeof($data)>sizeof($head)) {
    		$data[sizeof($data)-2].=$data[sizeof($data)-1];
    		unset($data[sizeof($data)-1]);
    	}

    кусочек моего скрипта разовой работы, накиданного на скорую руку(неудивительно, что он выполнялся 2 минуты).
    думаю, всем понятен смысл этого кусочка = )

    Lure Of Chaos, 27 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    <?php
    echo "<html><head><meta http-equiv='Refresh' content='0; url=index.php'></head></html>";
    ?>

    Народ, мне сегодня на собеседовании сказали, что такой редирект - это говнокод. Эт правда?

    master_olegi, 26 Ноября 2010

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

    +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
    if (isset($items['1994-2008'])) {
    	$temp = $items['1994-2008'];
    	unset($items['1994-2008']);
    	$items['1994-2009'] = $temp;
    }
    
    ....
    
    $items = $archive+$results;
    arsort($items);
    $items = array_slice($items, 0, 4);
    foreach ($items as $key=>$arr) {
    	$content['items'][]=$arr;
    }

    $archive и $results - два массива :-)

    aleksey, 26 Ноября 2010

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

    +155

    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
    /*фрагмент из компонента*/
    $arProps = array(
    "NAMES"=>$props["NAMES"]["VALUE"],
    "DESCRIPTIONS"=>$props["DESCRIPTIONS"]["VALUE"],
    "LINKS"=>$props["LINKS"]["VALUE"],
    "IMAGES"=>$props["PICTURES"]["VALUE"],
    "URLS" => array(
    "0"=>CFile::GetPath($props["PICTURES"]["VALUE"][0]),
    "1"=>CFile::GetPath($props["PICTURES"]["VALUE"][1]),
    "2"=>CFile::GetPath($props["PICTURES"]["VALUE"][2]),
    "3"=>CFile::GetPath($props["PICTURES"]["VALUE"][3]),
    "4"=>CFile::GetPath($props["PICTURES"]["VALUE"][4]),
    ),
    );
    
    /*код из шаблона*/
    <div class="text-blocks">
    <?if($arResult["PROPS"]["DESCRIPTIONS"][0]["TEXT"]):?>
      <div id="banner_text_1" class="text curr" style="left:92px; opacity:0.8; display: block">
    <table border="0" cellpadding="0" cellspacing="0"><tr><td>
        <a href="<?=$arResult["PROPS"]["LINKS"][0]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][0]["TEXT"]?></a>
    </td></tr></table>
      </div>
    <?endif;?>
    <?if($arResult["PROPS"]["DESCRIPTIONS"][1]["TEXT"]):?>
      <div id="banner_text_2" class="text" style="left:156px; opacity:0; display: none">
    <table border="0" cellpadding="0" cellspacing="0"><tr><td>
        <a href="<?=$arResult["PROPS"]["LINKS"][1]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][1]["TEXT"]?></a>
    </td></tr></table>
      </div>
    <?endif;?>
    <?if($arResult["PROPS"]["DESCRIPTIONS"][2]["TEXT"]):?>
      <div id="banner_text_3" class="text" style="left:220px; opacity:0; display: none">
    <table border="0" cellpadding="0" cellspacing="0"><tr><td>
        <a href="<?=$arResult["PROPS"]["LINKS"][2]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][2]["TEXT"]?></a>
    </td></tr></table>
      </div>
    <?endif;?>
    <?if($arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]):?>
      <div id="banner_text_4" class="text" style="left:284px; opacity:0; display: none">
    <table border="0" cellpadding="0" cellspacing="0"><tr><td>
        <a href="<?=$arResult["PROPS"]["LINKS"][3]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]?></a>
    </td></tr></table>
      </div>
    <?endif;?>
    <?if($arResult["PROPS"]["DESCRIPTIONS"][4]["TEXT"]):?>
      <div id="banner_text_4" class="text" style="left:284px; opacity:0; display: none">
    <table border="0" cellpadding="0" cellspacing="0"><tr><td>
        <a href="<?=$arResult["PROPS"]["LINKS"][4]?>"><?=$arResult["PROPS"]["DESCRIPTIONS"][3]["TEXT"]?></a>
    </td></tr></table>
      </div>
    <?endif;?>
    </div>

    Выборка свойств картинок и последующий вывод в шаблоне (выдернуто из самописного компонента Битрикс). Писал это очень давно, вот возникла необходимость править, открыл - посмотрел - случилась истерика!!! Очевидно что такое циклы я тогда еще не подозревал))

    akovalenko, 26 Ноября 2010

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

    +148

    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
    <?
    	$optSelect['10'] = ($_REQUEST['sort_count']=='10') ? 'selected' : '';
    	$optSelect['20'] = ($_REQUEST['sort_count']=='20') ? 'selected' : '';
    	$optSelect['50'] = ($_REQUEST['sort_count']=='50') ? 'selected' : '';
    	$optSelect['all'] = ($_REQUEST['sort_count']=='all') ? 'selected' : '';
    	
    	$remParams = array('sort_count');
            //функция GetCurPageParam в битрикс возвращает путь к текущей странице с добавлением/удалением параметров (автор поста) 
    	$optValueURI['10'] = $APPLICATION->GetCurPageParam('sort_count=10', $remParams);
    	$optValueURI['20'] = $APPLICATION->GetCurPageParam('sort_count=20', $remParams);
    	$optValueURI['50'] = $APPLICATION->GetCurPageParam('sort_count=50', $remParams);
    	$optValueURI['all'] = $APPLICATION->GetCurPageParam('sort_count=all', $remParams);
    			
    	$optValue['10'] = $siteURL . $optValueURI['10'];
    	$optValue['20'] = $siteURL . $optValueURI['20'];
    	$optValue['50'] = $siteURL . $optValueURI['50'];
    	$optValue['all'] = $siteURL . $optValueURI['all'];
    ?>
    <select onChange="location=this.value">
    	<option <?=$optSelect['10']?> value="<?=$optValue['10']?>">10</option>
    	<option <?=$optSelect['20']?> value="<?=$optValue['20']?>">20</option>
    	<option <?=$optSelect['50']?> value="<?=$optValue['50']?>">50</option>
    	<option <?=$optSelect['all']?> value="<?=$optValue['all']?>">Все</option>
    </select>

    Реализация Селекта количества выводимых элементов на странице. Сайт делал топовый партнёр 1c-Bitrix.
    Я думаю, что разумнее было бы сделать так:
    $arPages = array(10, 20, 50, 'all');
    foreach ($arPages as $page) {?>
    <option <?if($page == $_REQUEST['sort_count']){?>selected<?}?>>$page</option>
    <?}?>
    Ну и для сабмита можно какую нибудь нормальную функцию в JS написать.

    Cool-Di, 26 Ноября 2010

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

    +171

    1. 1
    echo eval($myrow_res['text']);

    Выкакыш.

    Uchkuma, 26 Ноября 2010

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

    +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
    function get_existing_boxes () {
    		global $wp_meta_boxes, $more_fields;
    		$data = $wp_meta_boxes;
    		$boxes = array();
    		foreach ((array) $data as $data1) {
    			foreach ((array) $data1 as $data2) {
    				foreach ((array) $data2 as $data3) {
    					foreach ((array) $data3 as $box) {
    						 if ($title = $box['title']) {
    							 $boxes[$box['id']] = $box;
    						 }
    					}
    				}
    			}						
    		}
    		//if (is_object($more_fields)) {
    	//		$mfs = $more_fields->get_objects(array('_plugin_saved', '_plugin'));
    	//		foreach ($mfs as $mf_key => $mf) $boxes[$mf_key] = $mf;
    	//	}
    		//__d($wp_meta_boxes);
    
    		return $boxes;
    	}

    Из плагина "more-post-types" для WP

    Anderson, 25 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    function CalculateShippingCost() {
      return 20.00;
    }

    Из одного "реального" интернет-магазина!

    dwinner, 25 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // php5.1 to php4 functional, thanks for nic.ru fucked hosting
    function html_decode($str){
    	if(function_exists("htmlspecialchars_decode")){
    		return stripslashes(htmlspecialchars_decode($str, ENT_QUOTES));
    	}else{
    		return stripslashes(str_replace(array("&amp;", "&quot;", "&#039;", "&lt;", "&gt;"), array("&", "\"", "'", "<", ">"), $str));
    	}
    }

    Sunny, 25 Ноября 2010

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