Niouzes

D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php:3658:
object(LogicException)[63]
  protected 'message' => string 'Class LSContentsCalendar could not be loaded' (length=44)
  private 'string' (Exception) => string '' (length=0)
  protected 'code' => int 0
  protected 'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
  protected 'line' => int 3587
  private 'trace' (Exception) => 
    array (size=15)
      0 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3587
          'function' => string 'spl_autoload' (length=12)
          'args' => 
            array (size=1)
              ...
      1 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3262
          'function' => string 'EmergeIsland' (length=12)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=6)
              ...
      2 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2756
          'function' => string 'EmergeIslands' (length=13)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=5)
              ...
      3 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2994
          'function' => string 'EmergeArchipelagosFromParent' (length=28)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=3)
              ...
      4 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5928
          'function' => string 'EmergeArchipelagos' (length=18)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=2)
              ...
      5 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\template\vaesoli.html' (length=58)
          'line' => int 89
          'function' => string 'Land' (length=4)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      6 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6110
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
      7 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6053
          'function' => string 'XInclude' (length=8)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      8 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5828
          'function' => string 'IncludeTemplate' (length=15)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      9 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5580
          'function' => string 'UseTemplate' (length=11)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      10 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 3282
          'function' => string 'RenderXML' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      11 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 2082
          'function' => string 'StartPage' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      12 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSApplication.class.php' (length=76)
          'line' => int 814
          'function' => string 'Render' (length=6)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      13 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\master.php' (length=47)
          'line' => int 8
          'function' => string 'Run' (length=3)
          'class' => string 'LSApplication' (length=13)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      14 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\documentation\documentation-vaesoli-code-source.php' (length=88)
          'line' => int 1
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
  private 'previous' (Exception) => null
  public 'xdebug_message' => string '<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> LogicException: Class LSContentsCalendar could not be loaded in D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php on line <i>3587</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory'... (length=6279)
D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php:3658:
object(LogicException)[81]
  protected 'message' => string 'Class LSContentsCitation could not be loaded' (length=44)
  private 'string' (Exception) => string '' (length=0)
  protected 'code' => int 0
  protected 'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
  protected 'line' => int 3587
  private 'trace' (Exception) => 
    array (size=15)
      0 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3587
          'function' => string 'spl_autoload' (length=12)
          'args' => 
            array (size=1)
              ...
      1 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3262
          'function' => string 'EmergeIsland' (length=12)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=6)
              ...
      2 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2756
          'function' => string 'EmergeIslands' (length=13)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=5)
              ...
      3 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2994
          'function' => string 'EmergeArchipelagosFromParent' (length=28)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=3)
              ...
      4 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5928
          'function' => string 'EmergeArchipelagos' (length=18)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=2)
              ...
      5 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\template\vaesoli.html' (length=58)
          'line' => int 89
          'function' => string 'Land' (length=4)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      6 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6110
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
      7 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6053
          'function' => string 'XInclude' (length=8)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      8 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5828
          'function' => string 'IncludeTemplate' (length=15)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      9 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5580
          'function' => string 'UseTemplate' (length=11)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      10 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 3282
          'function' => string 'RenderXML' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      11 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 2082
          'function' => string 'StartPage' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      12 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSApplication.class.php' (length=76)
          'line' => int 814
          'function' => string 'Render' (length=6)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      13 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\master.php' (length=47)
          'line' => int 8
          'function' => string 'Run' (length=3)
          'class' => string 'LSApplication' (length=13)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      14 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\documentation\documentation-vaesoli-code-source.php' (length=88)
          'line' => int 1
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
  private 'previous' (Exception) => null
  public 'xdebug_message' => string '<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> LogicException: Class LSContentsCitation could not be loaded in D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php on line <i>3587</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory'... (length=6279)

Attention

The documentation is incomplete. The Vae Soli! team works hard to make it as exhaustive as possible with tons of useful examples and easy to understand explanations.

On top of that, we have decided to use our own tool to generate the documentation you read. This also takes time to fine-tune. Our goal is have better documentation, easier to read, easier to use, completely integrated with our site.

Even though NOT finalized, you can now link back to our documentation pages as we have decided once and for all about the structure of our documents and where they all reside on our server.

Thank you very much
The Vae Soli! team.

2019-06-18 à 01:34:06

