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

    +156

    1. 1
    2. 2
    3. 3
    $permissions = Array(
            'add'       => array('custom_order_send', 'send_termin_request'),
    		'insert'    => Array('custom_order_send', 'send_termin_request'),

    Elfet, 29 Декабря 2014

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

    +169

    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
    function
    enc($str,$k)//$str - входная строка, $k - ключ от 0 до f
    {
    $m=floor(strlen($str)/2);
    $a=strrev(substr($str,0,$m));
    $b=strrev(substr($str,$m));
    $c=$a.$b;
    $s=bin2hex($c);
    switch($k)
    {
    case '0':$c0='h';$c1='y';$c2='j';$c3='z';$c4='i';$c5='g';$c6='x';$c7='k';$c8='s';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='v';$cf='t';break;
    case '1':$c0='u';$c1='k';$c2='x';$c3='m';$c4='s';$c5='w';$c6='r';$c7='z';$c8='q';$c9='t';$ca='g';$cb='v';$cc='o';$cd='y';$ce='n';$cf='i';break;       
    case '2':$c0='i';$c1='u';$c2='n';$c3='k';$c4='y';$c5='x';$c6='o';$c7='m';$c8='q';$c9='s';$ca='g';$cb='v';$cc='w';$cd='r';$ce='t';$cf='z';break;
    case '3':$c0='k';$c1='j';$c2='z';$c3='x';$c4='q';$c5='s';$c6='n';$c7='i';$c8='l';$c9='r';$ca='g';$cb='p';$cc='w';$cd='y';$ce='v';$cf='m';break;
    case '4':$c0='m';$c1='g';$c2='p';$c3='t';$c4='i';$c5='l';$c6='r';$c7='s';$c8='n';$c9='q';$ca='k';$cb='j';$cc='h';$cd='u';$ce='z';$cf='v';break;
    case '5':$c0='q';$c1='i';$c2='u';$c3='z';$c4='t';$c5='n';$c6='k';$c7='r';$c8='w';$c9='y';$ca='x';$cb='v';$cc='g';$cd='o';$ce='m';$cf='s';break;
    case '6':$c0='s';$c1='l';$c2='h';$c3='i';$c4='t';$c5='k';$c6='r';$c7='q';$c8='o';$c9='v';$ca='w';$cb='x';$cc='n';$cd='u';$ce='p';$cf='j';break;
    case '7':$c0='s';$c1='j';$c2='l';$c3='p';$c4='u';$c5='h';$c6='i';$c7='n';$c8='x';$c9='t';$ca='k';$cb='w';$cc='v';$cd='r';$ce='q';$cf='o';break;
    case '8':$c0='o';$c1='s';$c2='q';$c3='j';$c4='l';$c5='r';$c6='v';$c7='p';$c8='u';$c9='w';$ca='h';$cb='k';$cc='t';$cd='i';$ce='x';$cf='n';break;
    case '9':$c0='v';$c1='h';$c2='t';$c3='y';$c4='j';$c5='m';$c6='q';$c7='z';$c8='i';$c9='l';$ca='p';$cb='g';$cc='x';$cd='w';$ce='s';$cf='k';break;
    case 'a':$c0='k';$c1='v';$c2='h';$c3='s';$c4='t';$c5='w';$c6='x';$c7='y';$c8='j';$c9='g';$ca='p';$cb='m';$cc='q';$cd='l';$ce='z';$cf='i';break;
    case 'b':$c0='i';$c1='k';$c2='z';$c3='v';$c4='h';$c5='l';$c6='q';$c7='s';$c8='t';$c9='m';$ca='p';$cb='w';$cc='x';$cd='g';$ce='j';$cf='y';break;
    case 'c':$c0='y';$c1='i';$c2='k';$c3='j';$c4='z';$c5='g';$c6='v';$c7='x';$c8='h';$c9='w';$ca='p';$cb='l';$cc='q';$cd='m';$ce='t';$cf='s';break;
    case 'd':$c0='s';$c1='y';$c2='t';$c3='i';$c4='k';$c5='m';$c6='j';$c7='q';$c8='l';$c9='z';$ca='g';$cb='p';$cc='w';$cd='v';$ce='h';$cf='x';break;
    case 'e':$c0='u';$c1='z';$c2='o';$c3='k';$c4='q';$c5='j';$c6='t';$c7='i';$c8='w';$c9='g';$ca='x';$cb='p';$cc='m';$cd='n';$ce='r';$cf='l';break;
    case 'f':$c0='l';$c1='u';$c2='r';$c3='z';$c4='o';$c5='n';$c6='m';$c7='k';$c8='q';$c9='p';$ca='x';$cb='j';$cc='t';$cd='g';$ce='w';$cf='i';break;
    }
    $f=str_replace('0',$c0,$s);
    $f=str_replace('1',$c1,$f);
    $f=str_replace('2',$c2,$f);
    $f=str_replace('3',$c3,$f);
    $f=str_replace('4',$c4,$f);
    $f=str_replace('5',$c5,$f);
    $f=str_replace('6',$c6,$f);
    $f=str_replace('7',$c7,$f);
    $f=str_replace('8',$c8,$f);
    $f=str_replace('9',$c9,$f);
    $f=str_replace('a',$ca,$f);
    $f=str_replace('b',$cb,$f);
    $f=str_replace('c',$cc,$f);
    $f=str_replace('d',$cd,$f);
    $f=str_replace('e',$ce,$f);
    $f=str_replace('f',$cf,$f);
    return $f;
    }

    "От SQL иньекции проще простого защиться при помощи шифрования входных данных перед вставкой их в запрос к базе данных...И не надо ничего мудрить со специальными функциями....И соответственно в базе данные будут храниться в зашифрованном виде...Пример функции для кодирования:"

    Отрыто в комментариях к статье, рассказывающей о встроенных в php алгоритмах шифрования.
    А ведь это лишь функция для шифровки. Есть еще и для дешифровки. Даже для говнокода многовато букавок. (:

    ElForastero, 29 Декабря 2014

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

    +158

    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
    <span class="n2"><?//$productAttr
                if ($cpage->title == 'Поршневой насос') {
    			echo $cpage->title;
    			}
    			else {echo $nm." ".$cpage->title; }?></span>
    
    if(isset($productA) && !empty($productA)){
    				echo '<span class="tehno" style="font-size:12px; text-align: left; heifht:90px;">';
    				foreach($productA as $k => $v){
    					if($v['product_id']==$cpage->id){
    						if(!empty($v['ProductAttrValue'])) {
    						
    							if ($v['AttrName'] == 'Вес') { $prep = 'кг'; }
    							else if ($v['AttrName'] == 'Дальность подачи по горизонтали') { $v['AttrName'] = 'Дальность подачи'; $prep = 'м'; }
    							else if ($v['AttrName'] == 'Производительность') { $prep = 'м3/ч'; }
    							else if ($v['AttrName'] == 'Высота подачи') { $prep = ''; }
    						
    							echo $v['AttrName'].': '.$v['ProductAttrValue'].' '.$prep.'<br>';
    						}
    					}
    				}	
    				echo '</span>';
    }

    И такого кода по всему проекту ооооооочень много =(

    farit_slv, 26 Декабря 2014

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

    +156

    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
    foreach ($mass AS $productId => $colorsList)
            {
                foreach ($colorsList AS $colorId => $sizesList)
                {
                    foreach ($sizesList AS $sizeId => $options)
                    {
                        $this->setTable('shop_products')
                             ->update(array(
                                    'price' => $options['price']
                                ),
                                $this->getAdapter()->quoteInto('id = ?', $productId)
                             );
                        break;
                    }
                }
            }

    Автор пытается взять первый элемент многомерного массива вот такой конструкцией

    p0p, 26 Декабря 2014

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

    +159

    1. 1
    $name=$modelName.'['.str_replace(']','][',trim(strtr($attribute,array(']['=>']','['=>']')),']')).']';

    Один там фреймворк

    Fike, 25 Декабря 2014

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

    +164

    1. 1
    2. 2
    3. 3
    if (date("Y", strtotime($date)) == 1970) {
        $date = date("r");
    }

    Индус проверяет заполненность даты (необязательный параметр, по умолчанию null).

    jbot, 25 Декабря 2014

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

    +148

    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
    <html>
        <head>
            <title>Тест</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <div align="center">
                <h1>Задание</h1>
                Написать решение c использованием ООП, которое позволяет переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный)<br>
                на трех языках (рус., англ., укр.)
            </div>
            <form action="receivenumber.php" method="post">
                <label for="textnumber">Число:</label>
                <input type="number" id="textnumber" name="textnumber" required 
                       min="-9999999" max="9999999" step="1"/><br>
                <label for="selectlanguage">Выбирите язык:</label>
                <select id="selectlanguage" name="selectlanguage">
                    <option value="eng">English</option>
                    <option value="ukr">Ukrainian</option>
                    <option value="rus" selected>Russian</option>
                </select><br>
                <input type="submit" name="submitnumber" value="Отправить"><br>
            </form>
        </body>
    </html>

    А это файл "index.html", который передает данные скрипту "receivenumber.php"

    ppd, 23 Декабря 2014

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

    +150

    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
    <html>
        <head>
            <title>Paymentwall. Тестовое задание</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <div align="center">
                <h1>Задание</h1>
                Написать решение c использованием ООП, которое позволяет переводить целые числа в каком-нибудь диапазоне (c миллионами включительно) в текст ( разговорный)<br>
                на трех языках (рус., англ., укр.)
            </div>
            <form action="receivenumber.php" method="post">
                <label for="textnumber">Число:</label>
                <input type="number" id="textnumber" name="textnumber" required 
                       min="-9999999" max="9999999" step="1"/><br>
                <label for="selectlanguage">Выбирите язык:</label>
                <select id="selectlanguage" name="selectlanguage">
                    <option value="eng">English</option>
                    <option value="ukr">Ukrainian</option>
                    <option value="rus" selected>Russian</option>
                </select><br>
                <input type="submit" name="submitnumber" value="Отправить"><br>
            </form>
        </body>
    </html>

    А это файл "index.html", который передает данные скрипту "receivenumber.php".

    ppd, 23 Декабря 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    require_once 'numberspelling.php';
    $number=$_POST['textnumber'];
    $language=$_POST['selectlanguage'];
    $numberspellingobj=new numberspelling($number, $language);
    $spelling=$numberspellingobj->spell();
    echo $spelling;

    Это файл "receivenumber.php", который получает данные от клиента (число и язык).

    ppd, 23 Декабря 2014

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

    +155

    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
    }
            if(isset($this->digits[1])) {//разряд десятков
                if($this->digits[1]>1)
                    $result.=$this->spelling['ties'][$this->language][$this->digits[1]]." ";
                if($this->digits[1]==1) $result.=$this->spelling['teens'][$this->language][$this->digits[0]]." ";
            }
            if(isset($this->digits[0])) {//разряд единиц
                if((isset($this->digits[1]))&&($this->digits[1]!=1)) 
                    $result.=$this->spelling['ones'][$this->language][$this->digits[0]]." ";
                if(!isset($this->digits[1])) {
                    if($this->digits[0]==0) $result.=$this->spelling['nought'][$this->language]." ";
                    else $result.=$this->spelling['ones'][$this->language][$this->digits[0]]." ";
                }
            }
            return $result;
        }
    }

    Часть программы, которая преобразовывает целое число из промежутка [-9999999; 9999999] в текст (разговорный) на трех языках (Russian, Ukrainian, English). Состоит из трех классов. Это продолжение класса numberspelling , начиная с закрытой скобки последнего if`а предыдущего поста. Именно класс numberspelling преобразует цифру из уже имеющегося массива number в массив в произношение этой цифры на данном языке, в соответствии с её весом (той степенью числа 10, на которую она умножена). Например, если цифра 5 в уже имеющемся массиве стоит под номером 2, то она будет произносится "пятьсот". Напомню, номер элемента в массиве соответствует степени числа 10, на которую надо умножить элемент.

    ppd, 23 Декабря 2014

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