Esempio n. 1
0
 public function multipleUpload($destination)
 {
     $resultArr = array();
     $adapter = new \Zend\File\Transfer\Adapter\Http();
     $files = $adapter->getFileInfo();
     $i = 1;
     foreach ($files as $key => $file) {
         $filename = $file["name"];
         $fileinfo = $this->getFileInfo($file["name"]);
         $newname = $this->getRandomName('10') . time() . $i . '.' . $fileinfo['ext'];
         $mime = $this->getMimeType($file['tmp_name']);
         if (move_uploaded_file($file['tmp_name'], $destination . '/' . $newname)) {
             $resultArr[$i]["uniqueName"] = $newname;
             $resultArr[$i]["fileName"] = $file["name"];
             $resultArr[$i]["extension"] = $fileinfo['ext'];
             $resultArr[$i]["mimeType"] = $file["type"];
             $resultArr[$i]["fileSize"] = $file["size"];
         } else {
             $resultArr["status"] = "failure";
             $resultArr["message"][$file["name"]] = "Invalid File";
         }
         $i++;
     }
     return $resultArr;
 }
Esempio n. 2
0
 public function pdfAction()
 {
     try {
         $path_start = PUBLIC_PATH . self::PDF_UPLOAD_DIR;
         $url_start = self::PDF_UPLOAD_DIR;
         $request = $this->getRequest();
         if ($request->isPost()) {
             $adapter = new \Zend\File\Transfer\Adapter\Http();
             $adapter->setDestination($path_start);
             $filesize = new \Zend\Validator\File\Size(array('max' => 10000000));
             // 10MB
             $extension = new \Zend\Validator\File\Extension(array('extension' => array('pdf')));
             foreach ($adapter->getFileInfo() as $file => $info) {
                 $name = $adapter->getFileName($file);
                 $ext = "." . pathinfo($name, PATHINFO_EXTENSION);
                 $adapter->setValidators(array($filesize, $extension), $info['name']);
                 $name_without_ext = time() . '_' . strtolower(HashGenerator::generate(6));
                 $pdfDefault = array("PATH" => $path_start . $name_without_ext . $ext, "URL" => $url_start . $name_without_ext . $ext);
                 $adapter->addFilter(new \Zend\Filter\File\Rename(array('target' => $pdfDefault['PATH'], 'overwrite' => true)), null, $file);
                 if ($adapter->isValid()) {
                     $adapter->receive($info['name']);
                 } else {
                     return new JsonModel(array('returnCode' => 201, 'msg' => "Allowed only pdf files (max 10MB)."));
                 }
             }
         }
         return new JsonModel(array('returnCode' => 101, 'result' => array('url' => $pdfDefault['URL']), 'msg' => 'Image has been uploaded.'));
     } catch (\Exception $e) {
         return new JsonModel(array('returnCode' => 201, 'msg' => $e->getMessage()));
     }
 }
Esempio n. 3
0
 /**
  * Signup if not logged in
  *
  * @return void
  */
 public function indexAction()
 {
     $this->layout('layout/signup');
     $viewData = array();
     $signupForm = new SignupForm();
     $signupForm->setAttribute('action', $this->url()->fromRoute('users-signup'));
     $request = $this->getRequest();
     if ($request->isPost()) {
         $data = $request->getPost()->toArray();
         $signupForm->setInputFilter(User::getInputFilter());
         $signupForm->setData($data);
         if ($signupForm->isValid()) {
             $files = $request->getFiles()->toArray();
             $data = $signupForm->getData();
             $data['avatar'] = $files['avatar']['name'] != '' ? $files['avatar']['name'] : null;
             if ($data['avatar'] !== null) {
                 $size = new Size(array('max' => 2048000));
                 $isImage = new IsImage();
                 $filename = $data['avatar'];
                 $adapter = new \Zend\File\Transfer\Adapter\Http();
                 $adapter->setValidators(array($size, $isImage), $filename);
                 if (!$adapter->isValid($filename)) {
                     $errors = array();
                     foreach ($adapter->getMessages() as $key => $row) {
                         $errors[] = $row;
                     }
                     $signupForm->setMessages(array('avatar' => $errors));
                 }
                 $destPath = 'data/tmp/';
                 $adapter->setDestination($destPath);
                 $fileinfo = $adapter->getFileInfo();
                 preg_match('/.+\\/(.+)/', $fileinfo['avatar']['type'], $matches);
                 $newFilename = sprintf('%s.%s', sha1(uniqid(time(), true)), $matches[1]);
                 $adapter->addFilter('File\\Rename', array('target' => $destPath . $newFilename, 'overwrite' => true));
                 if ($adapter->receive($filename)) {
                     $data['avatar'] = base64_encode(file_get_contents($destPath . $newFilename));
                     if (file_exists($destPath . $newFilename)) {
                         unlink($destPath . $newFilename);
                     }
                 }
             }
             unset($data['repeat_password']);
             unset($data['csrf']);
             unset($data['register']);
             $response = ApiClient::registerUser($data);
             if ($response['result'] == true) {
                 $this->flashMessenger()->addMessage('Account created!');
                 return $this->redirect()->toRoute('wall', array('username' => $data['username']));
             }
         }
     }
     $viewData['signupForm'] = $signupForm;
     return $viewData;
 }
 public function upload()
 {
     $adapter = new \Zend\File\Transfer\Adapter\Http();
     $fileImage = "file-" . rand(100, 999) . ".png";
     foreach ($adapter->getFileInfo() as $info) {
         if ($info['name'] != null) {
             $adapter->addFilter('File\\Rename', array('target' => 'public/uploads/' . $fileImage, 'overwrite' => true), $info['name']);
             $adapter->receive($info['name']);
         }
     }
     return $fileImage;
 }
