private function getMailProperties($msg, $i = 0) { $text = $msg->getTextBody(); // plain body is already converted to UTF-8 (when mail was saved) if (strlen_utf($text) > 150) { $text = substr_utf($text, 0, 150) . "..."; } $show_as_conv = user_config_option('show_emails_as_conversations'); if ($show_as_conv) { $conv_total = MailContents::countMailsInConversation($msg); $conv_unread = MailContents::countUnreadMailsInConversation($msg); $conv_hasatt = MailContents::conversationHasAttachments($msg); } $properties = array("id" => $msg->getId(), "ix" => $i, "object_id" => $msg->getId(), "type" => 'email', "hasAttachment" => $msg->getHasAttachments(), "accountId" => $msg->getAccountId(), "accountName" => $msg->getAccount() instanceof MailAccount ? $msg->getAccount()->getName() : lang('n/a'), "projectId" => $msg->getWorkspacesIdsCSV(logged_user()->getWorkspacesQuery()), "subject" => $msg->getSubject(), "text" => $text, "date" => $msg->getReceivedDate() instanceof DateTimeValue ? $msg->getReceivedDate()->isToday() ? format_time($msg->getReceivedDate()) : format_datetime($msg->getReceivedDate()) : lang('n/a'), "userId" => $msg->getAccount() instanceof MailAccount && $msg->getAccount()->getOwner() instanceof User ? $msg->getAccount()->getOwner()->getId() : 0, "userName" => $msg->getAccount() instanceof MailAccount && $msg->getAccount()->getOwner() instanceof User ? $msg->getAccount()->getOwner()->getDisplayName() : lang('n/a'), "tags" => implode(", ", $msg->getTagNames()), "isRead" => $show_as_conv ? $conv_unread == 0 : $msg->getIsRead(logged_user()->getId()), "from" => $msg->getFromName() != '' ? $msg->getFromName() : $msg->getFrom(), "from_email" => $msg->getFrom(), "isDraft" => $msg->getIsDraft(), "isSent" => $msg->getIsSent(), "folder" => $msg->getImapFolderName(), "to" => $msg->getTo()); if ($show_as_conv) { $properties["conv_total"] = $conv_total; $properties["conv_unread"] = $conv_unread; $properties["conv_hasatt"] = $conv_hasatt; } return $properties; }
private function getMailProperties($msg, $i = 0) { $text = $msg->getTextBody(); // plain body is already converted to UTF-8 (when mail was saved) if (strlen_utf($text) > 150) { $text = substr_utf($text, 0, 150) . "..."; } $show_as_conv = user_config_option('show_emails_as_conversations'); if ($show_as_conv) { $conv_total = MailContents::countMailsInConversation($msg); $conv_unread = MailContents::countUnreadMailsInConversation($msg); $conv_hasatt = MailContents::conversationHasAttachments($msg); } //if the variable is not set, make the query and set it. //seba // Comented by php TODO: Feng 2 context/members /* if(!isset($this->user_workspaces_ids)){ $sql = logged_user()->getWorkspacesQuery(); $rows = DB::executeAll($sql); if (count($rows)== 0) $this->user_workspaces_ids = "0"; else{ foreach ($rows as $row){ if ($this->user_workspaces_ids != "") $this->user_workspaces_ids .= ","; $this->user_workspaces_ids .= $row['project_id']; } } }*/ /* @var $msg MailContent */ $persons_dim = Dimensions::findByCode('feng_persons'); $persons_dim_id = $persons_dim instanceof Dimension ? $persons_dim->getId() : "0"; $mail_member_ids = array_flat(DB::executeAll("SELECT om.member_id FROM " . TABLE_PREFIX . "object_members om\r\n\t\t\t\tINNER JOIN " . TABLE_PREFIX . "members m ON m.id=om.member_id \r\n\t\t\t\tWHERE om.object_id = '" . $msg->getId() . "' AND om.is_optimization = 0 AND m.dimension_id<>{$persons_dim_id}")); $properties = array("id" => $msg->getId(), "ix" => $i, "object_id" => $msg->getId(), "ot_id" => $msg->getObjectTypeId(), "type" => 'email', "hasAttachment" => $msg->getHasAttachments(), "accountId" => $msg->getAccountId(), "accountName" => $msg->getAccount() instanceof MailAccount ? $msg->getAccount()->getName() : lang('n/a'), "subject" => $msg->getSubject(), "text" => $text, "date" => $msg->getReceivedDate() instanceof DateTimeValue ? $msg->getReceivedDate()->isToday() ? format_time($msg->getReceivedDate()) : format_datetime($msg->getReceivedDate()) : lang('n/a'), "userId" => $msg->getAccount() instanceof MailAccount && $msg->getAccount()->getOwner() instanceof Contact ? $msg->getAccount()->getOwner()->getId() : 0, "userName" => $msg->getAccount() instanceof MailAccount && $msg->getAccount()->getOwner() instanceof Contact ? $msg->getAccount()->getOwner()->getObjectName() : lang('n/a'), "isRead" => $show_as_conv ? $conv_unread == 0 : $msg->getIsRead(logged_user()->getId()), "from" => $msg->getFromName() != '' ? $msg->getFromName() : $msg->getFrom(), "from_email" => $msg->getFrom(), "isDraft" => $msg->getIsDraft(), "isSent" => $msg->getIsSent(), "folder" => $msg->getImapFolderName(), "to" => $msg->getTo(), "memPath" => json_encode($msg->getMembersIdsToDisplayPath()), "memberIds" => implode(",", $mail_member_ids)); if ($show_as_conv) { $properties["conv_total"] = $conv_total; $properties["conv_unread"] = $conv_unread; $properties["conv_hasatt"] = $conv_hasatt; } return $properties; }