Example #1
0
 /**
  * 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();
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 /**
  * 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>';
         }
     }
 }