public function updateAction($id)
 {
     $this->view->categorias = Categorias::getDados();
     $produto = Produtos::findById($id);
     $arr = array();
     if (!empty($produto->imagens)) {
         $imagens = Imagens::find("id in (" . implode(',', $produto->imagens) . ")");
         for ($i = 0; $i < count($produto->imagens); $i++) {
             foreach ($imagens as $key => $value) {
                 if ($value->id == $produto->imagens[$i]) {
                     $arr[] = $value;
                 }
             }
         }
     }
     $this->view->imagens = (object) $arr;
     $this->view->form = new ProdutoForm($produto, array('edit' => true));
     $this->view->relacionado_form = new ProdutosRelacionadosForm($produto, array('edit' => true));
     $form = array();
     if ($this->ecommerce_options->produto_detalhes == '1') {
         foreach ($produto->detalhes as $key => $value) {
             $form[] = new ProdutoDetalheForm((object) $value, array('edit' => true));
         }
         $this->view->form_detalhes = $form;
     }
     if ($this->request->isPost()) {
         $this->save($produto);
     }
     $this->view->produto = $produto;
 }
 public function setData($array)
 {
     $itens = '';
     if ($array['categoria'] == '') {
         $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '0'");
     } else {
         $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '{$array['categoria']}'");
     }
     $criteria['order'] = 'ordem asc';
     $banner = Banners::find($criteria);
     foreach ($banner as $key => $value) {
         $arr = array();
         for ($i = 0; $i < count(unserialize($value->imagens)); $i++) {
             $imagem = unserialize($value->imagens);
             $img = Imagens::findFirst("id = " . $imagem[$i])->toArray();
             $arr[] = $img;
         }
         if ($this->options['background'] && count($arr) > 1) {
             $img = "<img src='" . $this->url_base . $arr[1]['url'] . "' class='img-responsive'/>";
         } else {
             if (!$this->options['background']) {
                 $img = "<img src='" . $this->url_base . $arr[0]['url'] . "' class='img-responsive'/>";
             } else {
                 $img = '';
             }
         }
         $replaces = array($array['slide_item_id'], $array['slide_item_class'], $img, $array['caption'] ? $this->setCaption($value, $key) : '');
         $itens .= parent::replaceWraper(4, $replaces, str_replace('BACKGROUND', 'style="background-image:url(' . $this->url_base . $arr[0]['url'] . ');"', $array['slide_item_wrap']));
     }
     return $itens;
 }
 protected function setImagem($img, $param, $after, $before, $identificador = 0)
 {
     if ($img == 0) {
         $img = new \stdClass();
         $img->url = '/img/no-image.jpg';
     } else {
         $img = Imagens::findFirst($img);
     }
     $imagem = $param == 'item' ? $after : '';
     $attr = '';
     foreach ($this->layout[$param . '_imagem_attr'] as $key => $value) {
         $attr .= $key . '=' . $value . ' ';
         if (isset($this->ecommerce_options->galeria) && $this->ecommerce_options->galeria != '') {
             $attr .= 'data-galeria="' . $this->ecommerce_options->galeria . '"';
         }
     }
     $img_url = $this->url_base . $img->url;
     $size = explode('x', $this->ecommerce_options->imagem_size);
     $src = "{$this->url_base}public/{$img->url}&q=90&w={$size[0]}&h={$size[1]}&zc=2";
     $img = "{$this->url_base}public/timthumb?src={$src}'";
     if ($this->layout['identificador']) {
         $wrap = str_replace('_IDENTIFICADOR_', $identificador, $this->layout[$param . '_imagem_wrap']);
         $wrap = str_replace('_ZOOM_', $img_url, $wrap);
         $wrap = str_replace('_IMAGE_', $img, $wrap);
     } else {
         $wrap = $this->layout[$param . '_imagem_wrap'];
     }
     if ($param == 'item') {
         $imagem .= parent::replaceWraper(3, array($img, $attr, "data-zoom-image='{$img_url}'"), $wrap);
     } else {
         $imagem .= parent::replaceWraper(2, array($img, $attr), $wrap);
     }
     $imagem .= $param == 'item' ? $before : '';
     return $imagem;
 }
 public function updateAction($id)
 {
     $model = Banners::findFirst($id);
     $this->view->imagens = Imagens::find("id in (" . implode(',', unserialize($model->imagens)) . ")");
     $this->view->form = new BannerForm($model, array('edit' => true));
     $this->view->banner = $model;
     if ($this->request->isPost()) {
         $this->save($model);
     }
 }
 public function deleteAction()
 {
     if ($this->request->isAjax()) {
         $this->view->disable();
         $imagem = Imagens::findFirst('id = ' . $this->request->getPost('id'));
         if ($imagem->delete()) {
             $this->response->setContent(json_encode(array('status' => true, 'mensagem' => 'Deletado com sucesso')));
         } else {
             $this->response->setContent(json_encode(array('status' => false, 'mensagem' => 'Houve um erro: Imagem não pode ser deletada')));
         }
         return $this->response;
     }
 }
 public function updateAction($id)
 {
     $model = Banners::findFirst($id);
     $arr = array();
     for ($i = 0; $i < count(unserialize($model->imagens)); $i++) {
         $imagem = unserialize($model->imagens);
         $img = Imagens::findFirst("id = " . $imagem[$i]);
         $arr[] = $img;
     }
     $this->view->imagens = $arr;
     $this->view->form = new BannerForm($model, array('edit' => true));
     $this->view->banner = $model;
     if ($this->request->isPost()) {
         $this->save($model);
     }
 }
 public function setData($array)
 {
     $itens = '';
     if ($array['categoria'] == '') {
         $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '0'");
     } else {
         $criteria = array("posicao_id = {$array['posicao']} AND categoria_id = '{$array['categoria']}'");
     }
     $criteria['order'] = 'ordem asc';
     $banner = Banners::find($criteria);
     foreach ($banner as $key => $value) {
         $imagem = Imagens::findFirst("id in (" . implode(',', unserialize($value->imagens)) . ")")->url;
         $replaces = array($array['slide_item_id'], $array['slide_item_class'], "<img src='" . $this->url_base . $imagem . "' class='img-responsive'/>", $array['caption'] ? $this->setCaption($value, $key) : '');
         $itens .= parent::replaceWraper(4, $replaces, $array['slide_item_wrap']);
     }
     return $itens;
 }
 protected function getThumbnail($obj)
 {
     if (!empty($obj->imagens)) {
         $imagem = Imagens::findFirst($obj->imagens[0])->url;
     } else {
         $imagem = 'img/no-image.jpg';
     }
     if ($this->ecommerce_options->produto_detalhes == '1') {
         $index = parent::arrayMultiSearch($this->detalhes, 'label', 'cor');
         if (!is_null($index)) {
             if (isset($obj->detalhes[0]['cor'])) {
                 $cor = $obj->detalhes[0]['cor'];
                 if (isset($obj->imagem_detalhes) && array_key_exists($cor, $obj->imagem_detalhes)) {
                     $imagem = Imagens::findFirst($obj->imagem_detalhes[$cor][0])->url;
                 }
             }
         }
     }
     $size = explode('x', $this->ecommerce_options->thumbnail_size);
     $src = "?src={$this->url_base}public/{$imagem}&q=90&w={$size[0]}&h={$size[1]}&zc=2";
     return "<img src='{$this->url_base}public/timthumb{$src}' alt='{$obj->nome}' class='img-responsive'>";
 }
 public function searchAction()
 {
     if ($this->request->isPost()) {
         if (isset($_POST['q'])) {
             $this->view->disable();
             $arr = array();
             $param = $this->request->getPost('q');
             $produtos = Produtos::find(array('conditions' => array('nome' => new \MongoRegex("/{$param}/i"))));
             foreach ($produtos as $key => $value) {
                 $arr[$key]['id'] = (string) $value->_id;
                 $arr[$key]['name'] = $value->nome;
                 $arr[$key]['imagem'] = $this->ecommerce_options->url_base . Imagens::findFirst($value->imagens[0])->url;
                 $arr[$key]['url'] = $this->base->generateUrl($value->nome, $value->_id, 'produto');
             }
             $this->response->setHeader("Content-Type", "application/json");
             return $this->response->setContent(json_encode($arr));
         } else {
             $this->view->indice = 0;
             $this->view->pagina = 0;
             $this->view->filtros = array();
             $this->view->search = true;
         }
     }
 }
 protected function getItens($param)
 {
     $html = '';
     $size = 90 / count($this->options['produtos']);
     foreach ($this->options['produtos'] as $key => $value) {
         $html .= '<td style="width:' . $size . '%">';
         if ($param == 'imagem') {
             $imagem = Imagens::findFirst($value['imagens'][0])->url;
             $html .= '<img src="' . $this->url_base . $imagem . '" class="img-responsive" width="150px" />';
         } else {
             if ($param == 'valor' || $param == 'peso' || $param == 'dimensões') {
                 if ($param == 'valor') {
                     $desconto = parent::getDesconto($value);
                     if ($this->ecommerce_options->produto_detalhes == '1') {
                         $html .= 'R$ ' . number_format($value['detalhes'][0][$param] - $desconto, 2, ',', '.');
                         if ($desconto != 0) {
                             $html .= '<span class="preco-desconto">R$ ' . number_format($value['detalhes'][0][$param], 2, ',', '.') . '</span>';
                         }
                     } else {
                         $html .= 'R$ ' . number_format($value[$param] - $desconto, 2, ',', '.');
                         if ($desconto != 0) {
                             $html .= '<span class="preco-desconto">R$ ' . number_format($value[$param], 2, ',', '.') . '</span>';
                         }
                     }
                 } else {
                     if ($param == 'dimensões') {
                         if ($this->ecommerce_options->produto_cubagem_detalhe == '1') {
                             $html .= $value['detalhes'][0]['altura'] . ' / ' . $value['detalhes'][0]['largura'] . ' / ' . $value['detalhes'][0]['comprimento'] . ' CM';
                         } else {
                             $html .= $value['altura'] . ' / ' . $value['largura'] . ' / ' . $value['comprimento'] . ' CM';
                         }
                     } else {
                         if ($param == 'peso') {
                             if ($this->ecommerce_options->produto_cubagem_detalhe == '1') {
                                 $html .= $value['detalhes'][0][$param];
                             } else {
                                 $html .= $value[$param];
                             }
                             $html .= ' KG';
                         } else {
                             $html .= $value['detalhes'][0][$param];
                         }
                     }
                 }
             } else {
                 if ($param == 'avaliação') {
                     $star = Avaliacoes::getStars(Avaliacoes::average(array("produto_id = '{$value['_id']}' and avaliacao_tipo_id = 2 and aprovado = 1", 'column' => 'nota')));
                     if ($star == '') {
                         $html .= 'Produto não foi avaliado';
                     } else {
                         $html .= $star . ' ' . Avaliacoes::count("produto_id = '{$value['_id']}' and avaliacao_tipo_id = 2 and aprovado = 1") . ' -Avaliação(oes)';
                     }
                 } else {
                     if ($param == 'opções') {
                         $html .= '<a href="' . parent::generateUrl($value['nome'], $value['_id'], 'produto') . '" class="btn btn-primary"><i class="fa fa-plus"></i> Mais detalhes</a> ';
                         $html .= '<a href="' . $this->url_base . 'comparacao/delete/' . $value['_id'] . '" class="btn btn-danger"><i class="fa fa-times"></i> Remover</a>';
                     } else {
                         if ($param == 'descrição') {
                             $html .= $value['descricao'];
                         } else {
                             $html .= $value[$param];
                         }
                     }
                 }
             }
         }
         $html .= '</td>';
     }
     return $html;
 }
 protected function getItens()
 {
     $html = '';
     foreach ($this->cart->contents() as $key => $value) {
         $produto = Produtos::findById($value->id)->toArray();
         $html .= "<tr class='cart-item {$this->options['item_class']}'>";
         $preco = number_format($value->price, 2, ',', '.');
         $total = number_format($value->price * $value->quantity, 2, ',', '.');
         $imagem = Imagens::findFirst($produto['imagens'][0]);
         $preco_real = $value->valor_real ? '<span class="preco-desconto">R$ ' . number_format($value->valor_real, 2, ',', '.') . '</span>' : '';
         if (!$this->options['resumo']) {
             $html .= "<td><img src='{$this->url_base}{$imagem->url}' class='img-responsive' style='width:100px'/></td>";
             if ($this->ecommerce_options->produto_detalhes == '1') {
                 $chave = parent::arrayMultiSearch($produto['detalhes'], 'detalhe_id', $value->options['detalhe_id']);
                 $variacao = '';
                 foreach (unserialize($this->ecommerce_options->produto_detalhe_options) as $c => $v) {
                     $variacao .= ucwords($v['label']) . ': ' . $produto['detalhes'][$chave]["{$v['label']}"];
                 }
             } else {
                 $variacao = '';
             }
             $html .= "<td>{$value->name}<br/> <span class='cart-variacao'>{$variacao}</span></td>";
             $select = "<select class='form-control cart-update' data-identificador='{$key}'>";
             if ($this->ecommerce_options->produto_detalhes == '0') {
                 $estoque = $produto['estoque'];
             } else {
                 $estoque = isset($value->options) ? $produto['detalhes'][$chave]['estoque'] : $produto['detalhes'][0]['estoque'];
             }
             for ($i = 1; $i <= $estoque; $i++) {
                 $selected = $value->quantity == $i ? 'selected' : '';
                 $select .= "<option value='{$i}' {$selected}>{$i}</option>";
             }
             $select .= '</select>';
             $html .= "<td style='width:18%'>{$select}</td>";
             $html .= "<td>R\$ {$preco} {$preco_real}</td>";
             $html .= "<td class='cart-item-total'>R\$ {$total}</td>";
             $link = $this->url_base . 'cart/remove/' . $key;
             $html .= "<td><a href='{$link}' class='cart-remove'><i class='fa fa-trash fa-2x'></i></a></td>";
         } else {
             $html .= "<td><img src='{$this->url_base}{$imagem->url}' class='img-responsive' style='width:100px'/></td>";
             $html .= "<td>\n\t\t\t\t\t\t\t{$value->name} <br/>\n\t\t\t\t\t\t\t<strong>{$value->quantity} x R\$ {$preco}</strong>\n\t\t\t\t\t\t\t<h5>R\$ {$total}</h5>\n\t\t\t\t</td>";
         }
         $html .= '<tr/>';
     }
     return $html;
 }