Source for file functions.php

Documentation is available at functions.php

  1. <?php
  2.  
  3. /**
  4.  * Fortune plugin functions
  5.  *
  6.  * @copyright 2004-2020 The SquirrelMail Project Team
  7.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8.  * @version $Id: functions.php 14845 2020-01-07 08:09:34Z pdontthink $
  9.  * @package plugins
  10.  * @subpackage fortune
  11.  */
  12.  
  13. /**
  14.  * Declare configuration global and set default value
  15.  */
  16. global $fortune_command;
  17. $fortune_command '/usr/games/fortune -s';
  18.  
  19. /**
  20.  * Load site config
  21.  */
  22. if (file_exists(SM_PATH 'config/fortune_config.php')) {
  23.     include_once(SM_PATH 'config/fortune_config.php');
  24. elseif (file_exists(SM_PATH 'plugins/fortune/config.php')) {
  25.     include_once(SM_PATH 'plugins/fortune/config.php');
  26. }
  27.  
  28. /**
  29.  * Show fortune
  30.  * @access private
  31.  * @since 1.5.1
  32.  */
  33. function fortune_function({
  34.     global $oTemplate$fortune_visible$color$fortune_command;
  35.  
  36.     if (!$fortune_visible{
  37.         return;
  38.     }
  39.  
  40.     /* open handle and get all command output*/
  41.     $handle popen($fortune_command,'r');
  42.     $fortune '';
  43.     while ($read fread($handle,1024)) {
  44.         $fortune .= $read;
  45.     }
  46.     /* if pclose return != 0, popen command failed. Yes, I know that it is broken when --enable-sigchild is used */
  47.     if (pclose($handle)) {
  48.         // i18n: %s shows executed fortune cookie command.
  49.         $fortune sprintf(_("Unable to execute \"%s\"."),$fortune_command);
  50.     }
  51.  
  52.     $oTemplate->assign('color'$color);
  53.     $oTemplate->assign('fortune'sm_encode_html_special_chars($fortune));
  54.     $output $oTemplate->fetch('plugins/fortune/mailbox_index_before.tpl');
  55.     return array('mailbox_index_before' => $output);
  56.  
  57. }
  58.  
  59. /**
  60.  * Add fortune options
  61.  * @access private
  62.  * @since 1.5.1
  63.  */
  64. function fortune_function_options({
  65.     global $optpage_data;
  66.  
  67.     $optpage_data['grps']['fortune'_("Fortunes:");
  68.     $optionValues array();
  69.     $optionValues[array('name'    => 'fortune_visible',
  70.                             'caption' => _("Show fortunes at top of mailbox"),
  71.                             'type'    => SMOPT_TYPE_BOOLEAN,
  72.                             'initial_value' => false );
  73.     $optpage_data['vals']['fortune'$optionValues;
  74. }
  75.  
  76. /**
  77.  * Get fortune prefs
  78.  * @access private
  79.  * @since 1.5.1
  80.  */
  81. function fortune_function_load({
  82.     global $username$data_dir$fortune_visible;
  83.  
  84.     $fortune_visible getPref($data_dir$username'fortune_visible');
  85. }

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