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

    −2

    1. 1
    PHP - самое большое говно которое я встречал. Стив Джобс

    samopisiets, 09 Ноября 2017

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

    −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
    <?
    
    Plural::setLanguage(basename(__FILE__, '.php'));
    
    # each rule is a regular expression and its replacement
    Plural::addRules(array(
        '/(matr|vert|ind)(ix|ex)$/i'    => '\1ices',    # matrix, vertex, index
        '/(ss|sh|ch|x|z)$/i'            => '\1es',      # sibilant rule (no ending e)
        '/([^aeiou])o$/i'               => '\1oes',     # -oes rule
        '/([^aeiou]|qu)y$/i'            => '\1ies',     # -ies rule
        '/sis$/i'                       => 'ses',       # synopsis, diagnosis
        '/(m|l)ouse$/i'                 => '\1ice',     # mouse, louse
        '/(t|i)um$/i'                   => '\1a',       # datum, medium
        '/([li])fe?$/i'                 => '\1ves',     # knife, life, shelf
        '/(octop|vir|syllab)us$/i'      => '\1i',       # octopus, virus, syllabus
        '/(ax|test)is$/i'               => '\1es',      # axis, testis
        '/([a-rt-z])$/i'                => '\1s'        # not ending in s
    ));
    
    # words that don't follow any pluralization rules
    Plural::addIrregulars(array(
        'bus'           => 'busses',
        'child'         => 'children',
        'man'           => 'men',
        'person'        => 'people',
        'quiz'          => 'quizzes',
        # words whose singular and plural forms are the same
        'equipment'     => 'equipment',
        'fish'          => 'fish',
        'information'   => 'information',
        'money'         => 'money',
        'moose'         => 'moose',
        'news'          => 'news',
        'rice'          => 'rice',
        'series'        => 'series',
        'sheep'         => 'sheep',
        'species'       => 'species'
    ));

    Удобная и быстрая бибилотека для плюралайза
    https://github.com/mjackson/plural/tree/master/lib

    SemaReal, 07 Ноября 2017

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($count == 1 or $count == 21 or $count == 31 or $count == 41 or $count == 51 or $count == 61 or $count == 71 or $count == 81) ( $str = ' товар');
            if ($count == 2 or $count == 3 or $count == 4 or $count == 22 or $count == 23 or $count == 24 or $count == 32 or $count == 33 or $count == 34 or $count == 42 or $count == 43 or $count == 44 or $count == 52 or $count == 53 or $count == 54 or $count == 62 or $count == 63 or $count == 64) ( $str = ' товара');
            if ($count == 5 or $count == 6 or $count == 7 or $count == 8 or $count == 9 or $count == 10 or $count == 11 or $count == 12 or $count == 13 or $count == 14 or $count == 15 or $count == 16 or $count == 17 or $count == 18 or $count == 19 or $count == 20 or $count == 25 or $count == 26 or $count == 27 or $count == 28 or $count == 29 or $count == 30 or $count == 35 or $count == 36 or $count == 37 or $count == 38 or $count == 39 or $count == 40 or $count == 45 or $count == 46 or $count == 47 or $count == 48 or $count == 49 or $count == 50 or $count == 55 or $count == 56 or $count == 57 or $count == 58 or $count == 59 or $count == 60 or $count == 65) ( $str = ' товаров');
    
            if ($count > 81){
                $str=" тов";
            }

    Бронебойный pluralize

    arth, 05 Ноября 2017

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

    +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
    $probabilities=array();
    $get_items=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' ORDER BY `probability` DESC;");
    while($item=mysql_fetch_assoc($get_items)){
    $probabilities[$item['probability']]=0;
    }
    $dices=$probabilities;
    for($pi=100;$pi>=0;$pi--){
    foreach($probabilities as $probability=>$pstate){
    if(rand(1, 2)==2){
    if($pi<=$probability){
    $dices[$probability]=$dices[$probability]+1;
    }
    }	
    }
    }
    arsort($dices, SORT_NUMERIC);
    $probability=reset(array_keys($dices));
    $get_prize=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' AND `probability`='".$probability."' ORDER BY RAND() LIMIT 1;");

    Написал с нуля на заказ движок для очередного детского говноказино (розыгрыш пикселей для игр в "Steam").
    Заказчик умолял сделать возможность управления вероятностью выпадения того или иного предмета (в процентах), что я и сделал. Вышеприведённый алгоритм как раз отвечает за выбор приза в соответствии с прописанными в настройках вероятностями. Сейчас кажется, что решение не самое "изящное".
    Есть, что заметить по поводу алгоритма?

    AnalPerOral, 02 Ноября 2017

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

    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
    if(@isset($_GET['id'])){
    $myconns=@mysql_connect(\"127.0.0.1\",\"user_noprivs\",\"unbr34k4bё3!\") or
    die(\"sorry can't connect\");
    @mysql_select_db(\"cms\") or die(\"sorry can't select DB\");
    $sql_query = @mysql_query(
    \"select content from content_table where id=\".$_GET['id']) or die(\"Sorry
    wrong
    SQL Query\");
    // oops SQL Injection-^
    while($tmp = @mysql_fetch_row($sql_query))
    echo $tmp[0]; //echoes the result as HTML code
    }else{
    echo \"Welcome to My Bank
    \".Login.\"\";
    }

    Оригинал: ru.wikipedia.org/wiki/SiXSS

    Оригинал оригинала: securitylab.ru/analytics/216380.php?el_id=216380&VOTE_ID=104&view _result=Y

    Смысл не в смысле кода, а в том, как можно было вообще умудрится так скопировать текст, что бы везде было экранирование

    d_fomenok, 02 Ноября 2017

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

    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
    function string_cleaner($data, array $opts) //1: Массив или строка, 2: Только массив
    	{
    		
    		if (empty($opts))
    		{
    			$opts['null_byte'] = TRUE;
    		}
    		
    		$null_byte = ($opts['null_byte'] == 'off')
    			? FALSE
    			: TRUE;
    		
    		$opts_allowed = ['trim', 'htmlspecialchars', 'strip_tags', 'addslashes', 'htmlentities'];
    		
    		$opts = array_intersect_key($opts, array_flip($opts_allowed));
    		
    		if(is_array($data))
    		{
    			foreach($data as $key => &$value)
    			{
    				if(is_array($value))
    				{
    					string_cleaner($value, $opts);
    				}
    				
    				if ($null_byte)
    				{
    					$value = str_replace(chr(0), '', $value);
    				}
    				
    				if(is_array($opts))
    				{
    					foreach($opts as $clear_func => $clear_func_params)
    					{
    						$value = (!$clear_func_params) ? $clear_func($value) : $clear_func($value, $clear_func_params);
    					}
    				}
    			}
    		}
    		else
    		{
    			if ($null_byte)
    			{
    				$data = str_replace(chr(0), '', $data);
    			}
    			
    			if(is_array($opts))
    			{
    				foreach($opts as $clear_func => $clear_func_params)
    				{
    					$data = $value = (!$clear_func_params) ? $clear_func($data) : $clear_func($data, $clear_func_params);
    				}
    			}
    		}
    		
    		return $data;
    		
    	}
    
    {...}
    
    	$server['get'] = string_cleaner($_GET, ['trim'=>' ', 'htmlentities'=>'', 'strip_tags'=>'', 'addslashes'=>'']);

    Для сука ленивых

    Intention, 30 Октября 2017

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

    −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
    <?php
    
    for($a = 1;$a <= 1;$a++){
        echo "$a";
        for ($b = 2 ;$b <= 2;$b++){
            echo "<br /> $b";
            for ($c = 3 ;$c <= 3;$c++){
                echo "$c";
                for ($d = 4;$d <= 4;$d++){
                    echo "<br/> $d";
                    for ($e = 5;$e <= 5;$e++){
                        echo "$e";
                        for($f = 6;$f <= 6;$f++){
                            echo "$f";
                            for ($j = 7;$j <= 7;$j++){
                                echo "<br />$j";
                                for ($h = 8;$h <=8;$h++)
                                echo "$h";
                                for ($i = 9;$i <= 9;$i++){
                                    echo "$i";
                                    for ($k = 10;$k <= 10;$k++){
                                        echo "$k";
                                        for ($l = 11;$l <= 11;$l++){
                                            echo "<br />$l";
                                            for ($m = 12;$m <= 12;$m++){
                                                echo "$m";
                                                for ($n = 13;$n <= 13;$n++){
                                                    echo "$n";
                                                    for ($o = 14;$o <= 14;$o++){
                                                        echo "$o";
                                                        for ($p = 15;$p <= 15;$p++){
                                                            echo "$p";
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    talibana, 30 Октября 2017

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

    +8

    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
    $data['age_range'] = array(
                '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', '100' => '100',
                '101' => '101', '102' => '102', '103' => '103', '104' => '104', '105' => '105',
                '106' => '106', '107' => '107', '108' => '108', '109' => '109', '110' => '110', '111' => '111', '112' => '112'
            );

    Hahaha classic

    gorsash, 29 Октября 2017

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function hasSubscriptionLot(int $lotId) : bool
    {
        foreach ($this->getSubscriptionLotIds() as $subLotId => $quantity) {
            if ($lotId == $subLotId) {
                return true;
            }
       }
    
       return false;
    }

    array_key_exists?.. не, не слышали

    gavaez, 28 Октября 2017

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

    +5

    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
    function getadminuserid(){
    	global $wpdb;
        //Get all users in the DB
        $wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");
    
        //Blank array
        $adminArray = array();
        //Loop through all users
        foreach ( $wp_user_search as $userid ) {
            //Current user ID we are looping through
            $curID = $userid->ID;
            //Grab the user info of current ID
            $curuser = get_userdata($curID);
            //Current user level
            $user_level = $curuser->user_level;
            //Only look for admins
            if($user_level >= 8){//levels 8, 9 and 10 are admin
                //Push user ID into array
                $adminArray[] = $curID;
            }
        }
        return $adminArray;
    }

    1) Get IDs for all users
    2) Iterate over result set to find admin `get_userdata` function = 1 DB call

    outcome:
    1) full RAM
    2) dead DB

    ===
    official woocommerce plugin by company

    tatocaster, 27 Октября 2017

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