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

    +65

    1. 1
    $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

    Opencart, catalog/model/catalog/product.php

    Они что издеваются? А я-то думаю что у меня ложит mysql сервер на колени...

    fooser, 12 Ноября 2012

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

    +49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if($model->validate(array('code')))
    {
    	$model->addError('code', 'Введен неверный код купона. Купон с таким кодом уже существует.');
    }
    else
    {
    	if($model->save())
    	{
    		$this->redirect(array('view','id'=>$model->id));
    	}
    }

    sleeper, 12 Ноября 2012

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

    +51

    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
    <?php
    
    $person = new stdClass();
    
    $person->create = function (array $data) use (& $person) {
        foreach ($data as $property => $value) {
            if (empty($person->{$property})) {
                $person->{$property} = $value;
            }
        };
    };
    
    $person->info = function () use (& $person) {
        echo "My name is $person->name and I'm an $person->age years old";
    };
    
    
    $person->create->__invoke(array(
        'name' => 'John', 
        'age' => 42,
    ));
    
    $person->info->__invoke();
    
    ?>

    __proto__, 11 Ноября 2012

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

    +54

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $res = mysql_query("SELECT * FROM `users`");
    while ($arr = mysql_fetch_assoc($res))
    {
    	$res1 = mysql_query("SELECT * FROM `cabinet_users` WHERE `nick`='$arr[user]'");
    	$arr1 = mysql_fetch_assoc($res1);
            ...
    }

    JOIN'ы для слабаков.

    UnnamedUser, 10 Ноября 2012

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    if (trim((string) $_GET['tag'])) {
        $current = $conn->fetchAll("SELECT LOWER('" . (string) $_GET['tag'] . "') as `tag`");
        $current = $current[0]['tag'];
    }

    UnnamedUser, 09 Ноября 2012

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

    +45

    1. 1
    2. 2
    3. 3
    $parts = preg_replace('~[^0-9a-z-/]~', '',  parse_url( $_SERVER['REQUEST_URI'] , PHP_URL_PATH ) );
    $parts = explode('/', $parts );
    $parts = array_values( array_filter( $parts, function( $var ){ return !empty( $var ); } ) );

    функциональность пхп развращает
    вместо array_filter с callback-ом можно было обработать строку trim($parts, '/');
    если уж array_filter, то в данном случае прокатит и array_filter( $parts, 'strlen' );
    это хотя бы не потребует обновления до версии 5.3

    shitcoder, 09 Ноября 2012

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

    +43

    1. 1
    2. 2
    3. 3
    4. 4
    public static function create(AdGroupVO $vo)
    {
        UtilLog::debug('FUCK');
        ...

    avixyu, 08 Ноября 2012

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

    +39

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
      exit;
    }

    jQuery, 07 Ноября 2012

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

    +142

    1. 1
    require_once __DIR__ . '/composer' . '/autoload_real.php';

    Symfony 2

    prodigy, 07 Ноября 2012

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

    +41

    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
    ....
    <table border="0" cellspacing="0" cellpadding="1">
    	<tr>
    		<td width="45%" valign="top">
    			<?if($arResult["AUTH"]["new_user_registration"]=="Y"):?>
    				<b><?echo GetMessage("STOF_2REG")?></b>
    			<?endif;?>
    		</td>
    		<td width="10%"> </td>
    		<td width="45%" valign="top">
    			<?if($arResult["AUTH"]["new_user_registration"]=="Y"):?>
    				<b><?echo GetMessage("STOF_2NEW")?></b>
    			<?endif;?>
    		</td>
    	</tr>
    	<tr>
    ....

    наткнулся в Битриксе, в шаблоне стандартного компонента sale.order.full
    Видимо не судьба одной проверкой <?if($arResult["AUTH"]["new_user_registration"]=="Y"):?> исключить всю строку <tr>...</tr>

    Freewww, 07 Ноября 2012

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