Esempio n. 5
0
 /**
  *
  * 文件上传处理
  * @param Request $request
  * @return bool|string
  * @throws \Exception
  */
 public function upload(Request $request)
 {
     if (!$request instanceof Request) {
         throw new \Exception(BaseConst::UPLOAD_PARAMETER_ERROR_MSG, BaseConst::UPLOAD_PARAMETER_ERROR);
     }
     if (!$this->targetAbs) {
         $this->setTargetDir();
     }
     $files = $request->getFiles()->toArray();
     if (empty($files)) {
         throw new \Exception(BaseConst::UPLOAD_PARAMETER_ERROR_MSG, BaseConst::UPLOAD_PARAMETER_ERROR);
     }
     $transer = new \Zend\File\Transfer\Adapter\Http();
     $filters = array();
     $result = array();
     // 传输文件准备
     foreach ($files as $k => $v) {
         $tmp[] = $v['name'];
         $ext = strstr($v['name'], '.');
         $tmpName = strstr($v['name'], '.', true);
         $filters[] = new \Zend\Filter\File\Rename(array('target' => $this->targetAbs . md5($tmpName) . $ext, "randomize" => true));
         // 判断文件后缀是否合法
         if (!$this->checkAllowType($ext)) {
             throw new \Exception(BaseConst::UPLOAD_FILE_EXT_NOT_VALID_MSG, BaseConst::UPLOAD_FILE_EXT_NOT_VALID);
         }
     }
     // 传输文件
     $transer->setFilters($filters);
     $transer->receive($tmp);
     foreach ($files as $k => $v) {
         $fileInfo = $transer->getFileInfo($k);
         $data = array('name' => $fileInfo[$k]['name'], 'path' => $this->targetRel . $fileInfo[$k]['name'], 'type' => $fileInfo[$k]['type']);
         $ext = strstr($fileInfo[$k]['name'], '.');
         $tmpFileName = strstr($fileInfo[$k]['name'], '.', true);
         // 生成缩略图
         if ($this->ifThumb) {
             $thumbInfo = $this->makeThumb($this->targetAbs . $fileInfo[$k]['name'], $this->targetAbs . $tmpFileName . $this->thumbW . 'X' . $this->thumbH . $ext, $this->thumbW, $this->thumbH);
             $data['thumb'] = $thumbInfo;
         }
         // 加水印
         if ($this->ifWaterMark) {
             $this->makeWatermark($this->targetAbs . $fileInfo[$k]['name'], 6, '', $this->waterText, $_SERVER['DOCUMENT_ROOT'] . '/STXIHEI.TTF', $this->waterPct);
         }
         $result[] = $data;
     }
     if ($result) {
         return json_encode($result);
     } else {
         return false;
     }
 }
