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

    +141

    1. 1
    Error::add('Thank you!', 'info');

    Использование класса ошибок для простых уведомлений...

    killro0000, 01 Августа 2013

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // checklogin.php
    <?php
    
    session_start();
    
    if(!isset($_SESSION['adminlogged'])){
    exit;
    }
    
    ?>

    гулял тут по девсерверу нашей конторы...

    nonamez, 01 Августа 2013

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    class Digits {
      //Convert digits to negative
      public static function toNegative($num) {
        return '-' . $num;
      }
    }

    CRM система, очень дорогая
    ПХП хоть само по себе стремное, но я бы даже до такого не додумался
    Основная функция системы: анализ и рассчеты
    Они еще жалуются что оно плохо считает
    Интересно а что же будет если ему передать -10 например ? --10 :)
    Чем не устраивает:
    function toNegative($num) {
    return ($num > 0) ? -1 * $num : $num;
    }

    v_anonym, 31 Июля 2013

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

    +141

    1. 1
    2. 2
    3. 3
    //index.php
    
    die('+php works');

    вся суть PHP в одной строчке

    problem, 29 Июля 2013

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $rsResult = CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => $arResult['IBLOCK_ID']), false, array("UF_TEMPLATE_TYPE"));
    while ($ar = $rsResult->GetNext()) {
        if ($ar["UF_TEMPLATE_TYPE"]) {
            var_dump($ar["UF_TEMPLATE_TYPE"]);
        }
    }

    maeln0r, 26 Июля 2013

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $yandexXML==false ){
       //...
    }
    elseif( $yandexXML==true ){
       //...
    }

    не ну а вдруг как бы че

    CRRaD, 25 Июля 2013

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

    +149

    1. 1
    if('null'==$this->user_data['e_mail']) $this->user_data['e_mail']=null;

    clgs, 18 Июля 2013

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

    +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
    Class FactoryAchievesController {
        
        public static function factory($type)
        {   
            try {
                if ($type) {
                    $classname = ucfirst(strtolower($type)).'AchievesController';
                    if (require_once 'class.achieves.'.$type . '.php') {
                        return new $classname;
                    } else {
                        throw new Exception('Class '.$classname.' not found');
                    }
                } else {
                    throw new Exception('Achieves type not defined');
                }
            } catch (Exception $exc) {
                // LOG
                //echo $exc->getTraceAsString();
            }
        }
    }

    Свой классный автолоад с фаталами

    dimkich, 18 Июля 2013

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $type = isset($config['type']) ? $config['type'] : 'default';
    switch($type) {
        default:
            $blockClass = 'adminhtml/widget_grid_massaction_item_additional_default';
            break;
    }

    Magento core

    crook, 18 Июля 2013

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

    +149

    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
    if (!class_exists($module, false))
    {
    // Get content from php file
    $filepath = _PS_MODULE_DIR_.$module.'/'.$module.'.php';
    $file = trim(file_get_contents(_PS_MODULE_DIR_.$module.'/'.$module.'.php'));
    if (substr($file, 0, 5) == '<?php')
    	$file = substr($file, 5);
    if (substr($file, -2) == '?>')
    	$file = substr($file, 0, -2);
    
    // If (false) is a trick to not load the class with "eval".
    // This way require_once will works correctly
    if (eval('if (false){	'.$file.' }') !== false)
    	require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' );
    else
    	$errors[] = sprintf(Tools::displayError('%1$s (parse error in %2$s)'), $module, substr($filepath, strlen(_PS_ROOT_DIR_)));
    }

    Это оригинал кода из знаменитого Prestashop ...
    Попросили написать модуль. Долго мучался, почему валидный код не работает. Потом нашел.
    Смысл логики в строках 13-17 : мы не хотим принимать файлы модулей с eval функцией.
    Поэтому мы сначала проверяем, есть ли eval в файле.
    Как проверяем?
    А давайте его просто выполним!
    Если выполнится - тогда - require_once
    В общем я О....ЕЛ! Других слов просто нет.
    Мало того, так еще нужно следить, чтобы ваш файл модуля был валидным для eval функции.
    Иначе - Parse error: syntax error ...

    corner578, 17 Июля 2013

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