'True', 'reply' => 'True', 'replyAll' => 'True', 'forward' => 'True', 'action' => 'True' ); function uicompose() { $this->displayCharset = $GLOBALS['phpgw']->translation->charset(); if (!isset($GLOBALS['HTTP_POST_VARS']['composeid']) && !isset($GLOBALS['HTTP_GET_VARS']['composeid'])) { // create new compose session $this->bocompose = CreateObject('felamimail.bocompose','',$this->displayCharset); $this->composeID = $this->bocompose->getComposeID(); } else { // reuse existing compose session if (isset($GLOBALS['HTTP_POST_VARS']['composeid'])) $this->composeID = $GLOBALS['HTTP_POST_VARS']['composeid']; else $this->composeID = $GLOBALS['HTTP_GET_VARS']['composeid']; $this->bocompose = CreateObject('felamimail.bocompose',$this->composeID,$this->displayCharset); } $this->t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); $this->bofelamimail = CreateObject('felamimail.bofelamimail',$this->displayCharset); $this->mailPreferences = ExecMethod('felamimail.bopreferences.getPreferences'); $this->t->set_unknowns('remove'); $this->rowColor[0] = $GLOBALS['phpgw_info']["theme"]["bg01"]; $this->rowColor[1] = $GLOBALS['phpgw_info']["theme"]["bg02"]; } function unhtmlentities ($string) { $trans_tbl = get_html_translation_table (HTML_ENTITIES); $trans_tbl = array_flip ($trans_tbl); return strtr ($string, $trans_tbl); } function action() { $formData['to'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['to']); $formData['cc'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['cc']); $formData['bcc'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['bcc']); $formData['reply_to'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['reply_to']); $formData['subject'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['subject']); $formData['body'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['body']); $formData['priority'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['priority']); $formData['signature'] = $this->bocompose->stripSlashes($GLOBALS['HTTP_POST_VARS']['signature']); $formData['mailbox'] = $GLOBALS['HTTP_GET_VARS']['mailbox']; if (isset($GLOBALS['HTTP_POST_VARS']['send'])) { $action="send"; } elseif (isset($GLOBALS['HTTP_POST_VARS']['addfile'])) { $action="addfile"; } elseif (isset($GLOBALS['HTTP_POST_VARS']['removefile'])) { $action="removefile"; } switch ($action) { case "addfile": $formData['name'] = $GLOBALS['HTTP_POST_FILES']['attachfile']['name']; $formData['type'] = $GLOBALS['HTTP_POST_FILES']['attachfile']['type']; $formData['file'] = $GLOBALS['HTTP_POST_FILES']['attachfile']['tmp_name']; $formData['size'] = $GLOBALS['HTTP_POST_FILES']['attachfile']['size']; $this->bocompose->addAttachment($formData); $this->compose(); break; case "removefile": $formData['removeAttachments'] = $GLOBALS['HTTP_POST_VARS']['attachment']; $this->bocompose->removeAttachment($formData); $this->compose(); break; case "send": if(!$this->bocompose->send($formData)) { $this->compose(); return; } #$linkData = array #( # 'mailbox' => $GLOBALS['HTTP_GET_VARS']['mailbox'], # 'startMessage' => '1' #); #$link = $GLOBALS['phpgw']->link('/felamimail/index.php',$linkData); #$GLOBALS['phpgw']->redirect($link); #$GLOBALS['phpgw']->common->phpgw_exit(); if($this->mailPreferences['messageNewWindow']) { print ""; } else { ExecMethod('felamimail.uifelamimail.viewMainScreen'); } break; } } function compose($_focusElement="to") { // read the data from session // all values are empty for a new compose window $sessionData = $this->bocompose->getSessionData(); $preferences = ExecMethod('felamimail.bopreferences.getPreferences'); #_debug_array($preferences); // is the to address set already? if (!empty($GLOBALS['HTTP_GET_VARS']['send_to'])) { $sessionData['to'] = base64_decode($_GET['send_to']); } $this->display_app_header(); $this->t->set_file(array("composeForm" => "composeForm.tpl")); $this->t->set_block('composeForm','header','header'); $this->t->set_block('composeForm','body_input'); $this->t->set_block('composeForm','attachment','attachment'); $this->t->set_block('composeForm','attachment_row','attachment_row'); $this->t->set_block('composeForm','attachment_row_bold'); $this->translate(); $this->t->set_var("link_addressbook",$GLOBALS['phpgw']->link('/felamimail/addressbook.php')); $this->t->set_var("focusElement",$_focusElement); $linkData = array ( 'menuaction' => 'felamimail.uifelamimail.viewMainScreen' ); if($this->mailPreferences['messageNewWindow']) { $this->t->set_var("link_message_list","javascript:window.close();"); } else { $this->t->set_var("link_message_list",$GLOBALS['phpgw']->link('/felamimail/index.php',$linkData)); } $linkData = array ( 'menuaction' => 'felamimail.uicompose.action', 'composeid' => $this->composeID ); $this->t->set_var("link_action",$GLOBALS['phpgw']->link('/index.php',$linkData)); $this->t->set_var('folder_name',$this->bofelamimail->sessionData['mailbox']); // check for some error messages from last posting attempt if($errorInfo = $this->bocompose->getErrorInfo()) { $this->t->set_var('errorInfo',"$errorInfo"); } else { $this->t->set_var('errorInfo',' '); } // header $displayFrom = @htmlentities($preferences['emailAddress'][0][name].' <'.$preferences['emailAddress'][0][address].'>',ENT_QUOTES,$this->displayCharset); $this->t->set_var("from",$displayFrom); $this->t->set_var("to",@htmlentities($sessionData['to'],ENT_QUOTES,$this->displayCharset)); $this->t->set_var("cc",@htmlentities($sessionData['cc'],ENT_QUOTES,$this->displayCharset)); $this->t->set_var("bcc",@htmlentities($sessionData['bcc'],ENT_QUOTES,$this->displayCharset)); $this->t->set_var("reply_to",@htmlentities($sessionData['reply_to'],ENT_QUOTES,$this->displayCharset)); $this->t->set_var("subject",@htmlentities($sessionData['subject'],ENT_QUOTES,$this->displayCharset)); $this->t->set_var('addressbookImage',$GLOBALS['phpgw']->common->image('phpgwapi/templates/phpgw_website','users')); $this->t->pparse("out","header"); // body $this->t->set_var("body",$sessionData['body']); $this->t->set_var("signature",$sessionData['signature']); $this->t->pparse("out","body_input"); // attachments if (is_array($sessionData['attachments']) && count($sessionData['attachments']) > 0) { $this->t->set_var('row_color',$this->rowColor[0]); $this->t->set_var('name',lang('name')); $this->t->set_var('type',lang('type')); $this->t->set_var('size',lang('size')); $this->t->parse('attachment_rows','attachment_row_bold',True); while (list($key,$value) = each($sessionData['attachments'])) { #print "$key : $value
"; $this->t->set_var('row_color',$this->rowColor[($key+1)%2]); $this->t->set_var('name',$value['name']); $this->t->set_var('type',$value['type']); $this->t->set_var('size',$value['size']); $this->t->set_var('attachment_number',$key); $this->t->parse('attachment_rows','attachment_row',True); } } else { $this->t->set_var('attachment_rows',''); } $this->t->pparse("out","attachment"); } function display_app_header() { $GLOBALS['phpgw']->common->phpgw_header(); if(!$this->mailPreferences['messageNewWindow']) echo parse_navbar(); } function forward() { $replyID = $GLOBALS['HTTP_GET_VARS']['reply_id']; $partID = $_GET['part_id']; if (!empty($replyID)) { // this fill the session data with the values from the original email $this->bocompose->getForwardData($replyID, $partID, $this->bofelamimail->sessionData['mailbox']); } $this->compose(); } function reply() { $replyID = $_GET['reply_id']; $partID = $_GET['part_id']; if (!empty($replyID)) { // this fill the session data with the values from the original email $this->bocompose->getReplyData('single', $replyID, $partID); } $this->compose(@htmlentities('body')); } function replyAll() { $replyID = $GLOBALS['HTTP_GET_VARS']['reply_id']; $partID = $_GET['part_id']; if (!empty($replyID)) { // this fill the session data with the values from the original email $this->bocompose->getReplyData('all', $replyID, $partID); } $this->compose('body'); } function translate() { $this->t->set_var("lang_message_list",lang('Message List')); $this->t->set_var("lang_to",lang('to')); $this->t->set_var("lang_cc",lang('cc')); $this->t->set_var("lang_bcc",lang('bcc')); $this->t->set_var("lang_from",lang('from')); $this->t->set_var("lang_reply_to",lang('reply to')); $this->t->set_var("lang_subject",lang('subject')); $this->t->set_var("lang_addressbook",lang('addressbook')); $this->t->set_var("lang_search",lang('search')); $this->t->set_var("lang_send",lang('send')); $this->t->set_var("lang_back_to_folder",lang('back to folder')); $this->t->set_var("lang_attachments",lang('attachments')); $this->t->set_var("lang_add",lang('add')); $this->t->set_var("lang_remove",lang('remove')); $this->t->set_var("lang_priority",lang('priority')); $this->t->set_var("lang_normal",lang('normal')); $this->t->set_var("lang_high",lang('high')); $this->t->set_var("lang_low",lang('low')); $this->t->set_var("lang_signature",lang('signature')); $this->t->set_var("th_bg",$GLOBALS['phpgw_info']["theme"]["th_bg"]); $this->t->set_var("bg01",$GLOBALS['phpgw_info']["theme"]["bg01"]); $this->t->set_var("bg02",$GLOBALS['phpgw_info']["theme"]["bg02"]); $this->t->set_var("bg03",$GLOBALS['phpgw_info']["theme"]["bg03"]); } } ?>