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

    +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
    function SortArray(&$array,$coll,$desc=false)
    {
    	global $temp;
    	if(!function_exists('SorterUp')){
    		function SorterUp($x,$y)
    		{
    			global $temp;
    			if ($x[$temp] == $y[$temp]) return 0;
    			return ($x[$temp] < $y[$temp]) ? -1 : 1;
    		}
    		function SorterDown($x,$y)
    		{
    			global $temp;
    			if ($x[$temp] == $y[$temp]) return 0;
    			return ($x[$temp] > $y[$temp]) ? -1 : 1;
    		}
    	}
    	$temp = $coll;
    	if(!$desc){
    		usort($array,'SorterUp');
    	}else{
    		usort($array,'SorterDown');
    	}
    	unset($temp);
    }

    Продолжаю цикл "Из одной русской CMS". Этот код - PHP замена ORDER BY в мускуле.

    Мартин, 17 Октября 2010

    Комментарии (24)
  2. VisualBasic / Говнокод #4372

    −99

    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
    56. 56
    57. 57
    58. 58
    59. 59
    10 DEFM 13:VAC
    20 PRINT " Генератор."
    30 FOR N=0 TO 6:Z$(N)="00000":NEXT N
    40 CSR 0,:FOR N=6 TO 0 STEP -1:FOR M=1 TO 5
    50 IF GETC(Z$(N),M)="1";DRAW M-1,N
    60 NEXT M:NEXT N
    70 DRAW X,Y:K$=KEY
    80 DRAWC X,Y:IF K$="" THEN 70
    90 IF GETC(Z$(Y),X+1)="1";DRAW X,Y
    100 IF K$="8";IF Y<6;Y=Y+1:GOTO 70
    110 IF K$="2";IF Y>0;Y=Y-1:GOTO 70
    120 IF K$="4";IF X>0;X=X-1:GOTO 70
    130 IF K$="6";IF X<4;X=X+1:GOTO 70
    140 IF K$=" " THEN 200
    150 IF K$="I" THEN 270
    160 IF K$="C" THEN 30
    170 IF K$="D" THEN 300
    175 IF K$="U" THEN 350
    180 IF K$="P" THEN 400
    185 IF K$=CHR 123 THEN 450
    190 GOTO 70
    200 A$="1"
    210 IF GETC(Z$(Y),X+1)="1";A$="0"
    220 $=Z$(Y)
    230 B$=MID(1,X)
    240 C$=MID(X+2,4-X)
    250 Z$(Y)=B$+A$+C$
    260 GOTO 70
    270 FOR N=0 TO 6:B$="":FOR M=1 TO 5
    280 IF GETC(Z$(N),M)="0";B$=B$+"1":GOTO 290
    285 B$=B$+"0"
    290 NEXT M:Z$(N)=B$:NEXT N:GOTO 40
    300 B$=Z$
    310 FOR N=0 TO 5
    320 Z$(N)=Z$(N+1)
    330 NEXT N
    340 Z$(6)=B$
    345 GOTO 40
    350 B$=Z$(6)
    360 FOR N=6 TO 1 STEP -1
    370 Z$(N)=Z$(N-1)
    380 NEXT N:Z$=B$
    390 GOTO 40
    400 FOR N=0 TO 6
    410 Z$(N+7)=Z$(N)
    420 NEXT N
    430 FOR N=0 TO 6
    440 Z$(N)=Z$(13-N)
    445 NEXT N:GOTO 40
    450 B$="":FOR N=6 TO 0 STEP -1:S=0:L=1
    460 FOR M=5 TO 1 STEP -1
    470 S=S+VAL GETC(Z$(N),M)*L
    475 L=L*2
    480 NEXT M
    490 IF S<10; B$=B$+CHR(48+S):GOTO 510
    500 B$=B$+CHR(55+S)
    510 NEXT N
    520 CSR 2:PRINT "C=";B$;
    530 GOTO 70

    Не VisualBasic, но тоже Бейсик. Программа для микрокомпьютера Электроника МК-85М. Писал ее (и еще много других) лет 10 назад.
    Подробнее о назначении программы в комментарии.

    Arigato, 16 Октября 2010

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

    −186

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select books.title,subjects.title from books,subjects,subjects_specialty,specialty,chair
    	where (books.subject_id=subjects.id)
    and (subjects.id=subjects_specialty.subject_id)
    and (subjects_specialty.specialty_id=specialty.id)
    and (specialty.chair_id=chair.id)
    and (chair.title='КИИ');

    Мой первый опыт в sql навреняка вам понравится :)

    werewolfv, 16 Октября 2010

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

    +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
    <?php
    
    session_start();
    
    // выводим верх страницы
    include 'verh.php';
    
    // проверяем данные из формы
    $error='';
    if (!preg_match('|^http://[0-9a-z\-\.]+\.[a-z]{2,4}|i', $_POST['url'])) {$error=$error."Ошибка. Не верно указан адрес сайта!<br/>";}
    if (empty($_POST['name'])) {$error=$error."Ошибка. название сайта!<br/>";}
    if ($_POST['words']!=$_SESSION['word']) {$error=$error."Ошибка. Неверно введено число!<br/>";}
    if (empty($_POST['opis'])) {$error=$error."Ошибка. описание сайта!<br/>";}
    if (!preg_match('|^[a-z0-9]{3,}$|i', $_POST['pass'])) {$error=$error."Ошибка. пароль!<br/>";}
    if (!preg_match('|^[a-z0-9\.\_\-]+\@[a-z0-9\.\_\-]+$|i', $_POST['mail'])) {$error=$error."Ошибка. Не верно указан емаил!<br/>";}
    if ( (!empty($_POST['wm'])) and (!preg_match('|R\d{12}|', $_POST['wm'])) ) {$error=$error."Ошибка. WMR-кошелек должен быть вида R111222333444<br/>";}
    if (mysql_num_rows(mysql_query("SELECT * FROM inet_sites WHERE url='$_POST[url]'"))) {$error=$error."Ошибка! Этот сайт уже зерегистрирован";}
    if (mysql_num_rows(mysql_query("SELECT * FROM inet_ban WHERE url='$_POST[url]'"))) {$error=$error."Ошибка! Этот сайт заблокирован";}

    Много всякого добра на диске валяется. Вот какой-то двиг под названием (дословно): "Скрипт каталога сайтов с системой выплат за переходы и рефералов!".
    По сути там кроме говнокода ничего нет. То, что привел - начало файла goreg.php

    Arigato, 16 Октября 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    /**
    	 * Классы символов генерируются symclass.php
    	 *
    	 * @var array
    	 */
    	protected $chClasses = array(0=>512,1=>512,2=>512,3=>512,4=>512,5=>512,6=>512,7=>512,8=>512,9=>32,10=>66048,11=>512,12=>512,13=>66048,14=>512,15=>512,16=>512,17=>512,18=>512,19=>512,20=>512,21=>512,22=>512,23=>512,24=>512,25=>512,26=>512,27=>512,28=>512,29=>512,30=>512,31=>512,32=>32,97=>71,98=>71,99=>71,100=>71,101=>71,102=>71,103=>71,104=>71,105=>71,106=>71,107=>71,108=>71,109=>71,110=>71,111=>71,112=>71,113=>71,114=>71,115=>71,116=>71,117=>71,118=>71,119=>71,120=>71,121=>71,122=>71,65=>71,66=>71,67=>71,68=>71,69=>71,70=>71,71=>71,72=>71,73=>71,74=>71,75=>71,76=>71,77=>71,78=>71,79=>71,80=>71,81=>71,82=>71,83=>71,84=>71,85=>71,86=>71,87=>71,88=>71,89=>71,90=>71,1072=>11,1073=>11,1074=>11,1075=>11,1076=>11,1077=>11,1078=>11,1079=>11,1080=>11,1081=>11,1082=>11,1083=>11,1084=>11,1085=>11,1086=>11,1087=>11,1088=>11,1089=>11,1090=>11,1091=>11,1092=>11,1093=>11,1094=>11,1095=>11,1096=>11,1097=>11,1098=>11,1099=>11,1100=>11,1101=>11,1102=>11,1103=>11,1040=>11,1041=>11,1042=>11,1043=>11,1044=>11,1045=>11,1046=>11,1047=>11,1048=>11,1049=>11,1050=>11,1051=>11,1052=>11,1053=>11,1054=>11,1055=>11,1056=>11,1057=>11,1058=>11,1059=>11,1060=>11,1061=>11,1062=>11,1063=>11,1064=>11,1065=>11,1066=>11,1067=>11,1068=>11,1069=>11,1070=>11,1071=>11,48=>337,49=>337,50=>337,51=>337,52=>337,53=>337,54=>337,55=>337,56=>337,57=>337,34=>57345,39=>16385,46=>1281,44=>1025,33=>1025,63=>1281,58=>1025,59=>1281,1105=>11,1025=>11,47=>257,38=>257,37=>257,45=>257,95=>257,61=>257,43=>257,35=>257,124=>257,);

    jevix.class.php

    hybroid, 16 Октября 2010

    Комментарии (13)
  6. Java / Говнокод #4368

    +77

    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
    public void actionPerformed(ActionEvent e) {
                System.out.println("Przed utworzeniem resultseta");
                Statement stm=null;
                try{stm = Aplikacja.dajPolaczenieDB().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);}
                catch (SQLException ex){System.out.println("Wystąpił błąd przy próbie utworzemia Statement: "+ex.getLocalizedMessage());}
                String z_sql = "SELECT id,imie FROM crm_sl_imion";
                ResultSet rs=null;
                try{rs = stm.executeQuery(z_sql);}
                catch(SQLException e1){System.out.println("Wystąpił błąd przy próbie utworzeniu ResultSet'a: "+e1.getLocalizedMessage());}
                try{
                    System.out.println("Rozpoczynam transakcje");
                    Aplikacja.dajPolaczenieDB().setAutoCommit(false);
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy probie rozpoczęcia transkacji");
                }
                String z_insert="insert into crm_sl_imion(imie) values('Zdzisek')";
                Statement stm2=null;
                try{
                   stm2 = Aplikacja.dajPolaczenieDB().createStatement();
                }catch(SQLException e1){
                   System.out.println("Wystąpił błąd przy próbie utowrzenia drugiego Stadementa: "+e1.getLocalizedMessage());
                }
                try{
                   stm2.execute(z_insert);
                }catch(SQLException e1){
                   System.out.println("Wystąpił błąd przy próbie wykonywania sql'a: "+z_insert+", błąd: "+e1.getLocalizedMessage());
                }
                try{
                    System.out.println("Odwijam transakcje");
                    Aplikacja.dajPolaczenieDB().commit();
                    Aplikacja.dajPolaczenieDB().setAutoCommit(true);
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy odwijaniu transakcji");
                }
                try{
                while(rs.next()){
                    System.out.println("id: "+rs.getString("id")+" imie: "+rs.getString("imie"));
                }
                }catch(SQLException e2){
                    System.out.println("Wystąpił błąd przy próbie odczytania danych: "+e2.getLocalizedMessage());
                }
                try{
                    stm.close();
                    System.out.println("Po zamknięciu Statement'a");
                }catch(SQLException e1){
                    System.out.println("Wystąpił błąd przy próbie zamknięcia Statement'a");
                }
            }

    xaoc, 16 Октября 2010

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

    +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
    /*
        Макрос генерирует внутренности функции-заглушки OpenGL.
    */
    #define BWT_DECLARE_OPENGL_PROC_IMPL(PROC, PROC_TYPE, ...)                                  \
        static PROC_TYPE _##PROC = 0;                                                           \
                                                                                                \
        if (_##PROC)                                                                            \
            return _##PROC(__VA_ARGS__);                                                        \
        else                                                                                    \
        {                                                                                       \
            _##PROC = TryToGetProcAddress<PROC_TYPE>(#PROC);    return _##PROC(__VA_ARGS__);    \
        }
    
    /*
        Функция получает адрес функции, или возбуждает исключение, если адрес получить не удалось.
    */
    template<typename proc_type>
    proc_type TryToGetProcAddress(const char *proc_name) throw(error_type<VIDEO>)
    {
        proc_type address = reinterpret_cast<proc_type>(::SDL_GL_GetProcAddress(proc_name));
    
        if (!address)
            BWT_THROW_VIDEO_ERROR(UNDEFINED_ERROR, "OpenGL version does not supported");
    
        return address;
    }
    
    GLAPI void APIENTRY glCullFace (GLenum mode)
    {
        BWT_DECLARE_OPENGL_PROC_IMPL(glCullFace, PFNGLCULLFACEPROC, mode);
    }
    
    ...

    ZltCity, 15 Октября 2010

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

    +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
    // Функция изменяет поле счетчика у объекта
    // $table - таблица с изменяемыми данными
    // $where - условия для отсеивания значений
    // $coll - ячейка, которая содержит счетчик
    // $val - значение, которое нужно прибавить к исходному
    function CalcCounter($table, $where, $coll, $val) {
    	global $db;
    	$db->Select($table, $where);
    	if($db->NumRows()>0){
    		$val = $db->QueryResult[0][$coll] + $val;
    		$db->Update($table,"$coll='$val'",$where);
    	}
    }

    Из ядра одной русской CMS...

    Мартин, 15 Октября 2010

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

    +166

    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
    <?
    echo "<form method=post action=subscription_create.php>";
    echo "<table width=35% border=0>";
      echo "<tr>";
        echo "<td><b><font size=2 face=arial>Create Subscription </b><br><br></td>";
        echo "<td></td>";
      echo "</tr>";
     
      echo "<tr>";
        echo "<td><font size=2 face=arial>Reference Id</td>";
       echo "<td><input type=text name=refId value=''><font size=1 face=arial> MAX = 20 chars</td>";
      echo "</tr>";
      echo "<tr>";
        echo "<td><font size=2 face=arial>Subscription Name</td>";
        echo "<td><input type=text name=name value=''></td>";
      echo "</tr>";
      echo "<tr>";
       echo "<td><font size=2 face=arial>Subscription Length</td>";
        echo "<td><input type=text name=length value=''><font size=1 face=arial> 1 - 12 or 7 - 365</td>";
      echo "</tr>";
      echo "<tr>";
    
    
    
    // и так далее...

    Взято из примеров кода http://developer.authorize.net/samplecode/ для authorize.net

    andipas, 14 Октября 2010

    Комментарии (13)
  10. Pascal / Говнокод #4364

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Program upra;
    var s:string;
    i:integer;
    begin
    writeln ('vvesti stroku');
    readln(s);
    k:=0;
    for i:=1 to length(s) do
    if s='a' then
    s:='*';
    writeln(k);
    end

    Pascal. Меняем символ "а" на звёздочку. Школота детектед!

    ZLOvar, 13 Октября 2010

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