Esempio n. 6
0
 public function index01Action()
 {
     if ($this->request->isPost()) {
         $upload = new \Zend\File\Transfer\Adapter\Http();
         $info = $upload->getFileInfo("image");
         $name = $upload->getFileName("image");
         $size = $upload->getFileSize("image");
         // echo "<pre style='font-weight:bold'>";
         // print_r($info);
         // echo "</pre>";
         // echo "<pre style='font-weight:bold'>";
         // print_r($name);
         // echo "</pre>";
         // echo "<pre style='font-weight:bold'>";
         // print_r($size);
         // echo "</pre>";
         $upload->setDestination(FILES_PATH . "images", "image");
         $upload->setDestination(FILES_PATH . "zip", "zip");
         $upload->receive("image");
     }
 }
 /**
  * Upload a new image
  *
  * @param Zend\Form\Form $form 
  * @param Users\Entity\User $user 
  * @param array $data
  */
 protected function createImage($form, $user, $data)
 {
     if ($data['image']['error'] != 0) {
         $data['image'] = NULL;
     }
     $form->setData($data);
     $size = new Size(array('max' => 2048000));
     $isImage = new IsImage();
     $filename = $data['image']['name'];
     $adapter = new \Zend\File\Transfer\Adapter\Http();
     $adapter->setValidators(array($size, $isImage), $filename);
     if (!$adapter->isValid($filename)) {
         $errors = array();
         foreach ($adapter->getMessages() as $key => $row) {
             $errors[] = $row;
         }
         $form->setMessages(array('image' => $errors));
     }
     if ($form->isValid()) {
         $destPath = 'data/tmp/';
         $adapter->setDestination($destPath);
         $fileinfo = $adapter->getFileInfo();
         preg_match('/.+\\/(.+)/', $fileinfo['image']['type'], $matches);
         $extension = $matches[1];
         $newFilename = sprintf('%s.%s', sha1(uniqid(time(), true)), $extension);
         $adapter->addFilter('File\\Rename', array('target' => $destPath . $newFilename, 'overwrite' => true));
         if ($adapter->receive($filename)) {
             $data = array();
             $data['image'] = base64_encode(file_get_contents($destPath . $newFilename));
             $data['user_id'] = $user->getId();
             if (file_exists($destPath . $newFilename)) {
                 unlink($destPath . $newFilename);
             }
             $response = ApiClient::postWallContent($user->getUsername(), $data);
             return $response['result'];
         }
     }
     return $form;
 }
 public function editLessonAction()
 {
     $auth = new AuthenticationService();
     $user = $auth->getIdentity();
     $lessonId = $this->params()->fromRoute('id');
     $lesson = $this->getLessonTable()->getLesson($lessonId);
     $lessonFiles = $this->getLessonFilesTable()->getLessonFilesByLessonId($lessonId);
     $subsubject = $this->getSubsubjectTable()->getSubsubject($lesson->subsubject_id);
     $form = new LessonForm();
     $form->bind($lesson);
     $form->get('submit')->setAttribute('value', 'Muuda');
     $form->get('id')->setValue($lessonId);
     $form->get('user_id')->setValue($user->id);
     $form->get('subsubject_id')->setValue($subsubject->id);
     $form->get('type')->setValueOptions(array('text' => array('value' => 'text', 'label' => 'Tekst', 'selected' => $lesson->type == 'text' ? true : false), 'video' => array('value' => 'video', 'label' => 'Video', 'selected' => $lesson->type == 'video' ? true : false), 'presentation' => array('value' => 'presentation', 'label' => 'Esitlus', 'selected' => $lesson->type == 'presentation' ? true : false), 'audio' => array('value' => 'audio', 'label' => 'Audio', 'selected' => $lesson->type == 'audio' ? true : false), 'images' => array('value' => 'images', 'label' => 'Pildid', 'selected' => $lesson->type == 'images' ? true : false)));
     if ($lesson->type == 'video') {
         $form->get('url')->setValue($lessonFiles->current()->url);
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setInputFilter(new LessonFilter($this->getServiceLocator()));
         $post = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray());
         $form->setData($post);
         if ($form->isValid()) {
             $adapter = new \Zend\File\Transfer\Adapter\Http();
             $files = $adapter->getFileInfo();
             $filesUrls = array();
             $error = array();
             if ($post['type'] == 'images' || $post['type'] == 'audio' || $post['type'] == 'presentation') {
                 foreach ($files as $key => $file) {
                     if ($post['type'] == 'images') {
                         $extension = new \Zend\Validator\File\Extension(array('extension' => array('jpg', 'jpeg', 'png')));
                     } else {
                         if ($post['type'] == 'audio') {
                             $extension = new \Zend\Validator\File\Extension(array('extension' => array('mp3', 'wav')));
                             $size = new \Zend\Validator\File\Size(array(array('max' => 104857600)));
                             $adapter->setValidators(array($size), $file['name']);
                         } else {
                             if ($post['type'] == 'presentation') {
                                 $extension = new \Zend\Validator\File\Extension(array('extension' => array('pdf')));
                             } else {
                                 $extension = new \Zend\Validator\File\Extension(array('extension' => array()));
                             }
                         }
                     }
                     $adapter->setValidators(array($extension), $file['name']);
                 }
                 if (!$adapter->isValid()) {
                     foreach ($adapter->getMessages() as $key => $row) {
                         $error[] = $row;
                     }
                     $form->setMessages(array('fileupload' => $error));
                 } else {
                     $adapter->setDestination($this->getServiceLocator()->get('Config')['upload_dir']);
                     if ($adapter->receive()) {
                         $event = $this->getEvent();
                         $request = $event->getRequest();
                         $router = $event->getRouter();
                         $uri = $router->getRequestUri();
                         $baseUrl = sprintf('%s://%s%s', $uri->getScheme(), $uri->getHost(), $request->getBaseUrl());
                         $adapterFileName = $adapter->getFileName();
                         if (is_array($adapterFileName)) {
                             foreach ($adapterFileName as $name) {
                                 $fileName = preg_replace('/\\.\\/public\\/uploads/', '', $name);
                                 $filesUrls[] = $baseUrl . '/uploads/' . substr($fileName, 1);
                             }
                         } else {
                             $fileName = preg_replace('/\\.\\/public\\/uploads/', '', $adapterFileName);
                             $filesUrls[] = $baseUrl . '/uploads/' . substr($fileName, 1);
                         }
                     }
                 }
             } else {
                 if ($post['type'] == 'video') {
                     $filesUrls[] = $post['url'];
                 } else {
                     if ($post['type'] == 'text') {
                         $lesson->exchangeArray($post);
                         $this->getLessonTable()->saveLesson($lesson);
                         $this->getLessonFilesTable()->deleteLessonFilesByLessonId($lessonId);
                         return $this->redirect()->toRoute('teacher/my-course');
                     }
                 }
             }
             if (empty($error)) {
                 if ($lesson->type != $post['type'] || $post['type'] == 'presentation' || $post['type'] == 'audio') {
                     $this->getLessonFilesTable()->deleteLessonFilesByLessonId($lessonId);
                 }
                 $lesson->exchangeArray($post);
                 $this->getLessonTable()->saveLesson($lesson);
                 $post['lesson_id'] = $post['id'];
                 $post['id'] = 0;
                 foreach ($filesUrls as $fileUrl) {
                     $lessonFiles = new LessonFiles();
                     $post['url'] = $fileUrl;
                     $lessonFiles->exchangeArray($post);
                     $this->getLessonFilesTable()->saveLessonFiles($lessonFiles);
                 }
                 return $this->redirect()->toRoute('teacher/my-course');
             }
         }
     }
     return array('id' => $lessonId, 'form' => $form, 'lessonFiles' => $lessonFiles, 'lessonType' => $lesson->type);
 }
