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

    +154

    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
    /*-------------------------------------------------------------------------*/
    	// ENCODE HEADERS - RFC2047
    	/*-------------------------------------------------------------------------*/
    	
    	function encode_headers( $headers = array() )
    	{	
    		$enc_headers = count($headers) ? $headers : $this->mail_headers;
    		
            foreach( $enc_headers as $header => $value) 
            {
    	        $orig_value = $value;
    	        
                preg_match_all( '/(\w*[\x80-\xFF]+\w*)/', $value, $matches );
    
                foreach ($matches[1] as $match_value)
                {
    		        if( $header == 'From' OR $header == 'Content-Type' OR $header == 'Content-Disposition' )
    		        {
    			        // Either sendmail or the email servers don't like 'From' encoded...let's remove the board name
    			        // 	and just move along, as email address cannot contain nasty characters themselves
    			        
    			        $this->mail_headers[ $header ] = $orig_value;//$this->from;
    			        $enc_headers[ $header ] = $orig_value;//$this->from;
    			        
    			        continue 2;
    		        }
    	        	            
                    $replacement = preg_replace_callback( '/([=_\?\x00-\x1F\x80-\xFF])/', create_function( '$match', 'return "=" . strtoupper( dechex( ord( "$match[1]" ) ) );' ), $match_value );
                    
                   	$value = str_replace( $match_value, $replacement, $value );
                }
                
                if( $orig_value != $value )
                {
    	            $value = '=?' . $this->char_set . '?Q?' . str_replace( " ", "=20", $value ) . '?=';
                }
    
                if( !count($headers) )
                {
                	$this->mail_headers[ $header ] = $value;
            	}
            	else
            	{
    	        	$enc_headers[ $header ] = $value;
            	}
            }
            
            return $enc_headers;
        }

    IPBoard 2.3.6
    class_email.php вообще изобилует весьма странными решениями, которые в итоге даже рвут хедеры письма. Но вот эта функция сверх всяких похвал - не смотря на то что она в большинстве случаев делает вид, что она работает - на самом деле это не так. Она целые блоки текста оставляет как есть (текст само собой русский, и емыл-клиенты немного обижаются).
    Очень завбавно получать такие письма-уведомления с разных форумов. Сделали бы попроще как-то, что-ли... :)

    guest, 29 Мая 2009

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

    +62.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
    <?php
    function echo_win_drives() {
      for($c='A'; $c<='Z'; $c++) {
        if(is_dir($c.':'))
          echo $c . ": ".systemdsk($c);
    } }
    
    function systemdsk($c) {
    if(is_dir($c.':/windows') || is_dir($c.':/winnt') || is_dir($c.':/win_nt')) {
    	 return " - system disk<br />\n"; } else { return "<br />\n"; };
    }
    echo_win_drives();
    ?>

    guest, 29 Мая 2009

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

    +147

    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
    <?php
    	/*
    		PHP-Fusion 7.00.05
    		Обработчик формы заявки для resursy.org
    		[email protected]
    	*/
    	
    require_once "maincore.php";
    require_once THEMES."templates/header.php";
    add_to_title(' - Подтверждение заявки');
    
    //Запись в файл
    if (isset($_POST['all']))
     {
     $file = fopen ("demand.log","a+");
     if ( !$file )
      {
        echo("Ошибка<br />");
      }
      else
      {
       fputs ($file, date("d.m.Y H:i:s")."\n");
       fputs ($file, $_POST['all']);
       fputs ($file, "-------------------\n");
      }
      fclose ($file);
    
    //Отправка на почту
    require_once INCLUDES."sendmail_include.php";
    
    if (sendemail("", "[email protected]", "", $_POST['email'], "Заявка на resursy.org", $_POST['all']))
    {
    echo "<p><strong>Ваш заявка принята в обработку. В ближайшее время с вами свяжуться для уточнения данных.</strong></p>";
    }
    else
    {
    echo "<p><strong>Заявка не принята! Попробуйте еще раз.</strong></p>";
    }
    
     }
     else
     {
    
    // Создание массива
    $all="Фамилия: ".$_POST['surname']."\nИмя: ".$_POST['name']."\nОтчество: ".$_POST['patronymic']."\nДата рождения: ".$_POST['date']."\nE-mail: ".$_POST['email']."\nОрганизация: ".$_POST['organization']."\nТелефон: ".$_POST['phone']."\nАдрес: ".$_POST['delivery']."\nЗаказ: ".$_POST['order'];
     echo (preg_replace ("#\n#", "<br>", $all));
     echo ("<br><form method='post' action='demand_confirmation.php'><input name='all' type='hidden' value='".$all."'><input name='email' type='hidden' value='".$_POST['email']."'><input type='button' class='button' value='Назад' onclick='history.go(-1)'>&nbsp<input type='submit' class='button' value='Подтвердить заявку'></form>");
     }
    require_once THEMES."templates/footer.php";
    ?>

    guest, 28 Мая 2009

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

    +152

    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
    <?php
    set_time_limit (0);
    $passlen=8; // длина пароля
    $hsh="c3b4313b3418011609ec2870ab3d9e17"; // хэш пароля
    for ($i = 0; $i < pow (10, ($passlen)); $i++)
     {
      $lnt= $passlen - strlen ($i); // сколько незначащих нулей добавить
      while ($lnt-- >0) $i="0".$i; // добавляются незначащие нули
      $hash = md5 ($i);
      if ($hash==$hsh)
       {
        echo ("pass=".$i);
        break;
       }
     }
    ?>

    брут md5 перебором

    guest, 28 Мая 2009

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    class RequiredLibraryClassNotFoundInALibraryDirectoryException extends Exception
    {
    //...
    }

    Ну и имя у класса:)

    guest, 28 Мая 2009

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

    +64.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
    public function GetRandomizedAnswers()
    	{
    		$answers = array();
    
    		if (!empty($this->answer1))
    		{
    			$answers[] = $this->answer1;
    		}
    		if (!empty($this->answer2))
    		{
    			$answers[] = $this->answer2;
    		}
    		if (!empty($this->answer3))
    		{
    			$answers[] = $this->answer3;
    		}
    		if (!empty($this->answer4))
    		{
    			$answers[] = $this->answer4;
    		}
    		if (!empty($this->answer5))
    		{
    			$answers[] = $this->answer5;
    		}
    
    		return shuffle($answers);
    	}

    guest, 28 Мая 2009

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

    +141

    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 ($_POST['form_submit'] == 'update_plugins') {
                $this->con->db_nofetch('DELETE FROM `blog_plugins_status` WHERE `blog_id`=\''.$this->getState('blog_id').'\' AND ( `state`=\'none\');');
    
    
                $q2 = 'UPDATE `blog_plugins_status` SET `status`=\'cancelled\' WHERE `blog_id`=\''.intval($this->blog_id).'\' AND `status`=\'semicancelled\';';
                $this->con->db_nofetch($q2);
    
                $q2 = 'UPDATE `blog_plugins_status` SET `status`=\'completed\' WHERE `blog_id`=\''.intval($this->blog_id).'\' AND `status`=\'semicompleted\';';
                $this->con->db_nofetch($q2);
    
                // updating saved versions to latest
                $update_plug_ids = implode('\', \'', $this->plugins_list_update);
                $q2 = 'UPDATE `blog_plugins_status` AS `bps` JOIN `blog_plugins` AS `bp` ON `bp`.`id` = `bps`.`plugin_id` SET `bps`.`plugin_version` = `bp`.`plugin_version` WHERE `bps`.`blog_id`=\''.intval($this->blog_id).'\' AND `bp`.`id` IN (\''.$update_plug_ids.'\');';
                $this->con->db_nofetch($q2);
            }

    sdf gsdf gsdfg

    guest, 27 Мая 2009

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

    +150

    1. 1
    if ($d != "".(double)$d)

    Говорят, что таким скриптом можно проверять данные когда принимаешь из из поля. Чтобы никто плохого не смог закинуть!

    guest, 27 Мая 2009

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?
    function br($text)
    {
        return (str_replace(Array('"',chr(13).chr(10),"\n"),Array("&quot;","<br>","<br>"),($text)));
    }
    ?>

    nl2br

    guest, 26 Мая 2009

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

    +134

    1. 1
    vse vi pidari

    oijpo

    guest, 24 Мая 2009

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