1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4676

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for ($i = 0; $i < count($_FILES['att']['name']); $i++) {
      if (copy($_FILES['att']['tmp_name'][$i], "files/".$_FILES['att']['name'][$i])) {
        unlink($_FILES['att']['tmp_name'][$i]);
        chmod("files/".$_FILES['att']['name'][$i], 0644);
      }
    }

    Из той же гостевухи как и кусок примера в http://www.govnokod.ru/4660.
    Мультизагрузка файлов на сервер. Естественно, тоже пришлось до
    ума доводить.

    dwinner, 18 Ноября 2010

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

    +154

    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
    function IndexLoadRelative($nID = 0){
    // проверки
    $bCanAdd = true;
      if (empty($nID)){
       // id
       $this->_iloadNCheck($this->m_nID, 'id', $bCanAdd);
    }else{
       $this->m_nID = $nID;
    }
    
    if (!$bCanAdd){
       return false;
    }
    
    $oNewsTag = $this->CreateObject('CNewsTag');
    $arrRows = array();
    $arrRows = array_chunk($arrRows, 5);
    $arrRows = $arrRows[0];
    $this->m_arrRecords = array();
    $arrRows = $oNewsTag->LoadRelative($this->m_nID);
    //~blah blah blah~
    
    }

    Ребята. Это порнотрэш.

    Sum, 03 Ноября 2010

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

    +154

    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
    ////.....
    			// 
    			// button2
    			// 
    			this->button2->Name = L"button2";   //Кнопка с номером 2,
    			this->button2->Text = L"3";         //текстом "3"
    			            //и вызывающая обработчик кнопки 1.
    			this->button2->Click += gcnew System::EventHandler(this, &Form1::button1_Click); 
    			// 
    			// button3
    			// 
    			this->button3->Name = L"button3"; //Кнопка с номером 3,
    			this->button3->Text = L"5";       //текстом "5"
    			            //тоже вызывающая обработчик кнопки 1
    			this->button3->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
    ////.....
    #pragma endregion
    	private: System::Void button6_Click(System::Object^  sender, System::EventArgs^  e) {
    			 }
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    
    			 if (Form1::textBox1->Text=="0")
    Form1::textBox1->Text=((System::Windows::Forms::Button^ )sender)->Text;
    			 else
    				 Form1::textBox1->Text+=((System::Windows::Forms::Button^ )sender)->Text;
    		 }
    private: System::Void button17_Click(System::Object^  sender, System::EventArgs^  e) {
    			 Form1::textBox1->Text="0";
    			 m_Box=0;		 }
    private: System::Void button15_Click(System::Object^  sender, System::EventArgs^  e) {
    			 float x = float::Parse(Form1::textBox1->Text);
    
    			 m_Box = float::Parse(Form1::textBox1->Text);
    			
    			  Form1::textBox1->Text="";
    			 oper =((System::Windows::Forms::Button^)sender)->Text;
    		 }
    private: System::Void button16_Click(System::Object^  sender, System::EventArgs^  e) {
    			 float x = float::Parse(Form1::textBox1->Text);
    			
    if (oper=="+")
    m_Box+=x;
    if(oper=="-")
    m_Box-=x;
    if(oper=="*")
    m_Box*=x;
    if (oper=="/")
    m_Box /=x;
    Form1::textBox1->Text=m_Box.ToString();
    		 }
    };
    }

    Это кусок простейшего калькулятора одной девушки. Кроме всего прочего вышеописанный код составляющий единственную логику приложения находится в "Form1.h".

    nekotwi, 27 Октября 2010

    Комментарии (31)
  5. C++ / Говнокод #4339

    +154

    1. 1
    2. 2
    3. 3
    String boo =  value[i]/*.ConvertTo<String>()*/;
    std::string boovalue(boo.Value());
    st.bind(1+i, boovalue.c_str());

    hamsta, 11 Октября 2010

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

    +154

    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
    // $curr_page - старница, на который сейчас находимся
    // $n_page - число страниц
    // $count - обще число записей
    // $param - site - страницы на сайте
    //        - adm - в админке
    function genNumPage($curr_page, $n_page, $count, $param=null) {
        $string = parse_url($_SERVER['REQUEST_URI']);
        $query = '?'.$string['query'];
        $num_page = ceil($count / $n_page);
        if (isset($param))  $table = new my_Page("site/site_interface.html", "num_page");
        else                $table = new my_Page("interface/interface.html", "num_page");
        
        if ($num_page < 2) return null;
        
        for ($i = 1; $i <= $num_page; $i++) {
            if ($i != $curr_page) {
                if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $href = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.$i, $query);
                elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $href = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.$i, $query);
                elseif ($string['query'] != '')                     $href = '?'.$string['query'].'&p='.$i;
                else                                                $href = '?p='.$i;
                
                if ((!$param) || ($param == 'adm')) $str .= " <a href=".$string['host'].$string['path'].$href.">".$i."</a> ";
                else                                $str .= " <a href=".$string['host'].$string['path'].$href.">".$i."</a> | ";
            }
            elseif ((!$param) || ($param == 'adm')) $str .= "<span>".$i."</span>";
            else                                    $str .= "<span>".$i."</span> | ";
        }
        
            if ($curr_page > 1) {
            if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $prev = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.($curr_page - 1), $query);
            elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $prev = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.($curr_page - 1), $query);
            elseif ($string['query'] != '')                     $prev = '?'.$string['query'].'&p='.($curr_page - 1);
            else                                                $prev = '?p='.($curr_page - 1);;
            
            if ((!$param) || ($param == 'adm')) $prev = " <a href=".$string['host'].$string['path'].$prev." id=\"PrevLink\">&larr;</a> ";
            else                                $prev = " <a href=".$string['host'].$string['path'].$prev." id=\"PrevLink\">Предыдущая</a> ";
        }
        
        if ($curr_page < $num_page) {
            if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $next = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.($curr_page + 1), $query);
            elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $next = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.($curr_page + 1), $query);
            elseif ($string['query'] != '')                     $next = '?'.$string['query'].'&p='.($curr_page + 1);
            else                                                $next = '?p='.($curr_page + 1);;
            
            if ((!$param) || ($param == 'adm')) $next = " <a href=".$string['host'].$string['path'].$next." id=\"NextLink\">&rarr;</a> ";
            else                                $next = " <a href=".$string['host'].$string['path'].$next." id=\"NextLink\">Следующая</a> ";
        }
        
        $table->addValueArray(array(
                                    "NUM"   => $str,
                                    "PREV"  => $prev,
                                    "NEXT"  => $next
        ));
        return $table->myReplace();
    }

    Генерирует номера страниц. Из одной CMS'ки.

    netrain, 09 Сентября 2010

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

    +154

    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
    // берет запрос и делает из него массив
    	public function requestUri() {
    		if (isset($_SERVER['REQUEST_URI'])) {
    			$uri = $_SERVER['REQUEST_URI'];
    		}
    		else {
    			if (isset($_SERVER['argv'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['argv'][0];
    			}
    			elseif (isset($_SERVER['QUERY_STRING'])) {
    				$uri = $_SERVER['SCRIPT_NAME'] .'?'. $_SERVER['QUERY_STRING'];
    			}
    			else {
    				$uri = $_SERVER['SCRIPT_NAME'];
    			}
    		}
    		// Prevent multiple slashes to avoid cross site requests via the FAPI.
    		$uri = trim($uri, '/');
    		$arr = explode('/', $uri);
    		$this->queryArr = array();
    		foreach($arr as $val) {
    			$val = trim($val);
    			if($val != '') $this->queryArr[] = $val;
    		}
    
    		return $uri;
    	}

    Такая вот реализация разбора "красивого" uri

    rudolff, 07 Августа 2010

    Комментарии (6)
  8. C++ / Говнокод #3473

    +154

    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
    //TransFunc.h
    
    //Девиз
    #ifndef MyOwn
    #define MyOwn
    #define Blackjack J♠
    #define Hookers
    #endif
    
    class TransferFunction
    {
    private:
      //...
      class Polynom
      {
        Polynom(TransferFunction * Base);  //Ссылка на базовый класс обязательна!
        //...
      }
      Polynom *Numerator, *Denominator;
    
      //...
    
      class TransferProcess
      {
        TransferProcess(TransferFunction * Base); //Ну куда же я без него...
        DynamicArray<double> TransGraphic;  //Данные графика.
        //...
      }
      TransferProcess * TrancProc;
    
      //...
    
      class SystemOptimisator
      {
        SystemOptimisator(TransferFunction * Base); //Именно так и никак иначе.
        TransferFunction * TempFunction;  //Это я так, на всякий случай...
        Polynom *Backup_Numerator, *Backup_Denominator;
        DynamicArray<Polynom> CorrectingDevice;  //А чо? Работает ведь...
        //...
      }
      SystemOptimisator * Opt;
    
    //Тут ещё классы "Matrix", "Vector", "Report"  и многие другие.
    
    publuc:
      TransferFunction();
      ~TransferFunction();
      void Optimize();
    };

    Краткость - сестра таланта:-)
    Захотелось мне удивить преподавателя (в программировании он не особо подкован (впрочем, как и я :-) )) короткой и простой "программой". Оно работало, до определенного момента, когда я попытался вставить ещё один класс... Потом я, конечно, всё переписал, по-человечески структурировав и избавившись от DynamicArray, но эти грабли я запомнил на всю жизнь.

    maniac, 14 Июня 2010

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function nameFilter(str){
    
    		var re = /^(oxypit|Штемп|хуй|пиде|пидр|пидо|пида|гыы|Techn|PIZDA)/i
    		if (re.test(str)) return true; else return false;
    
    }

    hromjo, 12 Июня 2010

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

    +154

    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
    <?
    function clearComma($str)
    {
      $str = preg_replace("#(,|\.|-|\/|:|;|\"|'|\?|\(|\)|\\|*)#", '', $str);
      return $str;
    }
    function generate($bold_o, $bold_c)
    {
      $art = file_get_contents('article.txt');
      $voc_str_mass = file('voc.txt');
      $key = file('key.txt');
      foreach ($key as $word)
      {
        $keys[] = trim($word);
      }
      foreach ($voc_str_mass as $voc_str)
      {
        $voc[] = explode("\t", trim($voc_str));
      }
      $words_massive = explode(' ', clearComma($art));
      foreach ($words_massive as $word)
      {
        if (strlen($word) > 3)
        {
          foreach ($voc as $check)
          {
            if (in_array($word, $check) && $word != 'keyword')
            {
              $c = count($check);
              $art = str_replace($word, $check[rand(0, $c - 1)], $art);
            }
          }
        }
      }
      $art_mass = explode(' ', $art);
      foreach ($art_mass as $string)
      {
        $art_out .= str_replace('keyword', $bold_o . $keys[rand(0, count($keys) - 1)] . $bold_c, $string) . ' ';
      }
      return $art_out;
    }
    //echo(generate('<b>', '</b>'));
    //exit();
    $tpl_mass = file("tpl.tpl");
    foreach ($tpl_mass as $tpl_string)
    {
      $template .= str_replace('{GENERATE}', generate('<b>', '</b>'), $tpl_string);
    }
    //$date = date(d).'-'.date(m).'-'.date(Y).'_'.date(H).'-'.date(i).'-'.date(s);
    $handle = fopen($date . '_generated.html', "w");
    fwrite($handle, $template);
    fclose($handle);
    ?>

    ну тут тока матом если...

    пгуые, 20 Августа 2009

    Комментарии (7)
  11. JavaScript / Говнокод #1607

    +154

    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
    var ratingid=where+id+"rating";
    			document.getElementById(ratingid).innerHTML="Представьте, что курсор мышки превратился в часики";
    			xmlhttp.open("GET", "/"+where+"/"+act+"/"+id+"?reqt=update", true);
    			xmlhttp.onreadystatechange = function() {
            		    if (xmlhttp.readyState == 4) {
                			if(xmlhttp.status == 200) {
                    		    if(xmlhttp.responseText.substring(0,2) == "OK") {
                            		s=xmlhttp.responseText.search(/!RATING!/i)+8;
                                            e=xmlhttp.responseText.search(/!ERATING!/i);
                        			document.getElementById(ratingid).innerHTML=xmlhttp.responseText.substring(s,e);
                			    }
            			}
        			    }
    			};

    "Представьте, что вы - Властелин Вселенной, а курсор мышки - часики"

    xaionaro, 17 Августа 2009

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