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; }