Esempio n. 9
0
 /**
  * 檔案上傳
  * @param $data
  * @param $pageRes \Base\Entity\Page
  * @return JsonModel
  */
 public function saveFile($data, $pageRes)
 {
     $jsonModel = new JsonModel();
     $em = $this->getEntityManager();
     $form = new PageFileForm();
     $form->bind($pageRes);
     $form->setData($data);
     if ($form->isValid()) {
         $adapter = new \Zend\File\Transfer\Adapter\Http();
         if (!$adapter->isUploaded() and !isset($data['updateId'])) {
             // 排除修改狀態
             $jsonModel->setVariable('success', false);
             $jsonModel->setVariable('message', array('upload_file[]' => array('no_file', '沒有上傳檔案')));
             return $jsonModel;
         }
         $em->persist($pageRes);
         $em->flush();
         // 檔案部份
         $tempId = sprintf("%02x", rand(1000, 2000));
         $len = (int) strlen($tempId) / 2;
         $path = '';
         for ($i = 0; $i < $len - 1; $i++) {
             $path .= substr($tempId, $i * 2, 2) . '/';
         }
         $filePath = $this->FileStorePath('cms/' . $path);
         $config = $this->getServiceLocator()->get('config');
         $adapter->addValidator('Extension', false, $config['upload']['allow_type']);
         $i = 1;
         foreach ($adapter->getFileInfo() as $media) {
             $ext = $this->_findexts($media['name']);
             $ss = 'p' . $i . '-' . time();
             $fileName = $ss . '.' . $ext;
             $adapter->addFilter('Rename', array('source' => $media['tmp_name'], 'target' => $filePath . $fileName, 'overwrite' => true));
             if (!$adapter->receive($media['name'])) {
                 $jsonModel->setVariable('success', false);
                 $jsonModel->setVariable('message', $adapter->getMessages());
                 return $jsonModel;
             } else {
                 $pageFile = new \Base\Entity\PageFile();
                 $pageFile->setPage($pageRes);
                 $pageFile->setFileExt($ext);
                 $pageFile->setFileName($path . $fileName);
                 $pageFile->setFileSize($media['size']);
                 $pageFile->setSourceName($media['name']);
                 $em->persist($pageFile);
             }
             $i++;
         }
         $em->flush();
         $jsonModel->setVariable('success', true);
     } else {
         $jsonModel->setVariable('success', false);
         $jsonModel->setVariable('message', $form->getMessages());
     }
     // tags
     if ($data['tags']) {
         $this->setTags($data, $pageRes);
     }
     return $jsonModel;
 }
 public function processjqueryAction()
 {
     $form = new \Users\Form\UploadJqueryForm();
     //        $form->setInputFilter(new \Users\Form\Filter\UploadJqueryFilter());
     $request = $this->getRequest();
     $response = $this->getResponse();
     $jsonModel = new \Zend\View\Model\JsonModel();
     try {
         if ($request->isPost()) {
             $data = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray());
             //                throw new \Exception(json_encode("data " . serialize($data)));
             $form->setData($data);
             if ($form->isValid()) {
                 $datas = [];
                 $datas['files'] = [];
                 $uploadPath = $this->getFileUploadLocation();
                 //                $uploadFiles    = $this->params()->fromFiles('files');
                 //                throw new \Exception(json_encode("FILES " . serialize($_FILES)));
                 // Сохранение выгруженного файла
                 $adapter = new \Zend\File\Transfer\Adapter\Http();
                 $adapter->setDestination($uploadPath);
                 $adapter->setValidators(array(new \Zend\Validator\File\Extension(array('extension' => array('jpg', 'jpeg', 'png', 'rtf')))));
                 //                    $adapter->setFilters(array(
                 //                        new \Zend\Filter\File\RenameUpload(array(
                 //                            'target'    => $uploadPath . '../tmpuploads/tmp',
                 //                            'randomize' => true,
                 //                                )
                 //                        )
                 //                    ));
                 if (!$adapter->isValid()) {
                     throw new \Exception(json_encode("!isValid " . implode(" ", $adapter->getMessages())));
                 }
                 $files = $adapter->getFileInfo();
                 //                throw new \Exception(json_encode($files));
                 foreach ($files as $file => $info) {
                     //                    throw new \Exception(json_encode($info));
                     $name = $adapter->getFileName($file);
                     // file uploaded & is valid
                     if (!$adapter->isUploaded($file)) {
                         throw new \Exception(json_encode("!isUploaded") . implode(" ", $adapter->getMessages()));
                         continue;
                     }
                     if (!$adapter->isValid($file)) {
                         throw new \Exception(json_encode("!isValid " . implode(" ", $adapter->getMessages())));
                         continue;
                     }
                     // receive the files into the user directory
                     $check = $adapter->receive($file);
                     // this has to be on top
                     if (!$check) {
                         throw new \Exception(json_encode("! receive" . implode(" ", $adapter->getMessages())));
                     }
                     /**
                     * "name": "picture1.jpg",
                      "size": 902604,
                      "url": "http:\/\/example.org\/files\/picture1.jpg",
                      "thumbnailUrl": "http:\/\/example.org\/files\/thumbnail\/picture1.jpg",
                      "deleteUrl": "http:\/\/example.org\/files\/picture1.jpg",
                      "deleteType": "DELETE"
                     */
                     $fileclass = new stdClass();
                     // we stripped out the image thumbnail for our purpose, primarily for security reasons
                     // you could add it back in here.
                     $fileclass->name = $name;
                     $fileclass->size = $adapter->getFileSize($name);
                     $fileclass->type = $adapter->getMimeType($name);
                     $fileclass->deleteUrl = '/uploads/delete';
                     $fileclass->deleteType = 'DELETE';
                     //$fileclass->error = 'null';
                     $fileclass->url = '/';
                     $datas['files'][] = $fileclass;
                 }
                 $response->getHeaders()->addHeaders(array('Pragma' => 'no-cache', 'Cache-Control' => 'private, no-cache', "Content-Type" => 'application/json'));
                 //                return $response->setContent(json_encode(array('files' => $files)));
                 return $response->setContent(json_encode($datas));
             } else {
                 throw new \Exception(json_encode("!isValid form" . serialize($form->getMessages())));
             }
         }
     } catch (\Exception $e) {
         return $response->setContent(json_encode($e->getMessage()));
     }
     return $jsonModel;
     //        if ($request->isPost()) {
     //                // Получение конфигурации из конфигурационных данных модуля
     //                $uploadPath = $this->getFileUploadLocation();
     //
     //                // Сохранение выгруженного файла
     //                $adapter = new \Zend\File\Transfer\Adapter\Http();
     //                $adapter->setDestination($uploadPath);
     //                if ($adapter->receive($uploadFile['name'])) {
     //
     //                    $userTable = $this->getServiceLocator()->get('UserTable');
     //                    $user      = $userTable->getUserByEmail($userEmail);
     //
     //                    $upload = new \Users\Model\Upload();
     //
     //                    // Успешная выгрузка файла
     //                    $exchange_data             = array();
     //                    $exchange_data['label']    = $request->getPost()->get('label');
     //                    $exchange_data['filename'] = $uploadFile['name'];
     //                    $exchange_data['user_id']  = $user->getId();
     //                    $upload->exchangeArray($exchange_data);
     //
     //                    $uploadTable = $this->getServiceLocator()->get('UploadTable');
     //                    $uploadTable->save($upload);
     //                    $upload->setId($uploadTable->getLastInsertValue());
     //
     //                    //добавить в Lucene
     //                    $searchIndexLocation = $this->getIndexLocation();
     //                    $index               = Lucene\Lucene::create($searchIndexLocation);
     //
     //                    // создание полей lucene
     //                    $fileUploadId = Document\Field::unIndexed(
     //                                    'upload_id', $upload->getId());
     //                    $label        = Document\Field::Text('label', $upload->getLabel());
     //                    $owner        = Document\Field::Text('owner', $user->getName());
     //
     //                    $uploadPath = $this->getFileUploadLocation();
     //                    $fileName   = $upload->getFilename();
     //                    $filePath   = $uploadPath . DIRECTORY_SEPARATOR . $fileName;
     //
     //                    if (substr_compare($fileName, ".xlsx", strlen($fileName) -
     //                                    strlen(".xlsx"), strlen(".xlsx")) === 0) {
     //                        // Индексирование таблицы excel
     //                        $indexDoc = Lucene\Document\Xlsx::loadXlsxFile($filePath);
     //                    } else if (substr_compare($fileName, ".docx", strlen($fileName) -
     //                                    strlen(".docx"), strlen(".docx")) === 0) {
     //                        // Индексирование документа Word
     //                        $indexDoc = Lucene\Document\Docx::loadDocxFile($filePath);
     //                    } else {
     //                        $indexDoc = new Lucene\Document();
     //                    }
     //
     //                    // создание нового документа и добавление всех полей
     //                    $indexDoc = new Lucene\Document();
     //                    $indexDoc->addField($label);
     //                    $indexDoc->addField($owner);
     //                    $indexDoc->addField($fileUploadId);
     //                    $index->addDocument($indexDoc);
     //
     //                    $index->commit();
     //                }
     //        }
     //        return $response->setContent("");
 }
