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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    $_POST['sum'] = (float)number_format(preg_replace('~[^0-9.,]~ui', '',$_POST['sum']), 2);
    
    ?>

    Получили float

    Caarlo, 10 Июля 2017

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

    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
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    /* сделать логику переводчика из 10 системы в 2, 8 и 16, что бы на вход было десятичное число, 
    а на выходе двоичное, восьмеричное и шеснадцатиричное представление */
    
    // для проверки, функциями php
    $i=378;
    echo "$i в двоичной системе = " . base_convert ($i, 10, 2) . PHP_EOL;
    echo "$i в восьмеричной системе = " . base_convert ($i, 10, 8) . PHP_EOL;
    echo "$i в шестнадцатиричной системе = " . base_convert ($i, 10, 16) . PHP_EOL;
    unset ($i);
    
    // десятичное в двоичное, используя алгоритм http://vestikinc.narod.ru/AB/dec_bin_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0) {
            $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
        }
    echo $b . PHP_EOL;
    
    unset ($a, $b);
    
    // десятичное в восьмеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_oct_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0 & $a % 8 < 8) {
            $b = ($a % 8) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 8); //принимаем целую часть частного за новое делимое
        }
    echo $b . PHP_EOL;
    unset ($a, $b);
    
    // десятичное в шестнадцатеричное, через двоичное
    $a = 378;
    $b = ''; // пустая строковая переменная
        while ($a != 0) {
            $b = ($a % 2) . $b; //добавляем в начало остаток от деления, как младший бит двоичного числа
            $a = (int)($a / 2); //принимаем целую часть частного за новое делимое
    }
    $count = strlen($b);
        while(($count % 4) != 0) { // если количество символов не кратно 4
            $b='0'. $b;            // то добавляем в начало 0
            $count = strlen($b);   // снова вычисляем длину
    }
        $c = '';                                     // пустая строковая переменная
        for($d = 0; $d < $count; $d = $d + 4)        //пока счётчик меньше количества символов, прибавляем 4
        {
            $c = $c . strtr(substr($b, $d,4), //добавляем к $c замену 4-х символов $b с позиции $d
                array('0000'=>'0',
                      '0001'=>'1',
                      '0010'=>'2',
                      '0011'=>'3',
                      '0100'=>'4',
                      '0101'=>'5',
                      '0110'=>'6',
                      '0111'=>'7',
                      '1000'=>'8',
                      '1001'=>'9',
                      '1010'=>'A',
                      '1011'=>'B',
                      '1100'=>'C',
                      '1101'=>'D',
                      '1110'=>'E',
                      '1111'=>'F'));
        }
    echo $c . PHP_EOL;
    
    unset ($a, $b, $c, $d);
    
    // десятичное в шестнадцатеричное, используя алгоритм http://vestikinc.narod.ru/AB/dec_hex_tr.htm
    $a = 378;
    $b = ''; // пустая строковая переменная
    while ($a != 0) {
        if ($a % 16 > 0 & $a % 16 < 10):
            $b = ($a % 16) . $b;
        elseif ($a % 16 == 10):
            $b = 'A' . $b;
        elseif ($a % 16 == 11):
            $b = 'B' . $b;
        elseif ($a % 16 == 12):
            $b = 'C' . $b;
        elseif ($a % 16 == 13):
            $b = 'D' . $b;
        elseif ($a % 16 == 14):
            $b = 'E' . $b;
        elseif ($a % 16 == 15):
            $b = 'F' . $b;
        endif;
        $a = (int)($a / 16);     //принимаем целую часть частного за новое делимое
    }
    echo $b . PHP_EOL;

    логика переводчика из 10 системы исчисления в 2, 8 и 16, чтобы на входе было десятичное число, а на выходе двоичное, восьмеричное и шеснадцатиричное представление

    прошу сильно гавном не бросать - на старости лет, впервые в жизни учу программирование, месяц всего-то как заглянул за экран

    iconoclastov, 09 Июля 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function isDateGreaterOrEqualNow($d)
    {
        if (!$d) return false;
        $t = getdate();
        $t = mktime(0, 0, 0, $t['mon'], $t['mday'], $t['year']);
        return $d >= $t;
    }

    Космическое сравнение дат

    SeniorShaurman, 07 Июля 2017

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

    +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
    $value = $grandTotal  - $tax;
            $total_name = $this->__('Grandtotal_excl_tax')." (".$this->__('excl. tax').")";
            $row = '<div class="columns xsmall-6 small-6">';
            $row .= $total_name;
            $row .= '</div><div class="columns xsmall-6 small-6 align-right">'.$this->helper('checkout')->formatPrice($value).'</div>';
    
            $totals["grand_total_excl_tax"] = $row;
    
    
            //$orderedTotals = Mage::getStoreConfig('onestepcheckout/general/summary_totals');
            $orderedTotals =  "subtotal,aw_giftcard_duty,aw_giftcard_duty_discount,shipping,cashondelivery,shipping_discount,discount,aw_giftcard,grand_total_excl_tax,tax,grand_total";
            $orderedTotals = explode(',', $orderedTotals);
            foreach($orderedTotals as $total) {
                $total = trim($total);
                if (isset($totals[$total])) {
                    echo $totals[$total];
                }
            }
            ?>
        </div>

    Разгребаем проект на Magento доставшийся в наследство. Умеете ли вы готовить Array() так как готовят его в строках 11-12 ?

    #littleitaly

    mrdink, 06 Июля 2017

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

    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
    <!DOCTYPE html>
    <html>
    <head>
    
    <?php
    
    $filename = 'mes.txt';
    $count = "count.txt";
    $count_file = fopen($count, "r");
    $handle = fopen($filename, "rb");
    date_default_timezone_set('Europe/Moscow');
    $contents = file_get_contents($filename);
    $contents2=nl2br($contents);
    $password=htmlspecialchars($_POST["pass"]);
    if($password=='dfhsdhf' || $password=='eeeeeer')
    	{
    
    	}
    else
    	{
    		echo '403';
    		exit;
    	}
    if( isset( $_POST['obn'] ) )
    	{
    		fclose($count_file);
    		$count_file = fopen($count, "w");
    	 	fwrite($count_file, '0');
    		echo "Обнулено"; 
    		$date = date("Y-m-d H:i:s");
    		$date_file = fopen("date.txt", "w");
    		fwrite($date_file, "$date");
    	}
    	
    ?>
    	<title>Admin panel</title>
    
    
    </head>
    <body>
    	<h1>Начиная с <div id=date><?php echo file_get_contents("date.txt") ?></div> сайте было <div id=count><?php echo file_get_contents("count.txt") ?></div> людей</h1>
    	<p><?php if ($password == 'dfhsdhf')
    		echo "$contents2";
    	?>
    	</p>
    	<br>
    	<?php if ($password != 'dfhsdhf')
    			exit;
    			?>
    	<form method="POST">
    	<p>Введите код подтверждения</p>
    	<input type="password" name="pass">
        <input type="submit" name="obn" value="Обнулить" />
    	</form>
    	</body>
    </html>

    Лучшая админка на php

    Milton, 25 Июня 2017

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

    +2

    1. 1
    return ( empty( $syndication_meta ) ? false : true );

    ldv_a, 16 Июня 2017

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

    +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
    public function sql ($sql) {
    	$r = array(
    		"'" => "", //ору с этого
    		'"' => '',
    		'DROP' => '',
    		'TRUNCATE' => '',
    		'SELECT' => '',
    		'UPDATE' => '',
    		'INSERT' => '',
    		'DELETE' => '',
    		'INSERT' => '',
    		'UNION' => ''
    	);
    
    	if($this->strposa(strtoupper($sql), array_keys($r))){
    		mail('admin@dota2card.com', 'Внимание!', 'Обнаружена попытка SQL инъекции: "'.$sql.'" с IP адреса: '.$_SERVER['REMOTE_ADDR']);
    	}
    
    	$sql = str_ireplace(array_keys($r), $r, $sql);
    	$sql = htmlspecialchars($sql);
    	$sql = strip_tags($sql);
    	$sql = stripslashes($sql);
    
    	return $sql;
    }

    enly1, 14 Июня 2017

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

    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
    public function sendChat ($msg) {
    	if($this->isLogged()){
    		if($this->checkAd($this->sql($msg)) !== '' || $this->checkAd($this->sql($msg))[0] !== ' '){
    			$q = $this->db->row("SELECT * FROM `chat` WHERE `user` = '".intval($_SESSION['steamid'])."' ORDER BY `id` DESC LIMIT 1");
    			if($q->time+1 <= time()){
    				if($q->text != $this->checkAd($this->sql($msg))) {
    					$r = $this->db->query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES ('".intval($_SESSION['steamid'])."', '".$this->sql($this->checkAd($msg))."', ".time().")");
    					return json_encode(array("success" => true,));
    				} else {
    					return json_encode(array("success" => false, "msg" => "flood"));
    				}
    			} else {
    				return json_encode(array("success" => false, "msg" => "flood"));
    			}
    		} else {
    			json_encode(array("success" => false, "msg" => "null_msg"));
    		}
    	} else {
    		return json_encode(array("success" => false, "msg" => "not_auth"));
    	}
    }

    enly1, 14 Июня 2017

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

    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
    /* Технические работы */
    		if($_SERVER['REMOTE_ADDR'] !== '87.103.101.202') die($tpl->get('tech', TPL, $language));
    
    	/* Авторизованным */
    		if($api->isLogged()){
    			$login = $tpl->get('nologon', TPL, $language);
    			/* Список заменяемых слов */
    				$replace = array(
    					""
    				);
    			/* Показывание авторизированному юзеру */
    				$login = str_replace(array_keys($replace), $replace, $login);
    		} else {
    			$login = $tpl->get('logon', TPL, $language);
    		}
    
    	/* Запуск шапки сайта */
    		$header = $tpl->get('header', TPL,  $language);
    		/* Список заменяемых слов */
    			$replace = array(
    				"%login%" => $login
    			);
    		/* Показывание шапки */
    			echo str_replace(array_keys($replace), $replace, $header);
    
    	/* Переключение по адресам */
    		switch ($uri[0]) {
    
    			/* Главная страница */
    			default:
    				echo $tpl->get('home', TPL,  $language);
    				break;
    			
    		}

    enly1, 14 Июня 2017

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

    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
    /* Регистрация */
    	public function register ($log, $pass, $pass2, $email) {
    		/* Стандартная проверка */
    			if(isset($_SESSION['userid'])) return "already_auth";
    			if(!preg_match("/^[a-zA-Z0-9]+$/", $log)) return "rus_or_eng";
    			if(strlen($log) < 5 or strlen($log) > 31) return "log_min_5";
    			if($pass != $pass2) return "pass1_not_equal_pass2";
    			if(strlen($pass) < 8 or strlen($pass) > 31) return "pass_min_8";
    		/* Генерация хэша */
    			$hash = md5('davay'.rand().'ebatsa');
    		/* Проверка на существование ника */
    			$q = $this->db->row("SELECT * FROM `users` WHERE `user` = '".$this->sql($log)."'");
    			if($q != null) return "change_nick";
    		/* Занос в базу данных нового пользователя */
    			$q = $this->db->query("INSERT INTO `users` (`user`, `password`, `hash`) VALUES (:login, :password, :hash)",
    				array("login" => $log, "password" => $pass, "hash" => $hash));
    		/* Возвращаем положительный ответ */
    			return true;
    	}

    Хэш не трогал)

    enly1, 14 Июня 2017

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