示例#1
0
 function addFilesFromPost($message_id, $user_id = -1, $hide_from_user = 0)
 {
     // ADD ALL POSTED FILES TO THE TICKET
     if ($user_id == -1) {
         $user_id = JFactory::getUser()->id;
     }
     $files = array();
     // save any file attachments
     for ($i = 0; $i < 10; $i++) {
         $file = JRequest::getVar('filedata_' . $i, '', 'FILES', 'array');
         if (array_key_exists('error', $file) && $file['error'] == 0 && $file['name'] != '') {
             $destpath = JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . 'support' . DS;
             $destname = FSS_File_Helper::makeAttachFilename("support", $file['name'], date("Y-m-d"), $this, $user_id);
             if (JFile::upload($file['tmp_name'], $destpath . $destname)) {
                 $qry = "INSERT INTO #__fss_ticket_attach (ticket_ticket_id, filename, diskfile, size, user_id, added, message_id, hidefromuser) VALUES ('";
                 $qry .= FSSJ3Helper::getEscaped($db, $this->id) . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $file['name']) . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $destname) . "',";
                 $qry .= "'" . $file['size'] . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $user_id) . "',";
                 $qry .= "'" . FSS_Helper::CurDate() . "', {$message_id}, '" . FSSJ3Helper::getEscaped($db, $hide_from_user) . "' )";
                 echo $qry . "<br>";
                 $file_obj = new stdClass();
                 $file_obj->filename = $file['name'];
                 $file_obj->diskfile = $destname;
                 $file_obj->size = $file['size'];
                 $files[] = $file_obj;
                 $db->setQuery($qry);
                 $db->Query();
                 SupportActions::DoAction_Ticket("addFile", $this, array('file' => $file_obj));
             }
         }
     }
     // new style posted files using jquery file uploaded
     $post_files = JRequest::getVar('new_filename', 'POST', 'array');
     $token = FSS_File_Helper::makeUploadSubdir(JRequest::getVar('upload_token'));
     if (is_array($post_files)) {
         foreach ($post_files as $file) {
             $destpath = JPATH_SITE . DS . FSS_Settings::get('attach_location') . DS . 'support' . DS;
             $destname = FSS_File_Helper::makeAttachFilename("support", $file, date("Y-m-d"), $this, $user_id);
             $source = JPATH_ROOT . '/tmp/fss/incoming/' . $token . '/' . $file;
             require_once JPATH_SITE . DS . 'components' . DS . 'com_fss' . DS . 'helper' . DS . 'bigfiletools.php';
             $f = BigFileTools::fromPath($source);
             $size = $f->getSize();
             $dest = $destpath . $destname;
             if (JFile::move($source, $dest)) {
                 $qry = "INSERT INTO #__fss_ticket_attach (ticket_ticket_id, filename, diskfile, size, user_id, added, message_id, hidefromuser) VALUES ('";
                 $qry .= FSSJ3Helper::getEscaped($db, $this->id) . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $file) . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $destname) . "',";
                 $qry .= "'" . $size . "',";
                 $qry .= "'" . FSSJ3Helper::getEscaped($db, $user_id) . "',";
                 $qry .= "'" . FSS_Helper::CurDate() . "', {$message_id}, '" . FSSJ3Helper::getEscaped($db, $hide_from_user) . "' )";
                 $file_obj = new stdClass();
                 $file_obj->filename = $file;
                 $file_obj->diskfile = $destname;
                 $file_obj->size = $size;
                 $files[] = $file_obj;
                 $db->setQuery($qry);
                 $db->Query();
                 SupportActions::DoAction_Ticket("addFile", $this, array('file' => $file_obj));
             }
         }
     }
     if (is_dir(JPATH_ROOT . '/tmp/fss/incoming/' . $token)) {
         @rmdir(JPATH_ROOT . '/tmp/fss/incoming/' . $token);
     }
     FSS_File_Helper::CleanupIncoming();
     if (count($files) < 1) {
         return false;
     }
     return $files;
 }