Table Of Contents

  1. FOUNDATION (functions) (01/04/2015)
  2. LSAction (class) (01/04/2015)
  3. LSAddress (class) (01/04/2015)
  4. LSAdministrativeArea (class) (01/04/2015)
  5. LSApplication (class) (14/10/2013)
  6. LSArray (class) (14/10/2013)
  7. LSArticle (class) (18/02/2014)
  8. LSAssertion (class) (14/10/2013)
  9. LSAudience (class) (18/02/2014)
  10. AUTOLOAD (function) (21/04/2014)
  11. LSAutoReference (class) (14/10/2013)
  12. LSBag (class) (14/10/2013)
  13. LSBBCodes (class) (10/06/2014)
  14. LSBrowser (class) (14/10/2013)
  15. LSCache (class) (14/10/2013)
  16. LSCalculator (class) (14/10/2013)
  17. LSCalendar (class) (14/10/2013)
  18. LSCameraSnapshot (class) (14/10/2013)
  19. LSCitation (class) (14/10/2013)
  20. LSClass (class) (14/10/2013)
  21. LSCode (class) ()
  22. Colors (functions) (18/06/2019)
  23. LSContactForm (class) (14/10/2013)
  24. LSContainer (class) (14/10/2013)
  25. LSContents (class) (14/10/2013)
  26. LSContentsAccounts (class) (14/10/2013)
  27. LSContentsArticles (class) (14/10/2013)
  28. LSContentsAtomicClock (class) (14/10/2013)
  29. LSContentsBusinessCoordinates (class) (14/10/2013)
  30. LSContentsBusinessOff (class) (14/10/2013)
  31. LSContentsBusinessOpeningHours (class) (14/10/2013)
  32. LSContentsBreadcrumb (class) (14/10/2013)
  33. LSContentsCalendar (class) (14/10/2013)
  34. LSContentsCatalogue (class) (14/10/2013)
  35. LSContentsCharter (class) (18/02/2014)
  36. LSContentsCitation (class) (14/10/2013)
  37. LSContentsClock (class) (14/10/2013)
  38. LSContentsComments (class) (14/10/2013)
  39. LSContentsCookieUsage (class) (14/10/2013)
  40. LSContentsCountdown (class) (14/10/2013)
  41. LSContentsDatetime (class) (14/10/2013)
  42. LSContentsHeartbeat (class) (14/10/2013)
  43. LSContentsIFrame (class) (14/10/2013)
  44. LSContentsImageGallery (class) (14/10/2013)
  45. LSContentsLanguageSwitchers (class) (14/10/2013)
  46. LSContentsLegal (class) (18/02/2014)
  47. LSContentsMicronews (class) (14/10/2013)
  48. LSContentsMyAccount (class) (14/10/2013)
  49. LSContentsPaymentOptions (class) (14/10/2013)
  50. LSContentsPinboard (class) (14/10/2013)
  51. LSContentsRememberPassword (class) (14/10/2013)
  52. LSContentsRSS (class) (14/10/2013)
  53. LSContentsSiteManager (class) (14/10/2013)
  54. LSContentsSitemap (class) (14/10/2013)
  55. LSContentsShare (class) (14/10/2013)
  56. LSContentsStopwatch (class) (14/10/2013)
  57. LSContentsTagCloud (class) (14/10/2013)
  58. LSContentsTodosOnPage (class) (14/10/2013)
  59. LSContentsW3C (class) (14/10/2013)
  60. LSContentsWeather (class) (14/10/2013)
  61. LSControl (class) (14/10/2013)
  62. LSCreativeWork (class) (18/02/2014)
  63. LSCursor (class) (09/03/2015)
  64. LSCustomer (class) (14/10/2013)
  65. LSDataEnvironment (class) (14/10/2013)
  66. Dates (functions) (01/04/2015)
  67. LSDate (class) (14/10/2013)
  68. LSDictionary (class) (14/10/2013)
  69. LSDom, LSDomNode and LSXPath (class) (30/04/2014)
  70. LSErrors and LSError (classes) (14/10/2013)
  71. LSException (class) (16/10/2013)
  72. LSExplorer (class) (14/10/2013)
  73. LSFieldset (class) (14/10/2013)
  74. LSFile (class) (14/10/2013)
  75. LSFileProperties (class) (14/10/2013)
  76. Files (functions) (01/04/2015)
  77. Finance (functions) (01/04/2015)
  78. LSFootnotes (class) (22/02/2014)
  79. LSForm (class) (09/06/2014)
  80. LSFunction (class) (14/10/2013)
  81. LSGeorama (class) (24/10/2013)
  82. LSGeoramaVar (class) (24/10/2013)
  83. LSGlossary (class) (09/03/2015)
  84. LSGroup (class) (14/10/2013)
  85. HTML (functions) (01/04/2015)
  86. LSHttp (class) (14/10/2013)
  87. HTTP (functions) (01/04/2015)
  88. LSImageGallery (class) (14/10/2013)
  89. Images (functions) (01/04/2015)
  90. LSInput (class) (26/04/2014)
  91. IP (functions) (01/04/2015)
  92. LSIslandAbstract (14/10/2013)
  93. LSIslandFormAbstract (class) (14/10/2013)
  94. LSLabel (class) (14/10/2013)
  95. LSLanguageSwitchers (class) (14/10/2013)
  96. LSLatin (class) (14/10/2013)
  97. LSLegalPerson (class) (14/10/2013)
  98. LSLinkedList (class) (14/10/2013)
  99. LSList (class) (14/10/2013)
  100. Mails (functions) (01/04/2015)
  101. LSMap (class) (14/10/2013)
  102. Math (functions) (01/04/2015)
  103. LSMicronews (class) (18/02/2014)
  104. Miscellaneous (functions) (01/04/2015)
  105. LSModuleAbstract (class) (14/10/2013)
  106. LSNaturalPerson (class) (14/10/2013)
  107. LSNewsArticle (class) (18/02/2014)
  108. LSNote (class) (14/10/2013)
  109. LSMotherNature (class) (16/10/2013)
  110. LSPage (class) (18/02/2014)
  111. LSParameter (class) (14/10/2013)
  112. LSPaymentOptions (class) (14/10/2013)
  113. LSPeopleAudience (class) (18/02/2014)
  114. LSPerson (class) (14/10/2013)
  115. LSPlace (class) (18/02/2014)
  116. LSProperty (class) (14/10/2013)
  117. LSPublication (class) (14/10/2013)
  118. LSRequirement (class) (14/10/2013)
  119. LSReturn (class) (24/10/2013)
  120. LSRisk (class) (14/10/2013)
  121. LSSentanaiAbstract (14/10/2013)
  122. LSServiceMessage (class) (14/10/2013)
  123. LSSession (class) (14/10/2013)
  124. LSSiteManager (class) (14/10/2013)
  125. LSSitemap (class) (14/10/2013)
  126. LSSockets (class) (14/10/2013)
  127. LSSoftwareApplication (class) (18/02/2014)
  128. LSSource (class) (14/10/2013)
  129. Strings (functions) (31/07/2016)
  130. LSSupplier (class) (14/10/2013)
  131. System (functions) (01/04/2015)
  132. LSTag (class) (21/04/2014)
  133. LSTagCloud (class) (14/10/2013)
  134. LSTechArticle (class) (18/02/2014)
  135. LSThing (class) (18/02/2014)
  136. LSTimeline (class) (14/10/2013)
  137. LSTimer (class) (16/10/2013)
  138. LSTracer (class) (09/03/2015)
  139. LSUnitTesting (class) (14/10/2013)
  140. URL (functions) (01/04/2015)
  141. LSUser (class) (09/03/2015)
  142. LSUserMgr (class) (14/10/2013)
  143. LSVaesoli (class) (09/06/2014)
  144. LSVersion (class) (14/10/2013)
  145. LSWebSite (class) (14/10/2013)
  146. LSWidget (class) (14/10/2013)
  147. LSWireTransferForm (class) (14/10/2013)
  148. LSXMLSitemap (class) (14/10/2013)
  149. XML (functions) (01/04/2015)

