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

    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
    <?php global $token;
    if (file_exists('token.txt')){
    $token = file_get_contents('token.txt');
    }
    else
    {
    ShowForm(login, SW_SHOW);
    }
    $num = c("edit2")->text;
    $request = array(
    	'count' => $num,
    	'v' => '5.52',
    	'access_token' => $token
    );
    $ret     = vk('messages.getDialogs', $request);
    for ($i = 0; $i != $num; $i++)
    {
    	$check = translate($ret->response->items[$i]->message->body);
    	$nick  = translate($ret->response->items[$i]->message->title);
    	if (!empty($check))
    	{
    		if ($nick == ' ... ')
    		{
    			$id = $ret->response->items[$i]->message->user_id;
    			$text[$i] = '[id '.$id.'] '.translate(nickname($id)->response[0]->first_name) . ' ' . translate(nickname($id)->response[0]->last_name) . ': ' . translate($ret->response->items[$i]->message->body);
    		}
    		else
    		{
    			$text[$i] = translate($ret->response->items[$i]->message->title) . ': ' . translate($ret->response->items[$i]->message->body);
    		}
    	}
    }
    c("listBox2")->text = $text;

    Чтение списка сообщений через vk api

    NodnolStudio, 01 Января 2017

    Комментарии (15)
  2. Си / Говнокод #21932

    +3

    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
    #include <stdio.h>
    #include <string.h>
    #include <stdint.h>
    #include <sys/mman.h>
    
    typedef intptr_t binaryfunc(intptr_t, intptr_t);
    typedef intptr_t unaryfunc(intptr_t);
    
    #define evalsiz ((intptr_t)eval_end - (intptr_t)eval)
    #define clossiz (evalsiz+sizeof(intptr_t)+sizeof(int))
    void eval_end();
    intptr_t eval(intptr_t rem) {
    #define argsize ((intptr_t)&&argend - (intptr_t)eval)
    #define leasize ((intptr_t)&&leaaft - (intptr_t)&&leabef)
    #define eoffset (argsize+leasize)
        argend:;
        register void *ptr asm("r10");
        leabef: asm("lea (%rip),%r10"); leaaft:;
        void *off = (ptr - eoffset + evalsiz);
        binaryfunc *bin = *(binaryfunc**)off;
        return bin(*(intptr_t *)(off+sizeof(intptr_t)),rem);
    }
    void eval_end() { }
    
    unaryfunc* apply(binaryfunc *bin, intptr_t arg) {
        void *data = mmap(0, clossiz, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
        memmove(data, &eval, evalsiz);
        intptr_t ptr = (intptr_t)bin;
        memmove(data+evalsiz, &ptr, sizeof(intptr_t));
        memmove(data+evalsiz+sizeof(intptr_t), &arg, sizeof(intptr_t));
        return data;
    }
    
    intptr_t add(intptr_t a, intptr_t b) {
        return a+b;
    }
    
    int main() {
        printf("%ld\n", apply(add, 1)(2));
        return 0;
    }

    Simple x86_64 closure implementation attempt

    https://gist.github.com/iamtakingiteasy/c80112437ebc1f8d73eecf8df27caa24

    j123123, 01 Января 2017

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

    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
    $( ".handle" ).mousemove(function() {
    	var transform = $(this).css("transform");
    	$(".scrollbar-progress").css("width", transform[19] + transform[20] + transform[21])
    });
    $( ".handle" ).mouseleave(function() {
    	var transform = $(this).css("transform");
    	$(".scrollbar-progress").css("width", transform[19] + transform[20] + transform[21])
    });
    $( ".handle" ).focus(function() {
    	var transform = $(this).css("transform");
    	$(".scrollbar-progress").css("width", transform[19] + transform[20] + transform[21])
    });

    И это всё ради того, чтобы у рейнджслайдера появился след от поинтера.

    EpicMan2, 31 Декабря 2016

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

    +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
    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
    <?php
    if ($value == '' || $value == 0) {	return '';}
    $value = str_replace(array(' ', '.', ','), "", $value);
    $eur = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-eur"));
    $usd = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-usd"));
    $rus = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-rus"));
    if ($to == 'eur') {
    	if ($from == 'eur') {	
    		$result = $value;	
    	} else if ($from == 'usd') {
    			$result = str_replace(',', '.', round(($value * $usd / $eur), 0));
    			} else if ($from == 'rus') {
    					$result = str_replace(',', '.', round(($value * $rus / $eur), 0));	
    				} else {
    						$result = str_replace(',', '.', round(($value / $eur), 0));
    							}
    						} else if ($to == 'rus') {
    							if ($from == 'eur') {	
    								$result = str_replace(',', '.', round(($value * $eur / $rus), 0));	
    							} else if ($from == 'usd') {	
    								$result = str_replace(',', '.', round(($value * $usd / $rus), 0));	
    							} else if ($from == 'rus') {	
    								$result = $value;	
    							} else {
    									$result = str_replace(',', '.', round(($value / $rus), 0));
    										}
    									} else if ($to == 'rub') {
    										if ($from == 'eur') {	
    											$result = str_replace(',', '.', round(($value * $eur), 0));	
    										} else if ($from == 'usd') {	
    											$result = str_replace(',', '.', round(($value * $usd), 0));	} else if ($from == 'rus') {		
    												$result = str_replace(',', '.', round(($value * $rus), 0));
    													} else {	
    														$result = $value;	
    													}
    												} else {
    													if ($from == 'eur') {	
    														$result = str_replace(',', '.', round(($value * $eur / $usd), 0));	
    													} else if ($from == 'usd') {	
    														$result = $value;	
    													} else if ($from == 'rus') {
    															$result = str_replace(',', '.', round(($value * $rus / $usd), 0));	
    														} else {	
    															$result = str_replace(',', '.', round(($value / $usd), 0));
    																}
    															}
    															echo $result;

    это пересчет валют (магазин на modx evo) причем это для каждого товара по 6 раз срабатывает

    als_1984, 31 Декабря 2016

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

    +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
    rule PAS_TOOL_PHP_WEB_KIT  
    {  
      meta:  
        description = "PAS TOOL PHP WEB KIT FOUND" 
      strings: 
        $php = "<?php"  
        $base64decode = /\='base'\.\(\d+\*\d+\)\.'_de'\.'code'/ 
        $strreplace = "(str_replace(" 
        $md5 = ".substr(md5(strrev("  
        $gzinflate = "gzinflate" 
        $cookie = "_COOKIE"  
        $isset = "isset" 
      condition:  
        (filesize > 20KB and filesize < 22KB) and  
        #cookie == 2 and  
        #isset == 3 and 
      all of them  
    }

    YARA правила для детектирования кремлёвских хаккеров.
    Если ты используешь PHP - значит ты кремлёвский хаккер.

    bot, 30 Декабря 2016

    Комментарии (45)
  6. Ruby / Говнокод #21915

    +1

    1. 1
    visible_discounts.map { |discount| !!((/\d+ ([a-z]+) ([a-z]+)/) =~ (discount.text.scan(/\d+\ promotional discount/)[0])) }.all? { |result| result == true }

    Встретил в тесте

    z41, 29 Декабря 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    //проверка на одномерность массива
    function mp_array_is_simple($array) {
        return count($array, COUNT_NORMAL)===count($array, COUNT_RECURSIVE);
    }

    Портальная система Жираф. Проверка на одномерность массива.

    roman_gemini, 28 Декабря 2016

    Комментарии (38)
  8. Pascal / Говнокод #21911

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    procedure TaQuoteReestr.gSearchResultKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    begin
      inherited;
      if (ssctrl in Shift) and ((Key = ord('C')) or (ord(Key) = ord('c')) or (Key = ord('С')) or (ord(Key) = ord('с'))) then 
        gSearchResultDblClick(Sender);
    end;

    Не удержался... это же чем должна быть забита голова, чтобы так писать.
    Тут копирование (gSearchResultDblClick) некоего набора данных происходит по двойному клику (!) на строке грида. И оно же продублировано по Ctrl+C. Естественно, что когда на двойной клик повесили более адекватное действие: вход в режим редактирования — копирование отвалилось.
    Особенно радует обработка клавиши. Последовательно проверяется заглавная и строчная буква английского и русского алфавитов. При этом почему-то забыты Греция, Габон, Гондурас... и все остальные.

    RoschinSpb, 28 Декабря 2016

    Комментарии (95)
  9. JavaScript / Говнокод #21910

    +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
    var n = prompt() - -1;
    document.write(
    	"<table><tr style='font-weight:bold'>" +
    	Array.apply(null, Array(n))
    		.map(function(_, i){
    			return "<td style='font-weight:bold'>" +
    				Array.apply(null, Array(n))
    				.map(function(_, j){
    					return (i || j) ? (i || 1)*(j || 1) : "";
    				}).join("</td><td>") + "</td>";
    		}).join("</tr><tr>") +
    	"</tr></table>"
    )

    Таблица умножения

    Siri0n, 28 Декабря 2016

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

    +2

    1. 1
    $go = htmlspecialchars(strip_tags(stripslashes(trim(urldecode(mysqli_escape_string($_GET['go']))))));

    d_fomenok, 28 Декабря 2016

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