svncommit
2006-11-21 84f9312e1d17725db6040554a993db38292d46bd
program/include/main.inc
@@ -185,7 +185,7 @@
  // renew auth cookie every 5 minutes (only for GET requests)
  if (!$valid || ($_SERVER['REQUEST_METHOD']!='POST' && $now-$_SESSION['auth_time'] > 300))
    {
     $_SESSION['last_auth'] = $_SESSION['auth_time'];
    $_SESSION['last_auth'] = $_SESSION['auth_time'];
    $_SESSION['auth_time'] = $now;
    setcookie('sessauth', rcmail_auth_hash(session_id(), $now));
    }
@@ -365,7 +365,7 @@
  
  // add common javascripts
  $javascript = "var $JS_OBJECT_NAME = new rcube_webmail();\n";
  $javascript .= "$JS_OBJECT_NAME.set_env('comm_path', '$COMM_PATH');\n";
  $javascript .= sprintf("%s.set_env('comm_path', '%s');\n", $JS_OBJECT_NAME, str_replace('&', '&', $COMM_PATH));
  if (isset($CONFIG['javascript_config'] )){
    foreach ($CONFIG['javascript_config'] as $js_config_var){
@@ -375,7 +375,7 @@
  // don't wait for page onload. Call init at the bottom of the page (delayed)
  $javascript_foot = "if (window.call_init)\n call_init('$JS_OBJECT_NAME');";
  if (!empty($GLOBALS['_framed']))
    $javascript .= "$JS_OBJECT_NAME.set_env('framed', true);\n";
    
@@ -550,21 +550,28 @@
    $user_name = $user!=$user_email ? $user : '';
    // try to resolve the e-mail address from the virtuser table
   if (!empty($CONFIG['virtuser_query']))
     {
      $sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']));
      if ($sql_arr = $DB->fetch_array($sql_result))
        $user_email = $sql_arr[0];
   if (!empty($CONFIG['virtuser_query']) &&
        ($sql_result = $DB->query(preg_replace('/%u/', $user, $CONFIG['virtuser_query']))) &&
        ($DB->num_rows()>0))
      while ($sql_arr = $DB->fetch_array($sql_result))
        {
        $DB->query("INSERT INTO ".get_table_name('identities')."
                   (user_id, del, standard, name, email)
                   VALUES (?, 0, 1, ?, ?)",
                   $user_id,
                   $user_name,
                   preg_replace('/^@/', $user . '@', $sql_arr[0]));
        }
    else
      {
      // also create new identity records
      $DB->query("INSERT INTO ".get_table_name('identities')."
                  (user_id, del, standard, name, email)
                  VALUES (?, 0, 1, ?, ?)",
                  $user_id,
                  $user_name,
                  $user_email);
      }
    // also create new identity records
    $DB->query("INSERT INTO ".get_table_name('identities')."
                (user_id, del, standard, name, email)
                VALUES (?, 0, 1, ?, ?)",
                $user_id,
                $user_name,
                $user_email);
                       
    // get existing mailboxes
    $a_mailboxes = $IMAP->list_mailboxes();
@@ -893,7 +900,7 @@
  // convert string to UTF-8
  if ($from=='UTF-7')
    $str = rcube_charset_convert(UTF7DecodeString($str), 'ISO-8859-1');
    $str = utf7_to_utf8($str);
  else if (($from=='ISO-8859-1') && function_exists('utf8_encode'))
    $str = utf8_encode($str);
  else if ($from!='UTF-8')
@@ -904,7 +911,7 @@
  // encode string for output
  if ($to=='UTF-7')
    return UTF7EncodeString(rcube_charset_convert($str, 'UTF-8', 'ISO-8859-1'));
    return utf8_to_utf7($str);
  else if ($to=='ISO-8859-1' && function_exists('utf8_decode'))
    return utf8_decode($str);
  else if ($to!='UTF-8')
@@ -958,8 +965,9 @@
      }
    else if ($mode=='remove')
      $str = strip_tags($str);
    $out = strtr($str, $encode_arr);
    // avoid douple quotation of &
    $out = preg_replace('/&([a-z]{2,5});/', '&\\1;', strtr($str, $encode_arr));
      
    return $newlines ? nl2br($out) : $out;
    }
@@ -1197,6 +1205,7 @@
        'composeattachment' => 'rcmail_compose_attachment_field',
        'priorityselector' => 'rcmail_priority_selector',
        'charsetselector' => 'rcmail_charset_selector',
        'editorselector' => 'rcmail_editor_selector',
        'searchform' => 'rcmail_search_form',
        'receiptcheckbox' => 'rcmail_receipt_checkbox',
        
@@ -1279,8 +1288,7 @@
  if ($attrib['type'])
    $attrib['type'] = strtolower($attrib['type']);
  else
    $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $arg['imageact']) ? 'image' : 'link';
    $attrib['type'] = ($attrib['image'] || $attrib['imagepas'] || $attrib['imageact']) ? 'image' : 'link';
  
  $command = $attrib['command'];
  
@@ -1289,7 +1297,7 @@
    $attrib = $sa_buttons[$attrib['name']];
  // add button to button stack
  else if($attrib['image'] || $arg['imageact'] || $attrib['imagepas'] || $attrib['class'])
  else if($attrib['image'] || $attrib['imageact'] || $attrib['imagepas'] || $attrib['class'])
    {
    if(!$attrib['name'])
      $attrib['name'] = $command;
@@ -1487,7 +1495,15 @@
  }
/**
 * Create an edit field for inclusion on a form
 *
 * @param string col field name
 * @param string value field value
 * @param array attrib HTML element attributes for field
 * @param string type HTML element type (default 'text')
 * @return string HTML field definition
 */
function rcmail_get_edit_field($col, $value, $attrib, $type='text')
  {
  $fname = '_'.$col;