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

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
class QueryWhereGroup {
  public $groupOp = 'AND';
  public $args = array();
  public $conditions = array();

  function cond($field, $value = NULL, $op = '=') {
    if ($value === NULL) {
      $this->conditions[] = $field;
      if (is_object($field) && isset($field->args)) {
        $this->args = array_merge($this->args, $field->args);
      }
    }
    else {
      if (is_numeric($value)) {
        $this->conditions[] = "$field $op %d";
        $this->args[]  = $value;
      }
      elseif (is_array($value)) {
        $placeholders  = db_placeholders($value, is_numeric(current($value)) ? 'int' : 'text');
        $this->conditions[] = "$field  IN ($placeholders)";
        $this->args = array_merge($this->args, $value);
      }
      else {
        $this->conditions[] = "$field $op '%s'";
        $this->args[]  = $value;
      }
    }

    return $this;
  }

  function compile($wrap = FALSE) {
    $result = join(" $this->groupOp ", $this->conditions);
    if ($wrap && !empty($result)) {
      $result = "(\n$result\n)";
    }

    return $result;
  }

  function __toString() {
    return $this->compile();
  }
}

см. след говнокод

Запостил: vectoroc vectoroc, (Updated )

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

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8