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())); } }
public function __invoke($destinationDir, $fileFieldName = 'file', $replace = false, $status = 0) { if (!$this->getController()->getRequest()->isPost()) { return; } if (!($data = $this->getController()->getRequest()->getFiles()->toArray())) { return; } if (empty($data[$fileFieldName])) { return; } $datafile = $data[$fileFieldName]; if (!empty($datafile['error'])) { return; } $md5Dir = $this->fileService->getMd5Dir($datafile['name']); $destinationDir = $this->fileService->checkDirectory($destinationDir . $md5Dir); if (!$destinationDir) { return; } $fileadapter = new \Zend\File\Transfer\Adapter\Http(); $realDEstinationDir = $this->fileService->getUploadDir() . $destinationDir; $fileadapter->setDestination($realDEstinationDir); $fileTable = $this->getController()->getServiceLocator()->get('File\\Table\\File'); $filedata = array(); $destinationPath = $this->fileService->createFilename($destinationDir, $datafile['name'], $filedata, $replace); if (!$replace) { $fileadapter->addFilter('Rename', array('target' => $filedata['basename'])); } //Upload if ($fileadapter->receive($datafile['name'])) { $datafile = array('name' => $datafile['name'], 'path' => $destinationPath, 'mime' => $datafile['type'], 'size' => $datafile['size'], 'created' => date('Y-m-d H:i:s'), 'status' => $status); return $fileTable->insert($datafile); } }
/** * Add new comment attachment into database and uploads * * @author Coeus * @param $data * @return JsonModel */ public function create($data = array()) { //$attachmentPath = 'public' . DIRECTORY_SEPARATOR . 'attachments'.DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR; $attachmentPath = 'public/attachments/comments/'; $attachmentName = md5(uniqid(null, true)); $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } } else { if (!is_dir($attachmentPath)) { mkdir($attachmentPath, 0766); } $adapter->setDestination($attachmentPath); $name = $adapter->getFileName(null, false); $extension = end(explode(".", $name)); $newFilePath = $attachmentPath . $attachmentName . "." . $extension; $newName = $attachmentName . "." . $extension; $adapter->addFilter('Rename', array('target' => $newFilePath, 'overwrite' => true)); $adapter->receive(); if (isset($data['post_id'])) { $data['info'] = $data['post_id'] . '||' . $data['user_id'] . '||' . $data['post_owner_id'] . '||' . $data['resource_type'] . '||' . $data['resource_id']; $comment = $this->getCommentService()->addTimelineComment($data); } else { $data['info'] = $data['resource_id'] . '||' . $data['user_id']; //$data['content'] = $data['content'].'<a ng-click="openInBrowserTab('.$newName.');" href="javascript:void(0);"><i>'.$name.'</a></i>'; $comment = $this->getCommentService()->addResourceComment($data, $data['resource_type']); } $attachmentId = $this->getService()->addCommentAttachment(array('comment_id' => $comment['comment_id'], 'file' => $name . ',' . $newName)); } return new JsonModel(array('original_name' => $name, 'altered_name' => $newName, 'comment_id' => $comment['comment_id'])); }
public function index03Action() { if ($this->request->isPost()) { $upload = new \Zend\File\Transfer\Adapter\Http(); $upload->addFilter("Rename", array("target" => FILES_PATH . "images/my_file.jpg", "overwrite" => true, "randomize" => true), "image"); $upload->receive("image"); } }
/** * 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 addAction() { $view = new ViewModel(); $view->setVariable("id", ""); $form = new FlickForm(); $form->get('submit')->setValue('Ajouter'); $request = $this->getRequest(); if ($request->isPost()) { $flick = new Flick(); $form->setInputFilter($flick->getInputFilter(true)); $File = $this->params()->fromFiles('fileupload'); $nonFile = $request->getPost()->toArray(); $data = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray()); $form->setData($data); if ($form->isValid()) { $adapter = new \Zend\File\Transfer\Adapter\Http(); if (empty($File["name"])) { $view->setVariable("form", $form); return $view; } $path = pathinfo($File['name']); $ext = $path['extension']; $filename = md5($File['name']) . "-" . time() . "." . $ext; $adapter->addFilter('Rename', $filename); if (!$adapter->isValid()) { echo 77; exit; $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } $form->setMessages(array('fileupload' => $error)); } else { $adapter->setDestination(dirname(__DIR__) . '/../../../../public/assets'); // $adapter->setDestination('.'); if ($adapter->receive($File['name'])) { $d = $form->getData(); $d["fileupload"] = $filename; // var_dump($d); // exit; $flick->exchangeArray($d); $this->getFlickTable()->saveFlick($flick); } } // $flick->exchangeArray($form->getData()); // Redirect to list of flicks return $this->redirect()->toRoute('me'); } } $view->setVariable("form", $form); return $view; }
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; }
/** * Add new company logo * * @author Stoyan Rangelov * @param array $data the data from REST Client * @return \Zend\View\Model\JsonModel */ public function create($data = array()) { $tmpPath = 'public' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'logos' . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR; $attachmentPath = 'public' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'logos' . DIRECTORY_SEPARATOR; $attachmentName = md5(uniqid(null, true)); $companyStatus = $data['company_status']; if ($companyStatus == 'new') { $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } } else { $adapter->setDestination($tmpPath); $name = $adapter->getFileName(null, false); $extension = end(explode(".", $name)); $newFilePath = $tmpPath . $attachmentName . "." . $extension; $newName = $attachmentName . "." . $extension; $adapter->addFilter('Rename', array('target' => $newFilePath, 'overwrite' => true)); $adapter->receive(); } return new JsonModel(array('original_name' => $name, 'altered_name' => $newName, 'status_code' => 200)); } else { $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } } else { $adapter->setDestination($attachmentPath); $name = $adapter->getFileName(null, false); $extension = end(explode(".", $name)); $newFilePath = $attachmentPath . $attachmentName . "." . $extension; $newName = $attachmentName . "." . $extension; $adapter->addFilter('Rename', array('target' => $newFilePath, 'overwrite' => true)); $adapter->receive(); } $result = $this->getService()->addCompanyLogo($data, $newName); return new JsonModel($result); } }
/** * Add new task into database * * @author Hrayr Shahbazyan * @param null $data * @return JsonModel */ public function create($data = array()) { $attachmentPath = 'public' . DIRECTORY_SEPARATOR . 'attachments' . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR; $attachmentName = md5(uniqid(null, true)); $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } } else { $adapter->setDestination($attachmentPath); $name = $adapter->getFileName(null, false); $extension = end(explode(".", $name)); $newFilePath = $attachmentPath . $attachmentName . "." . $extension; $newName = $attachmentName . "." . $extension; $adapter->addFilter('Rename', array('target' => $newFilePath, 'overwrite' => true)); $adapter->receive(); //$attachmentId = $this->getService()->addTaskAttachment(array('task_id'=>$data['task_id'],'file'=>$name)); } return new JsonModel(array('original_name' => $name, 'altered_name' => $newName)); }
public function uploadFile($field_name, $destination) { $resultArr = array(); $adapter = new \Zend\File\Transfer\Adapter\Http(); $files = $adapter->getFileInfo(); $postFileName = $field_name; $File = $files[$postFileName]; $fileinfo = $this->getFileInfo($File['name']); $this->randString = $this->getRandomName('5') . time(); $newname = $this->randString . '.' . $fileinfo['ext']; $adapter->addFilter('Rename', array('target' => $destination . '/' . $newname, 'overwrite' => false), $postFileName); if (!$adapter->isValid()) { $resultArr = array("errorMessage" => $adapter->getMessages(), "status" => "failure"); } else { try { $adapter->receive($postFileName); $resultArr = array("status" => "success", "uniqueName" => $newname, "fileName" => $File['name'], "extension" => $fileinfo['ext'], "mimeType" => $adapter->getMimeType(), "fileSize" => $adapter->getFileSize()); } catch (\Zend\Filter\Exception\InvalidArgumentException $e) { $resultArr = array("errorMessage" => $e->getMessage(), "status" => "failure"); } } return $resultArr; }
/** * Add new user avatar * * @author Stoyan Rangelov * @param array $data the data from REST Client * @return \Zend\View\Model\JsonModel */ public function create($data = array()) { $attachmentPath = 'public' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'avatars' . DIRECTORY_SEPARATOR; $attachmentName = md5(uniqid(null, true)); $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } } else { $adapter->setDestination($attachmentPath); $name = $adapter->getFileName(null, false); $extension = end(explode(".", $name)); $newFilePath = $attachmentPath . $attachmentName . "." . $extension; $newName = $attachmentName . "." . $extension; $adapter->addFilter('Rename', array('target' => $newFilePath, 'overwrite' => true)); $adapter->receive(); } $userId = $data['user_id']; $result = $this->getService()->addUserAvatar($userId, $newName); return new JsonModel($result); }
/** * edit a a post by id * @return */ public function editAction() { if (!$this->zfcUserAuthentication()->hasIdentity()) { return $this->redirect()->toRoute('home'); } $em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default'); $id = $this->params('id'); $post = $em->getRepository('Blog\\Entity\\Post')->find($id); if (!$post) { return $this->redirect()->toRoute('admin_list_post'); } $formManager = $this->serviceLocator->get('FormElementManager'); $form = $formManager->get('Admin\\Form\\Form\\CreatePostForm'); $request = $this->getRequest(); $form->bind($post); if ($request->isPost()) { $postData = array_merge_recursive((array) $request->getPost(), (array) $request->getFiles()); $file = (array) $request->getFiles(); // fichier incorect if (!$file) { $this->flashMessenger()->setNamespace('error')->addMessage('Le fichier envoyé est incorrect'); return $this->redirect()->toRoute('admin_edit_post', array("id" => $post->getId())); } $form->setData($postData); if ($form->isValid()) { $post = $form->getData(); // tableau contenant le nom dufichier['name'] uploader,[type], [tmp_name],[error],[size] $filesDetails = $post->getFile(); // on a un fichier a upload if ($filesDetails['tmp_name'] != "") { if ($post->getPhoto() != null && file_exists($post->getAbsoluteWebPath())) { unlink($post->getAbsoluteWebPath()); } $httpadapter = new \Zend\File\Transfer\Adapter\Http(); $httpadapter->setDestination($post->getAbsoluteUploadDir()); $path_parts = pathinfo($filesDetails['name']); $photo = sha1(uniqid(mt_rand(), true)) . "." . $path_parts['extension']; $newFilePath = "./public/" . $post->getUploadDir() . '/' . $photo; // modification du fichier uploader $httpadapter->addFilter('\\Zend\\Filter\\File\\Rename', array('target' => $newFilePath, 'overwrite' => false)); // move uploaded file $httpadapter->receive(); $post->setPhoto($photo); $post->setPhotoRealName($filesDetails['name']); $post->setPhotoExtension($path_parts['extension']); } $submit = $request->getPost('submit'); $post = $form->getData(); $em->flush(); $this->flashMessenger()->setNamespace('success')->addMessage('Modification réussi'); // Le user a cliqué sur Enregistrer et retourner à la liste if ($submit) { return $this->redirect()->toRoute('admin_list_post'); } else { return $this->redirect()->toRoute('admin_edit_post', array("id" => $post->getId())); } } } return new ViewModel(array('form' => $form, 'flashMessages' => $this->flashMessenger()->getMessages(), 'post' => $post)); }
public function addAction() { $form = new FileForm(); $request = $this->getRequest(); if ($request->isPost()) { $file = new File(); // On vérifie la validité des champs $form->setInputFilter($file->getInputFilter()); $nonFile = $request->getPost()->toArray(); $params = $this->params()->fromFiles('link'); // On récupère l'extension du fichier $ext = new \Zend\File\PhpClassFile($params['name']); $ext = $ext->getExtension(); // recherche de la catégorie $musique = array('mp3', 'flac', 'aac', 'wav'); $video = array('mp4', 'avi', 'wmv', 'mov'); $document = array('pdf', 'txt', 'ppt', 'pptx', 'xls', 'xlsx', 'doc', 'docx'); $image = array('jpg', 'jpeg', 'gif', 'png'); $cat = ''; if (in_array($ext, $musique)) { $cat = 'musique'; } else { if (in_array($ext, $video)) { $cat = 'video'; } else { if (in_array($ext, $document)) { $cat = 'document'; } else { if (in_array($ext, $image)) { $cat = 'image'; } } } } $date = date('Y-m-d H:i:s'); if ($params['size'] < 100000) { $size = round($params['size'] / 1000, 2) . ' Ko'; } else { $size = round($params['size'] / 1000000, 2) . ' Mo'; } // renommage du fichier $newName = 'file' . time() . '.' . $ext; // if you're using ZF >= 2.1.1 $data = array_merge_recursive($this->getRequest()->getPost()->toArray(), array('link' => $newName, 'size' => $size, 'extension' => $ext, 'category' => $cat, 'uploaded' => $date, 'updated' => $date)); $form->setData($data); $adapter = new \Zend\File\Transfer\Adapter\Http(); // Liste d'extensions valides $listExt = array(); $types = array_merge_recursive($musique, $video, $document, $image); $extensionvalidator = new \Zend\Validator\File\Extension(array('extension' => $listExt)); $adapter->setValidators(array($extensionvalidator), $params['name']); // Taille maximum du fichier $maxSize = new Size(array('max' => 300000000)); //maximum bytes filesize $adapter->setValidators(array($maxSize), $params['name']); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } //set formElementErrors $form->setMessages(array('link' => $error)); } else { if ($form->isValid()) { $adapter->addFilter('Rename', dirname(__DIR__) . '/upload/' . $newName); //$adapter->setDestination(dirname(__DIR__).'/upload'); if ($adapter->receive($params['name'])) { $file->exchangeArray($form->getData()); } $file->exchangeArray($form->getData()); $this->getFileTable()->saveFile($file); return $this->redirect()->toRoute('media'); } } } return new ViewModel(array('form' => $form)); }
/** * * @return Ambigous <\Zend\View\Model\ViewModel, \Zend\View\Model\ViewModel> */ public function uploadcreativeAction() { $initialized = $this->initialize(); if ($initialized !== true) { return $initialized; } $creatives_dir = 'public/creatives/' . $this->auth->getUserID() . '/'; if (!file_exists($creatives_dir)) { mkdir($creatives_dir, 0755, true); } $site_url = $this->config_handle['delivery']['site_url']; if (substr($site_url, -1) == '/') { $site_url = substr($site_url, 0, -1); } $files = $this->request->getFiles()->toArray(); $httpadapter = new \Zend\File\Transfer\Adapter\Http(); $filesize = new \Zend\Validator\File\Size(array('max' => 2000000)); //2MB $extension = new \Zend\Validator\File\Extension(array('extension' => array('jpg', 'jpeg', 'png', 'gif', 'swf'))); $httpadapter->setValidators(array($filesize, $extension), $files['file']['name']); $ext = pathinfo($files['file']['name'], PATHINFO_EXTENSION); $newName = md5(rand() . $files['file']['name']) . '.' . $ext; $httpadapter->addFilter('File\\Rename', array('target' => $creatives_dir . $newName, 'overwrite' => true)); if ($httpadapter->isValid()) { if ($httpadapter->receive($files['file']['name'])) { $httpadapter->getFilter('File\\Rename')->getFile(); $newfile = $httpadapter->getFileName(); header("Content-type: text/plain"); echo $site_url . substr($newfile, strlen('public')); exit; } } $error = array(); $dataError = $httpadapter->getMessages(); foreach ($dataError as $key => $row) { $error[] = $row; } http_response_code(400); header("Content-type: text/plain"); echo implode(',', $error); exit; }
/** * 檔案上傳 * @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 locationeditAction() { $this->_checkIfUserIsLoggedIn(); $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('admin/default', array('controller' => 'geography', 'action' => 'locationadd')); } $location = $this->getEntityManager()->find('Admin\\Entity\\Location', $id); // print_r($city);die; if (!$location) { return $this->redirect()->toRoute('admin/default', array('controller' => 'geography', 'action' => 'location')); } $em = $this->getEntityManager(); $form = new LocationForm($em); // echo $form->get('cityPhoto')->getValue(); $templocationPhoto = $location->locationPhoto; $form->bind($location); $form->get('save')->setAttribute('value', 'Edit'); $form->getInputFilter()->get('locationPhoto')->setRequired(false); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($location->getInputFilter()); //print_r($request->getPost());die; $data = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); $form->setData($data); if ($form->isValid()) { $filname = $data['locationPhoto']['name']; if ($filname == "") { $filname = $templocationPhoto; } $extension = pathinfo($filname, PATHINFO_EXTENSION); $locname = str_replace(" ", "-", $data['locname']) . $id . "." . $extension; $location->setlocationPhoto($locname); $adapter = new \Zend\File\Transfer\Adapter\Http(); $adapter->setDestination('public/images/locationPic'); $adapter->addFilter('Rename', $locname, $filname); $adapter->receive($filname); $this->getEntityManager()->flush(); return $this->redirect()->toRoute('admin/default', array('controller' => 'geography', 'action' => 'location')); } } return array('id' => $id, 'form' => $form); }
/** * 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)); }
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); } } } }
public function render() { $datasource = $this->getDataSource(); $plgmanager = $this->getPluginControllerManager(); $plgWmanager = $this->getPluginViewHelperManager(); $request = $this->getMvcEvent()->getRequest(); $plgredirect = $plgmanager->get('redirect'); $plgpostredirectget = $plgmanager->get('PostRedirectGet'); $plgurl = $plgmanager->get('url'); $plgflashmessanger = $plgmanager->get('flashmessenger'); if ($request instanceof ConsoleRequest) { return $this->renderConsole(); //throw new \RuntimeException('You can only use this action from a console!'); } $op = $request->getQuery('op'); $key = $request->getQuery('key'); // $data = $request->getPost ()->toArray (); // if(isset($request->getQuery ('keepCache'))) if ((int) ($request->getQuery('keepCache') > 0)) { $this->setKeepCacheFilter($request->getQuery('keepCache')); } $controller = substr($this->getMvcEvent()->getRouteMatch()->getParam('controller'), strrpos($this->getMvcEvent()->getRouteMatch()->getParam('controller'), '\\') + 1); $action = $this->getMvcEvent()->getRouteMatch()->getParam('action'); $routeName = $this->getMvcEvent()->getRouteMatch()->getMatchedRouteName(); $renderType = 'render'; $identity = $this->formatIdentityColumns(); $identityValue = $request->getQuery($identity, 0); if (null !== $this->getUrlRouteRedirectCrud()) { $url = $this->getUrlRouteRedirectCrud(); } else { $url = $plgurl->fromRoute($routeName, array('controller' => $controller, 'action' => $action)); } $this->setDefaultUriRedirect($url); if (empty($op)) { if ($this->isCrud) { $this->addCrudColumn(); } if ($this->isDataLoaded() === false) { $this->loadData(); } /** * Step 4) Render the data to the defined output format (HTML, PDF...) * - Styling the values based on column (and value) */ $this->renderGrid(); } else { $form = $this->getFrmMainCrud(); $crudIdentity = $this->getIdentityColumnCrud($identity, $identityValue); if (is_array($crudIdentity)) { if ($op == 'u') { $result = $datasource->findByIdentity($crudIdentity); if (is_array($result) || is_object($result)) { $form->bind($result); } else { $form->bind($datasource->getDefaultBindObject()); } } else { $form->bind($datasource->getDefaultBindObject()); } } else { $Obind = $datasource->getEntity(); $form->bind(new $Obind()); } if ($op != '' && $request->isPost()) { // crud insert/update if (method_exists($this->getDataSource(), 'getSourceObject') && method_exists($this->getDataSource()->getSourceObject(), 'getInputFilter')) { $this->getFrmMainCrud()->setPreferFormInputFilter(true); $this->getFrmMainCrud()->setInputFilter($this->getDataSource()->getSourceObject()->getInputFilter()); } else { if ($this->getSetFormFilterFromCrud()) { $this->getFrmMainCrud()->setPreferFormInputFilter(true); $this->getFrmMainCrud()->setInputFilter($this->getFrmFilterCrud()); } else { $this->getFrmMainCrud()->setInputFilter($this->getFrmFilterCrud()); } } $postData = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); //$this->getFrmMainCrud()->setData($request->getPost()); $this->getFrmMainCrud()->setData($postData); if ($this->getFrmMainCrud()->isValid()) { $uploadFiles = $request->getFiles()->toArray(); //$pathDoc = realpath ( dirname ( __FILE__ ) . '/../../../../../data/upload/' ); //$pathDoc = realpath ( dirname ( __FILE__ ) . '/../../../../../1.0.0_310/public/uploads/' ); $pathDoc = $this->getPathFileUpload(); $postUpload = array(); if (is_array($uploadFiles)) { foreach ($uploadFiles as $key => $uploadFile) { $adapter = new \Zend\File\Transfer\Adapter\Http(); $estensione = substr($uploadFile['name'], strrpos($uploadFile['name'], '.') + 1); $uniqueToken = md5(uniqid(mt_rand(), true)); $file_name = $uniqueToken . '.' . $estensione; $target_position = $pathDoc . DIRECTORY_SEPARATOR . $file_name; $filterRename = array('target' => $target_position, 'overwrite' => true); $adapter->addFilter('Rename', $filterRename); if (is_array($uploadFile) && $adapter->receive($uploadFile['name'])) { // to do $postUpload[$key] = $file_name; $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('File Uploaded')); } else { $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('File Not Uploaded')); } } } $object_validate_filter = $this->prepareCrudData($this->getFrmMainCrud()->getData(), $postUpload); if (is_array($result) || is_object($result)) { $result = $datasource->update($object_validate_filter, $crudIdentity); //$log = $this->getServiceLocator()->get('zf2datatable_logger'); //$log->info('update:'.$op); if ($result) { $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('Record Updated')); } if (strpos($url, "?") !== false) { $url .= '&keepCache=1'; } else { $url .= '?keepCache=1'; } //$url = $->getRouter()->assemble($redirect_route['params'], $redirect_route['options']); $response = $this->getMvcEvent()->getResponse(); $response->getHeaders()->addHeaderLine('Location', $url); // The HTTP response status code 302 Found is a common way of performing a redirection. // http://en.wikipedia.org/wiki/HTTP_302 $response->setStatusCode(302); $response->sendHeaders(); exit; } else { //$log = $this->getServiceLocator()->get('zf2datatable_logger'); //$log->info('insert:'.$op); $result = $datasource->insert($object_validate_filter); if ($result) { $plgflashmessanger->addSuccessMessage('Record Insert'); } //$url = $->getRouter()->assemble($redirect_route['params'], $redirect_route['options']); if (strpos($url, "?") !== false) { $url .= '&keepCache=1'; } else { $url .= '?keepCache=1'; } $response = $this->getMvcEvent()->getResponse(); $response->getHeaders()->addHeaderLine('Location', $url); // The HTTP response status code 302 Found is a common way of performing a redirection. // http://en.wikipedia.org/wiki/HTTP_302 $response->setStatusCode(302); $response->sendHeaders(); exit; } $this->setIsDataLoaded(false); } else { $plgflashmessanger->addErrorMessage($this->getFrmMainCrud()->getMessages()); return $this->renderFormGrid($form); // render crud form } } elseif ($op == 'd' && $request->isGet()) { // crud delete $this->loadDataCrud($crudIdentity, "getFormRenderer"); if ($this->getCrudDetail() === null || !$this->getisAllowDelete()) { $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('Not Allowed Delete Record')); return $plgredirect->toRoute($routeName, array('controller' => $controller, 'action' => $action)); } $result = $datasource->delete($crudIdentity); if ($result) { $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('Record Delete')); } $this->setIsDataLoaded(false); /*return $plgredirect->toRoute($routeName, array( 'controller' => $controller, 'action' => $action ));*/ $response = $this->getMvcEvent()->getResponse(); $response->getHeaders()->addHeaderLine('Location', $url); // The HTTP response status code 302 Found is a common way of performing a redirection. // http://en.wikipedia.org/wiki/HTTP_302 $response->setStatusCode(302); $response->sendHeaders(); exit; } elseif ($op == 'u' && $request->isGet()) { // show form $form = $this->getFrmMainCrud(); if (is_array($crudIdentity)) { $this->loadDataCrud($crudIdentity, "getFormRenderer"); if ($this->getCrudDetail() === null) { $plgflashmessanger->addSuccessMessage($this->getTranslator()->translate('Not Allowed Edit Record')); // $url = $this->url return $plgredirect->toRoute($routeName, array('controller' => $controller, 'action' => $action)); } else { } $form->bind($this->getCrudDetail()); } $this->renderFormGrid($form); // render crud form } elseif ($op == 'i' && $request->isGet()) { /*$form = $this->getFrmMainCrud(); if (is_array($crudIdentity)) { $this->loadDataCrud($crudIdentity, "getFormRenderer"); $form->bind($this->getCrudDetail()); }*/ $this->renderFormGrid($form); // render crud form } elseif ($op == 'v' && $request->isGet()) { // view datails $this->loadDataDetail(array($identity => $identityValue)); $this->renderViewGrid(); } elseif ($op == 'f' && $request->isGet()) { // view datail $load = $this->loadattach(); if ($load instanceof \Zend\Http\Response\Stream) { return $load; } else { throw new \Exception('Load Fails'); } } elseif ($op == 'j' && $request->isGet()) { //jsoncall // view datails $params = $this->getRequest()->getQuery()->toArray(); unset($params['op']); $response = $this->getMvcEvent()->getResponse(); $response->setContent($this->loadJsonData($params)); return $response; } } }
/** * 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 editAction() { $this->_checkIfUserIsLoggedIn(); $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('vehicle', array('action' => 'add')); } $vehicle = $this->getEntityManager()->find('Vehicle\\Entity\\Vehicle', $id); if (!$vehicle) { return $this->redirect()->toRoute('vehicle'); } $em = $this->getEntityManager(); $form = new VehicleForm($em); $tempPhoto = $vehicle->vehiclePhoto; $form->bind($vehicle); $form->get('submit')->setAttribute('value', 'Edit Vehicle'); $form->getInputFilter()->get('vehiclePhoto')->setRequired(false); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter($vehicle->getInputFilter()); $data = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); $form->setData($data); if ($form->isValid()) { $filename = $data['vehiclePhoto']['name']; if ($filename == "") { $filename = $tempPhoto; } $extension = pathinfo($filename, PATHINFO_EXTENSION); $vehicleName = str_replace(" ", "-", $data['vehicleName']) . $id . "." . $extension; $vehicle->setvehiclePhoto($vehicleName); $adapter = new \Zend\File\Transfer\Adapter\Http(); $adapter->setDestination('./data/VehicleImg'); $adapter->addFilter('Rename', $vehicleName, $filename); $adapter->receive($filename); $this->getEntityManager()->flush(); return $this->redirect()->toRoute('vehicle'); // $this->getEntityManager()->flush(); // return $this->redirect()->toRoute('vehicle'); } } return array('id' => $id, 'form' => $form); }