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

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
function mail_mime_to_array($imap,$mid,$parse_headers=false) 
         { 

             $mail = imap_fetchstructure($imap,$mid);

                // ИМЕННО ПОЧИНИЛ
                if(!isset($mail->parts))  {

                        $mail->parts = array();
                        $mail->parts[0]['type'] = $mail->type;
                        $mail->parts[0]['encoding'] = $mail->encoding;
                        $mail->parts[0]['ifsubtype'] = $mail->ifsubtype;
                        $mail->parts[0]['subtype'] = $mail->subtype;
                        $mail->parts[0]['ifdescription'] = $mail->ifdescription;
                        $mail->parts[0]['ifid'] = $mail->ifid;
                        $mail->parts[0]['bytes'] = $mail->bytes;
                        $mail->parts[0]['ifdisposition'] = $mail->ifdisposition;
                        $mail->parts[0]['disposition'] = $mail->disposition;
                        $mail->parts[0]['ifdparameters'] =$mail->ifdparameters;
                        $mail->parts[0]['dparameters'] =$mail->dparameters;
                        $mail->parts[0]['ifparameters'] =$mail->ifparameters;
                        $mail->parts[0]['parameters'] =$mail->parameters;

                }

             $mail = mail_get_parts($imap,$mid,$mail,0); 

  
                // ИМЕННО ПОЧИНИЛ
                if(!isset($mail->parts))  {

                    $mail[1]['data'] = imap_base64($mail[1]['data']);  
                }

             if ($parse_headers) $mail[0]["parsed"]=mail_parse_headers($mail[0]["data"]); 

             return($mail); 

         }

мое говно-детище

АЙФОН к примеру не отправляет заголовки и я не мог правильно под него запарсить вложения к почтовому сообщению.
Решил не париться и именно починил, взял скотч решил эту проблему, просто залепил ее.

Самое обидное, что даже не знаю как ее по нормальному решить.

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

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

  • Ифун такой ифун. Он вообще заголовки не шлет, или присылает только минимальный комплект?
    Ответить
    • $mail = imap_fetchstructure($imap,$mid);


      на выходе от IOS:
      stdClass Object
      (
          [type] => 5
          [encoding] => 3
          [ifsubtype] => 1
          [subtype] => JPEG
          [ifdescription] => 0
          [ifid] => 0
          [bytes] => 51962
          [ifdisposition] => 1
          [disposition] => INLINE
          [ifdparameters] => 1
          [dparameters] => Array
              (
                  [0] => stdClass Object
                      (
                          [attribute] => FILENAME
                          [value] => image.jpeg
                      )
      
              )
      
          [ifparameters] => 1
          [parameters] => Array
              (
                  [0] => stdClass Object
                      (
                          [attribute] => NAME
                          [value] => image.jpeg
                      )
      
              )
      
      )
      Ответить
      • с пк код не влазит, там 1 это общее, тоесть сколько всего байт весит письмо. сколько вложений и сами вложения находятся в parts. А parts, это такой же массив из вложений.
        Ответить
  • > Решил не париться и именно починил, взял скотч решил эту проблему, просто залепил ее.

    Апгрейд или ремонт? Все захреначим...синей изолентой(c)
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8