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; }
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())); } }
/** * 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; }
/** * * 文件上传处理 * @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; } }
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); }
/** * 檔案上傳 * @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(""); }
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); } } } }
/** * 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)); }