Вход Регистрация
Файл: sys/classes/attachments.class.php
Строк: 64
<?php

/**
 * Класс для работы с аттачами сообщений
 */
class Attachments {

    
// Массив с прикрепленными файлами в сессии 
    
public $files = array();

    public function 
__construct() {
        if (isset(
$_SESSION['mail']['attachments'])) {
            
$this->files $_SESSION['mail']['attachments'];
        }
    }

    
/**
     * Создает тело письма с вложениями
     * Callback метод для работы с типами файлов
     */
    
public function get_attachments($boundary) {
        
$list = array();
        foreach (
$this->files AS $type => $files) {
            
$list[$type] = call_user_func(array(&$this'get_attachments_' $type), $boundary);
        }
        return 
implode(''$list);
    }

    protected function 
get_attachments_photo($boundary) {
        
$message_part = array();

        foreach (
$this->files['photo'] AS $key => $photo) {
            
$fp fopen($photo['filePatch'], "r");

            if (
$fp) {
                
$file fread($fp$photo['fileSize']);
                
fclose($fp);

                
$file_part "--$boundaryrn";
                
$file_part .= "Content-Type: $photo[fileType]; name="$photo[fileNameSend]"rn";
                
$file_part .= "Content-Transfer-Encoding: base64rn";
                
$file_part .= "Content-Disposition: attachment; filename="$photo[fileNameSend]"rn";
                
$file_part .= "rn";
                
$file_part .= chunk_split(base64_encode($file)) . "rn";

                
$message_part[] = $file_part;
            }
        }

        if (
$message_part) {
            
$message_part[] = "--$boundary--rn";
        }


        return 
implode(""$message_part);
    }

    
/**
     * Метод для вывода списка прикрепленных файлов
     * Callback nипа файла
     * @return
     */
    
public function get_list() {
        
$list = array();
        foreach (
$this->files AS $type => $files) {
            
$list[$type] = call_user_func(array(&$this'get_list_' $type));
        }

        
$list implode(''$list);

        if (
$list) {
            return 
'<div class="attachments">' $list '</div>';
        }
    }

    protected function 
get_list_photo() {
        
$html = array();

        foreach (
$this->files['photo'] AS $key => $file) {
            
$html[] = '<div class="attachments-list">';
            
$html[] = '<a href="' $file['fileUrl'] . '">';
            
$html[] = '<img src="' $file['screenPatch'] . '" title="' stripcslashes(htmlspecialchars($file['fileName'])) . '" />';
            
$html[] = '</a>';
            
$html[] = '<a class="attachments-delete" href="attachments.php?type=photo&amp;delete=' $key '"><span class="fa fa-trash-o"></span></a>';
            
$html[] = '</div>';
        }

        if (
$html) {
            return 
'<div class="attachments-photo">' implode(''$html) . '</div>';
        }
    }

}
Онлайн: 1
Реклама