Changeset f115416 in github for program/steps/mail/compose.inc


Ignore:
Timestamp:
Apr 28, 2007 2:07:12 PM (6 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
24f8ce48
Parents:
9e5d051
Message:

Merged branch devel-addressbook from r443 back to trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • program/steps/mail/compose.inc

    r3cf6649 rf115416  
    3737    @unlink($_SESSION['compose']['attachments'][$id]['path']); 
    3838    $_SESSION['compose']['attachments'][$id] = NULL; 
    39     $commands = sprintf("parent.%s.remove_from_attachment_list('rcmfile%d');\n", $JS_OBJECT_NAME, $id); 
    40     rcube_remote_response($commands);   
     39    $OUTPUT->command('remove_from_attachment_list', "rcmfile$id"); 
     40    $OUTPUT->send(); 
    4141    exit; 
    4242    } 
     
    6262 
    6363// add config parameter to client script 
    64 $OUTPUT->add_script(sprintf("%s.set_env('draft_autosave', %d);", $JS_OBJECT_NAME, !empty($CONFIG['drafts_mbox']) ? $CONFIG['draft_autosave'] : 0)); 
     64$OUTPUT->set_env('draft_autosave', !empty($CONFIG['drafts_mbox']) ? $CONFIG['draft_autosave'] : 0); 
    6565 
    6666 
     
    126126      $fname = '_to'; 
    127127      $header = 'to'; 
    128  
    129       // we have contact id's as get parameters 
    130       if (!empty($_GET['_to']) && preg_match('/^[0-9]+(,[0-9]+)*$/', $_GET['_to'])) 
    131         { 
    132         $a_recipients = array(); 
    133         $sql_result = $DB->query("SELECT name, email 
    134                                   FROM ".get_table_name('contacts')." 
    135                                   WHERE user_id=? 
    136                                   AND    del<>1 
    137                                   AND    contact_id IN (".$_GET['_to'].")", 
    138                                   $_SESSION['user_id']); 
    139                                           
    140         while ($sql_arr = $DB->fetch_assoc($sql_result)) 
    141           $a_recipients[] = format_email_recipient($sql_arr['email'], $sql_arr['name']); 
    142            
    143         if (sizeof($a_recipients)) 
    144           $fvalue = join(', ', $a_recipients); 
    145         } 
     128       
     129      // we have a set of recipients stored is session 
     130      if (($mailto_id = get_input_value('_mailto', RCUBE_INPUT_GET)) && $_SESSION['mailto'][$mailto_id]) 
     131        $fvalue = $_SESSION['mailto'][$mailto_id]; 
    146132      else if (!empty($_GET['_to'])) 
    147133        $fvalue = get_input_value('_to', RCUBE_INPUT_GET); 
     
    247233function rcmail_compose_header_from($attrib) 
    248234  { 
    249   global $IMAP, $MESSAGE, $DB, $OUTPUT, $JS_OBJECT_NAME, $compose_mode; 
     235  global $IMAP, $MESSAGE, $DB, $OUTPUT, $compose_mode; 
    250236     
    251237  // pass the following attributes to the form class 
     
    292278    $a_signatures = array(); 
    293279 
    294     $field_attrib['onchange'] = "$JS_OBJECT_NAME.change_identity(this)"; 
     280    $field_attrib['onchange'] = JS_OBJECT_NAME.".change_identity(this)"; 
    295281    $select_from = new select($field_attrib); 
    296282 
     
    331317 
    332318    // add signatures to client 
    333     $OUTPUT->add_script(sprintf("%s.set_env('signatures', %s);", $JS_OBJECT_NAME, array2js($a_signatures)));   
     319    $OUTPUT->set_env('signatures', $a_signatures); 
    334320    } 
    335321  else 
     
    349335function rcmail_compose_body($attrib) 
    350336  { 
    351   global $CONFIG, $OUTPUT, $MESSAGE, $JS_OBJECT_NAME, $compose_mode; 
     337  global $CONFIG, $OUTPUT, $MESSAGE, $compose_mode; 
    352338   
    353339  list($form_start, $form_end) = get_form_tags($attrib); 
     
    471457      substr($_SESSION['user_lang'], 0, 2), 
    472458      $attrib['id'], 
    473       $JS_OBJECT_NAME), 'foot'); 
     459      JS_OBJECT_NAME), 'foot'); 
    474460 
    475461    rcube_add_label('checking'); 
     
    667653function rcmail_compose_attachment_list($attrib) 
    668654  { 
    669   global $OUTPUT, $JS_OBJECT_NAME, $CONFIG; 
     655  global $OUTPUT, $CONFIG; 
    670656   
    671657  // add ID if not given 
     
    691677      $out .= sprintf('<li id="rcmfile%d"><a href="#delete" onclick="return %s.command(\'remove-attachment\',\'rcmfile%d\', this)" title="%s">%s</a>%s</li>', 
    692678                      $id, 
    693                       $JS_OBJECT_NAME, 
     679                      JS_OBJECT_NAME, 
    694680                      $id, 
    695681                      Q(rcube_label('delete')), 
     
    698684    } 
    699685 
    700   $OUTPUT->add_script(sprintf("%s.gui_object('attachmentlist', '%s');", $JS_OBJECT_NAME, $attrib['id']));   
     686  $OUTPUT->add_gui_object('attachmentlist', $attrib['id']); 
    701687     
    702688  $out .= '</ul>'; 
     
    708694function rcmail_compose_attachment_form($attrib) 
    709695  { 
    710   global $OUTPUT, $JS_OBJECT_NAME, $SESS_HIDDEN_FIELD; 
     696  global $OUTPUT, $SESS_HIDDEN_FIELD; 
    711697 
    712698  // add ID if not given 
     
    719705  $label_send = rcube_label('upload'); 
    720706  $label_close = rcube_label('close'); 
     707  $js_instance = JS_OBJECT_NAME; 
    721708   
    722709  $out = <<<EOF 
     
    726713$input_field<br /> 
    727714<input type="button" value="$label_close" class="button" onclick="document.getElementById('$attrib[id]').style.visibility='hidden'" /> 
    728 <input type="button" value="$label_send" class="button" onclick="$JS_OBJECT_NAME.command('send-attachment', this.form)" /> 
     715<input type="button" value="$label_send" class="button" onclick="$js_instance.command('send-attachment', this.form)" /> 
    729716</form> 
    730717</div> 
     
    732719 
    733720   
    734   $OUTPUT->add_script(sprintf("%s.gui_object('uploadbox', '%s');", $JS_OBJECT_NAME, $attrib['id']));   
     721  $OUTPUT->add_gui_object('uploadbox', $attrib['id']); 
    735722  return $out; 
    736723  } 
     
    830817    $attrib['id'] = '_' . $value; 
    831818    $rb = new radiobutton($attrib); 
    832     $selector .= sprintf("<td>%s</td><td class=\"title\"><label for=\"%s\">%s</label></td>", 
     819    $selector .= sprintf("%s<label for=\"%s\">%s</label>", 
    833820                         $rb->show($value), 
    834821                         $attrib['id'], 
     
    842829function get_form_tags($attrib) 
    843830  { 
    844   global $CONFIG, $OUTPUT, $JS_OBJECT_NAME, $MESSAGE_FORM, $SESS_HIDDEN_FIELD;   
     831  global $CONFIG, $OUTPUT, $MESSAGE_FORM, $SESS_HIDDEN_FIELD;   
    845832 
    846833  $form_start = ''; 
     
    859846   
    860847  if (!strlen($MESSAGE_FORM)) 
    861     $OUTPUT->add_script("$JS_OBJECT_NAME.gui_object('messageform', '$form_name');"); 
     848    $OUTPUT->add_gui_object('messageform', $form_name); 
    862849   
    863850  $MESSAGE_FORM = $form_name; 
     
    867854 
    868855 
    869 function format_email_recipient($email, $name='') 
    870   { 
    871   if ($name && $name != $email) 
    872     return sprintf('%s <%s>', strpos($name, ",") ? '"'.$name.'"' : $name, $email); 
    873   else 
    874     return $email; 
    875   } 
    876  
    877  
    878 function rcmail_charset_pulldown($selected='ISO-8859-1') 
    879   { 
    880   $select = new select(); 
    881    
    882    
    883   return $select->show($selected); 
    884   } 
     856// register UI objects 
     857$OUTPUT->add_handlers(array( 
     858  'composeheaders' => 'rcmail_compose_headers', 
     859  'composesubject' => 'rcmail_compose_subject', 
     860  'composebody' => 'rcmail_compose_body', 
     861  'composeattachmentlist' => 'rcmail_compose_attachment_list', 
     862  'composeattachmentform' => 'rcmail_compose_attachment_form', 
     863  'composeattachment' => 'rcmail_compose_attachment_field', 
     864  'priorityselector' => 'rcmail_priority_selector', 
     865  'editorselector' => 'rcmail_editor_selector', 
     866  'receiptcheckbox' => 'rcmail_receipt_checkbox', 
     867)); 
    885868 
    886869 
    887870/****** get contacts for this user and add them to client scripts ********/ 
    888871 
    889 $sql_result = $DB->query("SELECT name, email 
    890                           FROM ".get_table_name('contacts')." WHERE  user_id=? 
    891                           AND  del<>1",$_SESSION['user_id']); 
     872require_once('include/rcube_contacts.inc'); 
     873 
     874$CONTACTS = new rcube_contacts($DB, $_SESSION['user_id']); 
     875$CONTACTS->set_pagesize(1000); 
    892876                                    
    893 if ($DB->num_rows($sql_result)) 
     877if ($result = $CONTACTS->list_records()) 
    894878  {         
    895879  $a_contacts = array(); 
    896   while ($sql_arr = $DB->fetch_assoc($sql_result)) 
     880  while ($sql_arr = $result->iterate()) 
    897881    if ($sql_arr['email']) 
    898882      $a_contacts[] = format_email_recipient($sql_arr['email'], JQ($sql_arr['name'])); 
    899883   
    900   $OUTPUT->add_script(sprintf("$JS_OBJECT_NAME.set_env('contacts', %s);", array2js($a_contacts))); 
     884  $OUTPUT->set_env('contacts', $a_contacts); 
    901885  } 
    902886 
Note: See TracChangeset for help on using the changeset viewer.