1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #6053

    +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
    13. 13
    14. 14
    /*
         * Language
         */
    
        $CONFIG['LANGUAGE'] = 'ru_ru';
    
        if (!preg_match('/en\./', $_SERVER['HTTP_HOST']))
        {
            $CONFIG['LANGUAGE'] = 'ru_ru';
        } else
        {
            $CONFIG['LANGUAGE'] = 'en';
        }
        $CONFIG['LANGUAGE'] = 'en';

    ещё тёпленькое. из-за "неизвестных" причин выбиралась не та локаль... видимо решили забить так, чтоб наверняка.

    POPSuL, 21 Марта 2011

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

    +146

    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
    // Calculate the age from a given birth date
    // Example: GetAge("1986-06-18");
    function GetAge($Birthdate)
    {
            // Explode the date into meaningful variables
            list($BirthYear,$BirthMonth,$BirthDay) = explode("-", $Birthdate);
            // Find the differences
            $YearDiff = date("Y") - $BirthYear;
            $MonthDiff = date("m") - $BirthMonth;
            $DayDiff = date("d") - $BirthDay;
            // If the birthday has not occured this year
            if ($DayDiff < 0 || $MonthDiff < 0)
              $YearDiff--;
            return $YearDiff;
    }
    ?>

    добыто в интернете.
    Опять пхп и опять даты. Похоже, это вечное...

    Lure Of Chaos, 20 Марта 2011

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

    +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
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    ##### grab the full name of the agent
    		$stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$VD_login' and pass='$VD_pass'";
    		$rslt=mysql_query($stmt, $link);
    			if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);}
    		$row=mysql_fetch_row($rslt);
    		$LOGfullname =							$row[0];
    		$user_level =							$row[1];
    		$VU_hotkeys_active =					$row[2];
    		$VU_agent_choose_ingroups =				$row[3];
    		$VU_scheduled_callbacks =				$row[4];
    		$agentonly_callbacks =					$row[5];
    		$agentcall_manual =						$row[6];
    		$VU_vicidial_recording =				$row[7];
    		$VU_vicidial_transfers =				$row[8];
    		$VU_closer_default_blended =			$row[9];
    		$VU_user_group =						$row[10];
    		$VU_vicidial_recording_override =		$row[11];
    		$VU_alter_custphone_override =			$row[12];
    		$VU_alert_enabled =						$row[13];
    		$VU_agent_shift_enforcement_override =	$row[14];
    		$VU_shift_override_flag =				$row[15];
    		$VU_allow_alerts =						$row[16];
    		$VU_closer_campaigns =					$row[17];
    		$VU_agent_choose_territories =			$row[18];
    		$VU_custom_one =						$row[19];
    		$VU_custom_two =						$row[20];
    		$VU_custom_three =						$row[21];
    		$VU_custom_four =						$row[22];
    		$VU_custom_five =						$row[23];
    
    		if ( ($VU_alert_enabled > 0) and ($VU_allow_alerts > 0) ) {$VU_alert_enabled = 'ON';}
    		else {$VU_alert_enabled = 'OFF';}
    		$AgentAlert_allowed = $VU_allow_alerts;
    
    		### Gather timeclock and shift enforcement restriction settings
    		$stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time from vicidial_user_groups where user_group='$VU_user_group';";
    		$rslt=mysql_query($stmt, $link);
    			if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);}
    		$row=mysql_fetch_row($rslt);
    		$forced_timeclock_login =	$row[0];
    		$shift_enforcement =		$row[1];
    		$LOGgroup_shiftsSQL = eregi_replace('  ','',$row[2]);
    		$LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL);
    		$LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')";
    		$agent_status_viewable_groups = $row[3];
    		$agent_status_viewable_groupsSQL = eregi_replace('  ','',$agent_status_viewable_groups);
    		$agent_status_viewable_groupsSQL = eregi_replace(' ',"','",$agent_status_viewable_groupsSQL);
    		$agent_status_viewable_groupsSQL = "user_group IN('$agent_status_viewable_groupsSQL')";
    		$agent_status_view = 0;
    		if (strlen($agent_status_viewable_groups) > 2)
    			{$agent_status_view = 1;}
    		$agent_status_view_time=0;
    		if ($row[4] == 'Y')
    			{$agent_status_view_time=1;}

    Оказывается, у меня на работе стоит чуть переделанный VICIdial.
    Это звездец.

    7ion, 20 Марта 2011

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