Esempio n. 1
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. 2
0
 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']));
 }
Esempio n. 4
0
 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");
     }
 }
Esempio n. 5
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 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));
 }
Esempio n. 10
0
 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));
 }
Esempio n. 14
0
 /**
  *
  * @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;
 }
Esempio n. 15
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;
 }
Esempio n. 16
0
 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);
 }
Esempio n. 17
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));
 }
Esempio n. 18
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. 19
0
 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;
 }
Esempio n. 21
0
 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);
 }