$mso_upload_ar2['userfile_water'] = true;
     $mso_upload_ar2['watermark_type'] = isset($options['watermark_type']) && $options['watermark_type'] != '' ? $options['watermark_type'] : mso_get_option('watermark_type', 'general', '1');
     $water_file = getinfo('plugins_dir') . basename(dirname(__FILE__)) . '/images/' . 'watermark.png';
     if (file_exists($water_file)) {
         $mso_upload_ar2['userfile_water_file'] = $water_file;
     } else {
         $water_file = getinfo('uploads_dir') . 'watermark.png';
         if (file_exists($water_file)) {
             $mso_upload_ar2['userfile_water_file'] = $water_file;
         } else {
             $mso_upload_ar2['userfile_water_file'] = false;
         }
     }
 }
 ob_start();
 $res = mso_upload($mso_upload_ar1, 'attach', $mso_upload_ar2);
 $msg = ob_get_contents();
 ob_end_clean();
 if (!$msg && $res) {
     $up_data = $CI->upload->data();
     # формирование ответа при загрузке нового файла
     $out = array('name' => $up_data['file_name'], 'size' => $up_data['file_size'], 'type' => $up_data['file_type'], 'deleteUrl' => getinfo('site_url') . basename(dirname(__FILE__)) . '/upload?file=' . $up_data['file_name'] . '&_method=DELETE', 'deleteType' => "POST", 'deleteWithCredentials' => true);
     # Если мы не редактируем страницу, то создаём файл с идентификатором сессии
     if (!$is_edit) {
         touch(getinfo('uploads_dir') . $folder . '/' . $up_data['file_name'] . '.' . $MSO->data['session']['session_id']);
         # $_FILES['attach']['name']
     }
 } else {
     # Ошибка загрузки файла
     $out = array('name' => $_FILES['attach']['name'], 'size' => $_FILES['attach']['size'], 'type' => $_FILES['attach']['type'], 'error' => strip_tags($msg));
 }
Exemple #2
0
 $f_userfile_resize = isset($post['f_userfile_resize']);
 $f_userfile_resize_size = $post['f_userfile_resize_size'];
 $f_userfile_water = isset($post['f_userfile_water']);
 $f_water_type = $post['f_water_type'];
 $f_userfile_mini = isset($post['f_userfile_mini']);
 $f_userfile_mini_size = $post['f_userfile_mini_size'];
 $f_mini_type = $post['f_mini_type'];
 // подготовим массив $_FILES - у нас множественная загрузка
 $new_files = mso_prepare_files('f_userfile');
 $res = false;
 // результат загрузки
 // формируем поэлементно с загрузкой файлов
 foreach ($new_files as $key => $val) {
     $_FILES[$key] = $val;
     // формируем $_FILES для одиночного файла
     $res = mso_upload($mso_upload_ar1, $key, $mso_upload_ar2);
     unset($_FILES[$key]);
 }
 if ($res) {
     echo '<div class="update">' . t('Загрузка выполнена') . '</div>';
 } else {
     echo '<div class="error">' . t('Возникли ошибки при загрузке') . '</div>';
 }
 // после загрузки сразу обновим массив описаний - он ниже используется
 if (file_exists($fn_mso_descritions)) {
     // массив данных: fn => описание )
     $mso_descritions = unserialize(read_file($fn_mso_descritions));
     // получим из файла все описания
 } else {
     $mso_descritions = array();
 }
Exemple #3
0
function forms_files_post($files)
{
    // возвращать нужно данные для $prefs
    if (!$files) {
        return false;
    }
    // файлы не нужны
    if (!isset($_FILES)) {
        return false;
    }
    // не были отправлены файлы
    require_once getinfo('common_dir') . 'uploads.php';
    // функции загрузки
    $_FILES = mso_prepare_files('forms_files');
    // переформатируем массив присланных файлов
    // формирование папки для временных файлов вложений
    $cache_folder = getinfo('cache_dir') . 'forms_attaches/';
    if (!file_exists($cache_folder)) {
        mkdir($cache_folder, 0666);
    }
    // параметры для mso_upload
    // конфиг CI-библиотеки upload
    $mso_upload_ar1 = array('upload_path' => $cache_folder, 'allowed_types' => $files['file_type'], 'max_size' => $files['file_max_size'], 'overwrite' => true);
    $mso_upload_ar2 = array('userfile_resize' => false, 'userfile_water' => false, 'userfile_mini' => false, 'prev_size' => false, 'mini_make' => false, 'prev_make' => false, 'message1' => '');
    $CI =& get_instance();
    $file_attaches = array();
    foreach ($_FILES as $f_key => $f_info) {
        ob_start();
        $res = mso_upload($mso_upload_ar1, $f_key, $mso_upload_ar2);
        $msg = ob_get_contents();
        // сообщения, если были ошибки
        ob_end_clean();
        if (!$msg && $res) {
            $up_data = $CI->upload->data();
            // формируем список вложений к письму
            $file_attaches[] = $up_data['full_path'];
        } else {
            // ошибки не выводим
            // $out .= '<div class="message error small">' . strip_tags($msg) . '</div>';
            break;
        }
    }
    return $file_attaches;
}