Source for file constants.php

Documentation is available at constants.php

  1. <?php
  2.  
  3. /**
  4.  * constants.php
  5.  *
  6.  * Loads constants used by the rest of the SquirrelMail source.
  7.  *
  8.  * Before 1.5.2 script was stored in functions/constants.php
  9.  * @copyright 1999-2020 The SquirrelMail Project Team
  10.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  11.  * @version $Id: constants.php 14845 2020-01-07 08:09:34Z pdontthink $
  12.  * @package squirrelmail
  13.  * @since 1.2.0
  14.  */
  15.  
  16. /** @ignore */
  17.  
  18. /**
  19.  * SquirrelMail version number -- DO NOT CHANGE
  20.  * @since 1.5.2
  21.  */
  22. define('SM_VERSION', '1.5.2 [SVN]');
  23.  
  24. /**
  25.  * Year interval for copyright notices in the interface
  26.  * @since 1.5.2
  27.  */
  28. define('SM_COPYRIGHT', '1999-2020');
  29.  
  30. /**************************************************************/
  31. /* Set values for constants used by SquirrelMail preferences. */
  32. /**************************************************************/
  33.  
  34. /**
  35.  * Define constants for SquirrelMail debug modes.
  36.  * Note that these are binary so that modes can be
  37.  * mixed and matched, and they are also ordered from
  38.  * minor to severe.  When adding new modes, please
  39.  * order them in a sensical way (MODERATE is the 10th
  40.  * bit; ADVANCED is the 20th bit).
  41.  * @since 1.5.2
  42.  */
  43. define('SM_DEBUG_MODE_OFF', 0);             // complete error suppression
  44. define('SM_DEBUG_MODE_SIMPLE', 1);          // PHP E_ERROR
  45. define('SM_DEBUG_MODE_MODERATE', 512);      // PHP E_ALL
  46. define('SM_DEBUG_MODE_ADVANCED', 524288);   // PHP E_ALL plus log errors intentionally suppressed
  47. define('SM_DEBUG_MODE_STRICT', 536870912);  // PHP E_STRICT
  48.  
  49. /**
  50.  * Define basic, general purpose preference constants.
  51.  * @since 1.2.0
  52.  */
  53. define('SMPREF_NO', 0);
  54. define('SMPREF_OFF', 0);
  55. define('SMPREF_YES', 1);
  56. define('SMPREF_ON', 1);
  57. define('SMPREF_NONE', 'none');
  58.  
  59. /**
  60.  * Define constants for location based preferences.
  61.  * @since 1.2.0
  62.  */
  63. define('SMPREF_LOC_TOP', 'top');
  64. define('SMPREF_LOC_BETWEEN', 'between');
  65. define('SMPREF_LOC_BOTTOM', 'bottom');
  66. define('SMPREF_LOC_LEFT', '');
  67. define('SMPREF_LOC_RIGHT', 'right');
  68.  
  69. /**
  70.  * Define preferences for folder settings.
  71.  * @since 1.2.0
  72.  */
  73. define('SMPREF_UNSEEN_NONE', 1);
  74. define('SMPREF_UNSEEN_INBOX', 2);
  75. define('SMPREF_UNSEEN_ALL', 3);
  76. define('SMPREF_UNSEEN_SPECIAL', 4); // Only special folders (since 1.2.5)
  77. define('SMPREF_UNSEEN_NORMAL', 5);  // Only normal folders (since 1.2.5)
  78. define('SMPREF_UNSEEN_ONLY', 1);
  79. define('SMPREF_UNSEEN_TOTAL', 2);
  80.  
  81. define('SMPREF_MAILBOX_SELECT_LONG', 0);
  82. define('SMPREF_MAILBOX_SELECT_INDENTED', 1);
  83. define('SMPREF_MAILBOX_SELECT_DELIMITED', 2);
  84.  
  85. /**
  86.  * Define constants for time/date display preferences.
  87.  * @since 1.2.0
  88.  */
  89. define('SMPREF_TIME_24HR', 1);
  90. define('SMPREF_TIME_12HR', 2);
  91.  
  92. /**
  93.  * Define constants for javascript preferences.
  94.  * @since 1.2.0
  95.  */
  96. define('SMPREF_JS_OFF', 0);
  97. define('SMPREF_JS_ON', 1);
  98. define('SMPREF_JS_AUTODETECT', 2);
  99.  
  100. /**
  101.  * default value for page_selector_max
  102.  * @since 1.5.1
  103.  */
  104. define('PG_SEL_MAX', 10);
  105.  
  106.  
  107. /**
  108.  * The number of pages to cache msg headers
  109.  * @since 1.5.1
  110.  */
  111. define('SQM_MAX_PAGES_IN_CACHE',5);
  112.  
  113. /**
  114.  * The number of mailboxes to cache msg headers
  115.  * @since 1.5.1
  116.  */
  117. define('SQM_MAX_MBX_IN_CACHE',3);
  118.  
  119. /**
  120.  * Sort constants used for sorting of messages
  121.  * @since 1.5.1
  122.  */
  123. define('SQSORT_NONE',0);
  124. define('SQSORT_DATE_ASC',1);
  125. define('SQSORT_DATE_DESC',2);
  126. define('SQSORT_FROM_ASC',3);
  127. define('SQSORT_FROM_DESC',4);
  128. define('SQSORT_SUBJ_ASC',5);
  129. define('SQSORT_SUBJ_DESC',6);
  130. define('SQSORT_SIZE_ASC',7);
  131. define('SQSORT_SIZE_DESC',8);
  132. define('SQSORT_TO_ASC',9);
  133. define('SQSORT_TO_DESC',10);
  134. define('SQSORT_CC_ASC',11);
  135. define('SQSORT_CC_DESC',12);
  136. define('SQSORT_INT_DATE_ASC',13);
  137. define('SQSORT_INT_DATE_DESC',14);
  138.  
  139. /**
  140.  * Special sort constant thread which is added to above sort mode.
  141.  * By doing a bitwise check ($sort & SQSORT_THREAD) we know if the mailbox
  142.  * is sorted by thread.
  143.  * @since 1.5.1
  144.  */
  145. define('SQSORT_THREAD',32);
  146.  
  147. /**
  148.  * Mailbox preference array keys
  149.  * @since 1.5.1
  150.  */
  151. define('MBX_PREF_SORT',0);
  152. define('MBX_PREF_LIMIT',1);
  153. define('MBX_PREF_AUTO_EXPUNGE',2);
  154. define('MBX_PREF_INTERNALDATE',3);
  155. define('MBX_PREF_COLUMNS',4);
  156. // define('MBX_PREF_FUTURE',unique integer key);
  157.  
  158. /**
  159.  * Email address array keys
  160.  * @since 1.5.1
  161.  */
  162. define('SQM_ADDR_PERSONAL', 0);
  163. define('SQM_ADDR_ADL',      1);
  164. define('SQM_ADDR_MAILBOX',  2);
  165. define('SQM_ADDR_HOST',     3);
  166.  
  167. /**
  168.  * Supported columns to show in a messages list
  169.  * The MBX_PREF_COLUMNS contains an ordered array with these columns
  170.  * @since 1.5.1
  171.  */
  172. define('SQM_COL_CHECK',0);
  173. define('SQM_COL_FROM',1);
  174. define('SQM_COL_DATE', 2);
  175. define('SQM_COL_SUBJ', 3);
  176. define('SQM_COL_FLAGS', 4);
  177. define('SQM_COL_SIZE', 5);
  178. define('SQM_COL_PRIO', 6);
  179. define('SQM_COL_ATTACHMENT', 7);
  180. define('SQM_COL_INT_DATE', 8);
  181. define('SQM_COL_TO', 9);
  182. define('SQM_COL_CC', 10);
  183. define('SQM_COL_BCC', 11);
  184.  
  185. /**
  186.  * Address book field list
  187.  * @since 1.4.16 and 1.5.2
  188.  */
  189. define('SM_ABOOK_FIELD_NICKNAME', 0);
  190. define('SM_ABOOK_FIELD_FIRSTNAME', 1);
  191. define('SM_ABOOK_FIELD_LASTNAME', 2);
  192. define('SM_ABOOK_FIELD_EMAIL', 3);
  193. define('SM_ABOOK_FIELD_LABEL', 4);
  194.  
  195. /**
  196.  * Generic variable type constants
  197.  * @since 1.5.2
  198.  */
  199. define('SQ_TYPE_INT', 'int');
  200. define('SQ_TYPE_BIGINT', 'bigint');
  201. define('SQ_TYPE_STRING', 'string');
  202. define('SQ_TYPE_BOOL', 'bool');
  203. define('SQ_TYPE_ARRAY', 'array');
  204.  
  205. /**
  206.  * Template engines supported
  207.  * @since 1.5.2
  208.  */
  209. define('SQ_PHP_TEMPLATE', 'PHP_');
  210. define('SQ_SMARTY_TEMPLATE', 'Smarty_');
  211.  
  212. /**
  213.  * Used by plugins to indicate an incompatibility with a SM version
  214.  * @since 1.5.2
  215.  */
  216. define('SQ_INCOMPATIBLE', 'INCOMPATIBLE');
  217.  
  218. /**
  219.  * Define constants used in the options code
  220.  */
  221.  
  222. // Define constants for the various option types
  223. define('SMOPT_TYPE_STRING', 0);
  224. define('SMOPT_TYPE_STRLIST', 1);
  225. define('SMOPT_TYPE_TEXTAREA', 2);
  226. define('SMOPT_TYPE_INTEGER', 3);
  227. define('SMOPT_TYPE_FLOAT', 4);
  228. define('SMOPT_TYPE_BOOLEAN', 5);
  229. define('SMOPT_TYPE_HIDDEN', 6);
  230. define('SMOPT_TYPE_COMMENT', 7);
  231. define('SMOPT_TYPE_FLDRLIST', 8);
  232. define('SMOPT_TYPE_FLDRLIST_MULTI', 9);
  233. define('SMOPT_TYPE_EDIT_LIST', 10);
  234. define('SMOPT_TYPE_EDIT_LIST_ASSOCIATIVE', 11);
  235. define('SMOPT_TYPE_STRLIST_MULTI', 12);
  236. define('SMOPT_TYPE_BOOLEAN_CHECKBOX', 13);
  237. define('SMOPT_TYPE_BOOLEAN_RADIO', 14);
  238. define('SMOPT_TYPE_STRLIST_RADIO', 15);
  239. define('SMOPT_TYPE_SUBMIT', 16);
  240. define('SMOPT_TYPE_INFO', 17);
  241. define('SMOPT_TYPE_PASSWORD', 18);
  242.  
  243. // Define constants for the layout scheme for edit lists
  244. define('SMOPT_EDIT_LIST_LAYOUT_LIST', 0);
  245. define('SMOPT_EDIT_LIST_LAYOUT_SELECT', 1);
  246.  
  247. // Define constants for the options refresh levels
  248. define('SMOPT_REFRESH_NONE', 0);
  249. define('SMOPT_REFRESH_FOLDERLIST', 1);
  250. define('SMOPT_REFRESH_ALL', 2);
  251.  
  252. // Define constants for the options size
  253. define('SMOPT_SIZE_TINY', 0);
  254. define('SMOPT_SIZE_SMALL', 1);
  255. define('SMOPT_SIZE_MEDIUM', 2);
  256. define('SMOPT_SIZE_LARGE', 3);
  257. define('SMOPT_SIZE_HUGE', 4);
  258. define('SMOPT_SIZE_NORMAL', 5);
  259.  
  260. // Define miscellaneous options constants 
  261. define('SMOPT_SAVE_DEFAULT', 'save_option');
  262. define('SMOPT_SAVE_NOOP', 'save_option_noop');
  263.  
  264. // Convenience array of values 'a' through 'z'
  265. $a_to_z = array(
  266.               'a' => 'a',
  267.               'b' => 'b',
  268.               'c' => 'c',
  269.               'd' => 'd',
  270.               'e' => 'e',
  271.               'f' => 'f',
  272.               'g' => 'g',
  273.               'h' => 'h',
  274.               'i' => 'i',
  275.               'j' => 'j',
  276.               'k' => 'k',
  277.               'l' => 'l',
  278.               'm' => 'm',
  279.               'n' => 'n',
  280.               'o' => 'o',
  281.               'p' => 'p',
  282.               'q' => 'q',
  283.               'r' => 'r',
  284.               's' => 's',
  285.               't' => 't',
  286.               'u' => 'u',
  287.               'v' => 'v',
  288.               'w' => 'w',
  289.               'x' => 'x',
  290.               'y' => 'y',
  291.               'z' => 'z',
  292.           );

Documentation generated on Mon, 13 Jan 2020 04:22:13 +0100 by phpDocumentor 1.4.3