public function editarbannerAction() { $auth = new \Zend\Authentication\AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario/index/login'); } $id = $this->params()->fromRoute('id'); $menu = $this->getRestauranteTable()->buscarBanner($id)->toArray(); $form = new BannerForm(); $name = $menu[0]['va_imagen']; $form->get('in_id')->setValue($menu[0]['in_id']); $form->get('va_nombre')->setValue($menu[0]['va_nombre']); $form->get('in_orden')->setValue($menu[0]['in_orden']); $form->get('va_url')->setValue($menu[0]['va_url']); $request = $this->getRequest(); if ($request->isPost()) { $datos = $this->request->getPost(); $resultado = $this->getRestauranteTable()->buscarBanner($datos->in_id)->toArray(); $File = $this->params()->fromFiles('va_imagen'); $form->setData($datos); if ($form->isValid()) { $valor = uniqid(); $info = pathinfo($File['name']); if ($File['name'] == '') { $this->getRestauranteTable()->editaBanner($datos, $resultado[0]['va_imagen']); return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/restaurante/index/listadobanner'); } else { $eliminar = $this->_options->upload->images . '/banner/' . $resultado[0]['va_imagen']; unlink($eliminar); require './vendor/Classes/Filter/Alnum.php'; if ($info['extension'] == 'jpg' or $info['extension'] == 'JPG' or $info['extension'] == 'jpeg') { $imf2 = $valor . '.' . $info['extension']; $filter = new \Filter_Alnum(); $filtered = $filter->filter($datos->va_nombre); $name = $filtered . '-' . $imf2; $viejaimagen = imagecreatefromjpeg($File['tmp_name']); $copia = $this->_options->upload->images . '/banner/' . $name; imagejpeg($viejaimagen, $copia); } $this->getRestauranteTable()->editaBanner($datos, $name); return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/restaurante/index/listadobanner'); } } } return array('form' => $form); }
public function ingresardatosAction() { $view = new ViewModel(); $this->layout()->clase = 'Solicita'; $form = new Registro("form"); $storage = new \Zend\Authentication\Storage\Session('Auth'); $session = $storage->read(); if (!isset($session)) { $url = '/solicita'; $face = new \Usuario\Controller\ClientesController(); $facebook = $face->facebook(); $this->layout()->loginUrl = $facebook['loginUrl']; $this->layout()->user = $facebook['user']; if ($facebook['id_facebook']) { $id_face = $this->getClientesTable()->usuarioface($facebook['email']); if (count($id_face) > 0) { if ($id_face[0]['id_facebook'] == '') { $this->getClientesTable()->idfacebook($id_face[0]['in_id'], $facebook['id_facebook'], $facebook['logoutUrl']); AuthController::sessionfacebook($facebook['email'], $facebook['id_facebook'], $url); } else { $this->getClientesTable()->idfacebook2($id_face[0]['in_id'], $facebook['logoutUrl']); AuthController::sessionfacebook($facebook['email'], $facebook['id_facebook'], $url); } } else { $this->getClientesTable()->insertarusuariofacebbok($facebook['name'], $facebook['email'], $facebook['id_facebook'], $facebook['logoutUrl']); AuthController::sessionfacebook($facebook['email'], $facebook['id_facebook'], $url); } } } $comidas = $this->comidas()->toArray(); $com = array(); foreach ($comidas as $y) { $com[$y['in_id']] = $y['va_nombre_tipo']; } $form->get('Ta_tipo_comida_in_id')->setValueOptions($com); $request = $this->getRequest(); if ($request->isPost()) { $datos = $this->request->getPost(); // var_dump($datos->cantidad_platos);exit; $File = $this->params()->fromFiles('va_imagen'); $form->setData($datos); if ($form->isValid()) { $valor = uniqid(); $info = pathinfo($File['name']); require './vendor/Classes/Filter/Alnum.php'; if ($info['extension'] == 'jpg' or $info['extension'] == 'JPG' or $info['extension'] == 'jpeg') { $imf2 = $valor . '.' . $info['extension']; $filter = new \Filter_Alnum(); $filtered = $filter->filter($datos->va_nombre_contacto); $name = $filtered . '-' . $imf2; $viejaimagen = imagecreatefromjpeg($File['tmp_name']); $copia = $this->_options->upload->images . '/registro/restaurante/' . $name; imagejpeg($viejaimagen, $copia); } $idrestaurante = $this->getConfigTable()->guardarregistro($datos, $name); $id = $idrestaurante; $this->flashMessenger()->addMessage('El restaurante ha sido registrado correctamente...'); $this->redirect()->toUrl('/solicita?id=' . $id . '&plato=' . $datos->cantidad_platos); } } $flashMessenger = $this->flashMessenger(); if ($flashMessenger->hasMessages()) { $mensajes = $flashMessenger->getMessages(); } $formu = new Registroplato(); $view->setVariables(array('form' => $form, 'formu' => $formu, 'mensaje' => $mensajes)); return $view; }
public function editarplatosAction() { $auth = new \Zend\Authentication\AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario/index/login'); } $id = (int) $this->params()->fromRoute('in_id', 0); $platicos = $this->platicos($id)->toArray(); $comeya = $platicos[0]['va_imagen']; $va_nombre = 'prueba'; $idlocal = (int) $this->params()->fromRoute('id_pa', 0); if (!$id) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/restaurante/index/agregarrestaurante'); } try { $restaurante = $this->getPlatosTable()->getPlato($id); } catch (\Exception $ex) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/plato/listar'); } $adpter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'); $form = new PlatosForm($adpter, $idlocal); $form->get('va_imagen')->setValue($comeya); /////////////////////PROMOCIONES//////////////////// // $form->get('Ta_tipo_plato_in_id')->setOptions(array($platotipo[0]['in_id'] =>$platotipo[0]['va_nombre'] )); $form->bind($restaurante); $promobind = $this->getPlatosTable()->promocionxPlato($id)->toArray(); $aux = array(); foreach ($promobind as $value) { $aux[$value['ta_tag_in_id']] = $value['ta_tag_in_id']; $form->get('va_promocion')->setAttribute('value', $aux); } ///////////////////////////////////////////////////////////////////////////////// $form->get('submit')->setAttribute('value', 'MODIFICAR'); $request = $this->getRequest(); if ($request->isPost()) { $promoc = $this->params()->fromPost('va_promocion'); $datos = $this->request->getPost(); $plato_otro = $datos['va_otros']; $form->setInputFilter($restaurante->getInputFilter()); $nonFile = $request->getPost()->toArray(); $File = $this->params()->fromFiles('va_imagen'); $data = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray()); $form->setData($data); if ($form->isValid()) { $nonFile = $request->getPost()->toArray(); if ($File['name'] != '') { $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $dataError = $adapter->getMessages(); $error = array(); foreach ($dataError as $key => $row) { $error[] = $row; } $form->setMessages(array('imagen' => $error)); } else { $restaura = $this->restaurante($idlocal); $rowset = $restaura; $array = array(); foreach ($rowset as $resul) { $array[] = $resul; } $this->dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'); $adapter = $this->dbAdapter; $sql = new Sql($adapter); $select = $sql->select()->from('ta_local')->join(array('tl' => 'ta_plato_has_ta_local'), 'ta_local.in_id = tl.Ta_local_in_id', array('cantidad' => new \Zend\Db\Sql\Expression('COUNT(tl.Ta_plato_in_id)')), 'left')->where(array('ta_local.in_id' => $idlocal))->group('ta_local.in_id'); $selectString = $sql->getSqlStringForSqlObject($select); $results = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE); $plat = $results; $platos = array(); foreach ($plat as $result) { $platos[] = $result; } $anchura = 407; $altura = 272; $destacadox = 215; $destacadoy = 155; $generalx = 145; $generaly = 112; $imf = $File['name']; $info = pathinfo($File['name']); $tamanio = getimagesize($File['tmp_name']); $ancho = $tamanio[0]; $alto = $tamanio[1]; $valor = uniqid(); $va = $this->getPlatosTable()->getPlato($id); $imagen_antigua = $va->va_imagen; if ($ancho > $alto) { $eliminar = $this->_options->upload->images . '/plato/destacado/' . $imagen_antigua; $eliminar1 = $this->_options->upload->images . '/plato/general/' . $imagen_antigua; $eliminar2 = $this->_options->upload->images . '/plato/original/' . $imagen_antigua; $eliminar3 = $this->_options->upload->images . '/plato/principal/' . $imagen_antigua; unlink($eliminar); unlink($eliminar1); unlink($eliminar2); unlink($eliminar3); require './vendor/Classes/Filter/Alnum.php'; $alta = (int) ($alto * $anchura / $ancho); if ($alta > 272) { $altura = 272; } else { $altura = $alta; } if ($info['extension'] == 'jpg' or $info['extension'] == 'JPG' or $info['extension'] == 'jpeg') { $nom = $nonFile['va_nombre']; $imf2 = $valor . '.' . $info['extension']; $filter = new \Filter_Alnum(); $filtered = $filter->filter($nom); $name = $filtered . '-' . $imf2; if (!is_dir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777)) { mkdir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); $principal = $this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $destacado = $this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $general = $this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $original = $this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; } $estampa = imagecreatefrompng($this->_options->upload->images . '/defecto/loguito.png'); $viejaimagen = imagecreatefromjpeg($File['tmp_name']); $margen_dcho = 340; $margen_inf = 20; $sx = imagesx($estampa); $sy = imagesy($estampa); imagecopy($viejaimagen, $estampa, $sx, $alto - 100, 0, 0, imagesx($estampa), imagesy($estampa)); $nuevaimagen = imagecreatetruecolor($anchura, $altura); $destaque = imagecreatetruecolor($destacadox, $destacadoy); $generale = imagecreatetruecolor($generalx, $generaly); imagecopyresized($nuevaimagen, $viejaimagen, 0, 0, 0, 0, $anchura, $altura, $ancho, $alto); imagecopyresized($destaque, $viejaimagen, 0, 0, 0, 0, $destacadox, $destacadoy, $ancho, $alto); imagecopyresized($generale, $viejaimagen, 0, 0, 0, 0, $generalx, $generaly, $ancho, $alto); $principal = $this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $destacado = $this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $general = $this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $original = $this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; imagejpeg($nuevaimagen, $principal); imagejpeg($destaque, $destacado); imagejpeg($generale, $general); imagejpeg($viejaimagen, $original); $nombre = $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $this->getPlatosTable()->guardarPlato($restaurante, $nombre, $idlocal, $plato_otro, $promoc); $this->redirect()->toUrl('/plato/listar?id=' . $idlocal); } } if ($ancho < $alto) { $eliminar = $this->_options->upload->images . '/plato/destacado/' . $imagen_antigua; $eliminar1 = $this->_options->upload->images . '/plato/general/' . $imagen_antigua; $eliminar2 = $this->_options->upload->images . '/plato/original/' . $imagen_antigua; $eliminar3 = $this->_options->upload->images . '/plato/principal/' . $imagen_antigua; unlink($eliminar); unlink($eliminar1); unlink($eliminar2); unlink($eliminar3); require './vendor/Classes/Filter/Alnum.php'; $anchu = (int) ($ancho * $altura / $alto); if ($anchu > 407) { $anchura = 407; } else { $anchura = $anchu; } if ($info['extension'] == 'jpg' or $info['extension'] == 'JPG' or $info['extension'] == 'jpeg') { $nom = $nonFile['va_nombre']; $imf2 = $valor . '.' . $info['extension']; $filter = new \Filter_Alnum(); $filtered = $filter->filter($nom); $name = $filtered . '-' . $imf2; if (!is_dir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777)) { mkdir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/', 0777); mkdir($this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); mkdir($this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/', 0777); $principal = $this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $destacado = $this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $general = $this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $original = $this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; } $estampa = imagecreatefrompng($this->_options->upload->images . '/defecto/loguito.png'); $viejaimagen = imagecreatefromjpeg($File['tmp_name']); $margen_dcho = 340; $margen_inf = 20; $sx = imagesx($estampa); $sy = imagesy($estampa); imagecopy($viejaimagen, $estampa, $sx, $alto - 100, 0, 0, imagesx($estampa), imagesy($estampa)); $nuevaimagen = imagecreatetruecolor($anchura, $altura); $destaque = imagecreatetruecolor($destacadox, $destacadoy); $generale = imagecreatetruecolor($generalx, $generaly); imagecopyresized($nuevaimagen, $viejaimagen, 0, 0, 0, 0, $anchura, $altura, $ancho, $alto); imagecopyresized($destaque, $viejaimagen, 0, 0, 0, 0, $destacadox, $destacadoy, $ancho, $alto); imagecopyresized($generale, $viejaimagen, 0, 0, 0, 0, $generalx, $generaly, $ancho, $alto); $principal = $this->_options->upload->images . '/plato/principal/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $destacado = $this->_options->upload->images . '/plato/destacado/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $general = $this->_options->upload->images . '/plato/general/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $original = $this->_options->upload->images . '/plato/original/' . $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; imagejpeg($nuevaimagen, $principal); imagejpeg($destaque, $destacado); imagejpeg($generale, $general); imagejpeg($viejaimagen, $original); $nombre = $array[0]['Ta_restaurante_in_id'] . '/' . $idlocal . '/' . $name; $this->getPlatosTable()->guardarPlato($restaurante, $nombre, $idlocal, $plato_otro, $promoc); $this->redirect()->toUrl('/plato/listar?id=' . $idlocal); } } } } else { $platos = $this->getPlatosTable()->getPlato($id); $adapter = new \Zend\File\Transfer\Adapter\Http(); $name = $platos->va_imagen; $this->getPlatosTable()->guardarPlato($restaurante, $name, $idlocal, $plato_otro, $promoc); $this->redirect()->toUrl('/plato/listar?id=' . $idlocal); } } } return array('in_id' => $id, 'va_nombre' => $va_nombre, 'form' => $form, 'idlocal' => $idlocal); }