LSMail.functions.php

Generated by The Vae Soli! Documentor: Guide v. 1.3.0018 on 01-04-2015 16:19:53 (DD-MM-YYYY HH:mm:SS). This documentation is built with Vae Soli! functions and classes!

The download page of Vae Soli! contains all sources of the framework.

Additional samples are available on the samples page of Vae Soli!.

File Properties

C:\websites\vaesoli.org\www\httpdocs/vaesoli/include/LSMail.functions.phpC:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSMail.functions.phpapplication/force-downloadC:\websites\vaesoli.org\www\httpdocs\vaesoli\include24478 bytes03/08/2013 23:27:5226/09/2013 16:46:5603/08/2013 23:27:52

Compliance

Assertions count: 0

Assertions successful: 0

Assertion failures: 0

0001 ... <?php
0002 ... /**************************************************************************/
0003 ... /** {{{*fheader
0004 ...     {*file                  LSMail.functions.php *}
0005 ...     {*purpose               Mail oriented functions *}
0006 ...     {*author                 *}
0007 ...     {*company               Lato Sensu Management[br]
0008 ...                             Rue Bois des Mazuis, 47[br]
0009 ...                             5070 Vitrival[br]
0010 ...                             Belgium (BE)[br]
0011 ...                             http://www.latosensu.be[br]
0012 ...                             Vae Soli! : http://www.vaesoli.org *}
0013 ...     {*cdate                 26/05/2006 15:21 *}
0014 ...     {*mdate                 auto *}
0015 ...     {*doc                   [url]http://www.addedbytes.com/php/email-address-validation/[/url]
0016 ...                             [url]http://www.addedbytes.com/blog/email-address-validation-v2/[/url]
0017 ...                             [url]http://code.google.com/p/php-email-address-validation/[/url]
0018 ...     *}                            
0019 ... 
0020 ...     {*license               [url]http://creativecommons.org/licenses/by-sa/2.0/be/[/url][br]
0021 ... 
0022 ...                             To obtain detailed information about the license
0023 ...                             terms, please head to the full license text
0024 ...                             available in the [file]LSCopyright.php[/file] file *}
0025 ... 
0026 ...     ------------------------------------------------------------------------
0027 ...     Changes History:
0028 ...     ------------------------------------------------------------------------
0029 ... 
0030 ...     {*chist
0031 ...         {*mdate 06/05/2008 *}
0032 ...         {*v 1.1.0515 *}
0033 ...         {*desc              All comments before this release have been
0034 ...                             eliminated (for tracking purposes, please
0035 ...                             head to the Vae Soli! archive : vaesoli-1.1.0501.zip *}
0036 ...     *}
0037 ... 
0038 ...     {*chist
0039 ...         {*mdate 08/01/2009 *}
0040 ...         {*v 2.0.0000 *}
0041 ...         {*desc              1)  Shrinking Vae Soli! features to concentrate
0042 ...                                 on the fundamentals (many features have been
0043 ...                                 put on hold: they will be integrated one by
0044 ...                                 one when their code will be entirey finished
0045 ...                                 instead of having them not doig what they're
0046 ...                                 supposed to do)
0047 ...         *}
0048 ...     *}
0049 ... 
0050 ...     {*chist
0051 ...         {*mdate 14/08/2009 *}
0052 ...         {*v 2.1.0002 *}
0053 ...         {*desc              1)  Add a temporary class to validate an email:
0054 ...                                 EmailAddressValidator. This class was
0055 ...                                 originally described on :
0056 ...                                     http://www.addedbytes.com/php/email-address-validation/
0057 ...                                 then updated with :
0058 ...                                     http://www.addedbytes.com/blog/email-address-validation-v2/
0059 ...                                 and finally downloaded from
0060 ...                                     http://code.google.com/p/php-email-address-validation/
0061 ... 
0062 ...         *}
0063 ...     *}
0064 ... 
0065 ...     {*chist
0066 ...         {*mdate 15/08/2009 *}
0067 ...         {*v 2.1.0002 *}
0068 ...         {*desc              1)  Call to filter_var() in MAIL_IsValid()
0069 ...         *}
0070 ...     *}
0071 ... 
0072 ...     {*chist
0073 ...         {*mdate 20/11/2009 *}
0074 ...         {*v 2.3.0000 *}
0075 ...         {*desc              1)  Changes to the SimpleMail() function
0076 ...                                 (not completely finished though)
0077 ...                             2)  Official creation of SimpleMail2() and
0078 ...                                 little corrections
0079 ...         *}
0080 ...     *}
0081 ... 
0082 ...     {*chist
0083 ...         {*mdate 22/01/2013 *}
0084 ...         {*v 5.0.0012 *}
0085 ...         {*desc              1)  Get rid of the EmailAddressValidator class
0086 ...                             2)  Document à la guide.php
0087 ...         *}
0088 ...     *}
0089 ... 
0090 ...     *}}} */
0091 ... /**************************************************************************/
0092 ... if ( ! defined( 'VAESOLI_PATH' ) )                                  /* If the path is not defined yet */
0093 ... {
0094 ...     /* {*define (VAESOLI_PATH)  Define the path where Vae Soli! is installed *} */
0095 ...     define( 'VAESOLI_PATH',__DIR__ );
0096 ... }   /* if ( ! defined( 'VAESOLI_PATH' ) ) */
0097 ... 
0098 ... if ( ! defined( 'VAESOLI_PLUGINS' ) )                               /* If the path is not defined yet */
0099 ... {
0100 ...     /* {*define (VAESOLI_PLUGINS)  Define the path where plugins are located *} */
0101 ...     define( 'VAESOLI_PLUGINS',VAESOLI_PATH . '/../plugins' );
0102 ... }   /* if ( ! defined( 'VAESOLI_PLUGINS' ) ) */
0103 ... 
0104 ... /* ====================================================================== */
0105 ... /** {{*MAIL_IsValid( $szEmail )=
0106 ... 
0107 ...     Checks if an email address is correct
0108 ... 
0109 ...     {*params
0110 ...         $szEmail    (string)    Email address to be checked
0111 ...     *}
0112 ... 
0113 ...     {*return
0114 ...         (bool)      [c]true[/c] if $szEmail is a valid email address; [c]false[/c] if not.
0115 ...     *}
0116 ... 
0117 ...     {*warning
0118 ...         Email address: RFC 2822 (simplified). Not perfect though.
0119 ...     *}
0120 ... 
0121 ...     {*alias
0122 ...         IsEmail()
0123 ...     *}
0124 ... 
0125 ...     {*exec
0126 ...         $szEmail = 'pb@latosensu.be';
0127 ...         echo '<p>',$szEmail,(MAIL_Isvalid( $szEmail ) ? ' is a valid email address' : ' is NOT a valid email address'),'</p>';
0128 ...         $szEmail = 'pb@latosensu..be';
0129 ...         echo '<p>',$szEmail,(MAIL_Isvalid( $szEmail ) ? ' is a valid email address' : ' is NOT a valid email address'),'</p>';
0130 ...     *}
0131 ...     *}}
0132 ...  */
0133 ... /* ====================================================================== */
0134 ... function MAIL_IsValid( $szEmail )
0135 ... /*-----------------------------*/
0136 ... {
0137 ...     /* As of 20090814 (see http://uk2.php.net/manual/en/filter.examples.validation.php) */
0138 ...     if ( function_exists( 'filter_var' ) )
0139 ...         return ( filter_var( $szEmail, FILTER_VALIDATE_EMAIL ) ? true : false );
0140 ...     else
0141 ...     {
0142 ...         return ( preg_match( '/(?:[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/si',$szEmail ) );
0143 ...     }
0144 ... 
0145 ...     /* Before 20090814 */
0146 ...     //return ( preg_match( '/\w+@\w+\.\w{2,4}/',$szEmail ) >= 1 );
0147 ... 
0148 ... }   /* End of function MAIL_IsValid() */
0149 ... /* ====================================================================== */
0150 ... function IsEmail( $szEmail ) { return ( MAIL_IsValid( $szEmail ) ); }
0151 ... 
0152 ... /* ====================================================================== */
0153 ... /** {{*MAIL_2AtDot( $szEmail )=
0154 ... 
0155 ...     Turns an email address into a ' @ dot ' form
0156 ... 
0157 ...     {*params
0158 ...         $szEmail    (string)    Email address to be turned to "at dot"
0159 ...     *}
0160 ... 
0161 ...     {*return
0162 ...         (string)    $szEmail transformed
0163 ...     *}
0164 ... 
0165 ...     {*alias
0166 ...         EmailToAtDot
0167 ...     *}
0168 ... 
0169 ...     {*exec
0170 ...         $szEmail = 'pb@latosensu.be';
0171 ...         echo '<p>"',$szEmail,'" is turned to "',MAIL_2AtDot( 'pb@latosensu.be' ),'"</p>';
0172 ...     *}
0173 ...     *}}
0174 ...  */
0175 ... function MAIL_2AtDot( $szEmail )
0176 ... /*----------------------------*/
0177 ... {
0178 ...     if ( function_exists( 'filter_var' ) )
0179 ...         $szEmail = filter_var( $szEmail,FILTER_SANITIZE_EMAIL );
0180 ... 
0181 ...     $szRetVal = preg_replace( '/(\w+)@(\w+)\.(\w{2,4})/','\1 at \2 dot \3',$szEmail );
0182 ...     return ( $szRetVal );
0183 ... }   /* End of function MAIL_2AtDot() */
0184 ... /* ====================================================================== */
0185 ... function EmailToAtDot( $szString ) { return ( MAIL_2AtDot() ); }   /* End of function EmailToAtDot() */
0186 ... 
0187 ... 
0188 ... /* ====================================================================== */
0189 ... /**
0190 ...  * Envoit un email
0191 ...  * @param   string  $szHost         Hôte sur lequel il faut se connecter
0192 ...  * @param   string  $iPort          Port de connexion
0193 ...  * @param   string  $szCharset      Jeu de caractères
0194 ...  * @param   string  $szDomain       Domaine internet
0195 ...  * @param   string  $szFromName     Nom de l'expéditeur
0196 ...  * @param   string  $szFromEmail    Adresse email de l'expéditeur
0197 ...  * @param   string  $szTo           Adresse email du destinataire
0198 ...  * @param   string  $szSubject      Sujet du mail
0199 ...  * @param   string  $szBody         Corps du mail
0200 ...  * @return  bool                    vrai (true) si courrier envoyé; faux
0201 ...  *                                  (false) sinon.
0202 ... /* ====================================================================== */
0203 ... function MAIL_Send( $szHost     ,
0204 ...                     $iPort      ,
0205 ...                     $szCharset  ,
0206 ...                     $szDomain   ,
0207 ...                     $szFromName ,
0208 ...                     $szFromEmail,
0209 ...                     $szTo       ,
0210 ...                     $szSubject  ,
0211 ...                     $szBody )
0212 ... /*------------------------------*/
0213 ... {
0214 ...     $bRetVal = false;
0215 ...     $hConn   = fsockopen( $szHost,$iPort,$errno,$errstr,30 );
0216 ... 
0217 ...     if ( $hConn )
0218 ...     {
0219 ...         fputs_echo( $hConn,"HELO fastwrite.com\r\n"         );
0220 ...         $szResponse = trim( fgets( $hConn,1024 ) );
0221 ...         //echo "<br />Answer: " . $szResponse . "<br />\n";
0222 ...         
0223 ...         /**
0224 ...         * @todo le code 220 doit provenir d'un fichier d'include
0225 ...         */
0226 ...         if ( substr( $szResponse,0,3 ) != "220" )
0227 ...         {
0228 ...             /**
0229 ...             * @todo générer trace warning
0230 ...             */
0231 ...             echo "<!-- MAIL PROBLEM (1) : {$szResponse} -->\n";
0232 ...             fclose( $hConn );
0233 ...             return ( $bRetVal );
0234 ...         }   /* if ( substr( $szResponse,0,3 ) != "220" ) */
0235 ... 
0236 ... 
0237 ...         fputs_echo( $hConn,"MAIL FROM: $szFromEmail\r\n"    );
0238 ...         $szResponse = trim( fgets( $hConn,1024 ) );
0239 ...         //echo $szResponse . "<br />\n";
0240 ...         
0241 ...         /**
0242 ...         * @todo le code 250 doit provenir d'un fichier d'include
0243 ...         */
0244 ... 
0245 ...         if ( substr( $szResponse,0,3 ) != "250" )
0246 ...         {
0247 ...             /**
0248 ...             * @todo générer trace warning
0249 ...             */
0250 ...             echo "<!-- MAIL PROBLEM (2) : {$szResponse} -->\n";
0251 ...             fclose( $hConn );
0252 ...             return ( $bRetVal );
0253 ...         }
0254 ... 
0255 ... 
0256 ...         fputs_echo( $hConn,"RCPT TO: $szTo\r\n"             );
0257 ...         $szResponse = trim( fgets( $hConn,1024 ) );
0258 ...         //echo $szResponse . "<br />\n";
0259 ... 
0260 ...         /**
0261 ...         * @todo le code 220 doit provenir d'un fichier d'include
0262 ...         */
0263 ... 
0264 ...         if ( substr( $szResponse,0,3 ) != "250" )
0265 ...         {
0266 ...             /**
0267 ...             * @todo générer trace warning
0268 ...             */
0269 ...             echo "<!-- MAIL PROBLEM (3) : {$szResponse} -->\n";
0270 ...             fclose( $hConn );
0271 ...             return ( $bRetVal );
0272 ...         }
0273 ... 
0274 ... 
0275 ...         fputs_echo( $hConn, "DATA\r\n"                      );
0276 ...         $szResponse = trim( fgets( $hConn,1024 ) );
0277 ...         //echo $szResponse . "<br />\n";
0278 ...         
0279 ...         /**
0280 ...         * @todo le code 220 doit provenir d'un fichier d'include
0281 ...         */
0282 ... 
0283 ...         if ( substr( $szResponse,0,3 ) != "250" )
0284 ...         {
0285 ...             /**
0286 ...             * @todo générer trace warning
0287 ...             */
0288 ...             echo "<!-- MAIL PROBLEM (4) : {$szResponse} -->\n";
0289 ...             fclose( $hConn );
0290 ...             return ( $bRetVal );
0291 ...         }
0292 ... 
0293 ...         fputs_echo( $hConn,"Subject: {$szSubject}\r\n"                                          );
0294 ...         fputs_echo( $hConn,"From: $szFromName <{$szFromEmail}>\r\n"                             );
0295 ...         fputs_echo( $hConn,"To: {$szTo}\r\n"                                                    );
0296 ...         fputs_echo( $hConn,"X-Sender: <{$szFromEmail}>\r\n"                                     );
0297 ...         fputs_echo( $hConn,"Return-Path: <{$szFromEmail}>\r\n"                                  );
0298 ...         fputs_echo( $hConn,"Errors-To: <{$szFromEmail}>\r\n"                                    );
0299 ...         fputs_echo( $hConn,"Message-Id: <" . md5( uniqid( mt_rand(),true ) ) . "." .
0300 ...                            preg_replace( "/[^a-z0-9]/i","",$szFromName ) . "@{$szDomain}>\r\n"  );
0301 ...         fputs_echo( $hConn,"X-Mailer: Vae Soli! Mailer\r\n"                                     );
0302 ...         fputs_echo( $hConn,"X-Priority: 3\r\n"                                                  );
0303 ...         fputs_echo( $hConn,"Date: " . date("r") . "\r\n"                                        );
0304 ...         fputs_echo( $hConn,"Content-Type: {$szCharset}\r\n"                                     );
0305 ...         fputs_echo( $hConn,"\r\n"                                                               );
0306 ...         fputs_echo( $hConn,$szBody                                                              );
0307 ... 
0308 ...         fputs_echo( $hConn,"\r\n.\r\n" );
0309 ...         $szResponse = trim( fgets( $hConn,1024 ) );
0310 ...         //echo $szResponse . "<br />\n";
0311 ... 
0312 ...         fputs_echo( $hConn,"QUIT\r\n" );
0313 ...         $szResponse = trim( fgets ( $hConn,1024 ) );
0314 ...         //echo $szResponse . "<br />\n";
0315 ...         //echo "<br /><br /><br /><strong>END OF MAIL CONVERSATION</strong><br /><br />\n";
0316 ... 
0317 ...         fclose( $hConn );
0318 ... 
0319 ...         $iResponse = (int) trim( substr( $szResponse,0,3 ) );
0320 ... 
0321 ...         $bRetVal = $iResponse == 250;
0322 ... 
0323 ...         /**
0324 ...         * @todo générer trace warning
0325 ...         */
0326 ...         echo "<!-- MAIL LA REPONSE FINALE EST {$iResponse} -->\n";
0327 ... 
0328 ...     }
0329 ... 
0330 ...     return ( $bRetVal );
0331 ... }
0332 ... /* ====================================================================== */
0333 ... 
0334 ... /* ====================================================================== */
0335 ... /**
0336 ...  * Envoit un email
0337 ...  * @param   string  $szHost         Hôte sur lequel il faut se connecter
0338 ...  * @param   string  $iPort          Port de connexion
0339 ...  * @param   string  $szMailType     Type de mail
0340 ...  * @param   string  $szCharset      Jeu de caractères
0341 ...  * @param   string  $szDomain       Domaine internet
0342 ...  * @param   string  $szFromName     Nom de l'expéditeur
0343 ...  * @param   string  $szFromEmail    Adresse email de l'expéditeur
0344 ...  * @param   string  $szTo           Adresse email du destinataire
0345 ...  * @param   string  $szCC           Adresse email des personnes à mettre
0346 ...  *                                  en copie
0347 ...  * @param   string  $szBCC          Adresse email des personnes à mettre
0348 ...  *                                  en blind copy
0349 ...  * @param   string  $szSubject      Sujet du mail
0350 ...  * @param   string  $szBody         Corps du mail
0351 ...  * @warning                         Un certain nombre de aramètres ne sont
0352 ...  *                                  pas utilisés à ce stade. D'autre part
0353 ...  *                                  il n'est pas encore possible d'envoyer
0354 ...  *                                  des mails avec pièce(s) jointe(s)
0355 ...  * @return  bool                    vrai (true) si courrier envoyé; faux
0356 ...  *                                  (false) sinon.
0357 ... /* ====================================================================== */
0358 ... function SimpleMail( $szHost,$iPort,$szMailType,$szCharset,$szDomain,$szFromName,$szFromEmail,$szTo,$szCC,$szBCC,$szSubject,$szBody )
0359 ... /*---------------------------------------------------------------------------------------------------------------------------------*/
0360 ... {
0361 ...     if ( is_null( $szMailType ) )
0362 ...         $szMailType = 'text/plain';     /* Could be 'text/html' */
0363 ... 
0364 ...     if ( is_null( $szCharset ) )
0365 ...         $szCharset = 'iso-8859-1';
0366 ... 
0367 ...     $szHeaders = "Content-type: {$szMailType}; charset={$szCharset}"    . "\r\n" .
0368 ...                  "From: {$szFromName} <{$szFromEmail}>"                 . "\r\n" .
0369 ...                  "Reply-To: {$szFromEmail}"                             . "\r\n" .
0370 ...                  "Reply-Path: {$szFromName}"                            . "\r\n" .
0371 ...                  "Date: " . date("r")                                   . "\r\n" .
0372 ...                  "X-Priority: 3 (Normal)"                               . "\r\n" .
0373 ...                  "X-Mailer: Vae Soli! Mailer"                           . "\r\n";
0374 ... 
0375 ...     return ( mail( $szTo,$szSubject,$szBody,$szHeaders ) );
0376 ... }   /* End of function SimpleMail() */
0377 ... /* ====================================================================== */
0378 ... 
0379 ... /* ====================================================================== */
0380 ... /**
0381 ...  *  Envoit un email
0382 ...  *
0383 ...  *  http://www.faqs.org/rfcs/rfc2111.html : URL qui documente la manière
0384 ...  *  d'inclure des images dans le coeur de l'HTML grâce à
0385 ...  *  Content-Type: multipart/related avec boundaries
0386 ...  *  et <img src="cid:foo4*foo1@bar.net" alt="IETF logo">
0387 ...  *
0388 ...  *  The following message contains an HTML body part that refers to an
0389 ...  *  image contained in another body part.  Both body parts are contained
0390 ...  *  in a Multipart/Related MIME entity.  The HTML IMG tag contains a
0391 ...  *  cidurl which points to the image.
0392 ...  *
0393 ...  *   From: foo1@bar.net
0394 ...  *   To: foo2@bar.net
0395 ...  *   Subject: A simple example
0396 ...  *   Mime-Version: 1.0
0397 ...  *   Content-Type: multipart/related; boundary="boundary-example-1";
0398 ...  *                 type=Text/HTML
0399 ...  *
0400 ...  *   --boundary-example 1
0401 ...  *   Content-Type: Text/HTML; charset=US-ASCII
0402 ...  *
0403 ...  *   ... text of the HTML document, which might contain a hyperlink
0404 ...  *   to the other body part, for example through a statement such as:
0405 ...  *   <IMG SRC="cid:foo4*foo1@bar.net" ALT="IETF logo">
0406 ...  *
0407 ...  *   --boundary-example-1
0408 ...  *   Content-ID: foo4*foo1@bar.net
0409 ...  *   Content-Type: IMAGE/GIF
0410 ...  *   Content-Transfer-Encoding: BASE64
0411 ...  *
0412 ...  *   R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5
0413 ...  *   NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A
0414 ...  *   etc...
0415 ...  *
0416 ...  *   --boundary-example-1--
0417 ...  *
0418 ...  *  @param  string  $szHost         Hôte sur lequel il faut se connecter
0419 ...  *  @param  string  $iPort          Port de connexion
0420 ...  *  @param  string  $szMailType     Type de mail
0421 ...  *  @param  string  $szCharset      Jeu de caractères
0422 ...  *  @param  string  $szDomain       Domaine internet
0423 ...  *  @param  integer $iPriority      Priorité du mail (1 = highest ... 5 = lowest)
0424 ...  *  @param  string  $szFromName     Nom de l'expéditeur
0425 ...  *  @param  string  $szFromEmail    Adresse email de l'expéditeur
0426 ...  *  @param  string  $szTo           Adresse email du destinataire
0427 ...  *  @param  string  $szCC           Adresse email des personnes à mettre
0428 ...  *                                  en copie
0429 ...  *  @param  string  $szBCC          Adresse email des personnes à mettre
0430 ...  *                                  en blind copy
0431 ...  *  @param  string  $szSubject      Sujet du mail
0432 ...  *  @param  string  $szBody         Corps du mail
0433 ...  *  @warning                        Un certain nombre de aramètres ne sont
0434 ...  *                                  pas utilisés à ce stade. D'autre part
0435 ...  *                                  il n'est pas encore possible d'envoyer
0436 ...  *                                  des mails avec pièce(s) jointe(s)
0437 ...  *  @return bool                    vrai (true) si courrier envoyé; faux
0438 ...  *                                  (false) sinon.
0439 ...  * http://www.chilkatsoft.com/braindump/email_headers.html
0440 ... /* ====================================================================== */
0441 ... function SimpleMail2( $szHost       = null,
0442 ...                       $iPort        = null,
0443 ...                       $szMailType   = null,
0444 ...                       $szCharset          ,
0445 ...                       $szDomain           ,
0446 ...                       $iPriority    = 3   ,
0447 ...                       $szFromName   = ''  ,
0448 ...                       $szFromEmail  = null,
0449 ...                       $szTo               ,
0450 ...                       $szCC               ,
0451 ...                       $szBCC              ,
0452 ...                       $szSubject          ,
0453 ...                       $szBody )
0454 ... /*--------------------------------*/
0455 ... {
0456 ...     $bRetVal = false;
0457 ... 
0458 ...     if ( is_null( $szMailType ) )
0459 ...         $szMailType = 'text/plain';     /* Could be 'text/html', ... */
0460 ... 
0461 ...     if ( is_null( $szCharset ) )
0462 ...         $szCharset = 'iso-8859-1';
0463 ... 
0464 ...     switch ( $iPriority )
0465 ...     {
0466 ...         case    1   :   $szPriority     = 'X-Priority: 1 (highest)';
0467 ...                         $szImportance   = 'Importance: High';
0468 ...                         break;
0469 ...         case    2   :   $szPriority     = 'X-Priority: 2 (high)';
0470 ...                         $szImportance   = 'Importance: High';
0471 ...                         break;
0472 ...         case    4   :   $szPriority     = 'X-Priority: 4 (low)';
0473 ...                         $szImportance   = 'Importance: Low';
0474 ...                         break;
0475 ...         case    5   :   $szPriority     = 'X-Priority: 5 (lowest)';
0476 ...                         $szImportance   = 'Importance: Low';
0477 ...                         break;
0478 ...         case    3   :
0479 ...         default     :   $szPriority     = 'X-Priority: 3 (normal)';
0480 ...                         $szImportance   = 'Importance: Normal';
0481 ...                         break;
0482 ...     }   /* switch ( $iPriority ) */
0483 ... 
0484 ...     /*
0485 ... 
0486 ...         Some mail servers recognize this and do not send the email to the
0487 ...         recipient(s) if the "X-Special-Delivery: test" header fields is present.
0488 ... 
0489 ...         X-Special-Delivery: test
0490 ...     */
0491 ... 
0492 ...     $szOldFromEmail = ini_get( 'sendmail_from' );
0493 ...     $szOldHost      = ini_get( 'SMTP'          );
0494 ...     $szOldPort      = ini_get( 'smtp_port'     );
0495 ... 
0496 ...     if ( is_null( $szFromEmail ) )
0497 ...         $szFromEmail = $szOldFromEmail;
0498 ... 
0499 ...     if ( is_null( $szHost ) )
0500 ...         $szHost = $szOldHost;
0501 ... 
0502 ...     if ( is_null( $iPort ) )
0503 ...         $iPort = (int) $szOldPort;
0504 ... 
0505 ...     ini_set( 'sendmail_from',$szFromEmail   );
0506 ...     ini_set( 'SMTP'         ,$szHost        );
0507 ...     ini_set( 'smtp_port'    ,$iPort         );
0508 ... 
0509 ...     $szNow     = date( 'd/m/Y H:i:s' );
0510 ...     $szHeaders = "Content-type: {$szMailType}; charset={$szCharset}"    . "\r\n" .
0511 ...                  "From: {$szFromName} <{$szFromEmail}>"                 . "\r\n" .
0512 ...                  "Reply-To: {$szFromEmail}"                             . "\r\n" .
0513 ...                  "Return-Path: {$szFromName}"                           . "\r\n" .
0514 ...                  "Date: " . date("r")                                   . "\r\n" .
0515 ...                  "{$szPriority}"                                        . "\r\n" .
0516 ...                  "{$szImportance}"                                      . "\r\n" .
0517 ...                  "X-Mailer: Vae Soli! Mailer"                           . "\r\n";
0518 ... 
0519 ...     $szHeaders = "Content-type: {$szMailType}; charset={$szCharset}"    . "\r\n" .
0520 ...                  "From: {$szFromName} <{$szFromEmail}>"                 . "\r\n" .
0521 ...                  "Reply-To: {$szFromEmail}"                             . "\r\n" .
0522 ...                  "Return-Path: Patrick Boens"                           . "\r\n" .
0523 ...                  "Date: " . date( 'r' )                                 . "\r\n" .
0524 ...                  "{$szPriority}"                                        . "\r\n" .
0525 ...                  "{$szImportance}"                                      . "\r\n" .
0526 ...                  "X-Mailer: Vae Soli! Mailer"                           . "\r\n";
0527 ... 
0528 ...     if ( ! empty( $szCC ) )
0529 ...     {
0530 ...         $szCC       = str_replace( ';',',',$szCC );
0531 ...         $szHeaders .= "CC: {$szCC}\r\n";
0532 ...     }
0533 ... 
0534 ...     if ( ! empty( $szBCC ) )
0535 ...     {
0536 ...         $szBCC      = str_replace( ';',',',$szBCC );
0537 ...         $szHeaders .= "BCC: {$szCC}\r\n";
0538 ...     }
0539 ... 
0540 ...     //$szSubject .= ' : ' . $szNow . ' (' . md5( $szNow ) . ')';
0541 ...     //$szBody    .= "\n\n{$szNow}";
0542 ... 
0543 ...     $szTo = trim( str_replace( ';',',',$szTo ) );
0544 ... 
0545 ...     if ( STR_Right( $szTo,1 ) === ',' )
0546 ...     {
0547 ...         $szTo = substr( $szTo,0,strlen( $szTo ) - 1 );
0548 ...     }   /* if ( STR_Right( $szTo,1 ) === ',' ) */
0549 ... 
0550 ...     //echo "<pre>\n";
0551 ...     //echo "Headers\n{$szHeaders}\n";
0552 ...     //echo "</pre>\n";
0553 ... 
0554 ...     $bRetVal    = mail( $szTo,$szSubject,$szBody,$szHeaders );
0555 ... 
0556 ... 
0557 ...     ini_set( 'sendmail_from',$szOldFromEmail );
0558 ...     ini_set( 'SMTP'         ,$szOldHost      );
0559 ...     ini_set( 'smtp_port'    ,$szOldPort      );
0560 ... 
0561 ...     return ( $bRetVal );
0562 ... }   /* End of function SimpleMail2() */
0563 ... /* ====================================================================== */
0564 ... 
0565 ... /* ====================================================================== */
0566 ... /* .........................................................................
0567 ...    Function    :  fputs_echo()
0568 ...    Purpose     :  ????????
0569 ...    Parameters  :  hConn     ... Connection handle
0570 ...    Return      :  null
0571 ... .......................................................................... */
0572 ... /* ====================================================================== */
0573 ... function fputs_echo( $hConn,$szCmd )
0574 ... /*--------------------------------*/
0575 ... {
0576 ... //            $szCmd2 = htmlentities( $szCmd );
0577 ... //            echo "\n<br />Sending ... <strong>{$szCmd2}</strong><br />\n";
0578 ...     fputs( $hConn,$szCmd );
0579 ... }   /* End of function fputs_echo() */
0580 ... /* ====================================================================== */
0581 ... ?>
0582 ... 

