1. 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

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

    +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
    <?php
    class SmsController extends Controller
    {
        protected static $currentYear;
    
        public static function currentYear()
        {
            if (is_null(self::$currentYear)) {
                self::$currentYear = date('Y');
            }
    
            return self::$currentYear;
        }
    ?>

    :-D

    FireDemonru, 24 Октября 2017

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

    0

    1. 1
    $this->currencyIntToFloat($this->contract->getCredit()->getParams()['installments'][key($this->contract->getCredit()->getParams()['installments'])]['interestAmount']);

    dmitrij, 23 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    class Foo implements JsonSerializable {
      public function jsonSerialize() {
        return new self;
      }
    }
    
    # Segfault!
    var_dump(json_encode(new Foo));

    https://habrahabr.ru/company/mailru/blog/340242/
    😆

    inho, 17 Октября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    $fileName = substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 5, 8);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '.' . end($ext);

    Генерация имени файла

    FireDemonru, 17 Октября 2017

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

    −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
    <?php
    	$f = fopen('comments', 'a');
      $name = htmlspecialchars($_POST['name']);
      if( strlen($name)<8 || strlen($name)>40 ) #из-за русских символов умножаем на два
        exit("Имя должно иметь длину от 4 до 20 символов!");
      $msg = htmlspecialchars($_POST['text']);
      if( strlen($msg)<30 || strlen($msg)>500 )
        exit("Сообщение должно иметь длину от 30 до 500 символов!");
      $text = "\n#${name}\n##${msg}";
      $r = fwrite($f, $text);
      if($r) echo <<<TEXT
      Спасибо за ваш комментарий!<br>
      <a href="comments.php">Вернуться назад</a>
    TEXT;
      else echo 'Ошибка IO_WRITE';
      fclose($f);
    ?>

    Часть 2! Зацениваем пацаны по 100 больной шкале

    KoderOT-Boga, 17 Октября 2017

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

    −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
    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
    <html>
    <br>
    <div style="text-align:center">
    <form action="add.php" method="post">
    Ваше имя: <input type="text" name="name" /><br>
    Текст: <input type="text" name="text" /><br>
    <input type="submit" value="Отправить"/>
    </form>
    </div>
    
    <br>
    
    <div>
    <h2 style="text-align:center">Комментарии</h1>
    <?php
      $f = fopen("comments", "r");
      if($f)
      {
        while(!feof($f))
        {
          echo '<div style="border-style:groove; margin-bottom:10px">';
          $ch = fgetc($f);
          if($ch = '#')
          {
            fgetc($f);
            echo '<span style="font-weight:bold">';
            echo fgets($f); //читаем имя
            echo "</span><br>";
          }
          fgetc($f); fgetc($f);
          echo fgets($f), "<br>"; //читаем комментарий
          echo '</div>';
        }
        fclose($f);
      }
      else
        echo "Ошибка загрузки комментариев! Свяжитесь с администратором.";
    ?>
    </div>
    
    </html>

    Минималистичное комментирование! Часть 1

    KoderOT-Boga, 17 Октября 2017

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

    +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
    include 'db.php';
    
    $login = $_POST['login'];
    $pass = $_POST['pass']);
    
    $check = mysql_query("SELECT * FROM `users` WHERE login = '" .$login. "'");
    $dbarr = mysql_fetch_array($check);
    
    if($dbarr['pass'] != $pass) {
        setcookie("wrongpass", 'yes', time() + 4, "/");
        header("Location: /index.php");
        return;
    }

    Интересный способ вывода оповещения о не верном пароле, в index.php обрабатывается cookie wrongpass, и если он есть выводится оповещение.

    Lantos, 16 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    if (!@$DB->query("INSERT INTO DBUSER(?#) VALUES(?a)", array_keys($row), array_values($row))) {
    		if($DB->error['code']==1062) $error="Такой логин уже существует";
    	};
    	return $error;

    KISS как по учебнику

    SeniorShaurman, 13 Октября 2017

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

    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
    while($res = $arRes->Fetch()){
    	if(strlen($res['PERSONAL_BIRTHDAY'])>4){
    		 $qw=substr($res['PERSONAL_BIRTHDAY'],0,2); 
    		 $sq=substr($res['PERSONAL_BIRTHDAY'],3,2);  
    
    		 $sq=$sq*100;
    		 $sum= $qw+$sq;  
    
    		 if($sum<$day){
    			$i=$i+1;  
    			$user[$i]['as']=$res; 
    			$user[$i]['sa']=$sum; 
    		}
    	}			
    }
    
    foreach($user as &$ar_item)
    {
        $ar_sort[] = $ar_item['sa'];//Выбираем поле, по которому будем сортировать массив
    }
    
    array_multisort($ar_sort, SORT_DESC, $user);

    Интересный метод преобразования даты в число для дальней сортировки.

    omar, 13 Октября 2017

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