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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(preg_match("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", urldecode($_POST['email']))){
        $email = urldecode($_POST['email']);
    }else{
        $email = '';
    }
    $email  = mysql_real_escape_string($email);
    $email  = strip_tags($email);

    Код на реальном проекте. Я когда увидел, расплакался от умиления.

    Troy, 21 Октября 2015

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

    +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
    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
    function Show($aMenu, $level=0)
    	{
    		$scripts = '';
    
    		$bSubmenu = (isset($aMenu["items"]) && is_array($aMenu["items"]) && !empty($aMenu["items"])) || isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true;
    		$bSectionActive = isset($aMenu["items_id"]) && (in_array($aMenu["items_id"], array_keys($this->aActiveSections)) || $this->IsSectionActive($aMenu["items_id"]));
    
    		$icon = isset($aMenu["icon"]) && $aMenu["icon"] <> ""
    			? '<span class="adm-submenu-item-link-icon '.$aMenu["icon"].'"></span>'
    //			: ($level < 1 ? '<span class="adm-submenu-item-link-icon" id="default_menu_icon"></span>' : '');
    			: '';
    		$id = 'menu_item_'.RandString(10);
    		?><div class="adm-sub-submenu-block<?=$level > 0 ? ' adm-submenu-level-'.($level+1) : ''?><?=$bSectionActive && isset($aMenu["items"]) && is_array($aMenu["items"]) && count($aMenu['items']) > 0 ? ' adm-sub-submenu-open' : ''?><?=$aMenu["_active"] ? ' adm-submenu-item-active' : ''?>"><?
    		?><div class="adm-submenu-item-name<?=!$bSubmenu ? ' adm-submenu-no-children' : ''?>" id="<?=$id?>" data-type="submenu-item"<?=isset($aMenu['fav_id']) ? ' data-fav-id="'.intval($aMenu['fav_id']).'"' : ''?>><?
    		$onclick = '';
    		if ($bSubmenu)
    		{
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && (!$aMenu["items"] || count($aMenu["items"]) <= 0))
    			{
    				$onclick = "BX.adminMenu.toggleDynSection(".$this->_get_menu_item_width($level).", this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))."', '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			}
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0)
    			{
    				$onclick = "BX.adminMenu.toggleSection(this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			} //endif;
    		}
    
    		?><span class="adm-submenu-item-arrow"<?=$level > 0 ? ' style="width:'.$this->_get_menu_item_width($level).'px;"' : ''?><?=$onclick ? ' onclick="'.$onclick.'"' : ''?>><span class="adm-submenu-item-arrow-icon"></span></span><?
    
    		if(isset($aMenu["url"]) && $aMenu["url"] <> ""):
    			?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="<?=$aMenu["url"]?>"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    		elseif ($bSubmenu):
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && !$bSectionActive && (!$aMenu["items"] || count($aMenu["items"]) <= 0)):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleDynSection(<?=$this->_get_menu_item_width($level)?>, this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))?>', '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleSection(this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			else:
    				?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    			endif;
    		else:
    			?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    		endif;
    		?></div><?
    
    		if(($bSubmenu || (isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true)) && is_array($aMenu["items"]))
    		{
    			echo  "<div class=\"adm-sub-submenu-block-children\">";
    			foreach($aMenu["items"] as $submenu)
    			{
    				if($submenu)
    				{
    					$scripts .= $this->Show($submenu, $level+1);
    				}
    			}
    			echo "</div>";
    		}

    это между прочим метод класса CAdminPage административного интерфейса 1С Битрикс.
    Адская смесь всех вэб-технологий, от которой лопаются глаза!

    nik757, 20 Октября 2015

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php $this->widget('bootstrap.widgets.TbButton', array(
       'label' => 'Экспорт в Excel',
       'type' => 'primary',
       'url' => $this->createUrl('export'),
       'htmlOptions' => array(
       'target' => '_blank',
       'onclick' => 'jQuery(this).attr(\'href\', jQuery(this).attr(\'href\').replace(/(\?.*)?$/, \'?\' + jQuery(this).closest(\'form\').serialize()))',
       //'style' => 'float:right;',
       ),
    )); ?>

    Часто пытаюсь убедить людей, что Yii говно, но мои аргументы вечно парируют.
    Как может здоровому человеку прийти в голову идея изобрести столь долбоёбский инструмент?
    И ведь весь сраный Yii пропитан подобными высерами.

    creaturemyst, 19 Октября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    
    if ($this->user->is_phone == 1 OR $this->user->is_phone == true OR $this->user->is_phone == 'true') {
        $this->smarty->assign('is_phone', 1);
    } elseif ($this->user->is_phone == 0 OR $this->user->is_phone == false OR $this->user->is_phone == 'false') {
        $this->smarty->assign('is_phone', 0);
    }

    шедевр

    $is_phone принимает значения 0, 1 или null

    m0003r, 16 Октября 2015

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($status=="active"){}else
    	{
    		echo "Account isn't active.'";
            die;
    	}

    Я думаю, в комментариях не нуждается.

    __init__, 16 Октября 2015

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

    +1

    1. 1
    define("MANAGER_SAIL", 13);

    Менеджер-парус, что непонятного?

    Super_Oleg, 15 Октября 2015

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

    +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
    <?php
    
            if ($fields['emailhide'] == "true" OR $fields['emailhide'] == true OR $fields['emailhide'] == 1) {
                $newEmail = $values['fid2'][0]['val'];
                $cond = 1;
                $this->smarty->assign('is_phone', 1);
            } elseif ($fields['emailhide'] == "false" OR $fields['emailhide'] == false OR $fields['emailhide'] == 0) {
                $newEmail = $fields['email'];
                $cond = 0;
                $this->smarty->assign('is_phone', 0);
            }
            if ($this->user->is_phone == 1 OR $this->user->is_phone == true OR $this->user->is_phone == 'true') {
                $this->smarty->assign('is_phone', 1);
            } elseif ($this->user->is_phone == 0 OR $this->user->is_phone == false OR $this->user->is_phone == 'false') {
                $this->smarty->assign('is_phone', 0);

    Продолжение предыдущего ( #18863 )

    m0003r, 15 Октября 2015

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

    +17

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ......
    $password = hash("sha256", $password);
    ......
    elseif(strlen($password) < 5)
        error("Пароль слишком короткий.");
    ......

    Necronth, 14 Октября 2015

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    
    if($emailhide == 1 OR $emailhide == true OR $emailhide == 'true'){
            ...
    }

    m0003r, 14 Октября 2015

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

    +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
    public function save() {
    		if (!empty(self::$single)) {
    			if (isset(self::$single['id'])) {
    				$id = self::$single['id'];
    				unset(self::$single['id']);
    				$arraySetters = [];
    				foreach (self::$single as $key => $value) {
    					$arraySetters[] = '`'.$key.'` = \''.$value.'\'';
    				}
    				self::$single['id'] = $id;
    				self::$exec = static::$db->prepare('UPDATE '.self::$table.' SET '.implode(', ', $arraySetters).' WHERE `id` = '.$id.' LIMIT 1');
    				return self::$exec->execute();
    			} else {
    				$arrayKeys = [];
    				$arrayValues = [];
    				foreach (self::$single as $key => $value) {
    					$arrayKeys[] = '`'.$key.'`';
    					$arrayValues[] = '\''.$value.'\'';
    				}
    				self::$exec = static::$db->prepare('INSERT INTO '.self::$table.' ('.implode(', ', $arrayKeys).') VALUES ('.implode(', ', $arrayValues).')');
    				if ($status = self::$exec->execute()) {
    					self::$single['id'] = static::$db->lastInsertId();
    				}
    				return $status;
    			}
    		}
    		return false;
    	}

    HiNeX, 12 Октября 2015

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