$availableTemplates = $documents->getTemplates(); $templatePath = $documents::TEMPLATES_PATH; $documentsSavePath = $documents::DOCUMENTS_PATH; $templateFile = $availableTemplates[$docId]['path']; $templateName = $availableTemplates[$docId]['name']; $fullPath = $templatePath . $templateFile; $saveFileName = $documents->getLogin() . '_' . $docId . '_' . zb_rand_string(8) . '.docx'; $saveFullPath = $documentsSavePath . $saveFileName; $documents->loadAllUserData(); $templateData = $documents->getUserData(); $userAgentData = $documents->getUserAgentData(); $templateData = array_merge($templateData, $userAgentData); if (wf_checkget(array('custom'))) { show_window(__('Custom template fields'), $documents->customDocumentFieldsForm()); if (wf_CheckPost(array('customfields'))) { $documents->setCustomFields(); $templateData = array_merge($templateData, $documents->getCustomFields()); //parse document template $docx = new DOCXTemplate($fullPath); $docx->set($templateData); $docx->saveAs($saveFullPath); //registering generated custom fields document $documents->registerDocument($documents->getLogin(), $docId, $saveFileName); //output zb_DownloadFile($saveFullPath, 'docx'); } } else { //parse document template $docx = new DOCXTemplate($fullPath); $docx->set($templateData); $docx->saveAs($saveFullPath);