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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($mail->send($mailTo)) { 
    			$aSuccMess[] = "Спасибо. Ваш сообщение отправлено. Администрация сайта рассмотрит его в ближайшее время.";
    			$fname = $fmail = $ftext = "";
    		} else { 
    			$fname = $fmail = $ftext = "";
    			$aSuccMess[] = "Спасибо. Ваш сообщение отправлено. Администрация сайта рассмотрит его в ближайшее время.";
    		}

    Взято с сайта, сделанным моим коллегой)

    sleeper, 24 Марта 2011

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

    +167

    1. 1
    2. 2
    $handle = fopen($filename, "a+");
    fwrite($handle, '');

    В цикле таким образом измененяли дату модификации файлов. Существование touch() похоже было неизвестно.

    tkf, 24 Марта 2011

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

    +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
    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
    class Query {
      protected $baseTable;
      protected $baseTableAlias;
      protected $whereGroup;
    
      protected $joins = array();
      protected $fields = array();
    
      protected $executed = FALSE;
      protected $resource = NULL;
    
    
      function __construct($base_table = 'node', $alias = 'n') {
        $this->whereGroup = new QueryWhereGroup();
        $this->baseTable = $base_table;
        $this->baseTableAlias = empty($alias) ? $base_table : $alias;
      }
    
      function select($fields) {
        settype($fields, 'array');
        foreach ($fields as $alias => $field) {
          if (is_numeric($alias)) {
            $this->fields[] = $field;
          }
          else {
            $this->fields[$alias] = "$field as $alias";
          }
        }
    
        return $this;
      }
    
      /**
       * @param QueryWhereGroup $whereGroup
       * @return Query
       */
      function where($whereGroup) {
        call_user_func_array(array($this->whereGroup, 'cond'), func_get_args());
        return $this;
      }
    
      function createWhereGroup() {
        return new QueryWhereGroup();
      }
    
      function join($table, $alias = NULL, $condition, $join_type = 'INNER') {
        if (!$alias) {
          $alias = $table;
        }
    
        if (is_array($condition)) {
          $condition = 'USING ('. join(', ', $condition) .')';
        }
        if (!preg_match('/^ON|USING/i', $condition)) {
          $condition = 'ON '. $condition;
        }
    
        $this->joins[$alias] = "$join_type JOIN $table $alias $condition";
        return $this;
      }
    
      function compile() {
        $select_fields = join(', ', array_unique($this->fields));
        $joins_list = join("\n", $this->joins);
        $where_conditions = $this->whereGroup->compile();
    
        if (!empty($where_conditions)) {
          $where_conditions = 'WHERE '. $where_conditions;
        }
    
        return "SELECT $select_fields FROM {{$this->baseTable}} {$this->baseTableAlias} \n $joins_list $where_conditions";
      }
    
      function args() {
        return $this->whereGroup->args;
      }
    
      function execute() {
        return db_query($this->compile(), $this->args());
      }
    
      function fetchAll() {
        $res = $this->execute();
        while($row = db_fetch_object($res)) {
          $rows[] = $row;
        }
        return $rows;
      }
    }

    построитель запросов (drupal 6)
    wheregroup здесь http://govnokod.ru/6076

    vectoroc, 23 Марта 2011

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

    +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
    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, 23 Марта 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if ( $arOrderProps['CODE'] == 'BIRTHDATE_MONTH'
    	  || $arOrderProps['CODE'] == 'DOCEXPIRATION_MONTH'
    	  || $arOrderProps['CODE'] == 'BIRTHDATE_DAY'
    	  || $arOrderProps['CODE'] == 'DOCEXPIRATION_DAY' )
    {
    	if ( $curVal[0] == '0' )
    	{
    	$curVal = $curVal[1];
    	}
    }

    Преобразование месяца или дня, например 05 => 5. var_dump( $curVal ) => string(2) "20"

    wwwguru, 23 Марта 2011

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

    +157

    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
    $str=$argv[1];
    $sz=sizeof($str);
    $c=1;
    while($c){
    for($i=0;$i<=10;$i++){
    $str = strtolower($str);
    $per = str_shuffle($str);
    #echo "$per\n";
    $res=system("egrep ' ".$per." ' ./dict.txt | gawk '{ print $1 }'");
    if($res!="" && $sz=sizeof($res)){echo "Success $res\n";};
    };
    };
    ?>

    Поиск слов в словаре

    AliceGoth, 23 Марта 2011

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <select name="input_name[14]">
      <option value="Интернет"<?if(htmlspecialchars($_POST['input_name'][15]) == "Интернет") echo ' SELECTED';?>>Интернет
     <option value="Авто / Мото"<?if(htmlspecialchars($_POST['input_name'][15]) == "Авто / Мото") echo ' SELECTED';?>>Авто / Мото
      <option value="Бизнес и производство"<?if(htmlspecialchars($_POST['input_name'][15]) == "Бизнес и производство") echo ' SELECTED';?>>Бизнес и производство
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Оборудование
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Бытовая техника
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Все для животных
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Здоровье и красота
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Медицина
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Знакомства
      <option value=""<?if(htmlspecialchars($_POST['input_name'][15]) == "") echo ' SELECTED';?>>Компьютеры и комплектующие
      </select>

    без комментариев
    http://javascript.ru/forum/dom-window/15999-mnogourovnevyjj-select.html

    vulkan, 22 Марта 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function plural_filter($param) {
      if(strstr($param, 'Hotels'))
        return str_replace('Hotels', 'Hotel', $param);
      else if(strstr($param, 'Restaurants'))
        return str_replace('Restaurants', 'Restaurant', $param);
      else
        return $param;
    }

    no comments xD

    realsugar, 22 Марта 2011

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

    +160

    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
    <?
            if ($GET['cat'] == 'read') $y=date("Y");
                    else $y=$GET['cat'] ;
                    
            if ($GET['alb'] == 'read') $m=date("m");
                    else $m=$GET['alb'] ;
            
            if (!isset($y) OR $y < 1970 OR $y > 2037) $y=date("Y");
            if (!isset($m) OR $m < 1 OR $m > 12) $m=date("m");
     
            include_once './libs/mysql.php';
            
            $res='';
            $rows='';
            $date_array = array(); 
            $arraycount=1;          
    
                    
            $res = mysqlQuery("SELECT * 
                                                    FROM `". BG_DBPREFIX ."calendar`
                                                    WHERE YEAR(date)=".$y." AND MONTH(date)=".$m."
                                                    ORDER BY date ASC"
                                                    );
        if(mysql_num_rows($res) > 0)         // Если записи есть, вытаскиваем по одной в цикле 
                    {                                       
                    while($rows = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars() 
            {
                            $date_array[$arraycount]['id']=$rows['id'];
                            $date_array[$arraycount]['date']=$rows['date'];
                            $date_array[$arraycount]['name']=$rows['name'];
                            $date_array[$arraycount]['status']=$rows['status'];
                            $arraycount++;
                    };
                    }
     
                    $prev_y=date('Y',mktime (0,0,0,$m-1,1,$y));
                    $prev_m=date('m',mktime (0,0,0,$m-1,1,$y));
                    $next_y=date('Y',mktime (0,0,0,$m+1,1,$y));
                    $next_m=date('m',mktime (0,0,0,$m+1,1,$y));
     
    echo "<a href=\"".href('cat='.$prev_y,'alb='.$prev_m)."\">Prev</a>";
    echo "<a href=\"".href('cat='.$next_y,'alb='.$next_m)."\">Next</a>";

    qbasic, 21 Марта 2011

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

    +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
    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
    <?
    class ActiveRecord {
    static function find_by_id($id) {
    	$class = get_called_class(); // LSI magic comes from here
    	$sql = 'SELECT FROM `' . $class . '` WHERE `id`=\'' . $id .  "';";
    	echo "Generate sql for select by id\n";
    	echo $sql . "\n";
    	return(new $class);
    }
    
    function save() {
    
    $class = get_class();
    
    if(!isset($this->id)) {
    echo "Generate sql for new Record:\n";
    $sql = 'INSERT INTO `' . $class . '` ';
    $sql_fields = '(';
    $sql_values = '(';
    foreach($this->fields as $field => $type) {
    	if($field != 'id') {
    	$sql_fields .= '`' . $field . '`,';
    	$sql_values .= "'" . $this->{$field} . "',";
    	}
    }
    $sql = $sql . substr($sql_fields, 0, -1) . ') VALUES ' . substr($sql_values, 0, -1) . ');';
    echo 'sql: ' . $sql . "\n";
    $this->id = 1;
    } 
    else {
    	echo "Generate sql for Update:\n";
    	 
    	$sql = 'UPDATE `' . $class . '` SET ';
    	foreach($this->fields as $field => $type) {
    	if($field != 'id') {
    	$sql .= '`' . $field . '`=\'' . $this->{$field} . '\',';
    	}
    	}
    	$sql = substr($sql, 0, -1) . ';';
    	echo 'sql: ' . $sql . "\n";
    }
    }
    }

    qbasic, 21 Марта 2011

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