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

    +10

    1. 1
    $output = preg_replace("/[0-9]{2}$/", ".$0", $input);

    На входе строка с числом. На выходе должно быть это число, поделенное на 100. Далее, диалог:

    [И]нтересующийся: А чем плохо просто поделить на сто?
    [Г]овнокодер: У числа могут быть нули впереди .
    [И]: Ну оно же приведется к флоату при делении
    [Г]: php > var_dump(‎‎5435353534/100);
    float(‎‎54353535.34)
    [Г]: php > var_dump(‎‎00005435353534/100);
    float(‎‎7459203.48)
    [Г]: результат должен быть как у первого

    lex, 05 Октября 2017

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

    −1

    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
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
    <div class="catalog-section">
    <?if($arParams["DISPLAY_TOP_PAGER"]):?>
    	<?=$arResult["NAV_STRING"]?><br />
    <?endif;?>
    <table cellpadding="0" cellspacing="0" border="0">
    		<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
    		<?
    		$this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"));
    		$this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_ELEMENT_DELETE_CONFIRM')));
    		?>
    		<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
    		<tr>
    		<?endif;?>
    
    		<td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%" id="<?=$this->GetEditAreaId($arElement['ID']);?>">
    
    			<table cellpadding="0" cellspacing="2" border="0">
    				<tr>
    					<?if(is_array($arElement["PREVIEW_PICTURE"])):?>
    						<td valign="top">
    						<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
    						</td>
    					<?elseif(is_array($arElement["DETAIL_PICTURE"])):?>
    						<td valign="top">
    						<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arElement["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arElement["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
    						</td>
    					<?endif?>
    					<td valign="top"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a><br />
    						<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
    							<?=$arProperty["NAME"]?>: <?
    								if(is_array($arProperty["DISPLAY_VALUE"]))
    									echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
    								else
    									echo $arProperty["DISPLAY_VALUE"];?><br />
    						<?endforeach?>
    						<br />
    						<?=$arElement["PREVIEW_TEXT"]?>
    					</td>
    				</tr>
    			</table>
    			<?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])):?>
    				<?foreach($arElement["OFFERS"] as $arOffer):?>
    					<?foreach($arParams["OFFERS_FIELD_CODE"] as $field_code):?>
    						<small><?echo GetMessage("IBLOCK_FIELD_".$field_code)?>: <?
    								echo $arOffer[$field_code];?></small><br />
    					<?endforeach;?>
    					<?foreach($arOffer["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
    						<small><?=$arProperty["NAME"]?>: <?
    							if(is_array($arProperty["DISPLAY_VALUE"]))
    								echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
    							else
    								echo $arProperty["DISPLAY_VALUE"];?></small><br />
    					<?endforeach?>
    					<?foreach($arOffer["PRICES"] as $code=>$arPrice):?>
    						<?if($arPrice["CAN_ACCESS"]):?>
    							<p><?=$arResult["PRICES"][$code]["TITLE"];?>:  
    							<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
    								<s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
    							<?else:?>
    								<span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span>
    							<?endif?>
    							</p>
    						<?endif;?>
    					<?endforeach;?>
    					<p>
    					<?if($arParams["DISPLAY_COMPARE"]):?>
    						<noindex>
    						<a href="<?echo $arOffer["COMPARE_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_COMPARE")?></a> 
    						</noindex>
    					<?endif?>
    					<?if($arOffer["CAN_BUY"]):?>
    						<?if($arParams["USE_PRODUCT_QUANTITY"]):?>
    							<form action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
    							<table border="0" cellspacing="0" cellpadding="2">
    								<tr valign="top">
    									<td><?echo GetMessage("CT_BCS_QUANTITY")?>:</td>
    									<td>
    										<input type="text" name="<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>" value="1" size="5">
    									</td>
    								</tr>
    							</table>
    							<input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="BUY">
    							<input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?echo $arOffer["ID"]?>">
    							<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."BUY"?>" value="<?echo GetMessage("CATALOG_BUY")?>">
    							<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="<?echo GetMessage("CATALOG_ADD")?>">
    							</form>
    						<?else:?>
    							<noindex>
    							<a href="<?echo $arOffer["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>
    							 <a href="<?echo $arOffer["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
    							</noindex>
    						<?endif;?>
    					<?elseif(count($arResult["PRICES"]) > 0):?>
    						...

    Пунктуация сохранена. Шаблон компонента битрикса. Шедевр лапшекода.

    neurocore, 03 Октября 2017

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $ls = explode("\n", shell_exec("ls -A"));
    foreach ($ls as $item) {
    	if ($item != 'doc2txt.php' and $item != 'nohup.out' and trim($item) != '') {
    		$dir = str_replace(
    			[' ', '(', ')', ';', '=', '<', '>', "'"],
    			['\ ', '\(', '\)', '\;', '\=', '\<', '\>', "\'"],
    			$item);
    		exec("rm -r -- $dir");
    	}
    }

    Cron
    00 20 * * * /usr/bin/php /var/www/somedir/data/scripts/doc2xml/doc2txt.php
    Allahu akbar !

    abyss, 28 Сентября 2017

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

    +2

    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
    <?
    $conf['salt'] = "8h47PODiwz"; //соль для хэширования
    $conf['crypt_steps'] = 10; //количество итерраций
    $pass = "superpass"; //ваш пароль 
    
    echo "Пароль: ".$pass." ==> ".crypto_pass($pass, $conf);
    
    function crypto_pass($pass, $conf) {
    	for($i; $i < $conf['crypt_steps']; $i++) {
    		$pass = md5(sha1($pass));
    	}
    	return $pass;
    }

    Супермегашифровагие пароля....
    Вопрос: нахрена соль?
    Нахрена оно вообще нужно?

    sslion, 27 Сентября 2017

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

    0

    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
    Как слышно из новостей, сейчас вся Украина замерла в ожидании открытия некой невъебенной национальной социальной сети от какой-то
    хитрожопой дамы, решившей попилить бабло на горячей теме. Помпезный лендинг с формой подписки расположен по адресу: http://esvoe.com/
    Путём нехитрого перебора доменов первого уровня был установлен адрес тестового сайта: http://esvoe.com.ua/
    В общем, использоваться будет готовый говнодвижок "Socialite" (увидеть можно в директории "/public/"), листинг корневых сайтов виден
    всем желающим, а при тестировании используются такие нехитрые ники, как "Твоя мамка".
    
    Порядком подзаебла тема "моих", "национальных", "монетизированных" и тому подобных "социальных сетей". Смысла тягаться с "ВКонтакте"
    и "Facebook" нет как по причине необоримой узнаваемости данных брендов, так и по причине того, что мощность их дата-центров в охулиарды
    раз превышает мощность обоссаного VDS-а за какие-нибудь псят гривенок. Все, очевидно, забыли о быстром взлёте школьной поделки "Друзi"
    на nulled-версии "Vii Engine" до уровня в сто тысяч зарегистрированных пользователей и о последующем молниеносном скатывании в кучу
    бегемотьего навоза. Также никого ничему не научила история с белорусским клоном "ВКонтакте", "VSeti.By", на который в последние годы
    всем было похуй. 
    
    А чего стоят дешёвые приманки в стиле "платим рупь за пост"...

    AnalPerOral, 24 Сентября 2017

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

    0

    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
    while($art = $obSection->GetNext()){
      
       for($k=0;$k<=($art['DEPTH_LEVEL']-2);$k++)
      //  echo "..";
      //  echo "<h4>Дома серии ".$arGor." в городе ";
      //  echo $art['NAME'].'</h4>';
    	
    		$i = 1;
    		
    		foreach($arResult["HOMES"] as $arHome)
    		{
    			
    			if($art["ID"]==$arHome["IBLOCK_SECTION_ID"]){
    				
    			if($dec=="" || $dec!=$art['NAME']){
    					echo "<h4>Дома серии ".$arGor." в городе ";
    					echo $art['NAME'].'</h4>';
    					 echo "<div class=\"korp\">";
    				$dec = $art['NAME'];
    				}
               				
    			echo '<a href="'.$arHome["DETAIL_PAGE_URL"].'">'.$arHome["PROPERTY_KORPUS_VALUE"].'</a>';
    			
    			if(count($arResult["HOMES"])>$i)
    			{
    				echo "<div class=\"last\">, </div>";
    			}
    			$i++;
    		  }
    		}
    		
    		echo "</div><br>"; 
    	
    }

    Глубокомысленный цикл for

    ZENKOT, 23 Сентября 2017

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

    +4

    1. 1
    2. 2
    3. 3
    if (preg_match('/'.preg_quote($subString).'/', $string)) {
        ...
    }

    Проверка, есть ли подстрока в строке.
    Вроде, как минимум несколько лет человек в программировании на PHP.
    Показывает опытность тем, что экранирует спецсимволы в регулярном выражении.
    А можно было использовать простейшую функцию strpos().

    zlsoft, 22 Сентября 2017

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

    +4

    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
    // ...
    if (isset($_GET["download"])) {
    	include "./download.inc.php";
    } elseif (isset($_GET["table"])) {
    	include "./table.inc.php";
    } elseif (isset($_GET["schema"])) {
    	include "./schema.inc.php";
    } elseif (isset($_GET["dump"])) {
    	include "./dump.inc.php";
    } elseif (isset($_GET["privileges"])) {
    	include "./privileges.inc.php";
    } elseif (isset($_GET["sql"])) {
    	include "./sql.inc.php";
    } elseif (isset($_GET["edit"])) {
    	include "./edit.inc.php";
    } elseif (isset($_GET["create"])) {
    	include "./create.inc.php";
    } elseif (isset($_GET["indexes"])) {
    	include "./indexes.inc.php";
    } elseif (isset($_GET["database"])) {
    	include "./database.inc.php";
    } elseif (isset($_GET["scheme"])) {
    	include "./scheme.inc.php";
    } elseif (isset($_GET["call"])) {
    	include "./call.inc.php";
    } elseif (isset($_GET["foreign"])) {
    	include "./foreign.inc.php";
    } elseif (isset($_GET["view"])) {
    	include "./view.inc.php";
    } elseif (isset($_GET["event"])) {
    	include "./event.inc.php";
    } elseif (isset($_GET["procedure"])) {
    	include "./procedure.inc.php";
    } elseif (isset($_GET["sequence"])) {
    	include "./sequence.inc.php";
    } elseif (isset($_GET["type"])) {
    	include "./type.inc.php";
    } elseif (isset($_GET["trigger"])) {
    	include "./trigger.inc.php";
    } elseif (isset($_GET["user"])) {
    	include "./user.inc.php";
    } elseif (isset($_GET["processlist"])) {
    	include "./processlist.inc.php";
    } elseif (isset($_GET["select"])) {
    	include "./select.inc.php";
    } elseif (isset($_GET["variables"])) {
    	include "./variables.inc.php";
    } elseif (isset($_GET["script"])) {
    	include "./script.inc.php";
    } else {
    	include "./db.inc.php";
    }
    // ...

    https://github.com/vrana/adminer/blob/master/adminer/index.php
    p.s хотя сама штука полезная, пару раз выручала

    alex228, 22 Сентября 2017

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

    0

    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
    if ($session_data['iam']) {
                    $newparam = $param = " AND member_gender = '" . $session_data['iam'] . "' ";
                }
    
                if ($session_data['add_title_new']) {
                    $newparam = $param = " AND member_name like '%" . $session_data['add_title_new'] . "%' ";
                }
    
                if ($session_data['i_am']) {
                    $param = " AND member_gender = '" . $session_data['i_am'] . "' ";
                }
    
                if ($session_data['looking']) {
                    $newparam .= $param .= " AND member_looking_for = '" . $session_data['looking'] . "' ";
                }
    
                if ($session_data['agefrom'] != '0' && $session_data['agefrom'] != '') {
                    $param .= " AND partner_age_range_from = '" . $session_data['agefrom'] . "' ";
                }

    Ладно, зачем-то присваивание сразу двух переменных, которые названы совершенно невнятно. Но что делает .= $param .= я вообще боюсь представить (и честно говоря лень проверять)

    gorsash, 11 Сентября 2017

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

    −2

    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
    public static function GenerateMenu()
        {
            $item = [];
            $section = self::find()->all();
            $count_section = 0;
    
            foreach ($section as $model_section) {
                $item[] = ['label' => $model_section->name, 'url' => '#'];
                $category = \common\models\Category::find()->where(['id_section' => $model_section->id])->all();
                $count_category = 0;
                foreach ($category as $model_category) {
                    $item[$count_section]['items'][$count_category] = ['label' => $model_category->name, 'url' => '#'];
                    $subcategory = \common\models\Subcategory::find()->where(['id_category' => $model_category->id])->all();
                    $count_subcategory = 0;
                    foreach ($subcategory as $model2) {
                        $item[$count_section]['items'][$count_category]['items'][$count_subcategory] = ['label' => $model2->name, 'url' => '#'];
                        $count_subcategory++;
                    }
                    $count_category++;
                }
                $count_section++;
            }
    
            return $item;
        }

    Феерическое решение для вывода tree из трех категорий.

    qstd, 09 Сентября 2017

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