Пример #1
0
 private function uploadAttachment($filename, $attachmentPath)
 {
     $uploadResult = null;
     $upload = new Http();
     $upload->setDestination($attachmentPath);
     try {
         // upload received file(s)
         $upload->receive($filename);
     } catch (\Exception $e) {
         return $uploadResult;
     }
     //This method will return the real file name of a transferred file.
     $name = $upload->getFileName($filename);
     //This method will return extension of the transferred file
     $extention = pathinfo($name, PATHINFO_EXTENSION);
     //get random new name
     $newName = $this->random->getRandomUniqueName() . '_' . date('Y.m.d_h:i:sa');
     $newFullName = $attachmentPath . $newName . '.' . $extention;
     // rename
     rename($name, $newFullName);
     $uploadResult = $newFullName;
     return $uploadResult;
 }
Пример #2
0
 /**
  * set validation constraints
  * 
  * 
  * @uses InputFilter
  * 
  * @access public
  * 
  * @param int $courseId
  * @param string $name
  * @param bool $overrideFilterFlag ,default is bool false
  * @param array $fileUploadOptions ,default is empty array
  * 
  * @return InputFilter validation constraints
  */
 public function getInputFilter($courseId, $name, $overrideFilterFlag = false, &$fileUploadOptions = array())
 {
     if (!$this->inputFilter || $overrideFilterFlag === true) {
         $inputFilter = new InputFilter();
         $inputFilter->add(array('name' => 'name', 'required' => true));
         $inputFilter->add(array('name' => 'type', 'required' => true));
         $inputFilter->add(array('name' => 'course', 'required' => true));
         $random = new Random();
         $unique = $random->getRandomUniqueName();
         $DirSep = DIRECTORY_SEPARATOR;
         $target = APPLICATION_PATH . $DirSep . 'upload' . $DirSep . 'courseResources' . $DirSep . $courseId . $DirSep;
         $useUploadName = true;
         if (!file_exists($target)) {
             // PHP takes 0777 and substracts the current value of umask
             $oldUmask = umask(0);
             mkdir($target, 0777);
             // return back umask to it's original value
             umask($oldUmask);
         }
         if (is_string($name) && strlen($name) > 0) {
             $target .= $name . "_" . $unique;
             $useUploadName = false;
         }
         $fileUploadOptions = array("target" => $target, "overwrite" => true, "use_upload_name" => $useUploadName, "use_upload_extension" => true);
         $inputFilter->add(array('name' => 'file', 'required' => true, 'filters' => array(array("name" => "Zend\\Filter\\File\\RenameUpload", "options" => $fileUploadOptions)), 'validators' => array(array('name' => 'Fileextension', 'options' => array('extension' => 'zip,pdf,ppt,pot,pps,pptx,potx,ppsx,thmx')))));
         $this->inputFilter = $inputFilter;
     }
     return $this->inputFilter;
 }
Пример #3
0
 /**
  * set validation constraints
  * 
  * 
  * @uses InputFilter
  * 
  * @access public
  * @param Utilities\Service\Query\Query $query
  * @return InputFilter validation constraints
  */
 public function getInputFilter($query)
 {
     if (!$this->inputFilter) {
         $inputFilter = new InputFilter();
         $inputFilter->add(array('name' => 'title', 'required' => true));
         $inputFilter->add(array('name' => 'path', 'required' => true, 'validators' => array(array('name' => 'Uri', 'options' => array('uriHandler' => new Uri(), 'allowRelative' => true, 'allowAbsolute' => false)))));
         $pageTypesReflection = new \ReflectionClass('CMS\\Service\\PageTypes');
         $inputFilter->add(array('name' => 'type', 'required' => true, 'validators' => array(array('name' => 'InArray', 'options' => array('haystack' => $pageTypesReflection->getConstants())))));
         $pageCategoriesReflection = new \ReflectionClass('CMS\\Service\\PageCategories');
         $inputFilter->add(array('name' => 'category', 'required' => true, 'validators' => array(array('name' => 'InArray', 'options' => array('haystack' => $pageCategoriesReflection->getConstants())))));
         $inputFilter->add(array('name' => 'author', 'required' => true));
         $DirSep = DIRECTORY_SEPARATOR;
         $targetPath = APPLICATION_PATH . $DirSep . 'upload' . $DirSep . 'pagePictures' . $DirSep;
         if (!file_exists($targetPath)) {
             $oldUmask = umask(0);
             mkdir($targetPath, 0777);
             umask($oldUmask);
         }
         $random = new Random();
         $fileUploadOptions = array("target" => $targetPath . $random->getRandomUniqueName(), "overwrite" => true, "use_upload_name" => false, "use_upload_extension" => true);
         $inputFilter->add(array('name' => 'picture', 'required' => true, 'filters' => array(array("name" => "Zend\\Filter\\File\\RenameUpload", "options" => $fileUploadOptions)), 'validators' => array(array('name' => 'Zend\\Validator\\File\\IsImage'))));
         $inputFilter->add(array('name' => 'summary', 'required' => true));
         $inputFilter->add(array('name' => 'body', 'required' => true, 'validators' => array(array('name' => 'CMS\\Service\\Validator\\NotEmptyTrimmed'))));
         $this->inputFilter = $inputFilter;
     }
     return $this->inputFilter;
 }