Manifest Constants

VAESOLI_PATH: Define the path where Vae Soli! is installed

VAESOLI_PLUGINS: Define the path where plugins are located

UltraEdit Syntax files

  1. UltraEdit keywords of LSMail.functions.php
  2. UltraEdit Syntax of LSMail.functions.php

Function List (TOC)

  1. MAIL_2AtDot(): Turns an email address into a ' @ dot ' form No assertion found for MAIL_2AtDot() (0 - 0)
  2. MAIL_IsValid(): Checks if an email address is correct No assertion found for MAIL_IsValid() (0 - 0)

Functions of LSMail.functions.php

MAIL_2AtDot(): Turns an email address into a ' @ dot ' form

[ back to function list ]

Syntax

MAIL_2AtDot( $szEmail )

Alias

EmailToAtDot

Parameters
NameTypeDescription
$szEmail string Email address to be turned to "at dot"
Return

(string) $szEmail transformed

Example Executed
$szEmail = 'pb@latosensu.be';
echo '<p>"',$szEmail,'" is turned to "',MAIL_2AtDot( 'pb@latosensu.be' ),'"</p>';

"pb@latosensu.be" is turned to "pb at latosensu dot be"

Unit Testing

WARNING: No Unit Testing found. Please provide assertions with assertion constructs ({*assert ... *}) or with GuideAssert() function calls in exec constructs ({*exec LSUnitTesting::assert(...); *}).