Esempio n. 11
0
 public function saveImage($file, $id)
 {
     $httpadapter = new \Zend\File\Transfer\Adapter\Http();
     if ($httpadapter->isValid()) {
         $pathdir = 'public/uploads/portfolio/' . $id;
         if (!is_dir($pathdir)) {
             mkdir($pathdir);
         }
         $httpadapter->setDestination($pathdir);
         foreach ($httpadapter->getFileInfo() as $info) {
             $httpadapter->addFilter('File\\Rename', array('target' => $httpadapter->getDestination() . '/' . str_replace(' ', '_', $file['file']['name']), 'overwrite' => true, 'randomize' => false));
             if ($httpadapter->receive($info['name'])) {
                 $newfile = $httpadapter->getFileName();
                 return str_replace('\\', '/', $newfile);
             }
         }
     }
 }
Esempio n. 12
0
 /**
  * This function is used for edit event. 
  * @Author Vinod Kandwal
  */
 public function editAction()
 {
     $this->layout()->pageTitle = 'Edit Event';
     /* Setting page title */
     $eventId = $this->params('eventId');
     $layout_id = $this->getEvent()->getRouteMatch()->getParam('layout_id') ? $this->getEvent()->getRouteMatch()->getParam('layout_id') : '';
     $em = $this->getEntityManager();
     /* Call Entity Manager */
     $objCategories = $em->getRepository('Admin\\Entity\\Categories')->findBy(array('status' => 1));
     $objCountries = $em->getRepository('Admin\\Entity\\Countries')->findBy(array('countryExist' => 1));
     $objLayout = $em->getRepository('Admin\\Entity\\Layout')->findBy(array());
     $objOption = $em->getRepository('Admin\\Entity\\MainOptions')->findBy(array());
     $eventData = $em->getRepository('Admin\\Entity\\Event')->find($eventId);
     if (empty($eventData)) {
         $msg = "Event donot exists";
         $flashMessenger->addMessage($msg);
         return $this->redirect()->toRoute('listevent');
     }
     $eventOptionData = $em->getRepository('Admin\\Entity\\EventOption')->findBy(array('event' => $eventId, 'isDeleted' => 0));
     $eventScheduleData = $em->getRepository('Admin\\Entity\\EventSchedule')->findBy(array('event' => $eventId, 'isDeleted' => 0));
     $eventopt = array();
     $eventsch = array();
     foreach ($eventOptionData as $eventObj) {
         $eventopt[] = $eventObj->getOption()->getId();
     }
     $i = 0;
     foreach ($eventScheduleData as $schedule) {
         $eventsch[$i]['eventdate'] = $schedule->getEventDate();
         $eventsch[$i]['eventtime'] = $schedule->getEventTime();
         $eventsch[$i]['scheduleid'] = $schedule->getId();
         ++$i;
     }
     $perfcode = $eventData->getPerfCode();
     $title = $eventData->getEventName();
     $desc = $eventData->getEventDesc();
     $artist = $eventData->getEventArtist();
     $address = $eventData->getEventAddress();
     $country = $eventData->getEventCountry()->getId();
     $city = $eventData->getEventCity()->getId();
     $venuetitle = $eventData->getEventVenueTitle();
     $event_link = $eventData->getEventLink();
     $featured = $eventData->getFeatured();
     $zip = $eventData->getEventZip();
     $eventvenueicon = $eventData->getEventVenueIcon();
     $eventBigImg = $eventData->getEventImageBig();
     $eventMedImg = $eventData->getEventImageMedium();
     $eventSmallImg = $eventData->getEventImageSmall();
     $catid = $eventData->getCategory()->getId();
     $layoutid = $eventData->getLayout()->getId();
     if ($featured == 1) {
         $featured_str = 'checked="checked"';
         $img_banner_str = $eventData->getEventImageBanner();
     } else {
         $featured_str = '';
         $img_banner_str = "";
     }
     $em = $this->getEntityManager();
     /* Call Entity Manager */
     $objCity = $em->getRepository('Admin\\Entity\\City')->findBy(array('countryId' => $country));
     $formdata = array('perfcode' => $perfcode, 'title' => $title, 'description' => $desc, 'artist' => $artist, 'country' => $country, 'city' => trim($city), 'address' => $address, 'zip' => $zip, 'venuetitle' => $venuetitle, 'eventlink' => $event_link, 'featured' => $featured_str, 'img_banner_str' => $img_banner_str, 'eventvenueicon' => $eventvenueicon, 'eventbigicon' => $eventBigImg, 'eventmedicon' => $eventMedImg, 'eventsmallicon' => $eventSmallImg, 'category' => $catid, 'activelayout' => $layoutid, 'activeoptions' => $eventopt, 'evntschedule' => $eventsch, 'eventid' => $eventId);
     $request = $this->getRequest();
     /* Fetching Request */
     if ($request->isPost()) {
         $data = $request->getPost();
         $txtperfcode = $data['txtperfcode'];
         $txtlayout = $data['txtlayout'];
         $txttitle = $data['txttitle'];
         $txtdesc = $data['txtdesc'];
         $txtartist = $data['txtartist'];
         $txtaddress = $data['txtaddress'];
         $txtcountry = $data['txtcountry'];
         $txtcity = $data['txtcity'];
         $txtzipcode = $data['txtzipcode'];
         $txtvenue_title = $data['txtvenue_title'];
         $txtlink = $data['txtlink'];
         $txtdate = $data['txtdate1'];
         $txttime = $data['txttime'];
         $txtcategory = $data['txtcategory'];
         $txt_check_feature = $data['txt_check_feature'];
         $txtimage_big = $data['txtimage_big'];
         $txtimage_medium = $data['txtimage_medium'];
         $txtimage_small = $data['txtimage_small'];
         $txtimage_banner = $data['txtimage_banner'];
         $txtoption = $data['txtoption'];
         $datetimeCountHiddenValue = $data['datetimeCountHiddenValue'];
         $uploadsDir = getcwd() . '/public/uploads';
         if (!file_exists($uploadsDir)) {
             mkdir($uploadsDir, 0777, true);
         }
         $uploadsDirPath = getcwd() . '/public/uploads/event/';
         if (!file_exists($uploadsDirPath)) {
             mkdir($uploadsDirPath, 0777, true);
         }
         try {
             $fileName = '';
             $upload = new \Zend\File\Transfer\Adapter\Http();
             $upload->setDestination($uploadsDirPath);
             $files = $upload->getFileInfo();
             // $upload->addValidator('FilesSize', false, array('min' => '10kB', 'max' => '4MB'));
             // $upload->addValidator('Extension', false, array('jpg', 'png','jpeg','gif'));
             // echo '<pre>'; print_r($files); die;
             if (count($files) > 0) {
                 foreach ($files as $file => $info) {
                     //$fileName = uniqid() . date("ymd_his") . '_' . $info ['name'];
                     if ($file == 'txtimage_big') {
                         $fileName = $dataEvent['txtimage_big'] = 'b_' . uniqid() . date("his") . '_' . $info['name'];
                     }
                     if ($file == 'txtimage_medium') {
                         $fileName = $dataEvent['event_image_medium'] = 'm_' . uniqid() . date("his") . '_' . $info['name'];
                     }
                     if ($file == 'txtimage_small') {
                         $fileName = $dataEvent['event_image_small'] = 's_' . uniqid() . date("his") . '_' . $info['name'];
                     }
                     if ($file == 'txtimage_banner') {
                         $fileName = $dataEvent['event_image_banner'] = 'f_' . uniqid() . date("his") . '_' . $info['name'];
                     }
                     if ($file == 'txtvenue_icon') {
                         $fileName = 'v_' . uniqid() . date("his") . '_' . $info['name'];
                         $dataEvent['event_venue_icon'] = $fileName;
                     }
                     $upload->addFilter('Rename', array('target' => $uploadsDirPath . $fileName, 'overwrite' => true));
                     if ($upload->isValid($file)) {
                         $upload->receive($file);
                     }
                 }
             }
         } catch (Zend_File_Transfer_Exception $e) {
             echo $e->getMessage();
             exit;
         }
         try {
             $currentDate = date_create(date('Y-m-d H:i:s'));
             $objLayoutId = $em->getRepository('Admin\\Entity\\Layout')->find($txtlayout);
             $objCategoriesId = $em->getRepository('Admin\\Entity\\Categories')->find($txtcategory);
             $objCountryId = $em->getRepository('Admin\\Entity\\Countries')->find($txtcountry);
             $objCityId = $em->getRepository('Admin\\Entity\\City')->find($txtcity);
             $latitude = $longitude = '';
             //$address = $txtaddress . ", " . $txtcity . ", " . $txtcountry . ", " . $txtzipcode;
             $address = $txtaddress . ", " . $txtzipcode . ", " . $objCityId->getCityName() . ", " . $objCountryId->getCountryName();
             $address = urlencode($address);
             $request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" . $address . "&sensor=true";
             $xml = simplexml_load_file($request_url);
             // or die("url not loading");
             if (!empty($xml)) {
                 $status = $xml->status;
                 if ($status == "OK") {
                     $latitude = $xml->result->geometry->location->lat;
                     $longitude = $xml->result->geometry->location->lng;
                 }
             }
             // Save Event details
             //$eventData = new Entities\Event();
             $eventData->setPerfCode($txtperfcode);
             $eventData->setEventName($txttitle);
             $eventData->setEventZip($txtzipcode);
             $eventData->setEventDesc($txtdesc);
             $eventData->setEventArtist($txtartist);
             $eventData->setEventCountry($objCountryId);
             $eventData->setEventCity($objCityId);
             $eventData->setEventAddress($txtaddress);
             $eventData->setEventVenueTitle($txtvenue_title);
             if ($_FILES['txtvenue_icon']['name'] != '') {
                 $eventData->setEventVenueIcon($dataEvent['event_venue_icon']);
             }
             if ($_FILES['txtimage_big']['name'] != '') {
                 $eventData->setEventImageBig($dataEvent['event_image_big']);
             }
             if ($_FILES['txtimage_medium']['name'] != '') {
                 $eventData->setEventImageMedium($dataEvent['event_image_medium']);
             }
             if ($_FILES['txtimage_small']['name'] != '') {
                 $eventData->setEventImageSmall($dataEvent['event_image_small']);
             }
             if ($_FILES['txtimage_banner']['name'] != '') {
                 $eventData->setEventImageBanner($dataEvent['event_image_banner']);
             }
             $eventData->setEventLink($txtlink);
             $eventData->setLayout($objLayoutId);
             $eventData->setCategory($objCategoriesId);
             $eventData->setFeatured($txt_check_feature);
             $eventData->setStatus(1);
             $eventData->setLongitude($longitude);
             $eventData->setLatitude($latitude);
             $eventData->setModifiedDate($currentDate);
             $em->persist($eventData);
             $em->flush();
         } catch (Zend_Exception $e) {
             echo "Caught exception: " . get_class($e) . "\n";
             echo "Message: Event Entity" . $e->getMessage() . "\n";
             exit;
         }
         try {
             foreach ($eventOptionData as $eventObj) {
                 $eventObj->setIsDeleted(1);
                 $em->persist($eventObj);
                 $em->flush();
             }
             //$em->remove($eventOptionData);
             // Save Event allow options
             if (count($txtoption) > 0) {
                 foreach ($txtoption as $optionId) {
                     //echo "Option id is " . $optionId;
                     $objOptionId = $em->getRepository('Admin\\Entity\\MainOptions')->find($optionId);
                     $eventOptionObj = new Entities\EventOption();
                     $eventOptionObj->setEvent($eventData);
                     $eventOptionObj->setOption($objOptionId);
                     $eventOptionObj->setCreatedDate($currentDate);
                     $eventOptionObj->setIsDeleted(0);
                     $em->persist($eventOptionObj);
                     $em->flush();
                 }
             }
         } catch (Zend_Exception $e) {
             echo "Caught exception: " . get_class($e) . "\n";
             echo "Message: Event Option Entity" . $e->getMessage() . "\n";
             exit;
         }
         try {
             if ($data['txtdate1'] != "") {
                 // Save Event Scheduling
                 for ($i = 1; $i <= $datetimeCountHiddenValue; $i++) {
                     $arrdate = explode('/', $data['txtdate' . $i]);
                     $eventdate = date_create($arrdate[2] . '-' . $arrdate[0] . '-' . $arrdate[1]);
                     $event_time = date_create(date('H:i:s', strtotime($data['txttime' . $i])));
                     $eventScheduleObj = new Entities\EventSchedule();
                     $eventScheduleObj->setEvent($eventData);
                     $eventScheduleObj->setEventDate($eventdate);
                     $eventScheduleObj->setEventTime($event_time);
                     $eventScheduleObj->setCreatedDate($currentDate);
                     $eventScheduleObj->setIsDeleted(0);
                     $em->persist($eventScheduleObj);
                     $em->flush();
                 }
             }
             $flashMessenger = $this->flashMessenger();
             $flashMessenger->setNamespace('success');
             $msg = "Event has been updated successfully";
             $flashMessenger->addMessage($msg);
             $eventId = $eventData->getId();
             $layoutId = $objLayoutId->getId();
             return $this->redirect()->toRoute('listevent');
         } catch (Zend_Exception $e) {
             echo "Caught exception: " . get_class($e) . "\n";
             echo "Message: Event Schedule Entity" . $e->getMessage() . "\n";
             exit;
         }
     }
     //return new ViewModel();
     return new ViewModel(array('dataCategories' => $objCategories, 'dataCountries' => $objCountries, 'dataCities' => $objCity, 'dataLayout' => $objLayout, 'dataOption' => $objOption, 'formdata' => $formdata, 'layout_id' => $layout_id));
 }