public function avaliacaoAction() { $this->view->disable(); if ($this->request->isPost()) { if ($this->request->isAjax()) { $avaliacao = new Avaliacoes(); $avaliacao->data = date('Y-m-d H:i:s'); if ($avaliacao->save($this->request->getPost())) { $this->response->setContent(json_encode(array('status' => true, 'mensagem' => 'Obrigado pelo feedback, sua avaliação passará por uma análise assim que concluida deixaremos-a visivel para outros usuário.'))); } else { $this->response->setContent(json_encode(array('status' => false, 'mensagem' => 'Houve um erro, tente novamente mais tarde'))); } return $this->response; } } }
public function updateAction($id) { $this->view->disable(); $avaliacao = Avaliacoes::findFirst("id = {$id}"); $avaliacao->aprovado = $_POST['aprovado']; $avaliacao->save(); }
private function getAvaliacoes($produto) { $html = ''; $avaliacoes = Avaliacoes::find("produto_id = '{$produto}' and avaliacao_tipo_id = 2 and aprovado = 1"); if (!empty($avaliacoes->toArray())) { $html .= '<div class="reviews">'; foreach ($avaliacoes as $key => $value) { $data = date('d/m/Y', strtotime($value->data)); $stars = Avaliacoes::getStars($value->nota); $nome = $value->Usuario ? $value->Usuario->nome : $value->nome; $html .= "<h5><strong>{$nome}</strong> {$data} - {$stars}</h5>\n\t\t\t\t\t\t<p>{$value->descricao}</p>\n\t\t\t\t\t\t<hr/>"; } $html .= '</div>'; } else { $html .= '<div class="alert alert-warning">Esse produto ainda não foi avaliado.</div><hr/>'; } return $html; }
protected function getAvaliacoes($obj) { $html = ''; $condicoes = array("produto_id = '{$obj->_id}' and avaliacao_tipo_id = 2 and aprovado = 1", 'column' => 'nota'); $total = Avaliacoes::count($condicoes); $avaliacao = Avaliacoes::getStars(Avaliacoes::average($condicoes)); if ($avaliacao != '') { $str = $total <= 1 ? 'Avaliação' : 'Avaliações'; $html .= $avaliacao . ' ( ' . $total . ' ' . $str . ' )'; $html .= '<br clear="all"/>'; } return $html; }
protected function setAvaliacao() { $produto = (string) $this->layout['produto']->_id; $stars = Avaliacoes::getStars(Avaliacoes::average(array("produto_id = '{$produto}' and avaliacao_tipo_id = 2 and aprovado = 1", 'column' => 'nota'))); return parent::replaceWraper(2, array($this->layout['avaliacao_class'], $stars), $this->layout['avaliacao_wrap']); }
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; }
public function avaliacoesAction() { $this->view->selecionado == 'Minhas Avaliacoes'; $this->view->avaliacoes = Avaliacoes::findWithProduto($this->session->get('id')); }