MAIL_IsValid(): Checks if an email address is correct

[ back to function list ]

Warning

Email address: RFC 2822 (simplified). Not perfect though.

Syntax

MAIL_IsValid( $szEmail )

Alias

IsEmail()

Parameters
NameTypeDescription
$szEmail string Email address to be checked
Return

(bool) true if $szEmail is a valid email address; false if not.

Example Executed
$szEmail = 'pb@latosensu.be';
echo '<p>',$szEmail,(MAIL_Isvalid( $szEmail ) ? ' is a valid email address' : ' is NOT a valid email address'),'</p>';
$szEmail = 'pb@latosensu..be';
echo '<p>',$szEmail,(MAIL_Isvalid( $szEmail ) ? ' is a valid email address' : ' is NOT a valid email address'),'</p>';

pb@latosensu.be is a valid email address

pb@latosensu..be is NOT a valid email address

Unit Testing

WARNING: No Unit Testing found. Please provide assertions with assertion constructs ({*assert ... *}) or with GuideAssert() function calls in exec constructs ({*exec LSUnitTesting::assert(...); *}).

Précédent Suivant

D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php:3658:
object(LogicException)[82]
  protected 'message' => string 'Class LSContentsShare could not be loaded' (length=41)
  private 'string' (Exception) => string '' (length=0)
  protected 'code' => int 0
  protected 'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
  protected 'line' => int 3587
  private 'trace' (Exception) => 
    array (size=15)
      0 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3587
          'function' => string 'spl_autoload' (length=12)
          'args' => 
            array (size=1)
              ...
      1 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 3262
          'function' => string 'EmergeIsland' (length=12)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=6)
              ...
      2 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2756
          'function' => string 'EmergeIslands' (length=13)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=5)
              ...
      3 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php' (length=72)
          'line' => int 2994
          'function' => string 'EmergeArchipelagosFromParent' (length=28)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=3)
              ...
      4 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5928
          'function' => string 'EmergeArchipelagos' (length=18)
          'class' => string 'LSGeorama' (length=9)
          'type' => string '->' (length=2)
          'args' => 
            array (size=2)
              ...
      5 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\template\vaesoli.html' (length=58)
          'line' => int 111
          'function' => string 'Land' (length=4)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      6 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6110
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
      7 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 6053
          'function' => string 'XInclude' (length=8)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      8 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5828
          'function' => string 'IncludeTemplate' (length=15)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      9 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 5580
          'function' => string 'UseTemplate' (length=11)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      10 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 3282
          'function' => string 'RenderXML' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      11 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSPage.class.php' (length=69)
          'line' => int 2082
          'function' => string 'StartPage' (length=9)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=1)
              ...
      12 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSApplication.class.php' (length=76)
          'line' => int 814
          'function' => string 'Render' (length=6)
          'class' => string 'LSPage' (length=6)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      13 => 
        array (size=6)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\master.php' (length=47)
          'line' => int 8
          'function' => string 'Run' (length=3)
          'class' => string 'LSApplication' (length=13)
          'type' => string '->' (length=2)
          'args' => 
            array (size=0)
              ...
      14 => 
        array (size=4)
          'file' => string 'D:\websites\vaesoli.org\www\httpdocs\documentation\documentation-vaesoli-code-source.php' (length=88)
          'line' => int 1
          'args' => 
            array (size=1)
              ...
          'function' => string 'include' (length=7)
  private 'previous' (Exception) => null
  public 'xdebug_message' => string '<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> LogicException: Class LSContentsShare could not be loaded in D:\websites\vaesoli.org\www\httpdocs\vaesoli\include\LSGeorama.class.php on line <i>3587</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</t'... (length=6277)