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

    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
    public function store($variable){
    		$insert = "INSERT INTO `".$variable['table']."`(";
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){				
    					$insert = $insert.''.$key.',';
    			}
    		}
    		$insert = substr($insert,0,-1);
    		$insert = $insert.") VALUES(";
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){	
    				if(trim(gettype($value)) == 'string'){
    						$insert = $insert.'\''.$value.'\',';
    					}else{
    						$insert = $insert.''.$value.',';
    					}
    				}
    		}
    		$insert = substr($insert,0,-1);
    		$insert = $insert.')';
    		foreach ($variable as $key => $value) {
    			if(trim($key) != 'table'){
    				if(trim(gettype($value)) == 'string'&&strlen($value) < 512){
    					$variable[$key] = $key.' TEXT(512),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 512&&strlen($value) <= 1024){
    					$variable[$key] = $key.' TEXT(1024),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 1024&&strlen($value) <= 2048){
    					$variable[$key] = $key.' TEXT(2048),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 2048&&strlen($value) <= 4096){
    					$variable[$key] = $key.' TEXT(4096),
    ';
    				}elseif(trim(gettype($value)) == 'string'&&strlen($value) > 4096){
    					$variable[$key] = $key.' TEXT(65535),
    ';
    				}
    				if(gettype($value) == 'integer'){
    					$variable[$key] = $key.' INT(128),
    ';
    				}
    				if(gettype($value) == 'double'||gettype($value) == 'float'){
    					$variable[$key] = $key.' FLOAT(53),
    ';
    				}
    			}
    
    		};
    				$table = "
    CREATE TABLE ".$variable['table']."(
    id INT(20) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    ";
    				foreach ($variable as $key => $value) {
    					if(trim($key) != 'table'){
    							$table = $table.''.$value;
    						
    					}
    
    				};
    				$table = substr($table,0,-3);
    				$table = $table.'
    )';
    }

    https://habr.com/ru/sandbox/125898/

    OCETuHCKuu_nemyx, 06 Октября 2019

    Комментарии (0)
  2. JavaScript / Говнокод #25907

    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
    function toUrl(url, key, value) {
      if(url=='') url=window.location.href; 
      if(url.indexOf('//')<0) url='//'+url;
    
      // protocol
      var u=url.split(/\/?\//); 
      url={}; url.protocol=u.shift()+'//';
    
      // hostname
      url.hostname=u.shift().split(':'); 
      if(url.hostname.length>1) url.port=':'+url.hostname.pop()
      url.hostname=url.hostname.pop().split('@').pop();
    
      // сохраним порядок для последующей свертки
      url.pathname='/'; url.pagename=''; 
    
      try { 
        // hash
        url.search=u.pop().split(/#/); 
        if(url.search.length==2) url.sh='#'+url.search.pop();
        url.search=url.search.shift().split(/\?/);
        
        // pagename
        url.pagename=url.search.shift(); url.search=url.search[0]
      
        // pathname
        url.pathname+=u.join('/')+(u.length?'/':'');
      
        // разбор search, (c) Steven Benner, 2010
        try {
          var u = {};
          url.search.replace(
            new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
            function($0, $1, $2, $3) { 
               u[$1] = decodeURIComponent($3); 
            }
          );
          url.search=u;
        } catch(e) { 
          delete url.search; 
        }
      } catch(e) { };
    
      // вернем URL как объект, где search так же
      // представлен объектом {key:value}
      if(!key && !value) return(url);
    
      // возвращаем значение ключа
      if(key && !value) return(url.search[key]);
    
      // roll up url
      var roll = function(url,search){
        var out='';
        for(var key in url) {
          out+=(search?'&'+key+'=':'')+(key=='search'?'?'+roll(url[key],1).substr(1):url[key]);
        };
        return out;
      };
      
      // устанавливаем значение ключа
      if(value) url.search[key]=value.toString(); 
      
      // сворачиваемся, с учетом порядка следования свойств
      return(roll(url));    
    }
    
    // применение
    console.log(toUrl('http://site.my:81/home/path/page.htm?a=1&b=2#hash','a',5));

    https://habr.com/ru/sandbox/126206/

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    −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
    /*redir.php*/
    <?php
     /* Принимаем данные из формы */
      $connect=mysqli_connect('localhost','login','password') or die(mysqli_error());
    mysqli_select_db('myDB') or die ("Не могу выбрать базу данных");
    if(isset($_POST['enter'])){/*если нажата кнопка, то заносим в бд данные*/
    	 if (empty($_POST['name']) or empty($_POST['phone'])) {
            echo '<script>alert("Заполните все поля формы");</script>';
    	 } else {
      $name = $_POST["name"];
      $phone = $_POST["phone"];
      $datetime= date("l dS of F Y h:i:s A");
    $mysqly=mysqli_query($connect,"INSERT INTO contacts VALUES ('','$name','$phone','$datetime','')") OR DIE (MYSQLI_ERROR());}}
      ?>
    <script type="text/javascript">
      document.location.replace("index.php");/*делаем редирект на главную страницу сайта*/
    </script>

    https://habr.com/ru/sandbox/127860/

    OCETuHCKuu_nemyx, 06 Октября 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Число 1 = 1;
    Число номер 2 = 2;
    Сумма = Число 1 + Число номер 2;
    print Сумма; print; 
    function Открытие двери в поезде() {
      print "Дверь открыта"; print;
    }
    Открытие двери в поезде();

    https://habr.com/ru/sandbox/133385/

    OCETuHCKuu_nemyx, 06 Октября 2019

    Комментарии (9)
  5. 1C / Говнокод #25903

    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
    Если ПараметрыСеанса.ГС_ГлобальныеПараметры.МинусОдинДеньПриПерезалоге 
    И ДокументОснование.Метаданные().Имя <> "Соби_ЧастичноеПогашениеКредита" И ДокументОснование.Метаданные().Имя <> "ГС_ПерезалогКредита" Тогда
    		  
        ПроцентПоКредитуВДень	= (ПроцентПоКредитуВДень) / КоличествоДнейКредитования * (КоличествоДнейКредитования-1);
    			СуммаПоКредиту			= Окр((СуммаКредита*(ПроцентПоКредитуВДень)/100),2,1) * (КоличествоДнейКредитования);
    		
    		
    			Если ПроцентПоКредитуВДень < УсловиеКредитования.МинимальныйПроцентПоКредиту/(КоличествоДнейКредитования-1) Тогда
    				ПроцентПоКредитуВДень	= УсловиеКредитования.МинимальныйПроцентПоКредиту/(КоличествоДнейКредитования-1);
    				СуммаПоКредиту			= Окр((СуммаКредита*(ПроцентПоКредитуВДень)/100),2,1) * (КоличествоДнейКредитования-1);
    			КонецЕсли;	
    			
    			Если СуммаПоКредиту < УсловиеКредитования.МинимальнаяСуммаПроцентовПоКредиту Тогда //отыграем мин сумму % по кредиту из усл кред
    				СуммаПоКредиту = УсловиеКредитования.МинимальнаяСуммаПроцентовПоКредиту;
    			КонецЕсли; 
    
    КонецЕсли;

    Обратите внимание на условие ЕСЛИ. Такого говнища, я еще не видел!

    kalyuzhny, 05 Октября 2019

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

    +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
    $jsxss="onabort,oncanplay,oncanplaythrough,ondurationchange,onemptied,onended,onerror,onloadeddata,onloadedmetadata,onloadstart,onpause,onplay,onplaying,onprogress,onratechange,onseeked,onseeking,onstalled,onsuspend,ontimeupdate,onvolumechange,onwaiting,oncopy,oncut,onpaste,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,onblur,onfocus,onfocusin,onfocusout,onchange,oninput,oninvalid,onreset,onsearch,onselect,onsubmit,onabort,onbeforeunload,onerror,onhashchange,onload,onpageshow,onpagehide,onresize,onscroll,onunload,onkeydown,onkeypress,onkeyup,altKey,ctrlKey,shiftKey,metaKey,key,keyCode,which,charCode,location,onclick,ondblclick,oncontextmenu,onmouseover,onmouseenter,onmouseout,onmouseleave,onmouseup,onmousemove,onwheel,altKey,ctrlKey,shiftKey,metaKey,button,buttons,which,clientX,clientY,detail,relatedTarget,screenX,screenY,deltaX,deltaY,deltaZ,deltaMode,animationstart,animationend,animationiteration,animationName,elapsedTime,propertyName,elapsedTime,transitionend,onerror,onmessage,onopen,ononline,onoffline,onstorage,onshow,ontoggle,onpopstate,ontouchstart,ontouchmove,ontouchend,ontouchcancel,persisted,javascript";
    $jsxss = explode(",",$jsxss);
    foreach($_GET as $k=>$v)
    {
    	if(is_array($v))
    	{
    		foreach($v as $Kk=>$Vv)
    		{
    			$Vv = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $Vv );
    			$Vv = str_replace($jsxss,"",$Vv);
    			$Vv = str_replace (array("*","\\"), "", $Vv );
    			$Vv = strip_tags($Vv);
    			$Vv = htmlentities($Vv, ENT_QUOTES, "UTF-8");
    			$Vv = htmlspecialchars($Vv, ENT_QUOTES);
    			$_GET[$k][$Kk] = $Vv;
    		}
    	}
    	ELSE
    	{
    		//Сначала удаляем любые скрипты для защиты от xss-атак
    		$v = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $v );
    		//Вырезаем все известные javascript события для защиты от xss-атак
    		$v = str_replace($jsxss,"",$v);
    		//Удаляем экранирование для защиты от SQL-инъекций
    		$v = str_replace (array("*","\\"), "", $v );
    		//Экранируем специальные символы в строках для использования в выражениях SQL
    		$v = mysql_real_escape_string( $v );
    		//Удаляем другие лишние теги.	
    		$v = strip_tags($v);
    		//Преобразуем все возможные символы в соответствующие HTML-сущности
    		$v = htmlentities($v, ENT_QUOTES, "UTF-8");
    		$v = htmlspecialchars($v, ENT_QUOTES);
    		//Перезаписываем GET массив
    		$_GET[$k] = $v;
    	}
    	
    }

    [colo=blue]https://habr.com/ru/post/470193/[/color]

    Интересно, все эти люди сами до всего этого доходят, или их кто-то этому учит?

    gpyrou_nemyx, 05 Октября 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // https://habr.com/ru/company/jugru/blog/469465/
    // Инициализация в современном C++ 
    // ...
    //Есть примеры ещё более странного поведения этого синтаксиса:
    
    std::string s(48, 'a'); // "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    std::string s{48, 'a'}; // "0a"

    > В первой строке создаётся строка из 48 символов «а», а во второй строка «0а». Это происходит потому, что конструктор string принимает на вход initializer_list из символов. 48 является целочисленным значением, поэтому оно преобразуется в символ. В ASCII число 48 — код символа «0». Это очень странно, потому что есть конструктор, принимающий именно такие аргументы, int и char. Но вместо вызова этого конструктора происходит совершенно неочевидное преобразование. В итоге получается код, который чаще всего ведёт себя не так, как мы ожидаем.

    КАК? Как можно было столько хуйни наворотить для такой простой вещи, как инициализация переменной? Чем они вообще думают?

    Не перестаю удивляться долбоебизму крестостандартизаторов

    j123123, 05 Октября 2019

    Комментарии (22)
  8. JavaScript / Говнокод #25900

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <html><body><script>
    
    var d = 1; 
    var i = 0; 
    setInterval(function(){document.title = [";-O c===3", ";-O c===3",":-Oc===3",":-C===3",":-C==3","8-C=3","8-C3","8-C3"][i += d]; i <= 0 || i >= 7 ? d = -d : 0}, 200)
    
    </script></body></html>

    Смайлик сосёт с заглотом. Ничего необычного, листайте дальше.

    cmepmop, 04 Октября 2019

    Комментарии (19)
  9. Си / Говнокод #25899

    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
    #include <ncurses.h>
    
    #if defined(_WIN32) || defined(_WIN64) 
        #include <windows.h>
        #define msleep(msec) Sleep(msec)
    #else
        #include <unistd.h>
        #define msleep(msec) usleep(msec*1000)
    #endif
    
    int main()
    {
        initscr();
    
        char str[100];
        addstr("Enter string: ");
        getstr(str); //Считваем строку
        curs_set(0); //"Убиваем" курсор, чтобы не мешался
        while ( true )
        {
        //Перемещаем х-координату как можно дальше вправо, и будем уменьшать её, пока она != 0
            for ( unsigned x = getmaxx(stdscr); x; x-- ) 
            {
                clear();
                mvaddstr(getmaxy(stdscr) / 2, x, str);
                refresh();
                msleep(200);
            }
        }
    
        endwin();
        return 0;
    }

    https://code-live.ru/post/ncurses-input-output/#getstr-
    Сколько хуйни вы можете найти в этом примере?

    j123123, 04 Октября 2019

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

    +1

    1. 1
    2. 2
    3. 3
    size_t 	nChLen = it_ch_end - it_ch;
    
    до меня дошло не сразу.

    OlegUP, 03 Октября 2019

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