1. C++ / Говнокод #16867

    +53

    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
    template <typename T, typename Mid, int N>
    	struct UselessWrapperFillMid
    	{
    		inline static void FillMid (T* t, Mid mid)
    		{
    			mid(t[0], t[N], t[N/2]);
    			UselessWrapperFillMid<T,Mid,N/2>::FillMid (&t[0]  , mid);
    			UselessWrapperFillMid<T,Mid,N/2>::FillMid (&t[N/2], mid);
    		}
    	};
    	
    	template <typename T, typename Mid> 
    	struct UselessWrapperFillMid <T, Mid, 1>
    	{
    		inline static void FillMid (T* t, Mid mid)
    		{
    			(void)t;
    			(void)mid;
    		}
    	};

    Бесит такой понос вместо нормальной рекурсии.
    Но иначе оно не развернётся в последовательность инструкций без ветвлений и вызовов.

    TarasB, 16 Октября 2014

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

    +157

    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
    class ModelCheckoutOrder extends Model { 
     public function addOrder($data) {
        $data['login']=md5(rand(0,100).rand(0,100).rand(0,100).rand(0,100).rand(0,100).rand(0,100).rand(0,100).rand(0,100).rand(0,100));
      $this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET login='".$data['login']."',invoice_prefix = '" . $this->db->escape($data['invoice_prefix']) . "', store_id = '" . (int)$data['store_id'] . "', store_name = '" . $this->db->escape($data['store_name']) . "', store_url = '" . $this->db->escape($data['store_url']) . "', customer_id = '" . (int)$data['customer_id'] . "', customer_group_id = '" . (int)$data['customer_group_id'] . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', payment_firstname = '" . $this->db->escape($data['payment_firstname']) . "', payment_lastname = '" . $this->db->escape($data['payment_lastname']) . "', payment_company = '" . $this->db->escape($data['payment_company']) . "', payment_company_id = '" . $this->db->escape($data['payment_company_id']) . "', payment_tax_id = '" . $this->db->escape($data['payment_tax_id']) . "', payment_address_1 = '" . $this->db->escape($data['payment_address_1']) . "', payment_address_2 = '" . $this->db->escape($data['payment_address_2']) . "', payment_city = '" . $this->db->escape($data['payment_city']) . "', payment_postcode = '" . $this->db->escape($data['payment_postcode']) . "', payment_country = '" . $this->db->escape($data['payment_country']) . "', payment_country_id = '" . (int)$data['payment_country_id'] . "', payment_zone = '" . $this->db->escape($data['payment_zone']) . "', payment_zone_id = '" . (int)$data['payment_zone_id'] . "', payment_address_format = '" . $this->db->escape($data['payment_address_format']) . "', payment_method = '" . $this->db->escape($data['payment_method']) . "', payment_code = '" . $this->db->escape($data['payment_code']) . "', shipping_firstname = '" . $this->db->escape($data['shipping_firstname']) . "', shipping_lastname = '" . $this->db->escape($data['shipping_lastname']) . "', shipping_company = '" . $this->db->escape($data['shipping_company']) . "', shipping_address_1 = '" . $this->db->escape($data['shipping_address_1']) . "', shipping_address_2 = '" . $this->db->escape($data['shipping_address_2']) . "', shipping_city = '" . $this->db->escape($data['shipping_city']) . "', shipping_postcode = '" . $this->db->escape($data['shipping_postcode']) . "', shipping_country = '" . $this->db->escape($data['shipping_country']) . "', shipping_country_id = '" . (int)$data['shipping_country_id'] . "', shipping_zone = '" . $this->db->escape($data['shipping_zone']) . "', shipping_zone_id = '" . (int)$data['shipping_zone_id'] . "', shipping_address_format = '" . $this->db->escape($data['shipping_address_format']) . "', shipping_method = '" . $this->db->escape($data['shipping_method']) . "', shipping_code = '" . $this->db->escape($data['shipping_code']) . "', comment = '" . $this->db->escape($data['comment']) . "', total = '" . (float)$data['total'] . "', affiliate_id = '" . (int)$data['affiliate_id'] . "', commission = '" . (float)$data['commission'] . "', language_id = '" . (int)$data['language_id'] . "', currency_id = '" . (int)$data['currency_id'] . "', currency_code = '" . $this->db->escape($data['currency_code']) . "', currency_value = '" . (float)$data['currency_value'] . "', ip = '" . $this->db->escape($data['ip']) . "', forwarded_ip = '" .  $this->db->escape($data['forwarded_ip']) . "', user_agent = '" . $this->db->escape($data['user_agent']) . "', accept_language = '" . $this->db->escape($data['accept_language']) . "', date_added = NOW(), date_modified = NOW()");
    
      $order_id = $this->db->getLastId();
    
      foreach ($data['products'] as $product) { 
       $this->db->query("INSERT INTO " . DB_PREFIX . "order_product SET order_id = '" . (int)$order_id . "', product_id = '" . (int)$product['product_id'] . "', name = '" . $this->db->escape($product['name']) . "', model = '" . $this->db->escape($product['model']) . "', quantity = '" . (int)$product['quantity'] . "', price = '" . (float)$product['price'] . "', total = '" . (float)$product['total'] . "', tax = '" . (float)$product['tax'] . "', reward = '" . (int)$product['reward'] . "'");
     
       $order_product_id = $this->db->getLastId();
    
       foreach ($product['option'] as $option) {
        $this->db->query("INSERT INTO " . DB_PREFIX . "order_option SET order_id = '" . (int)$order_id . "', order_product_id = '" . (int)$order_product_id . "', product_option_id = '" . (int)$option['product_option_id'] . "', product_option_value_id = '" . (int)$option['product_option_value_id'] . "', name = '" . $this->db->escape($option['name']) . "', `value` = '" . $this->db->escape($option['value']) . "', `type` = '" . $this->db->escape($option['type']) . "'");
       }
        
       foreach ($product['download'] as $download) {
        $this->db->query("INSERT INTO " . DB_PREFIX . "order_download SET order_id = '" . (int)$order_id . "', order_product_id = '" . (int)$order_product_id . "', name = '" . $this->db->escape($download['name']) . "', filename = '" . $this->db->escape($download['filename']) . "', mask = '" . $this->db->escape($download['mask']) . "', remaining = '" . (int)($download['remaining'] * $product['quantity']) . "'");
       } 
      }

    И это известный движок интернет-магазина OpenCart???
    \catalog\model\checkout\order.php

    govnokoder2, 16 Октября 2014

    Комментарии (7)
  3. C++ / Говнокод #16864

    +55

    1. 1
    2. 2
    // Извиняюсь, но кода не будет, только ссылка.
    // https://github.com/fruxo/turbobadger

    >> With compilers supporting C+ + 11
    Вот лично против либы ничего не имею - годная получилась. Но..
    Аффтар заучил nullptr, и считает что теперь он использует c++11.
    Епт, да эта либа спокойно собирается под vc2008, стоит только задефайнить nullptr как 0.

    Pythoner, 16 Октября 2014

    Комментарии (26)
  4. C++ / Говнокод #16863

    +53

    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
    class CClass
    {
    //...
       boost::shared_ptr<CTestData> mpTestData;
    //...
    };
    
    void CClass::setTestData(boost::shared_ptr<CTestData> pTestData)
    {
       if(pTestData.use_count() == 0)
       {
          mpTestData.reset();
       }
       else
       {
          mpTestData = pTestData;
       }
    }

    hedrok, 16 Октября 2014

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function viplogin() {
        global $lang, $userrec;
        $ret="<div class=viplogin>".array_pop($var1=mqfa("select id, mixtxt$lang from txts where name='viplogin'")).(!INADMIN?"":"<input style=\"width:35px;\" type=button class=\"changebtn\" value=\"Edit 721\" onclick=\"window.open('edit.php?table=txts&id=$var1[id]&&'+Math.random(),'_blank','toolbar=0, scrollbars=1, resizable=1, width=653, height=620');\">")."</div>".($userrec["local"] || $userrec["isadmin"]?"<a href=# onclick=\"window.open('txted.php?lang=$lang&id=$var1[id]','_blank','width=700, height=500')\">edit</a>":"");
        $ret.="<center><a href=\"".echolink("lang=$lang&page=buyvip")."\">".echoword2("buyvip")."</a></center>";
        return $ret;
    }

    как правильно логинить важных пользователей

    afwbkbc, 15 Октября 2014

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

    +156

    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
    function mydqs($s="") {
        global $dellink,$origqs;
        $dellink="";
        if (!$s) $s=$_SERVER["QUERY_STRING"];
        $key="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890 &=";
        $orig="qXbn BrZ7tiJz1Hva4mx0KCY6hfV&LGAejIO=TsdgF5E3uPwkp8NScyWlRQo2MD9U";
        $i=0;
        $len=5;
        $ret="";
        $s=urldecode($s);
        while ($i<strlen($s)) {
            $i2=0;
            $retchar=$s[$i];
            while ($i2<strlen($orig)) {
                if ($s[$i]==$orig[$i2]) {
                    $pos=$i2-$i%$len;
                    if ($pos<0) $pos+=strlen($orig);
                    $retchar=$key[$pos];
                }
                $i2++;
            }
            $i++;
            $ret.=$retchar;
        }
        $pcs=explode("&",$ret);
        foreach ($pcs as $k=>$v) {
            if ($v=="") continue;
            $vs=explode("=",$v);
            $vs[1]=str_replace("'","\\'",$vs[1]);
            @eval("global \$$vs[0];\$$vs[0]='$vs[1]';");
            if (substr($vs[0],0,1)!="_") $dellink.="&$vs[0]=$vs[1]";
        }
        $origqs=$ret;
        return $ret;
    }

    что делает этот метод?

    afwbkbc, 15 Октября 2014

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

    +156

    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
    public static function getCurrentRawDate($yesterday = false) {
    
            if ($yesterday) {
                $date = strtotime("-1 days");
            } else {
                $date = time();
            }
    
            $raw = explode("-", date("Y-m-d", $date));
    
            list($year, $month, $day) = $raw;
    
            return array(
                "year" => $year,
                "month" => $month,
                "day" => $day
            );
        }

    Самое очевидное поведение функции

    deivas, 15 Октября 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    /* Код невлазит, т.к. весит около 1MB и происходит 413 Request Entity Too Large .
    Читайте по ссылке - http://m.uploadedit.com/b041/1413367407745.txt
    Код универсален, включает в себя PHP, HTML, CSS, JS, SQL и, возможно, силу земли.
    Полностью работоспособен.
    Наслаждайтесь.
    */

    см. внутри

    afwbkbc, 15 Октября 2014

    Комментарии (66)
  9. C++ / Говнокод #16856

    +57

    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
    bool operator ==( const CClass& lhs, const CClass& rhs )
    {
       bool rc = true;
    
       // No self-comparison...
       if ( &lhs != &rhs )
       {
          // Do not compare fields if result is already false...
          if ( rc )
          {
             rc = ( lhs.frameId() == rhs.frameId());
          }
          if ( rc )
          {
             rc = ( lhs.objectId() == rhs.objectId());
          }
          if ( rc )
          {
             rc = ( lhs.type() == rhs.type() );
          }
          if ( rc )
          {
             rc = ( lhs.transition() == rhs.transition() );
          }
          if ( rc )
          {
             rc = ( lhs.rotation() == rhs.rotation() );
          }
       }
       return rc;
    }

    hedrok, 15 Октября 2014

    Комментарии (25)
  10. bash / Говнокод #16855

    −112

    1. 1
    `dirname $1`"/"`basename $1 | sed "s/\.squashfs//"`

    шелл. обрезаем расширение имени файла (заданого в $1). хергештельт ин дойчланд.

    Dummy00001, 15 Октября 2014

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