thomascube
2009-07-03 4fa127ad663b81f2ee98bb485b23e064591de78c
program/include/main.inc
@@ -590,12 +590,12 @@
/**
 * Remove all non-ascii and non-word chars
 * except . and -
 * except ., -, _
 */
function asciiwords($str, $css_id = false)
function asciiwords($str, $css_id = false, $replace_with = '')
{
  $allowed = 'a-z0-9\_\-' . (!$css_id ? '\.' : '');
  return preg_replace("/[^$allowed]/i", '', $str);
  return preg_replace("/[^$allowed]/i", $replace_with, $str);
}
/**
@@ -1023,17 +1023,16 @@
 * @access private
 */
function rcube_timer()
  {
  list($usec, $sec) = explode(" ", microtime());
  return ((float)$usec + (float)$sec);
  }
{
  return microtime(true);
}
  
/**
 * @access private
 */
function rcube_print_time($timer, $label='Timer')
  {
{
  static $print_count = 0;
  
  $print_count++;
@@ -1044,7 +1043,7 @@
    $label = 'Timer '.$print_count;
  
  console(sprintf("%s: %0.4f sec", $label, $diff));
  }
}
/**
@@ -1082,6 +1081,9 @@
    foreach ($a_folders as $folder)
      rcmail_build_folder_tree($a_mailboxes, $folder, $delimiter);
  }
  // allow plugins to alter the folder tree or to localize folder names
  $hook = $RCMAIL->plugins->exec_hook('render_mailboxlist', array('list' => $a_mailboxes, 'delimiter' => $delimiter));
  if ($type=='select') {
    $select = new html_select($attrib);
@@ -1090,12 +1092,12 @@
    if ($attrib['noselection'])
      $select->add(rcube_label($attrib['noselection']), '0');
    
    rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength'], $select, $attrib['realnames']);
    rcmail_render_folder_tree_select($hook['list'], $mbox_name, $attrib['maxlength'], $select, $attrib['realnames']);
    $out = $select->show();
  }
  else {
    $js_mailboxlist = array();
    $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $js_mailboxlist, $attrib), html::$common_attrib);
    $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($hook['list'], $mbox_name, $js_mailboxlist, $attrib), html::$common_attrib);
    
    $RCMAIL->output->add_gui_object('mailboxlist', $attrib['id']);
    $RCMAIL->output->set_env('mailboxes', $js_mailboxlist);
@@ -1202,7 +1204,7 @@
    }
    // make folder name safe for ids and class names
    $folder_id = asciiwords($folder['id'], true);
    $folder_id = asciiwords($folder['id'], true, '_');
    $classes = array('mailbox');
    // set special class for Sent, Drafts, Trash and Junk