Source for file misc.php

Documentation is available at misc.php

  1. <?php
  2. /**
  3. * Useful ancillary functions, not helpdesk-specific
  4. * Copyright OSI 2005. All rights reserved.
  5. * It is expected that version 1.0 will be GPLed, but this interim work
  6. * is kept closed until 1.0 is ready.
  7. *
  8. * @package helpdesk
  9. * @version $Id
  10. * 20050920
  11. * - Added _helpdesk_notempty()
  12. */
  13.  
  14. define('HELPDESKUNIMPLEMENTED', t('To be implemented')) ;
  15.  
  16. /**
  17. * Returns the type of a node, because Drupal uses two
  18. * conventions for this: either node passed as its type or as an object
  19. * @param mixed $node The node
  20. * @return string The node type
  21. */
  22. function _helpdesk_node_type ($node)
  23. {
  24. return is_string ($node) ? $node : $node->type ;
  25. }
  26. /**
  27. * A safer way of accessing a node's properties
  28. *
  29. * @param mixed $node
  30. * @param string $prop
  31. * @return string
  32. */
  33. function _helpdesk_get_node_property ($node, $prop)
  34. {
  35. if (!isset($node))
  36. $ret = '(node not set)' ;
  37. elseif (is_object($node))
  38. $ret = isset($node->$prop) ? $node->$prop : '(property not set)' ;
  39. elseif (is_array($node))
  40. $ret = array_key_exists($prop, $node) ? $node[$prop] : '(array key not found)' ;
  41. else
  42. $ret = $node ;
  43. return $ret ;
  44. }
  45. /**
  46. * Returns a non empty string for anything passed to it.
  47. *
  48. * @param mixed $var The var to be displayed.
  49. * @param string $default Value to be returned if variable is empty or non scalar
  50. * @param bool $debug Provides detailed output for non-scalar types instead of defaulting
  51. * @return string HTML code
  52. */
  53. function _helpdesk_notempty ($var, $default = '&nbsp;', $debug = FALSE)
  54. {
  55. if (!isset($var))
  56. return $default ;
  57. if (is_scalar($var))
  58. return ($var <> '') ? $var : $default ;
  59. if (is_resource($var))
  60. return $debug
  61. ? get_resource_type($var)
  62. : $default ;
  63. if (is_object($var))
  64. {
  65. if ($debug)
  66. {
  67. $ret = ' ';
  68. print_r ($var, $ret) ;
  69. $ret = "<pre>$ret</pre>" ;
  70. }
  71. else
  72. $ret = $default ;
  73. return $ret ;
  74. }
  75. if (is_array($var))
  76. {
  77. if ($debug)
  78. {
  79. $ret = '' ;
  80. print_r ($var, $ret) ;
  81. $ret = "<pre>$ret</pre>" ;
  82. }
  83. else
  84. $ret = $default ;
  85. return $ret ;
  86. }
  87. // No other type is supposed to exist
  88. return "Error in _helpdesk_notempty(): variable of unknown type '" . gettype($var) . "' passed. Cannot process." ;
  89. }
  90. ?>

Documentation generated on Tue, 01 Nov 2005 23:15:03 +0100 by phpDocumentor 1.3.0RC3