"PHP" / Говнокод #27231 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php
 /* Здесь проверяется существование переменных */
  if (isset($_POST['square'])) {$square = $_POST['square'];}
 if (isset($_POST['price'])) {$price = $_POST['price'];}
  if (isset($_POST['tel'])) {$tel = $_POST['tel'];}

/* Сюда впишите свою эл. почту */
 $address = "<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a3ccc8cdc2e3cec2cacf8dd1d6">[email protected]</a>";

/* А здесь прописывается текст сообщения, \n - перенос строки */
 $mes = "Тема: Заказ обратного звонка!\nЧто-то: $square\nЦена: $price\nТелефон: $tel";

/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Zapis na OKNA'; //сабж
$email='Заказ <site.ru>'; // от кого
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");

ini_set('short_open_tag', 'On');
header('Refresh: 3; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="generator">
<style type="text/css">
body
{
   
   background: #22BFF7 url(images/zakaz.jpg) top -70% center no-repeat;
   
}

<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script> 
</head>
</body>
</html>

No comments.... just send mail...

MouseZver MouseZver, (Updated )

Комментарии (6, +6)

"PHP" / Говнокод #27224 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php
header ('Access-Control-Allow-Origin: *');//Разрешили кроссдоменные запросы
 
$mysql_host = "хост";
$mysql_database = "Бд";
$mysql_user = "Юзернейм";
$mysql_password = "пОроль";
 
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die("Ошибка при подключении MySQL" );
mysql_select_db($mysql_database, $link) or die ('Ошибка при подключении к БД');
 
    if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
    if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
    if (isset($_POST['email'])) { $email=$_POST['email']; if ($email =='') { unset($email);} }
    if (isset($_POST['silvercoin'])) { $silvercoin=$_POST['silvercoin']; if ($silvercoin =='') { unset($silvercoin);} }
    if (isset($_POST['goldcoin'])) { $goldcoin=$_POST['goldcoin']; if ($goldcoin =='') { unset($goldcoin);} }
if (empty($login) or empty($password) or empty($email))
    {
    echo ("Вы ввели не всю информацию, заполните все поля!");
    exit();
    }
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
    $password = stripslashes($password);
    $password = htmlspecialchars($password);
    $email = stripslashes($email);
    $email = htmlspecialchars($email);
    $silvercoin = stripslashes($silvercoin);
    $silvercoin = htmlspecialchars($silvercoin);
    $goldcoin = stripslashes($goldcoin);
    $goldcoin = htmlspecialchars($goldcoin);
    $login = trim($login);
    $password = trim($password);
    $email = trim($email);
    $silvercoin = trim($silvercoin);
    $goldcoin = trim($goldcoin);
    $q1 = mysql_query("SELECT login FROM `accounts` WHERE `login`='".$login."'");
    $loginb = mysql_fetch_array($q1);
    $loginbd=$loginb['login'];
    if($loginbd == $login){
    echo("Извините, введённый вами логин уже зарегистрирован.");
    exit();
    }
     else
    $result2 = mysql_query ("INSERT INTO accounts (login,password,email) VALUES('$login','$password','$email')");
    if ($result2=='TRUE')
    {
    echo "Вы успешно зарегистрированы!";
    }
else {
    echo "Ошибка! Вы не зарегистрированы.";
    }
?>

Использование бредо-заголовок в 2 строке
Использование Инструмента в 2к21, который в PHP5.5.0 20 июня 2013 Объявлен как устаревший, а в PHP 7.0.0 удален
Нет задающей кодировки подключения к БД
Глупая, дешевая валидация данных начиная с 12 и заканчивая 46 строкой
SQL-injection привет!
46 строка - невероятно проверять boolean тип
37 - 39 строка - юзер не найден - лови ошибку!

Чуть не забыл... скрипт не в кодировке UTF-8 no BOM

https://php.ru/forum/threads/pomogite-ispravit-oshibku-cannot-modify-header-information-headers-already-sent-by.90359/

Привет 2010 году !

MouseZver MouseZver, (Updated )

Комментарии (2, +2)

"PHP" / Говнокод #27221 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 phpBidlokoder2, (Updated )

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

"PHP" / Говнокод #27151 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
<?php
 
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
 
session_start();
 
$mysqli = new mysqli('localhost', 'root', 'root', 'id15267461_base3');
 
if (mysqli_connect_errno()) {
    echo "Подключение невозможно: " . mysqli_connect_error();
    die();
}
 
if (!empty($_POST)) {
    if (isset($_GET['del'])) {
        $id = $_POST['id'];
 
        $stmt = $mysqli->prepare("DELETE FROM `stars` WHERE id=?");
        $stmt->bind_param('i', $id);
        $stmt->execute();
 
        header('Location: /note.php');
        die();
    }
 
    if (isset($_GET['otz'])) {
        $name = $_POST['name'];
        $text = $_POST['message'];
 
        $stmt = $mysqli->prepare("INSERT INTO `stars` VALUES (NULL, ?, ?)");
        $stmt->bind_param('ss', $name, $text);
        $stmt->execute();
 
        header('Location: /note.php');
        die();
    }
}
 
 
$reviews = [];
$res = $mysqli->query("SELECT * FROM `stars`");
while($row = mysqli_fetch_array($res)) {
    $reviews[] = $row;
}
 
 
$isAdmin = $_SESSION['admin'] == true;
$isGuest = empty($_SESSION['name']);
 
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet" text="text/css">
    <link href="https://fonts.googleapis.com/css?family=Julius+Sans+One" rel="stylesheet" text="text/css">
    <title>Отзывы</title>
    <link rel="stylesheet" type="text/css" href="style.css?<?= time(); ?>">
</head>
<body>
 
<div id="main">
    <p>ОТЗЫВЫ</p>
    <h2>РЕСТОРАН</h2>
    <h1>КОЛЕСО</h1>
</div>
 
<div class="menu" id="regularmenu">
    <ul>
        <a href="index.php"><li>ГЛАВНАЯ</li></a>
        <a href="menu/salads-and-appetizers.php"><li>МЕНЮ</li></a>
        <a href="contact.php"><li>КОНТАКТЫ</li></a>
        <a href="news.php"><li>НОВОСТИ</li></a>
        <a href="note.php"><li>ОТЗЫВЫ</li></a>
        <a href="reges.php"><li>ЛИЧНЫЙ КАБИНЕТ</li></a>
        <a href="booking.php"><li>ЗАБРОНИРОВАТЬ СТОЛИК</li></a>
    </ul>
</div>
 
<div id="news">
    <?php foreach ($reviews as $review): ?>
        <div class="news-card">
            <h3><strong> <?= $review['Fio'] ?></strong></h3>
            <p>
                <?= $review['inf'] ?>
            </p>
            <?php if ($isAdmin) : ?>
                <form id="note-form" method="post" action="?del">
                    <input type="hidden" name="id" value="<?= $review['id'] ?>">
                    <button type="submit">Удалить отзыв</button>
                </form>
            <?php endif; ?>
        </div>
    <?php endforeach ?>

Говнокодеры с киберфорума.
Как обычно = Проебали 10 летний опыт с накрученными постами.

Ссылка на пост: https://www.cyberforum.ru/php-beginners/thread2743655.html#post15065275

Внизу темы аргументы.

MouseZver MouseZver, (Updated )

Комментарии (5, +5)

"PHP" / Говнокод #27149 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php include_once("routing" .DIRECTORY_SEPARATOR  . "Router.php");?>
<?php include_once("task" . DIRECTORY_SEPARATOR . "Task.php");?>
<?php include_once("db" . DIRECTORY_SEPARATOR . "DB.php");?>
<?php include_once("model" . DIRECTORY_SEPARATOR . "Model.php");?>
<?php 
class App{
	public static $webuser = null;
	public static $config;
	public static $routing;
	public static $DB;
	public static $document_root;
	
	public static function run($config){
		//config
                self::$config = $config;
                
                /**
                 * init database
                 */
                
                
                $db = new DB();
                $db->connect(self::$config['db']);
                self::$DB = $db;
                
                
                
                /**
                 * Run task
                 */
		$request      = Router::getRequest(self::$config['default_task']);
		
		$task_path    = self::$document_root . DIRECTORY_SEPARATOR . "tasks" . DIRECTORY_SEPARATOR . $request . ".php";
                
                
                
		if(file_exists($task_path )){
			include_once($task_path);
			
			$task = new $request();
			
			$task->init();
		
		}else {
			throw new Exception("File don't exists");
		}
                
			
	}
        
        public static function isGuest(){
            if(is_null(self::$webuser)){
                return true;
            }
            return false;
        }
}
?>

http://govnokod.ru/27036#comment585451

https://habr.com/ru/post/523828/https://habr.com/ru/post/523828/

я так ахуел, что скачал и посмотрел... говорят теперь я должен сжечь комп

pahhan pahhan, (Updated )

Комментарии (85, +85)

"PHP" / Говнокод #27142 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
$queapplemode = mysqli_query($connect, "SELECT * FROM application_moderate_history ORDER BY user_id ") or die ("error_11111");
    $num=0;
    $nummm=0;
    $oldmodered="";
   	$newmodered="";
    while($apmod =  ($queapplemode))
    {
        // по данной таблице сортируем модераторов по порядку по айди, отслеживаем аппликатион айди, если его нет в бечелор аппликатион, тогда долой, если есть, то сверяем type_id, если 1, то успех и (если не успех, то мимо) тогда берем все данные из таблицы аппликатион модерат и далее обращаемсся в таблицу бачелор аппликатион и берем по аппликатион id там user_id абитуриента
        
        $apid = $apmod['application_id']; //id таблицы bachelor_application

        $apidquee = mysqli_query($connect, "SELECT * FROM bachelor_application WHERE id = '{$apid}'") or die ("error_11111");
        if($apidquee11 = mysqli_fetch_assoc($apidquee))
        {
            if($apidquee11['type_id'] == 2)
            {
                $stateus = $apmod['status']; // статус модерирования
                if($stateus == 0)
                {
                    $stateuss = "Готовится";
                }
                elseif($stateus == 1)
                {
                    $stateuss = "Подано";
                }
                elseif($stateus == 2)
                {
                    $stateuss = "Принято";
                }
                elseif($stateus == 3)
                {
                    $stateuss = "Отклонено";
                }

                $id_moderchika = $apmod['user_id']; // id модератора
                $moder = mysqli_query($connect, "SELECT * FROM user WHERE id = '{$id_moderchika}' ") or die ("error_111");
                $modered = mysqli_fetch_assoc($moder);
                $modered = $modered['username']; //имя модератора

                $commentar = $apmod['comment']; //комментарий от модератора
                
                $sozdan = $apmod['created_at']; //дата модерации
                $sozdan = Yii::$app->formatter->asDatetime($sozdan); 

                $id_polzot = $apidquee11['user_id']; //id абитуриента
                $user = mysqli_query($connect, "SELECT * FROM user WHERE id = '{$id_polzot}' ") or die ("error_1110");
                $usered = mysqli_fetch_assoc($user);
                $usered = $usered['username'];

                    $userfio = mysqli_query($connect, "SELECT * FROM user_profile WHERE user_id = '{$id_polzot}' ") or die ("error_1110");
                    $userfioed = mysqli_fetch_assoc($userfio);
                    $userfiofir = $userfioed['firstname'];
                    $userfiomid = $userfioed['middlename'];
                    $userfiolas = $userfioed['lastname'];

                ?>
                    <tr>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $id_moderchika; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $modered; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $id_polzot; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $usered; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $userfiofir." ".$userfiomid." ".$userfiolas; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $stateuss; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $commentar; ?></td>
                        <td style="border: solid 1px #000; text-align:center;"><?php echo $sozdan; ?></td>
                    </tr>
            
                <?php 
                $num++;

                $newmodered = $modered['username'];
                if($newmodered == $oldmodered)
                {
                	$nummm++;
                	$oldmodered = $newmodered;
                }
                else
                {
                	$oldmodered = $newmodered;
                }
                

                // получаем нового модератора, если новый модератор сопоставим со старым модератором, который в предыдущем цикле прошел итерацию, то просто +1 пишем, если нет, то завершаем суммирование и вносим в старого модера нового модера
            }
        }
    }

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

Stipa Stipa, (Updated )

Комментарии (8, +8)

"PHP" / Говнокод #27135 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php
$data = file_get_contents('https://music.yandex.ru/users/[данные удалены]/playlists/[данные удалены]');
$data = json_decode($data);
$tracks = $data->result->tracks;
$track = $tracks[$argv[1]]; // передаём номер песни из плейлиста
/* Step 1 */
$trackId = $track->track->id;
$albumId = $track->track->albums[0]->id;
$time = strval(time()) . '000';
$url1 = 'https://music.yandex.ru/api/v2.1/handlers/track/' . $trackId . '%3A' . $albumId . '/web-user_playlists-playlist-track-saved/download/m?hq=0&external-domain=music.yandex.ru&overembed=no&__t=' . $time;

$options['http']['header'] = "Accept: application/json; q=1.0, text/*; q=0.8, */*; q=0.1\r\n"
                           . "X-Retpath-Y: https%3A%2F%2Fmusic.yandex.ru%2F\r\n"
                           . "X-Requested-With: XMLHttpRequest\r\n"
                           . "User-Agent: Mozilla/5.0 [данные удалены]\r\n"
                           . "Cookie: [данные удалены]\r\n";
$context = stream_context_create($options);
$data = file_get_contents($url1, false, $context);
$data = json_decode($data);
/* Step 2 */
$time = strval(time()) . '000';
$url2 = 'https:' . $data->src . '&format=json&external-domain=music.yandex.ru&overembed=no&__t=' . $time;
$data = file_get_contents($url2);
$data = json_decode($data);
/* Step 3 */
$salt = 'XGRlBW9FXlekgbPrRHuSiA';
$hash = md5($salt . substr($data->path, 1) . $data->s);
$url3 = 'https://' . $data->host . '/get-mp3/' . $hash . '/' . $data->ts . $data->path;

$name = $track->track->title;
if(isset($track->track->version)) {
    $name .= ' (' . $track->track->version . ')';
}

$artists = array();
foreach($track->track->artists as $artist) {
    $artists[] = $artist->name;
}
$name = implode(',', $artists) . ' - ' . $name;

$name = strtr($name, ':/\\*?<|>', '________');
$name = str_replace('"', '”', $name);
$name = mb_substr($name, 0, 255-4);

copy($url3, $name . '.mp3');

Найдётся всё.

Fainal_kantdaun Fainal_kantdaun, (Updated )

Комментарии (36, +36)

"PHP" / Говнокод #27132 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
<?php

class ModelExtensionModuleAridiusfastorder extends Model {
	
	public function deleteOrder($order_id) {
		
		$this->db->query("DELETE FROM " . DB_PREFIX . "aridiusfastorder WHERE order_id = '" . (int) $order_id . "'");
	}

	public function editOrder($order_id, $data) {
		
		$this->db->query("UPDATE `" . DB_PREFIX . "aridiusfastorder` SET firstname = '" . $this->db->escape($data['firstname']) . "',status = '" . $this->db->escape($data['status']) . "',email = '" . $this->db->escape($data['email']) . "',comment_manager = '" . $this->db->escape($data['comment_manager']) . "',contact = '" . $data['contact'] . "' WHERE order_id = '" . (int)$order_id . "'");
	}
	
	public function getOrder($order_id) {
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "aridiusfastorder WHERE order_id = '" . (int)$order_id . "'");
		
		return $query->row;
	}

	public function getOrders($data = array()) {

		$sql = "SELECT * FROM " . DB_PREFIX . "aridiusfastorder";

		if (isset($data['filter_order_id']) && !is_null($data['filter_order_id'])) {
			$sql .= " WHERE order_id = '" . (int) $data['filter_order_id'] . "'";
		} else {
			$sql .= " WHERE order_id > '0'";
		}

		if (!empty($data['filter_contact'])) {
			$sql .= " AND contact LIKE '%" . $this->db->escape($data['filter_contact']) . "%'";
		}
			if (!empty($data['filter_email'])) {
			$sql .= " AND email LIKE '%" . $this->db->escape($data['filter_email']) . "%'";
		}
		if (!empty($data['filter_status'])) {
			$sql .= " AND status LIKE '%" . $this->db->escape($data['filter_status']) . "%'";
		}
		
		if (!empty($data['filter_firstname'])) {
			$sql .= " AND firstname LIKE '%" . $this->db->escape($data['filter_firstname']) . "%'";
		}

		if (!empty($data['filter_product_name'])) {
			$sql .= " AND product_name LIKE '%" . $this->db->escape($data['filter_product_name']) . "%'";
		}

		if (!empty($data['filter_date_added'])) {
			$sql .= " AND DATE(date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')";
		}

		if (!empty($data['filter_total'])) {
			$sql .= " AND total = '" . (float) $data['filter_total'] . "'";
		}

		$sort_data = array(
			'order_id',
			'status',
			'email',
			'contact',
			'firstname',
			'product_name',
			'total',
			'date_added'
		);

		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
			$sql .= " ORDER BY " . $data['sort'];
		} else {
			$sql .= " ORDER BY order_id";
		}

		if (isset($data['order']) && ($data['order'] == 'DESC')) {
			$sql .= " DESC";
		} else {
			$sql .= " ASC";
		}

		if (isset($data['start']) || isset($data['limit'])) {
			if ($data['start'] < 0) {
				$data['start'] = 0;
			}

			if ($data['limit'] < 1) {
				$data['limit'] = 20;
			}

			$sql .= " LIMIT " . (int) $data['start'] . "," . (int) $data['limit'];
		}

		$query = $this->db->query($sql);

		return $query->rows;
	}

	public function getTotalOrders() {

rastabumper rastabumper, (Updated )

Комментарии (14, +14)

"PHP" / Говнокод #27104 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
https://habr.com/ru/company/vk/blog/527420/

ВКонтакте снова выкладывает KPHP 

....

Сгенерировать С++ из PHP — этого мало. Собственно говоря, это самое простое.

Во-первых, в PHP мы используем кучу функций стандартной библиотеки: header(),
 mb_strlen(), curl_init(), array_merge(). Их тысячи — и все должны быть
реализованы внутри KPHP с учётом типизации и работать так же, как в PHP.
Реализация всего PHP stdlib (а также KPHP-дополнений), всех PHP-типов с
операциями и допущениями — это называется runtime, вон там квадратик сверху.

Во-вторых, PHP-сайт — это веб-сервер. Следовательно, и в KPHP должна быть вся
серверная часть, чтобы можно было в том же nginx подменить PHP-шный upstream
на KPHP-шный — и всё продолжало работать так же. KPHP поднимает свой веб-сервер,
оркестрирует процессы, заполняет суперглобалы и переинициализирует состояние,
как и PHP… Это тоже хардкорная часть — называется server, квадратик снизу.

И только имея результирующий код C++, написанные runtime и server, всё это можно
объединить и отдать на откуп плюсовым компиляторам. Мы используем g++ — там в
диаграмме есть квадратик g++. Но не совсем так: у vk.com настолько огромная
кодовая база, что этот компилятор не справляется, и поэтому мы применяем патченный
distcc для параллельной компиляции на множестве агентов. В итоге всё линкуется в
один огромный бинарник (это весь vk.com), он раскидывается на кучу бэкендов и
синхронно перезапускается. Каждая копия запускает мастер-процесс, который порождает
группу однопоточных воркеров. Вот они на самом деле и исполняют исходный PHP-код.

Многие технические проблемы остаются за кадром — их не опишешь в статье на Хабре.
Чего стоит один только сбор трейсов при ошибках: ведь в С++ не получить
человекочитаемый стек, а хочется разработчику вообще его на PHP-код намаппить.
Гигантское количество внутренних нюансов, множество подпорок и легаси — но в итоге
продукт хорошо работает и развивается.

PHP и C++... два говна нашли друг друга

j123123 j123123, (Updated )

Комментарии (45, +45)

"PHP" / Говнокод #27100 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
<?php declare(strict_types=1);
/**
 * This file is part of Swoft.
 *
 * @link     https://swoft.org
 * @document https://swoft.org/docs
 * @contact  <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="47203528323707343028213369283520">[email protected]</a>
 * @license  https://github.com/swoft-cloud/swoft/blob/master/LICENSE
 */

namespace Database;

use Swoft;
use Swoft\SwoftComponent;

/**
 * Class AutoLoader
 *
 * @since 2.0
 */
class AutoLoader extends SwoftComponent
{
    /**
     * Class constructor.
     */
    public function __construct()
    {
        parent::__construct();

        Swoft::setAlias('@database', dirname(__DIR__) . '/database');
    }

    /**
     * @return array
     */
    public function getPrefixDirs(): array
    {
        return [
            __NAMESPACE__ => __DIR__,
        ];
    }

    /**
     * @return array
     */
    public function metadata(): array
    {
        return [];
    }
}

https://github.com/swoft-cloud/swoft/blob/master/database/AutoLoader.php

MAPTbIwKA MAPTbIwKA, (Updated )

Комментарии (73, +73)