/** * Export a Collecticiel. * * @param Workspace $workspace * @param array $files * @param Dropzone $dropzone * * @return array */ public function export(Workspace $workspace, array &$files, Dropzone $dropzone) { $data = []; $uid = uniqid() . '.txt'; $tmpPath = $this->ch->getParameter('tmp_dir') . DIRECTORY_SEPARATOR . $uid; file_put_contents($tmpPath, $dropzone->getInstruction()); $files[$uid] = $tmpPath; $data['instruction'] = $uid; $data['allow_workspace_resource'] = $dropzone->getAllowWorkspaceResource(); $data['allow_upload'] = $dropzone->getAllowUpload(); $data['allow_url'] = $dropzone->getAllowUrl(); $data['allow_rich_text'] = $dropzone->getAllowRichText(); $data['manual_planning'] = $dropzone->getManualPlanning(); $data['manual_state'] = $dropzone->getManualState(); $startDate = $dropzone->getStartAllowDrop(); if (!empty($startDate)) { $data['start_allow_drop'] = $startDate->format('Y-m-d H:i:s'); } $endDate = $dropzone->getEndAllowDrop(); if (!empty($endDate)) { $data['end_allow_drop'] = $endDate->format('Y-m-d H:i:s'); } return $data; }
/** * Test to detect the incorrect input. * * @param Form $form form to control * @param Dropzone $dropzone dropzone to update * * @return form */ public function handleFormErrors($form, Dropzone $dropzone) { if (!$dropzone->getAllowWorkspaceResource() && !$dropzone->getAllowUpload() && !$dropzone->getAllowUrl() && !$dropzone->getAllowRichText()) { $form->get('allowWorkspaceResource')->addError(new FormError('Choose at least one type of document')); $form->get('allowUpload')->addError(new FormError('Choose at least one type of document')); $form->get('allowUrl')->addError(new FormError('Choose at least one type of document')); $form->get('allowRichText')->addError(new FormError('Choose at least one type of document')); } if (!$dropzone->getManualPlanning()) { if ($dropzone->getStartAllowDrop() === null) { $form->get('startAllowDrop')->addError(new FormError('Choose a date')); } if ($dropzone->getEndAllowDrop() === null) { $form->get('endAllowDrop')->addError(new FormError('Choose a date')); } if ($dropzone->getStartAllowDrop() !== null && $dropzone->getEndAllowDrop() !== null) { if ($dropzone->getStartAllowDrop()->getTimestamp() > $dropzone->getEndAllowDrop()->getTimestamp()) { $form->get('startAllowDrop')->addError(new FormError('Must be before end allow drop')); $form->get('endAllowDrop')->addError(new FormError('Must be after start allow drop')); } } } return $form; }
/** * Return allowed document types for a Dropzone */ public function getAllowedTypes(Dropzone $dropzone) { $allowedTypes = array(); if ($dropzone->getAllowWorkspaceResource()) { $allowedTypes[] = 'resource'; } if ($dropzone->getAllowUpload()) { $allowedTypes[] = 'file'; } if ($dropzone->getAllowUrl()) { $allowedTypes[] = 'url'; } if ($dropzone->getAllowRichText()) { $allowedTypes[] = 'text'; } return $allowedTypes; }