header("Content-Type: application/download"); header("Content-Description: File Transfer"); break; } if (file_exists(DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension)) { echo file_get_contents(DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension); die; } else { $GUI->ERR("Файл " . DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension . " не найден"); page_reloadSubSec(); } } elseif (!empty($_REQUEST['file']) && $_REQUEST['action'] == 'delete') { $file = OrderFile::find($_REQUEST['file']); $extension = pathinfo($file['name']); $extension = strtolower($extension['extension']); OrderFile::delete($_REQUEST['file']); if (file_exists(DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension)) { @unlink(DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension); $GUI->OK("Файл " . DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension . " удален"); page_reloadSubSec(); } else { $GUI->ERR("Файл " . DIR_FS_ORDER_FILES . $_REQUEST['order'] . '/' . $_REQUEST['file'] . '.' . $extension . " не найден"); page_reloadSubSec(); } } $frm = $GUI->Form("Загрузить файл", "300", "100", CGUI_FORM_FLAG_MODAL); $ypos = 0; //$frm->Label("Макс. размер: ", 10, $ypos += 10); $t = $frm->Hidden($order_id); $t->linkName = 'order_id'; $frm->Label("Файл: ", 10, $ypos += 10);
function fp_loadfile($Frm, $Err) { if (!$Err) { $order_id = $Frm->GetNmValueI('order_id'); $file = $Frm->GetNmValue('file'); if (is_uploaded_file($file["tmp_name"])) { $extension = get_file_ext($file['name']); $new_name = trim($Frm->GetNmValueH('new_name')); if ($new_name == "") { $name = $file["name"]; } else { $name = $new_name . '.' . $extension; } $file_id = OrderFile::create(array('order_id' => $order_id, 'creator_id' => $_SESSION["user"]["data"]["id"], 'created' => time(), 'name' => $name, 'size' => $file["size"])); if (!$file_id) { $Frm->_gui->ERR("Ошибка при загрузке"); } else { $dir = DIR_FS_ORDER_FILES . $order_id . '/'; if (!is_dir(DIR_FS_ORDER_FILES)) { create_path('order_files', DIR_FS_DOCUMENT_ROOT); } if (!is_dir($dir)) { create_path($order_id, DIR_FS_ORDER_FILES); } $file_name = $file_id . '.' . $extension; if (move_uploaded_file($file['tmp_name'], $dir . $file_name)) { $Frm->_gui->OK("Файл загружен"); if ($_SESSION["user"]["data"]["group_id"] == 6 && get_order_author_id($order_id) == $_SESSION["user"]["data"]["id"]) { $res = change_order_status($order_id, 'RECEIVED_FILE_FROM_AUTHOR'); if ($res == 1) { $Frm->_gui->OK("Статус заказа изменен"); } else { $Frm->_gui->ERR($res); } } } else { OrderFile::delete($file_id); $Frm->_gui->ERR("Ошибка при сохранении файла"); } } page_reloadAll(); } } }