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

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

    +162

    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
    <?php
    $t1 = microtime();
    define('CMS_LOAD', TRUE);
    
    require_once('./inc/config.inc.php');
    require_once('./inc/main_fnc.inc.php');
    
    
    cms_MysqlConnect();
    unset($cms); // попутно используемые данные скрипта
    unset($vars); // $_POST, $_COOKIE, $_GET данные
    cms_RegVars();
    
    $cms['page'] = !empty($vars['page']) ? $vars['page'] : 'main';
    $cms['md_page'] = !empty($vars['md_page']) ? $vars['md_page'] : '';
    
    $cms['ESTRING'] = !get_magic_quotes_gpc() ? TRUE : FALSE;
    $cms['strpos'] = strpos($cms['page'], '_');
    
    $cms['q_page'] = mysql_query("SELECT name, ptext FROM ".CMS_PREFIX."_pages WHERE page='".cms_MysqlEStr($cms['page'])."' LIMIT 1");
    $cms['is_page'] = mysql_num_rows($cms['q_page']);
    
    
    // если в _pages нет такой страницы, перемещаем на главную
    if($cms['is_page'] > 0)
    {
    	list($cms['page_name'], $cms['page_text']) = mysql_fetch_row($cms['q_page']);
    }
    else
    {
    	header("Location: /");
    }
    mysql_free_result($cms['q_page']);
    
    if($cms['strpos'] > 0 && !empty($cms['md_page']))
    {
    	$cms['q_md_product1'] = mysql_query("SELECT name, descript2, cost FROM ".CMS_PREFIX."_productions WHERE id=".intval($cms['md_page'])." LIMIT 1");
    	
    	if(mysql_num_rows($cms['q_md_product1']) > 0)
    	{
    		list($cms['page_name'], $cms['md_prod_descr2'], $cms['md_prod_cost']) = mysql_fetch_row($cms['q_md_product1']);
    	}
    	else
    	{
    		header("Location: /");
    	}
    	
    	mysql_free_result($cms['q_md_product1']);
    }
    
    
    //edited by DEMIS [[email protected]]
    
    $cms['page_text_header'] = $cms['page_name'];

    Index.php в самописной CMS улыбает. И это только начало +)

    be3, 23 Февраля 2011

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

    +163

    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
    <?php
    include ($_SERVER["DOCUMENT_ROOT"]."/config.php");
    if (isset($_REQUEST['sub'])) //Если нажата кнопка (name="sub")
            {
    //Создаем таблицу, если ее еще не существует
       mysql_query ('CREATE TABLE IF NOT EXISTS gostivaay_ckniga (
      id int(100) NOT NULL AUTO_INCREMENT,
      stamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      GCkname varchar(20) NOT NULL,
      GCkemail varchar(40) NOT NULL,
      GCkICQ varchar(15) NOT NULL,
      GCkURL varchar(50) NOT NULL,
      GCktext varchar(2000) NOT NULL
            )')  or die(mysql_error());
     //Делаем запись в таблицу
            $sql = mysql_query("INSERT  into gostivaay_ckniga (GCkname, GCkemail, GCkICQ, GCkURL, GCktext)
            values ('".$_REQUEST['name_3']."', '".$_REQUEST['e-mail_3']."',
         '".$_REQUEST['ICQ_3']."', '".$_REQUEST['URL_3']."', '".$_REQUEST['text_box_3']."');");
            }
    ?>
    <body>
     <link rel="stylesheet" type="text/css" href="/gostivaay_ckniga/style/style_forma.css">
    <script type="text/javascript" src="/gostivaay_ckniga/script/gostivaay_ckniga_script.js"></script>
     
    <form action="gostivaay_ckniga.php"  method="post" name="test_form">
     
    <table id="table" cellspacing="0" cellpadding="2">
    .........
    <td colspan="4" id="smile_form">
            <table cellspacing="0" id="div_smile_form">
             <tr>
              <td class="kletka_2"  onclick='InsertSmile(":0001:")'><img id="smile_1" src="/images/smile/0001.gif" title=":0001:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0002:")'><img id="smile_2" src="/images/smile/0002.gif" title=":0002:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0003:")'><img id="smile_3" src="/images/smile/0003.gif" title=":0003:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0004:")'><img id="smile_4" src="/images/smile/0004.gif" title=":0004:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0005:")'><img id="smile_5" src="/images/smile/0005.gif" title=":0005:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0006:")'><img id="smile_6" src="/images/smile/0006.gif" title=":0006:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0007:")'><img id="smile_7" src="/images/smile/0007.gif" title=":0007:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0008:")'><img id="smile_8" src="/images/smile/0008.gif" title=":0008:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0009:")'><img id="smile_9" src="/images/smile/0009.gif" title=":0009:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0010:")'><img id="smile_10" src="/images/smile/0010.gif" title=":0010:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0011:")'><img id="smile_11" src="/images/smile/0011.gif" title=":0011:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0012:")'><img id="smile_12" src="/images/smile/0012.gif" title=":0012:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0013:")'><img id="smile_13" src="/images/smile/0013.gif" title=":0013:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0014:")'><img id="smile_14" src="/images/smile/0014.gif" title=":0014:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0015:")'><img id="smile_15" src="/images/smile/0015.gif" title=":0015:" /></td>
              <td class="kletka_2"  onclick='InsertSmile(":0016:")'><img id="smile_16" src="/images/smile/0016.gif" title=":0016:" /></td>
              <td class="kletka_2" onclick='InsertSmile(":0017:")'><img id="smile_17" src="/images/smile/0017.gif" title=":0017:" /></td>
             </tr>
           </table>

    qbasic, 20 Февраля 2011

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

    +158

    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 portfolio_lists($bool, $d, $str, $ids) {
    if (!isset($_GET['page']) or !is_numeric($_GET['page'])) { $page = 1; } else { $page = mysql_real_escape_string($_GET['page']); }
    $write = null;
    $sch_res_num = 0;
    $sch = 0;
        if ($bool == "personal") { $query = "SELECT * FROM `wp_posts` WHERE post_type='jh-portfolio' && post_status='publish'"; }
        if ($bool == "category") { $query = "SELECT * FROM `wp_posts` WHERE post_status='publish' && post_type='jh-portfolio' &&".$ids; }
        $sql = mysql_query($query) or die("Error ;)");
        $num = mysql_num_rows($sql);
        
        if ($bool == "personal") {
        $sql = mysql_query($str->strake($num, $d, $page, false)); } else { $sql = mysql_query($str->strake($num, $d, $page, $ids));}
        
      
        if ($num > 0) {
        while ($moar = mysql_fetch_array($sql)) {
    
        //Изображение 
        $img1 = mysql_fetch_row(mysql_query("SELECT * FROM `wp_postmeta` WHERE post_id='".$moar['ID']."' && meta_key='_jhp_main_image'"));
        $img2 = mysql_fetch_row(mysql_query("SELECT * FROM `wp_postmeta` WHERE post_id='".$img1[3]."' && meta_key='_wp_attached_file'"));
    
        //Категория принадлежности
        $cat = mysql_query("SELECT * FROM `wp_term_relationships` WHERE object_id=".$moar['ID']) or die("Error:&nbsp;".mysql_error());
        if (mysql_num_rows($cat) > 0) {
        $cat = mysql_fetch_array($cat);
        $cat = mysql_fetch_array(mysql_query("SELECT * FROM `wp_terms` WHERE term_id=".$cat[1]));
        $cat = array('id'=>$cat['term_id'], 'name'=>$cat['name']);
        $im = false;
        } else {
        $cat = array('id'=>'', 'name'=>'Other Category');
        $im = true;
        }
        if (strlen($img2[3]) > 0) {
        $connect = explode(".", $img2[3]);
        $connect = $connect[0]."-150x150.".$connect[1];
        if ($im == 0) { $w = "<a href=\"http://".URL."/?page_id=20&cat_portfolio=".$cat['id']."\" class=\"category\">".$cat['name']."</a>"; }
        if ($im == 1) { $w = "<font class=\"category\">".$cat['name']."</font>"; }
        //Запись в переменную
        $write .= "<td class=\"content_text\" ".$kr."><img src=\"http://".URL."/wp-content/uploads/".$connect."\" alt=\"\" class=\"image_portfolio\" style=\"padding-bottom: 10px;\"><br><a href=\"".$moar['guid']."\">".$moar['post_title']."</a><br>".$w."</td>"; 
        } else {
         $write .= "<td class=\"content_text\" ".$kr."><img src=\"http://".URL."/wp-content/themes/wp-framework/img/inu.png\" alt=\"Основное изображение работы не загружено\" class=\"image_portfolio\" style=\"padding-bottom: 10px;\"><br><a href=\"".$moar['guid']."\">".$moar['post_title']."</a><br>".$w."</td>";    
        }
    $sch++;
    
     if($sch == 3 or $sch == $sch_res_num+3) { $write .= "</tr><tr>"; $sch_res = true; $sch_res_num = $sch; } else { $sch_res = false; }
         } 
    print($write);
    if ($bool == "personal") { print("<tr><td class=\"content_text\">Go to page:&nbsp;".$str->strprint("personal")."</td></tr>"); }
    if ($bool == "category") { print("<tr><td class=\"content_text\">Go to page:&nbsp;".$str->strprint("category")."</td></tr>"); }
        
    if ($sch_res == false) { echo "</tr>"; }
    } else { print("<td class=\"content_text\">No projects</td></tr>"); }
     }

    Furry, 20 Февраля 2011

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

    +162

    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
    #ifdef WIN32
        string nameOfLibToLoad("C:\opt\lib\libctest.dll");
        lib_handle = LoadLibrary(TEXT(nameOfLibToLoad.c_str()));
        if (!lib_handle) {
            cerr << "Cannot load library: " << TEXT(nameOfDllToLoad.c_str()) << endl;
        }
    #else
        string nameOfLibToLoad("/opt/lib/libctest.so");
        lib_handle = dlopen(nameOfLibToLoad.c_str(), RTLD_LAZY);
        if (!lib_handle) {
            cerr << "Cannot load library: " << dlerror() << endl;
        }
    #endif

    кроссплатформенная загрузка шаренной библиотеки... может я чего то не понимаю в этой жизни, но... совершенно здесь лишний класс строки, который делает совершенно лишний вызов конструктора и добавляет совершенно лишние n-килобайт к размеру сборки...
    ссыль: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html

    ReL, 18 Февраля 2011

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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try
                {
                    splash.Close(new TimeSpan(0, 0, 0, 3, 0));
                }
                catch (Exception ex) { System.Diagnostics.Debug.WriteIf(false, ex.ToString()); }

    Вот так вот эксепшн обработал. Помню, недавно сказал такую вещь "В нашем игровом движке содержится лучший код, который я когда-либо писал" про свой игровой движок. Казалось бы, удобная имплементация, структура и принципы ООП правильно используются. Но потом я увидел ЭТО (см. выше). Надо больше спать, видимо... %)

    RaZeR, 16 Февраля 2011

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static Boolean GetAttBool(XmlNode node, string attName)
     {
         long value = GetAttLong(node, attName);
          return value == 1 ? true: false;
     }

    uaavg, 16 Февраля 2011

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

    +162

    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
    public static function perform($table, $data, $action = 'insert', $parameters = '') {
    		reset($data);
    		if ($action == 'insert') {
    			$query = 'INSERT INTO ' . $table . ' (';
    			while (list($columns, ) = each($data)) {
    				$query .= $columns . ', ';
    			}
    			$query = substr($query, 0, -2) . ') values (';
    			reset($data);
    			while (list(, $value) = each($data)) {
    				switch ((string)$value) {
    					case 'now()':
    						$query .= 'NOW(), ';
    						break;
    					case 'null':
    						$query .= 'NULL, ';
    						break;
    					default:
    						$query .= '\'' . mysql_escape_string($value) . '\', ';
    						break;
    				}
    			}
    			$query = substr($query, 0, -2) . ')';
    		} elseif ($action == 'update') {
    			$query = 'UPDATE ' . $table . ' SET ';
    			while (list($columns, $value) = each($data)) {
    				switch ((string)$value) {
    					case 'now()':
    						$query .= $columns . ' = NOW(), ';
    						break;
    					case 'null':
    						$query .= $columns .= ' = NULL, ';
    						break;
    					default:
    						$query .= $columns . ' = \'' . mysql_escape_string($value) . '\', ';
    						break;
    				}
    			}
    			$query = substr($query, 0, -2) . ' WHERE ' . $parameters;
    		}
    
    		self::request($query);
    	}

    Вот так у нас вставляют в базу :)

    wmmorgun, 15 Февраля 2011

    Комментарии (11)
  9. Pascal / Говнокод #5665

    +103

    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
    glpushmatrix;
    if ((commandflat=2)and((commandaxis=2) or(commandaxis=3)))or((commandflat=1)and(commandaxis=1)) then
     glrotatef(faza,rotation[0],rotation[1],rotation[2]);
    
      glcolor3f(kubcol[Y[2,1,1]].R,kubcol[Y[2,1,1]].G,kubcol[Y[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,1.5,1.5);
     glend;
     glcolor3f(kubcol[X[1,1,1]].R,kubcol[X[1,1,1]].G,kubcol[X[1,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(kubcol[Z[2,1,1]].R,kubcol[Z[2,1,1]].G,kubcol[Z[2,1,1]].B);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,1.5);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,0.5,1.5);
      glvertex3f(-1.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,0.5,1.5);
      glvertex3f(-1.5,0.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-0.5,1.5,1.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-0.5,0.5,1.5);
     glend;
     glcolor3f(0.5,0.5,0.5);
     glbegin(gl_quads);
      glvertex3f(-1.5,1.5,0.5);
      glvertex3f(-0.5,1.5,0.5);
      glvertex3f(-0.5,0.5,0.5);
      glvertex3f(-1.5,0.5,0.5);
     glend;
    glpopmatrix;
    ///////112

    Захотел как то кубик рубика накодить, это фрагмент модуля из 1214 строк который выводит 26 кубиков. Цвет лицевых граней берется из массива, остальные - серые.

    Dent, 14 Февраля 2011

    Комментарии (11)
  10. C++ / Говнокод #5623

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    template<class Exception>
    bool GenerateException(const Exception* const e)
    {
    	throw e;
    	delete e;
    	return true;
    }

    Продолжение цикла говнокодов про исключения из того же самого проекта.
    Проблем от неё почти нет, тк в основном исключения генерятся так:

    ExceptionТакойто e;
    GenerateException(&e);

    Говногость, 10 Февраля 2011

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

    +161

    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
    # Добавление пользователя
    	if ($_GET['action'] == "add_user" OR $_POST['action'] == "add_user"){
    		#Проверяем достаточно ли прав на добавление пользователя
    		$pal = 15;
    		if (access_level() < $pal) {
    			echo "Извените, у вас недостаточно прав для данной операции<br>";
    			echo "Ваш уровень ".access_level()." а доступ возможен только с ".$pal."<br>";
    		}
    		else{
    		echo "Уровень доступа - $pal<br>";
    		echo "<form action=\"index.php\" method=\"post\">\n";
    		echo "<select name=type><option value=1>support<option value=2>installer</select><br>";
    		echo "Логин ( первая буква имени + фамилия (en))  <input type=\"text\" name=\"add_username\"><Br> passwd <input type=\"password\" name=\"add_passwd\"><Br>\n access_level <input type=text name=access_level><br>\n";
    		echo "Полное имя (Фамилия, Имя, [Отчество]) <input type=\"text\" name=\"add_full_name\"><br>";
    		echo "Телефон (только 10 цифр, без +7, 8 и т.п.) <input type=\"text\" name=\"add_phone\"><Br>";
    		echo "<input type=\"hidden\" name=\"action\" value=\"add_user\">\n";
    		echo "<input type=\"submit\" name=\"submit\" value=\"add\"><br>\n</form>";
    
    		$add_name=mysql_real_escape_string($_POST['add_username']);
    		$add_pass=mysql_real_escape_string($_POST['add_passwd']);
    		$add_full_name=mysql_real_escape_string($_POST['add_full_name']);
    		$add_phone=mysql_real_escape_string($_POST['add_phone']);
    		$add_access_level=mysql_real_escape_string($_POST['access_level']);
    		$add_pass = md5($add_pass);
    		if($_POST['type'] == "1"){
    			echo $add_name."-".$add_pass."-".$add_access_level."<br>";
    			$sql = 'INSERT INTO `switches`.`creators` (`id`, `name`, `passwd`, `access_level`, `descr`, `creator`, `create_date`) VALUES (\'\', \''.$add_name.'\', \''.$add_pass.'\', \''.$add_access_level.'\', \'\', \''.$_SESSION['user_id'].'\', NOW());';
    			mysql_query($sql,$dbutm);
    			echo "<br>Пользователь добавлен.<Br>";
    		}
    		elseif($_POST['type'] == "2"){
    			$sql = 'INSERT INTO `switches`.`installers` (`id`, `name`, `full_name`, `passwd`, `access_level`, `descr`, `creator`, `create_date`, `phone`) VALUES (\'\', \''.$add_name.'\', \''.$add_full_name.'\', \''.$add_pass.'\', \''.$add_access_level.'\', \'\', \''.$_SESSION['user_id'].'\', NOW(), \''.$add_phone.'\');';
    			mysql_query($sql,$dbutm);
    			echo "<br>Монтажник добавлен.<Br>";
    		}
    	}
    }

    Система биллинга. Начинаю нервничать...

    Gogogo, 08 Февраля 2011

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