function getOptionsSizetype(&$nValue = false, &$sSizeType = '') { $aSizeTypesText = array('байт', 'Кб', 'Мб', 'Гб'); $aSizeTypes = array('b', 'kb', 'mb', 'gb'); $sSizeTypeSelected = 'b'; $sResult = ''; if ($nValue !== false) { $sSizeTypeSelected = $nValue >= 1073741824 ? 'gb' : ($nValue >= 1048576 ? 'mb' : ($nValue >= 1024 ? 'kb' : 'b')); $nValue = Func::getfilesize($nValue, false); } for ($i = 0, $total = sizeof($aSizeTypes); $i < $total; $i++) { if ($sSizeTypeSelected == $aSizeTypes[$i]) { $sSizeType = $aSizeTypesText[$i]; } $selected = $sSizeTypeSelected == $aSizeTypes[$i] ? ' selected="selected"' : ''; $sResult .= '<option value="' . $aSizeTypes[$i] . '"' . $selected . '>' . $aSizeTypesText[$i] . '</option>'; } return $sResult; }
function _getMessageAttachments($uid, $sections, $isreply = false) { $arrayData = array(); if (count($sections) > 0) { foreach ($sections as $key => $value) { if (isset($value['type']) && $value['type'] == 'attachment' && (floor($key) != $key ? $sections[floor($key)]['mimeType'] != 'multipart/alternative' : 1)) { $arrayData[] = array_merge($value, array('uid' => $uid)); # сохранение приложений перенесено в TicketsAttachments::uploadFromMAIL if (false && $this->_config['attachments_download'] == 1) { # формируем имя файла $filename_saved = $this->_config['attachments_prefix'] . "-{$uid}{$newpartnumber}." . pathinfo($value['filename'], PATHINFO_EXTENSION); $filepath = $this->_config['attachments_path'] . $filename_saved; # декодируем вложение и сохраняем на диск $fp = fopen($filepath, "w"); fwrite($fp, $this->fetchMessageBody($uid, $value['partID'], $value['encoding'])); fclose($fp); # формируем ссылку, если это изображение, показываем на странице if (!$isreply) { if ($value['image']) { $message['body'] .= '<img src="' . $this->_config['attachments_url'] . $filename_saved . '" style="text-align: center"><br />'; } else { $message['body'] .= '<a href="' . $filepath . '">' . $value['filename'] . ' (' . $value['mimeType'] . ')</a> (' . Func::getfilesize(filesize($filepath), true) . ')'; } } } } } if (count($arrayData) > 0) { return $arrayData; } } return false; }