/tine20/library/qCal/lib/qCal/Property/RequestStatus.php

https://gitlab.com/rsilveira1987/Expresso · PHP · 125 lines · 5 code · 2 blank · 118 comment · 0 complexity · ac73acfa56f69acabc2d9744f005d10d MD5 · raw file

  1. <?php
  2. /**
  3. * Request Status Property
  4. * @package qCal
  5. * @subpackage qCal_Property
  6. * @copyright Luke Visinoni (luke.visinoni@gmail.com)
  7. * @author Luke Visinoni (luke.visinoni@gmail.com)
  8. * @license GNU Lesser General Public License
  9. * @todo This allows some strange stuff in its value. Make sure that it won't
  10. * break the parser.
  11. * @todo This allows the specification of "components" within the text. I will
  12. * need to figure out how to deal with these.
  13. *
  14. * RFC 2445 Definition
  15. *
  16. * Property Name: REQUEST-STATUS
  17. *
  18. * Purpose: This property defines the status code returned for a
  19. * scheduling request.
  20. *
  21. * Value Type: TEXT
  22. *
  23. * Property Parameters: Non-standard and language property parameters
  24. * can be specified on this property.
  25. *
  26. * Conformance: The property can be specified in "VEVENT", "VTODO",
  27. * "VJOURNAL" or "VFREEBUSY" calendar component.
  28. *
  29. * Description: This property is used to return status code information
  30. * related to the processing of an associated iCalendar object. The data
  31. * type for this property is TEXT.
  32. *
  33. * The value consists of a short return status component, a longer
  34. * return status description component, and optionally a status-specific
  35. * data component. The components of the value are separated by the
  36. * SEMICOLON character (US-ASCII decimal 59).
  37. * The short return status is a PERIOD character (US-ASCII decimal 46)
  38. * separated 3-tuple of integers. For example, "3.1.1". The successive
  39. * levels of integers provide for a successive level of status code
  40. * granularity.
  41. *
  42. * The following are initial classes for the return status code.
  43. * Individual iCalendar object methods will define specific return
  44. * status codes for these classes. In addition, other classes for the
  45. * return status code may be defined using the registration process
  46. * defined later in this memo.
  47. *
  48. * |==============+===============================================|
  49. * | Short Return | Longer Return Status Description |
  50. * | Status Code | |
  51. * |==============+===============================================|
  52. * | 1.xx | Preliminary success. This class of status |
  53. * | | of status code indicates that the request has |
  54. * | | request has been initially processed but that |
  55. * | | completion is pending. |
  56. * |==============+===============================================|
  57. * | 2.xx | Successful. This class of status code |
  58. * | | indicates that the request was completed |
  59. * | | successfuly. However, the exact status code |
  60. * | | can indicate that a fallback has been taken. |
  61. * |==============+===============================================|
  62. * | 3.xx | Client Error. This class of status code |
  63. * | | indicates that the request was not successful.|
  64. * | | The error is the result of either a syntax or |
  65. * | | a semantic error in the client formatted |
  66. * | | request. Request should not be retried until |
  67. * | | the condition in the request is corrected. |
  68. * |==============+===============================================|
  69. * | 4.xx | Scheduling Error. This class of status code |
  70. * | | indicates that the request was not successful.|
  71. * | | Some sort of error occurred within the |
  72. * | | calendaring and scheduling service, not |
  73. * | | directly related to the request itself. |
  74. * |==============+===============================================|
  75. *
  76. * Format Definition: The property is defined by the following notation:
  77. *
  78. * rstatus = "REQUEST-STATUS" rstatparam ":"
  79. * statcode ";" statdesc [";" extdata]
  80. *
  81. * rstatparam = *(
  82. *
  83. * ; the following is optional,
  84. * ; but MUST NOT occur more than once
  85. * (";" languageparm) /
  86. *
  87. * ; the following is optional,
  88. * ; and MAY occur more than once
  89. *
  90. * (";" xparam)
  91. *
  92. * )
  93. *
  94. * statcode = 1*DIGIT *("." 1*DIGIT)
  95. * ;Hierarchical, numeric return status code
  96. *
  97. * statdesc = text
  98. * ;Textual status description
  99. *
  100. * extdata = text
  101. * ;Textual exception data. For example, the offending property
  102. * ;name and value or complete property line.
  103. *
  104. * Example: The following are some possible examples of this property.
  105. * The COMMA and SEMICOLON separator characters in the property value
  106. * are BACKSLASH character escaped because they appear in a text value.
  107. *
  108. * REQUEST-STATUS:2.0;Success
  109. *
  110. * REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
  111. *
  112. * REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
  113. * as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
  114. *
  115. * REQUEST-STATUS:4.1;Event conflict. Date/time is busy.
  116. *
  117. * REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
  118. * MAILTO:jsmith@host.com
  119. */
  120. class qCal_Property_Sequence extends qCal_Property {
  121. protected $type = 'TEXT';
  122. protected $allowedComponents = array('VEVENT','VTODO','VJOURNAL','VFREEBUSY');
  123. }