Ejemplo n.º 1
0
 if ($mode == 'attach' && !empty($logdata['log_id']) && $auth->check_auth(AUTH_ATTACH, $listdata['liste_id'])) {
     $join_file = isset($_FILES['join_file']) ? $_FILES['join_file'] : array();
     $local_file = !empty($_POST['join_file']) ? trim($_POST['join_file']) : '';
     $tmp_filename = !empty($join_file['tmp_name']) && $join_file['tmp_name'] != 'none' ? $join_file['tmp_name'] : $local_file;
     $filename = !empty($join_file['name']) ? $join_file['name'] : '';
     $filesize = !empty($join_file['size']) ? intval($join_file['size']) : 0;
     $filetype = !empty($join_file['type']) ? $join_file['type'] : '';
     $errno_code = !empty($join_file['error']) ? intval($join_file['error']) : UPLOAD_ERR_OK;
     $file_id = !empty($_POST['fid']) ? intval($_POST['fid']) : 0;
     require WA_ROOTDIR . '/includes/class.attach.php';
     $attach = new Attach();
     if (!empty($file_id)) {
         //
         // Attachement d'un fichier utilisé dans une autre newsletter de la liste
         //
         $attach->use_file_exists($file_id, $logdata['log_id'], $error, $msg_error);
     } else {
         //
         // On a affaire soit à un fichier présent localement, soit à un fichier
         // distant, soit à un fichier uploadé
         //
         if (!empty($local_file)) {
             $tmp_filename = str_replace('\\', '/', $tmp_filename);
             if (preg_match('#^(?:http|ftp)://.+/([^/]+)$#', $tmp_filename, $match)) {
                 $upload_mode = 'remote';
                 $filename = $match[1];
             } else {
                 $upload_mode = 'local';
                 $filename = $tmp_filename;
             }
         } else {