/** * Logic for uploading a file. */ public function uploadFileAction() { if ($this->checkPermission()) { $validationState = new ValidationState(); $uploaded = false; // post data send if ($this->request->isPOST('submit')) { $folders = \Pvik\Core\Config::$config['PvikAdminTools']['FileFolders']; $selectedFolder = $this->request->getPOST('folder'); $folderValid = false; foreach ($folders as $folder) { if ($selectedFolder == $folder) { $folderValid = true; break; } } if ($folderValid && isset($_FILES['file']) && $_FILES['file']['error'] == 0) { $fileName = $_FILES['file']['name']; if ($this->request->isPOST('name') && $this->request->getPOST('name') != '') { $fileName = $this->request->getPOST('name'); } $diretoryName = dirname(\Pvik\Core\Path::realPath($selectedFolder . $fileName)); if (!is_dir($diretoryName)) { if (!mkdir($diretoryName, 0777, true)) { $validationState->setError('File', 'error creating folder'); } } if ($validationState->isValid()) { move_uploaded_file($_FILES['file']['tmp_name'], \Pvik\Core\Path::realPath($selectedFolder . $fileName)); $uploaded = true; } } else { $validationState->setError('File', 'error uploading'); } } $this->viewData->set('ValidationState', $validationState); $this->viewData->set('Uploaded', $uploaded); $this->executeView(); } }
/** * Adds a single field for the html in edit/update mode. */ public function htmlSingle() { $this->html = ''; $this->html .= '<div class="control-group '; $message = $this->validationState->getError($this->fieldName); if ($message != '') { $this->html .= 'error'; } $this->html .= '">'; $this->addHtmlLabel(); $this->html .= '<div class="controls">'; $this->addHtmlSingleControl(); $this->addHtmlValidationField(); $this->html .= '</div>'; $this->html .= '</div>'; return $this->html; }
/** * Creates a errofield if a error exists in the validation state for the field. * Output example: * <span class="errorfield">Field can not be empty.</span> * @param ValidationState $validationState * @param string $field * @param string $class Html class */ public function errorfield(\Pvik\Utils\ValidationState $validationState, $field, $class = 'errorfield') { if ($validationState != null) { if ($validationState->getError($field) != null) { echo '<span class="' . $class . '">' . $validationState->getError($field) . '</span>'; } } }