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

    В номинации:
    За время:
  2. Куча / Говнокод #28029

    −2

    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
    Так в языке
    
    
    Не должно быть макросов и прочей кодогенерации, т.к. вся информация о зависимых типах должна быть доступна на этапе компиляции. 
    Вся рефлексия должна быть выполнима на этапе компиляции. Generic'и в топку...
    
    Не должно быть линковки в привычном её понимании — JIT/AOT должен уметь пересобрать с PGO любой отпрофилированный код и выбрать наилучшую реализацию по существующему профилю.
    
    Язык должен быть гомоиконным и строго типизированным (типизированные Lisp'ы 98го года и Shift, например), желательно что бы легко приводился к каноническим минимальным mSSA/aSSA формам без дополнительных трансформаций и свёртки.
    
    Во время компиляции должны быть доступны диапазоны всех принимаемых переменной значений, например http статус от 200 до 600 и т.п., что бы компилятор мог выбрать конкретную размерность типа в зависимости от архитектуры и использовать соответствующий набор команд. Наличие диапазонов очень упрощает обработку ошибок и освобождение/планировку соответствующих ресурсов (сокеты, файлы и прочее).
    
    Желательно использовать зависимые типы для формальной верификации и доказывать прувером отсутствие побочки на всех диапазонах принимаемых значений.

    какой багор))

    kcalbCube, 17 Февраля 2022

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function extend<T, U>(first: T, second: U): T & U {
      let result = <T & U>{};
      return result;
    }
    
    function main()
    {
    	const x = extend({ a: "hello" }, { b: 42 });
    	const s = x.a;
    	const n = x.b;
    }

    эта неделя выдалась продуктивной на говнокоды. Ну ну ну... даже и не знаю что сказать по поводу С/C++

    ASD_77, 16 Февраля 2022

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

    0

    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
    class Solution
    {
    public:
    
        ListNode *reverseList1(ListNode* head){
            for (int i=1;i<6;i++) {
                head = new ListNode(1);
                head->val=i;
                head->next=last;
                printf("%d->",head->val);
            }
            printf("NULL");
    
        }
        ListNode *reverseList2(ListNode* head){
                head = nullptr;
                head = new ListNode(5);
                head->val = 5;
                printf("%d->",head->val);
                head->next = new ListNode(4);
                head->next->val=4;
                printf("%d->",head->next->val);
                head->next->next = new ListNode(3);
                head->next->next->val = 3;
                printf("%d->",head->next->next->val);
                head->next->next->next = new ListNode(2);
                head->next->next->next->val=2;
                printf("%d->",head->next->next->next->val);
                head->next->next->next->next = new ListNode(1);
                head->next->next->next->next->val=1;
                printf("%d->",head->next->next->next->next->val);
                head->next->next->next->next->next = nullptr;
                printf("NULL");
        }
    
    };

    От "разработчика" требовалось реализовать функции обращения связанного списка двумя способами.
    Занавес

    HMMMM, 03 Февраля 2022

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function test<T>(t: T) {
        return t;
    }
    
    function main() {
        print(test<number>(11), test<string>("Hello1"));
        print("done.");
    }

    Продолжаем генерить говно... ну вот подъехали первые генерики для функций... толи еще будет гимороя :)

    ASD_77, 08 Января 2022

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

    +2

    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
    namespace fooX.bar.baz {
        export class A {
            foo() {
                glb1++
            }
        }
        export function b() {
            glb1++
            glb1++
        }
    }
    
    import bz = fooX.bar.baz
    import AA = fooX.bar.baz.A
    function testImports() {
        glb1 = 0
        bz.b()
        let x = new AA()
        x.foo()
        assert(glb1 == 3, "imports")
    }
    
    function main()
    {
      testImports()
    }

    Даже и не знаю, что вам тут еще наговнокодить... вот работаю над неймспейсами ..

    ASD_77, 29 Июня 2021

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

    0

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    (((UU)M[(((UU)c&255)<<16)+(UU)((U)(a+2))])<<8)+\
    											((UU)M[(((UU)c&255)<<16)+(UU)((U)(a+3))])\
    											)
    #define write_byte(v,d)M[d]=v;
    #define write_2bytes(v,d)	M[d]=					(v)>>8;\
    							M[((d)+1)&0xFFffFF]=	(v)&255;
    #define write_4bytes(v,d)	M[((d))&0xFFffFF]=		(v)>>24;\
    							M[((d)+1)&0xFFffFF]=	(v)>>16;\
    							M[((d)+2)&0xFFffFF]=	(v)>>8;\
    							M[((d)+3)&0xFFffFF]=	(v)&255;
    #define D ;switch(CONSUME_BYTE){k 0:goto G_HALT;k 1:goto G_LDA;k 2:goto G_LA;k 3:goto G_LDB;k 4:goto G_LB;k 5:goto G_SC;k 6:goto G_STA;k 7:goto G_STB;\
    k 8:goto G_ADD;k 9:goto G_SUB;k 10:goto G_MUL;k 11:goto G_DIV;k 12:goto G_MOD;k 13:goto G_CMP;k 14:goto G_JMPIFEQ;k 15:goto G_JMPIFNEQ;\
    k 16:goto G_GETCHAR;k 17:goto G_PUTCHAR;k 18:goto G_AND;k 19:goto G_OR;k 20:goto G_XOR;k 21:goto G_LSHIFT;k 22:goto G_RSHIFT;k 23:goto G_ILDA;\
    k 24:goto G_ILDB;k 25:goto G_CAB;k 26:goto G_AB;k 27:goto G_BA;k 28:goto G_ALC;k 29:goto G_AHC;k 30:goto G_NOP;k 31:goto G_CBA;\
    k 32:goto G_LLA;k 33:goto G_ILLDA;k 34:goto G_LLB;k 35:goto G_ILLDB;k 36:goto G_ILLDAA;k 37:goto G_ILLDBB;k 38:goto G_ILLDAB;k 39:goto G_ILLDBA;\
    k 40:goto G_CA;k 41:goto G_CB;k 42:goto G_AC;k 43:goto G_BC;k 44:goto G_ISTA;k 45:goto G_ISTB;k 46:goto G_ISTLA;k 47:goto G_ISTLB;\
    k 48:goto G_JMP;k 49:goto G_STLA;k 50:goto G_STLB;k 51:goto G_STC;k 52:goto G_PUSH;k 53:goto G_POP;k 54:goto G_PUSHA;k 55:goto G_POPA;\
    k 56:goto G_ASTP;k 57:goto G_BSTP;k 58:goto G_COMPL;k 59:goto G_CPC;k 60:goto G_CALL;k 61:goto G_RET;k 62:goto G_FARILLDA;k 63:goto G_FARISTLA;\
    k 64:goto G_FARILLDB;k 65:goto G_FARISTLB;k 66:goto G_FARPAGEL;k 67:goto G_FARPAGEST;k 68:goto G_LFARPC;k 69:goto G_FARCALL;k 70:goto G_FARRET;k 71:goto G_FARILDA;\
    k 72:goto G_FARISTA;k 73:goto G_FARILDB;k 74:goto G_FARISTB;\
    k 75:goto TB;k 76:goto TC;k 77:goto TD;k 78:goto TE;k 79:goto TF;\
    k 80:goto U0;k 81:goto U1;k 82:goto U2;k 83:goto U3;k 84:goto U4;k 85:goto U5;k 86:goto U6;k 87:goto U7;\
    k 88:goto U8;k 89:goto U9;k 90:goto UA;k 91:\
    goto G_ALPUSH;k 92:goto G_BLPUSH;k 93:goto G_CPUSH;k 94:goto G_APUSH;k 95:goto G_BPUSH;\
    k 96:goto G_ALPOP;k 97:goto G_BLPOP;k 98:goto G_CPOP;k 99:goto G_APOP;k 100:goto G_BPOP;\
    k 101:goto G_INTERRUPT;k 102:goto G_CLOCK;\
    k 103:goto G_ARX0;\
    k 104:goto G_BRX0;k 105:goto V9;k 106:goto VA;k 107:goto VB;k 108:goto VC;k 109:goto VD;k 110:goto VE;k 111:goto VF;\
    k 112:goto W0;k 113:goto W1;k 114:goto W2;k 115:goto W3;k 116:goto W4;k 117:goto W5;k 118:goto W6;k 119:goto W7;\
    k 120:goto W8;k 121:goto W9;k 122:goto WA;k 123:goto WB;k 124:goto WC;k 125:goto WD;k 126:goto WE;\
    k 127:goto WF;\
    k 128:goto X0;k 129:goto X1;k 130:goto X2;k 131:goto X3;k 132:goto X4;\
    k 133:goto X5;k 134:goto X6;k 135:goto X7;k 136:goto X8;k 137:goto X9;\
    k 138:goto XA;k 139:goto XB;k 140:goto XC;k 141:goto XD;k 142:goto XE;k 143:goto XF;\
    k 144:goto Y0;k 145:goto Y1;k 146:goto Y2;k 147:goto Y3;\
    k 148:goto Y4;k 149:goto Y5;k 150:goto Y6;k 151:goto Y7;k 152:goto Y8;k 153:goto Y9;\
    k 154:goto YA;k 155:goto YB;k 156:goto YC;k 157:goto YD;\
    k 158:goto YE;k 159:goto YF;\
    k 160:goto Z0;k 161:goto Z1;k 162:goto Z2;k 163:goto Z3;\
    k 164:goto Z4;k 165:goto Z5;k 166:goto Z6;k 167:goto Z7;\
    k 168:goto Z8;k 169:goto Z9;k 170:goto ZA;\
    k 171:k 172:k 173:k 174:k 175:k 176:k 177:\
    k 178:k 179:k 180:k 181:k 182:k 183:k 184:k 185:k 186:k 187:\
    k 188:k 189:k 190:k 191:k 192:k 193:k 194:k 195:k 196:k 197:\
    k 198:k 199:k 200:k 201:k 202:k 203:k 204:k 205:k 206:k 207:\
    k 208:k 209:k 210:k 211:k 212:k 213:k 214:k 215:k 216:k 217:\
    k 218:k 219:k 220:k 221:k 222:k 223:k 224:k 225:k 226:k 227:\
    k 228:k 229:k 230:k 231:k 232:k 233:k 234:k 235:k 236:k 237:\
    k 238:k 239:k 240:k 241:k 242:k 243:k 244:k 245:k 246:k 247:\
    k 248:k 249:k 250:k 251:k 252:k 253:k 254:k 255:goto G_NOP;}
    int e(){
    register u program_counter_region=0;register U a=0,b=0,c=0,program_counter=0,stack_pointer=0; 
    register UU RX0=0,RX1=0,RX2=0,RX3=0;R=0;di();
    G_NOP:D
    G_HALT:dcl();return 0;
    G_AND:a&=b;D
    G_OR:a|=b;D
    G_XOR:a^=b;D
    G_GETCHAR:a=gch()D
    G_PUTCHAR:pch(a)D
    G_LSHIFT:a<<=b&15;D
    G_RSHIFT:a>>=b&15;D
    G_ILDA:a=r(c)D
    G_ILDB:b=r(c)D
    G_CAB:c=((a&255)<<8)+(b&255)D
    G_AB:a=b;D
    G_BA:b=a;D
    G_ALC:a=c&0xff;D
    G_AHC:a=(c>>8)&255;D
    G_CBA:c=((b&255)<<8)+(a&255)D
    G_LLA:a=CONSUME_TWO_BYTES;D
    G_ILLDA:a=Z_READ_TWO_BYTES_THROUGH_C;D

    I'm back with more ogvnokod!

    jangolare, 19 Мая 2021

    Комментарии (7)
  8. Куча / Говнокод #27372

    0

    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
    -export([parse_transform/2, abstract/2]).
    
    parse_transform(Forms, _Options) ->
      normal(Forms).
    
    normal({call, _Line, {atom, _, '$$'}, [Outer]}) ->
      case Outer of
        {'fun', _, {clauses, Quoted}} ->
          %% Remove outer `fun' and only leave its clauses:
          ok;
        Quoted ->
          %% A plain term has been quoted, leave it as is:
          ok
      end,
      Result = abstract(Quoted),
      %% io:format("Quoted block ~p~n", [Result]),
      Result;
    normal(L) when is_list(L) ->
      lists:map(fun normal/1, L);
    normal(T) when is_tuple(T) ->
      list_to_tuple(lists:map(fun normal/1, tuple_to_list(T)));
    normal(T) ->
      T.
    
    -define(line, 0).
    
    %% @doc Create AST of the AST
    abstract({call, _Line, {atom, _, '$'}, [Splice]}) ->
      normal(Splice);
    abstract(Orig = {var, Line, VarName}) ->
      case lists:suffix("__AST", atom_to_list(VarName)) of
        true ->
          Orig;
        false ->
          {tuple, ?line, [ {atom, ?line, var}
                         , {integer, ?line, Line}
                         , {atom, ?line, VarName}
                         ]}
      end;
    abstract(T) when is_tuple(T) ->
      {tuple, ?line, lists:map(fun abstract/1, tuple_to_list(T))};
    abstract([]) ->
      {nil, ?line};
    abstract([Hd|Tail]) ->
      {cons, ?line, abstract(Hd), abstract(Tail)};
    abstract(A) when is_atom(A) ->
      {atom, ?line, A};
    abstract(I) when is_integer(I) ->
      {integer, ?line, I}.

    Мета-метушня, убогое подобие лисповского квотирования.

    CHayT, 23 Апреля 2021

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

    0

    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
    type
    .....
    TSyncParamsPasser = class
       PassedJSON:String;
       constructor Create(RJS:String);
       procedure ProcessExternalCmd;
      end;
    .....
    .....
    procedure TForm1.TCPServerExecute(AContext: TIdContext);
    begin
    .....
       SyncParamsPasser:=TSyncParamsPasser.Create(CustomData);
       TIdSync.SynchronizeMethod(SyncParamsPasser.ProcessExternalCmd);
       FreeAndNil(SyncParamsPasser);
    .....
    end;
    .....
    constructor TSyncParamsPasser.Create(RJS:String);
    begin
     PassedJSON:=RJS;
    end;
    
    procedure TSyncParamsPasser.ProcessExternalCmd;
    var
     JSON:TJSONObject;
    begin
     JSON:=TJSONObject.ParseJSONValue(PassedJSON) as TJSONObject;
    .....

    Событие OnExecute компонента TCPServer вызывается из рабочего потока, в котором обрабатывается входящее подключение.

    Способ передачи параметров в процедуру, выполняющуюся внутри Synchronize, с помощью класса.
    Говно или сойдёт?

    SmseR, 16 Марта 2021

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

    +1

    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
    Запрос = Новый Запрос;
    	Запрос.УстановитьПараметр("Регистратор",              ЭтотОбъект.Отбор.Регистратор.Значение);
    	Запрос.УстановитьПараметр("НачалоПериода",            ЭтотОбъект.Отбор.Регистратор.Значение.МоментВремени());
    	Запрос.УстановитьПараметр("КонецПериода",             ЭтотОбъект.Отбор.Регистратор.Значение.МоментВремени());
    
    	Запрос.Текст = 
    	"ВЫБРАТЬ
    	|	ТаблицаСоставаДокумента.Склад,
    	|	ТаблицаСоставаДокумента.Номенклатура,
    	|	ТаблицаСоставаДокумента.Качество,
    	|	ТаблицаСоставаДокумента.ХарактеристикаНоменклатуры,
    	|	ТаблицаСоставаДокумента.СерияНоменклатуры
    	|ПОМЕСТИТЬ ВТ_Состава_Документа
    	|ИЗ
    	|	&ТаблицаСоставаДокумента КАК ТаблицаСоставаДокумента
    	|;
    	|
    	|////////////////////////////////////////////////////////////////////////////////
    	|ВЫБРАТЬ
    	|	СвободныеОстаткиОстаткиИОбороты.Склад,
    	|	СвободныеОстаткиОстаткиИОбороты.Номенклатура,
    	|	СвободныеОстаткиОстаткиИОбороты.Качество,
    	|	СвободныеОстаткиОстаткиИОбороты.ХарактеристикаНоменклатуры,
    	|	СвободныеОстаткиОстаткиИОбороты.СерияНоменклатуры,
    	|	СвободныеОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток,
    	|	СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток
    	|ИЗ
    	|	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
    	|			&НачалоПериода,
    	|			&КонецПериода,
    	|			Запись,
    	|			Движения,
    	|			НЕ Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Продукция)
    	|				И НЕ Номенклатура.ВестиУчетПоСериям
    	|				И (Склад, Номенклатура, Качество, ХарактеристикаНоменклатуры, СерияНоменклатуры) В
    	|					(ВЫБРАТЬ
    	|						ВТ_СоставаДокумента.Склад,
    	|						ВТ_СоставаДокумента.Номенклатура,
    	|						ВТ_СоставаДокумента.Качество,
    	|						ВТ_СоставаДокумента.ХарактеристикаНоменклатуры,
    	|						ВТ_СоставаДокумента.СерияНоменклатуры
    	|					ИЗ
    	|						ВТ_Состава_Документа КАК ВТ_СоставаДокумента)) КАК СвободныеОстаткиОстаткиИОбороты
    	|ГДЕ
    	|	СвободныеОстаткиОстаткиИОбороты.Регистратор = &Регистратор
    	|	И СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток < 0";

    Проверка на отрицательные остатки.....

    timm00, 11 Февраля 2021

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

    −1

    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
    <?php 
    		if($theme_options->get( 'header_type' ) == 2) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_02.tpl'); 
    		} elseif($theme_options->get( 'header_type' ) == 3) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_03.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 4) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_04.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 5) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_05.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 6) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_06.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 7) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_07.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 8) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_08.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 9) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_09.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 10) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_10.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 11) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_11.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 12) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_12.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 13) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_13.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 14) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_14.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 15) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_15.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 16) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_16.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 17) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_17.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 18) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_18.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 19) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_19.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 20) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_20.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 21) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_21.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 22) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_22.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 23) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_23.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 24) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_24.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 25) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_25.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 26) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_26.tpl');
    		} elseif($theme_options->get( 'header_type' ) == 27) {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_27.tpl');
    		} else {
    			include('catalog/view/theme/'.$config->get('config_template').'/template/common/header/header_01.tpl');
    		}	
    		?>

    phpBidlokoder2, 21 Января 2021

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