Changeset 1564 in subversion


Ignore:
Timestamp:
Jun 20, 2008 7:40:05 AM (5 years ago)
Author:
thomasb
Message:

Urlencode mail recipients for storing in session + little code cleanup

Location:
trunk/roundcubemail/program
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/include/main.inc

    r1560 r1564  
    129129{ 
    130130  $app = rcmail::get_instance(); 
    131    
    132   $qstring = ''; 
    133   $base = $app->comm_path; 
    134    
    135   if ($task && in_array($task, rcmail::$main_tasks)) 
    136     $base = ereg_replace('_task=[a-z]+', '_task='.$task, $app->comm_path); 
    137    
    138   if (is_array($p)) 
    139     foreach ($p as $key => $val) 
    140       $qstring .= '&'.urlencode($key).'='.urlencode($val); 
    141    
    142   return $base . ($action ? '&_action='.$action : '') . $qstring; 
     131  return $app->url((array)$p + array('_action' => $action, 'task' => $task)); 
    143132} 
    144133 
  • trunk/roundcubemail/program/include/rcmail.php

    r1562 r1564  
    831831  { 
    832832    if (!is_array($p)) 
    833       $p = array('action' => @func_get_arg(0)); 
    834        
    835     $url = $p['task'] ? './?_task=' . $p['task'] : $this->comm_path; 
     833      $p = array('_action' => @func_get_arg(0)); 
     834     
     835    if ($p['task'] && in_array($p['task'], rcmail::$main_tasks)) 
     836      $url = './?_task='.$p['task']; 
     837    else 
     838      $url = $this->comm_path; 
     839     
    836840    unset($p['task']); 
    837      
    838841    foreach ($p as $par => $val) 
    839       $url .= sprintf('&%s=%s', urlencode($par), urlencode($val)); 
     842      $url .= '&'.urlencode($par).'='.urlencode($val); 
    840843     
    841844    return $url; 
  • trunk/roundcubemail/program/include/rcube_json_output.php

    r1562 r1564  
    170170     * @see rcmail::url() 
    171171     */ 
    172     public function redirect($p = array(), $delay = 0) 
     172    public function redirect($p = array(), $delay = 1) 
    173173    { 
    174174        $location = rcmail::get_instance()->url($p); 
  • trunk/roundcubemail/program/steps/addressbook/mailto.inc

    r671 r1564  
    3838  $mailto_str = join(', ', $mailto); 
    3939  $mailto_id = substr(md5($mailto_str), 0, 16); 
    40   $_SESSION['mailto'][$mailto_id] = $mailto_str; 
    41   $OUTPUT->command('redirect', rcmail_url('compose', array('_mailto' => $mailto_id), 'mail')); 
     40  $_SESSION['mailto'][$mailto_id] = urlencode($mailto_str); 
     41  $OUTPUT->redirect(array('task' => 'mail', '_action' => 'compose', '_mailto' => $mailto_id)); 
    4242} 
    4343else 
  • trunk/roundcubemail/program/steps/mail/compose.inc

    r1562 r1564  
    136136      // we have a set of recipients stored is session 
    137137      if (($mailto_id = $_SESSION['compose']['param']['_mailto']) && $_SESSION['mailto'][$mailto_id]) 
    138         $fvalue = $_SESSION['mailto'][$mailto_id]; 
     138        $fvalue = urldecode($_SESSION['mailto'][$mailto_id]); 
    139139      else if (!empty($_SESSION['compose']['param']['_to'])) 
    140140        $fvalue = $_SESSION['compose']['param']['_to']; 
Note: See TracChangeset for help on using the changeset viewer.