<legend>
Manuteno de Produtos - {ACAO}
<div class="pull-right">
<a href="{URLLISTAR}" title="Listar produtos"
class="btn">Voltar</a>
</div>
</legend>
<form action="{ACAOFORM}" method="post" class="form-horizontal">
<div class="row-fluid">
<div class="span8">
<input type="hidden" name="codproduto"
id="codproduto" value="{codproduto}">
<div class="control-group">
<label class="control-label"
for="nomeproduto">Nome <span class="required">*</span>:</label>
<div class="controls">
<input type="text" id="nomeproduto"
name="nomeproduto" value="{nomeproduto}" required="required">
</div>
</div>
<div class="control-group">
<label class="control-label"
for="resumoproduto">Resumo <span class="required">*</span>:</label>
<div class="controls">
<textarea name="resumoproduto"
id="resumoproduto" required="required">{resumoproduto}</textarea>
</div>
</div>
<div class="control-group">
<label class="control-label"
for="fichaproduto">Ficha <span class="required">*</span>:</label>
<div class="controls">
<textarea name="fichaproduto" id="fichaproduto"
required="required">{fichaproduto}</textarea>
</div>
</div>
<div class="control-group">
<label class="control-label"
for="valorproduto">Valor <span class="required">*</span>:</label>
<div class="controls">
<input type="text" id="valorproduto"
name="valorproduto" value="{valorproduto}" required="required"
class="set-numeric">
</div>
</div>
<div class="control-group">
<label class="control-label"
for="valorpromocional">Valor Promocional:</label>
<div class="controls">
<input type="text" id="valorpromocional"
name="valorpromocional" value="{valorpromocional}" class="setnumeric">
</div>
</div>
<div class="control-group">
<label class="control-label" for="peso">Peso
(kg) <span class="required">*</span>:</label>
<div class="controls">
<input type="text" id="peso" name="peso"
value="{peso}" required="required" class="set-peso">
2
</div>
</div>
<div class="control-group">
<label class="control-label"
for="altura">Altura (cm) <span class="required">*</span>:</label>
<div class="controls">
<input type="text" id="altura" name="altura"
value="{altura}" required="required" class="set-peso">
</div>
</div>
<div class="control-group">
<label class="control-label"
for="largura">Largura (cm) <span class="required">*</span>:</label>
<div class="controls">
<input type="text" id="largura" name="largura"
value="{largura}" required="required" class="set-peso">
</div>
</div>
<div class="control-group">
<label class="control-label"
for="comprimento">Comprimento (cm) <span
class="required">*</span>:</label>
<div class="controls">
<input type="text" id="comprimento"
name="comprimento" value="{comprimento}" required="required"
class="set-peso">
</div>
</div>
<div class="control-group">
<label class="control-label"
for="codtipoatributo">Tipo:</label>
<div class="controls">
<select name="codtipoatributo"
id="codtipoatributo" {des_tipoatributo} class="set-quantidade-sku">
<option value="">No
especificado</option>
{BLC_TIPOATRIBUTOS}
<option value="{CODTIPOATRIBUTO}"
{sel_codtipoatributo}>{NOME}</option>
{/BLC_TIPOATRIBUTOS}
</select>
</div>
</div>
<div class="control-group" id="quantidade-sku">
<label class="control-label"
for="quantidade">Quantidade:</label>
<div class="controls">
<input type="text" id="quantidade"
name="quantidade" value="{quantidade}" class="set-integer input-small"
{readonly}>
</div>
</div>
</div>
<div class="span4">
<h5>Departamentos</h5>
<ul class="lista-departamentos">
{BLC_DEPARTAMENTOPAI}
<li>
<label for="departamento{CODDEPARTAMENTO}" class="checkbox">
3
<input {chk_departamentopai}
name="departamento[]" class="set-departamento-pai" type="checkbox"
id="departamento-{CODDEPARTAMENTO}" value="{CODDEPARTAMENTO}">
{NOMEDEPARTAMENTO}</label>
</li>
<li>
<ul class="lista-departamentos">
{BLC_DEPARTAMENTOFILHO}
<li>
<label for="departamento{CODDEPARTAMENTOFILHO}" class="checkbox">
<input
{chk_departamentofilho} name="departamento[]" class="set-departamentofilho" data-pai="{CODDEPARTAMENTOPAI}" type="checkbox"
id="departamento-{CODDEPARTAMENTOFILHO}"
value="{CODDEPARTAMENTOFILHO}"> {NOMEDEPARTAMENTOFILHO}</label>
</li>
{/BLC_DEPARTAMENTOFILHO}
</ul>
</li>
{/BLC_DEPARTAMENTOPAI}
</ul>
</div>
</div>
<div class="well">
<button type="submit" class="btn">Salvar</button>
</div>
</form>
4
href="{URLVINCULAIMAGEMSKU}" title="Vincular imagens
com atributos"><em
class="icon-picture"></em></a></td>
<td class="alinha-centro"><a href="{URLUPLOAD}"
title="Upload de Imagens"><em class="iconupload"></em></a></td>
<td>{CODPRODUTO}</td>
<td>{NOME}</td>
<td class="alinha-centro"><a href="{URLEXCLUIR}"
title="Excluir"
class="link-excluir"><em class="icontrash"></em></a></td>
</tr>
{/BLC_DADOS} {BLC_SEMDADOS}
<tr>
<td colspan="4" class="alinha-centro">No h dados</td>
</tr>
{/BLC_SEMDADOS}
</table>
<div class="pagination pull-right">
<ul>
<li class="{HABANTERIOR}"><a
href="{URLANTERIOR}">«</a>
{BLC_PAGINAS}
<li class="{LINK}"><a href="{URLLINK}">{INDICE}</a>
{/BLC_PAGINAS}
<li class="{HABPROX}"><a href="{URLPROXIMO}">»</a>
</ul>
</div>
= array();
= site_url('painel/produto');
= array();
5
$data['BLC_SEMDADOS']
$data['BLC_PAGINAS']
= array();
= array();
$pagina
= $this->input->get('pagina');
if (!$pagina) {
$pagina = 0;
} else {
$pagina = ($pagina-1) * LINHAS_PESQUISA_DASHBOARD;
}
$res
if ($res) {
foreach($res as $r) {
$data['BLC_DADOS'][] = array(
"CODPRODUTO"
>codproduto,
"NOME"
$r->nomeproduto,
"URLEDITAR"
site_url('painel/produto/editar/'.$r->codproduto),
"URLEXCLUIR"
site_url('painel/produto/excluir/'.$r->codproduto),
"URLATRIBUTOS"
site_url('painel/produto/atributos/'.$r->codproduto),
"URLUPLOAD"
site_url('painel/produto/uploadfoto/'.$r->codproduto),
"URLVINCULAIMAGEMSKU"
site_url('painel/produto/fotosku/'.$r->codproduto)
);
}
} else {
$data['BLC_SEMDADOS'][] = array();
}
=> $r=>
=>
=>
=>
=>
=>
$totalItens
= $this->ProdutoM->getTotal();
$totalPaginas
=
ceil($totalItens/LINHAS_PESQUISA_DASHBOARD);
$pagina
$indicePg
if (!$pagina) {
$pagina = 1;
}
$pagina
= $this->input->get('pagina');
= 1;
= ($pagina==0)?1:$pagina;
6
} else {
$paginaVoltar = 99999;
if ($pagina > 1) {
$paginaVoltar = $pagina - 1;
}
$data['HABANTERIOR']= null;
$data['URLANTERIOR']= site_url('painel/produto?
pagina='.$paginaVoltar);
}
$indicePg++;
$this->parser->parse('painel/produto_listar', $data);
=>
setURL($data, 'produto');
/**
* BUSCA DEPARTAMENTOS PAI
*/
$depPai = $this->DepartamentoM>get(array("d.coddepartamentopai IS NULL" => NULL), FALSE, 0, FALSE);
if ($depPai) {
foreach($depPai as $dp) {
//DEFINE OS ELEMENTOS DO FILHO - INCIO
$aFilhos = array();
$deFilhos = $this->DepartamentoM>get(array("d.coddepartamentopai" => $dp->codepartamento), FALSE, 0,
FALSE);
=>
=>
=>
=>
if ($deFilhos) {
foreach($deFilhos as $df) {
$aFilhos[] = array(
"CODDEPARTAMENTOFILHO"
$df->codepartamento,
"NOMEDEPARTAMENTOFILHO"
$df->nomedepartamento,
"CODDEPARTAMENTOPAI"
$df->coddepartamentopai,
"chk_departamentofilho"
null
);
}
}
//DEFINE OS ELEMENTOS DO FILHO - FIM
//DEFINE OS ELEMENTOS DO PAI
$data['BLC_DEPARTAMENTOPAI'][] = array(
"CODDEPARTAMENTO"
=> $dp-
>codepartamento,
"NOMEDEPARTAMENTO"
>nomedepartamento,
=> $dp-
);
}
$this->parser->parse('painel/produto_form', $data);
}
public function salvar() {
$codproduto
$nomeproduto
>post('nomeproduto');
$resumoproduto
>post('resumoproduto');
$fichaproduto
>post('fichaproduto');
= $this->input->post('codproduto');
= $this->input= $this->input= $this->input-
8
$valorproduto
= $this->input>post('valorproduto');
$valorpromocional = $this->input->post('valorpromocional');
$codtipoatributo = $this->input->post('codtipoatributo');
$quantidade
= $this->input->post('quantidade');
$peso
= $this->input->post('peso');
$altura
= $this->input->post('altura');
$largura
= $this->input->post('largura');
$comprimento
= $this->input>post('comprimento');
$departamento
>post('departamento');
= $this->input-
$valorproduto
=
modificaDinheiroBanco($valorproduto);
$valorpromocional
=
modificaDinheiroBanco($valorpromocional);
$peso
= modificaDinheiroBanco($peso);
$altura
= modificaDinheiroBanco($altura);
$largura
= modificaDinheiroBanco($largura);
$comprimento
= modificaDinheiroBanco($comprimento);
$erros
$mensagem
= FALSE;
= null;
if (!$nomeproduto) {
$erros
= TRUE;
$mensagem
.= "Informe nome do produto.\n";
}
if (!$resumoproduto) {
$erros
= TRUE;
$mensagem
.= "Informe o resumo do produto.\n";
}
if (!$fichaproduto) {
$erros
= TRUE;
$mensagem
.= "Informe a ficha do produto.\n";
}
if (!$valorproduto) {
$erros
= TRUE;
$mensagem
.= "Informe o valor do produto.\n";
} else {
if ($valorpromocional) {
if ($valorpromocional >= $valorproduto) {
$erros
= TRUE;
$mensagem
.= "Valor promocional no
pode ser maior que o valor de venda.\n";
}
}
}
if (!$erros) {
$itens
$resumoproduto,
= array(
"nomeproduto"
"resumoproduto"
=> $nomeproduto,
=>
"fichaproduto"
"valorproduto"
=> $fichaproduto,
=> $valorproduto,
9
"valorpromocional"
$valorpromocional,
"peso"
"altura"
"largura"
"comprimento"
);
if (!$codproduto) {
$itens["urlseo"]
url_title(strtolower($nomeproduto));
=>
=> $peso,
=> $altura,
=> $largura,
=> $comprimento
if ($codtipoatributo) {
$itens["codtipoatributo"]
$codtipoatributo;
}
if ($codproduto) {
$codproduto = $this->ProdutoM->update($itens,
$codproduto);
} else {
$codproduto = $this->ProdutoM->post($itens);
if (!$codtipoatributo) {
$sku = array(
"referencia"
"quantidade"
$quantidade,
"codproduto"
$codproduto
=> null,
=>
=>
);
$this->SkuM->post($sku);
}
if ($codproduto) {
$this->session->set_flashdata('sucesso', 'Dados
inseridos com sucesso.');
$this->ProdDepM->delete($codproduto);
//VINCULA DEPARTAMENTOS
foreach($departamento as $dep) {
$itenDepProd = array();
$itenDepProd['codproduto']
= $codproduto;
$itenDepProd['codprodutodepartamento']
= $dep;
$this->ProdDepM->post($itenDepProd);
}
redirect('painel/produto');
} else {
$this->session->set_flashdata('erro', 'Ocorreu
um erro ao realizar a operao.');
if ($codproduto) {
10
redirect('painel/produto/editar/'.
$codproduto);
} else {
redirect('painel/produto/adicionar');
}
}
} else {
$this->session->set_flashdata('erro',
nl2br($mensagem));
if ($codproduto) {
redirect('painel/produto/editar/'.$codproduto);
} else {
redirect('painel/produto/adicionar');
}
}
}
public function editar($id) {
$data
= array();
$data['ACAO']
= 'Edio';
$data['des_tipoatributo']
= 'disabled="disabled"';
$data['readonly']
= 'readonly';
$res
TRUE);
if ($res) {
foreach($res as $chave => $valor) {
$data[$chave] = $valor;
}
} else {
show_error('No foram encontrados dados.', 500,
'Ops, erro encontrado.');
}
if (empty($res->codtipoatributo)) {
$sku = $this->SkuM->getPorProdutoSimples ( $id );
$data["quantidade"] = $sku->quantidade;
}
$data['valorproduto']
= modificaNumericValor($res>valorproduto);
$data['valorpromocional']
= modificaNumericValor($res>valorpromocional);
$data['peso']
= modificaNumericPeso($res>peso);
$data['altura']
= modificaNumericPeso($res>altura);
$data['largura']
= modificaNumericPeso($res>largura);
$data['comprimento']
= modificaNumericPeso($res>comprimento);
setURL($data, 'produto');
FALSE);
11
>codtipoatributo,
$data['BLC_TIPOATRIBUTOS'][] = array(
"CODTIPOATRIBUTO"
=> $t-
$t->nometipoatributo,
"NOME"
=>
"sel_codtipoatributo"
=> ($t>codtipoatributo == $res->codtipoatributo)?'selected="selected"':null
);
}
//ARMAZENA OS DEPARTAMENTOS VINCULADO
$aDepartamentosVinculados = array();
$id));
if ($depVinc) {
foreach ($depVinc as $depv) {
array_push($aDepartamentosVinculados, $depv>codprodutodepartamento);
}
}
/**
* BUSCA DEPARTAMENTOS PAI
*/
$depPai = $this->DepartamentoM>get(array("d.coddepartamentopai IS NULL" => NULL), FALSE, 0, FALSE);
if ($depPai) {
foreach($depPai as $dp) {
//DEFINE OS ELEMENTOS DO FILHO - INCIO
$aFilhos = array();
$deFilhos = $this->DepartamentoM>get(array("d.coddepartamentopai" => $dp->codepartamento), FALSE, 0,
FALSE);
if ($deFilhos) {
foreach($deFilhos as $df) {
$aFilhos[] = array(
"CODDEPARTAMENTOFILHO"
=> $df->codepartamento,
"NOMEDEPARTAMENTOFILHO"
=> $df->nomedepartamento,
"CODDEPARTAMENTOPAI"
=> $df->coddepartamentopai,
"chk_departamentofilho"
=> (in_array($df->codepartamento,
$aDepartamentosVinculados))?'checked="checked"':null
);
}
}
//DEFINE OS ELEMENTOS DO FILHO - FIM
//DEFINE OS ELEMENTOS DO PAI
$data['BLC_DEPARTAMENTOPAI'][] = array(
12
$dp->codepartamento,
$dp->nomedepartamento,
"CODDEPARTAMENTO"
=>
"NOMEDEPARTAMENTO"
=>
"BLC_DEPARTAMENTOFILHO" =>
$aFilhos,
"chk_departamentopai"
(in_array($dp->codepartamento,
$aDepartamentosVinculados))?'checked="checked"':null
);
}
}
=>
$this->parser->parse('painel/produto_form', $data);
}
public function excluir($id) {
$res = $this->ProdutoM->delete($id);
if ($res) {
$this->session->set_flashdata('sucesso', 'Produto
removido com sucesso.');
} else {
$this->session->set_flashdata('erro', 'Produto no
pode ser removido.');
}
}
redirect('painel/produto');
= array();
array();
array();
array();
array();
=
= $this->ProdutoM->get(array("codproduto"
if ($infoProduto) {
$data['NOMEPRODUTO']= $infoProduto->nomeproduto;
$data['CODPRODUTO']
= $infoProduto->codproduto;
} else {
show_error('No foram encontrados dados.', 500,
'Ops, erro encontrado.');
}
$variosSKUs = FALSE;
if (empty($infoProduto->codtipoatributo)) {
$resExistente
= $this->SkuM>getPorProdutoSimples($id);
} else {
$variosSKUs = TRUE;
13
$resExistente
>getPorProdutoAtributo($id);
}
= $this->SkuM-
if ($resExistente) {
if ($variosSKUs) {
foreach($resExistente as $rEx) {
$data['BLC_VINCULADOS'][] = array(
"CODSKU"
=> $rEx->codsku,
"REFERENCIA" => $rEx->referencia,
"QUANTIDADE" => $rEx->quantidade,
"DESCRICAO" => $rEx->nomeatributo
);
}
} else {
$data['BLC_VINCULADOS'][] = array(
"CODSKU"
=> $resExistente->codsku,
"REFERENCIA" => $resExistente->referencia,
"QUANTIDADE" => $resExistente->quantidade,
"DESCRICAO"
=> $resExistente>nomeatributo
);
}
} else {
$data['BLC_SEMVINCULADOS'][] = array();
}
//ATRIBUTOS DISPONVEIS
if (empty($infoProduto->codtipoatributo)) {
$data['BLC_SEMDISPONIVEIS'][] = array();
} else {
$atribDisponivel = $this->SkuM>getAtributosDisponiveis($id);
if ($atribDisponivel) {
foreach($atribDisponivel as $aD) {
$data['BLC_DISPONIVEIS'][]
= array(
"DESCRICAO"
=> $aD>nomeatributo,
>codatributo
"CODATRIBUTO"
=> $aD-
);
}
} else {
$data['BLC_SEMDISPONIVEIS'][] = array();
}
}
$this->parser->parse('painel/produtoatributo_listar',
$data);
}
public function salvaatributo() {
$codproduto = $this->input->post('codproduto');
//INSERE ATRIBUTOS E TRANSFORMA EM SKU
$atributo
= $this->input->post('atributo');
14
foreach($atributo as $codatributo => $valores) {
if ((!empty($valores['referencia'])) || (!
empty($valores['quantidade']))) {
$sku = array(
"referencia"
=>
"quantidade"
=>
"codproduto"
=> $codproduto
$valores['referencia'],
$valores['quantidade'],
);
$codsku = $this->SkuM->post($sku);
if ($codsku) {
$atributoSku = array(
"codsku"
=> $codsku,
"codatributo"
=> $codatributo
);
$this->SkuM->postAtributo($atributoSku);
}
}
//ATUALIZA SKUS
$skuExistente
= $this->input->post('sku');
if ($skuExistente) {
foreach($skuExistente as $codsku => $valores) {
if ($valores['remover'] === 'S') {
$this->SkuM->delete($codsku);
} else {
$skuAtualiza = array(
"referencia" =>
$valores['referencia'],
"quantidade" =>
$valores['quantidade']
);
$this->SkuM->update($codsku,
$skuAtualiza);
}
sucesso.');
}
}
}
/**
* Cria o formulrio de upload de foto
* @param integer $id
*/
public function uploadfoto($id) {
$this->jsRequire = "upload";
15
$infoProduto
=> $id), TRUE);
= $this->ProdutoM->get(array("codproduto"
if (!$infoProduto) {
show_error('No foram encontrados dados.', 500,
'Ops, erro encontrado.');
}
$data
= array();
$data['CODPRODUTO']
= $id;
$data['NOMEPRODUTO']= $infoProduto->nomeproduto;
$data['URLLISTAR']
= site_url('painel/produto');
$data['URLUPLOAD']
=
site_url('painel/produto/salvafoto');
$this->parser->parse('painel/produto_foto_upload', $data);
}
/**
* Criao das fotos no servidor
*/
public function salvafoto() {
$codproduto = $this->input->post('codproduto');
$arquivo
= $_FILES['fotos'];
if ($arquivo['error'][0]) {
}
$arquivoNome= $arquivo["name"][0];
$extensao
PATHINFO_EXTENSION));
= strtolower(pathinfo($arquivoNome,
$foto = array(
"codproduto"
"produtofotoextensao"
);
$codfoto
$enderecoFoto
$codfoto.'.'.$extensao;
=> $codproduto,
=> $extensao
= $this->FotoM->post($foto);
= '/assets/img/produto/original/'.
move_uploaded_file($arquivo['tmp_name'][0], FCPATH.
$enderecoFoto);
//CRIA A MINIATURA DA GALERIA DE FOTOS
$this->redimensionaFoto($codfoto, $extensao, 80, 80);
//CRIA A MINIATURA DA PGINA INICIAL
$this->redimensionaFoto($codfoto, $extensao, 150, 150);
//CRIA A FOTO PARA A FICHA DE PRODUTOS
$this->redimensionaFoto($codfoto, $extensao, 500, 500);
$jsonRetorno
= array("files" =>
array(array(
"name"
$arquivo["name"][0],
=>
16
"type"
$arquivo["type"][0],
base_url($enderecoFoto),
=>
"url"
=>
"thumbnarilUrl"
=>
base_url($enderecoFoto),
"deleteUrl"
=>
site_url('painel/produto/removefoto/'.$codfoto.'/'.$codproduto),
"deleteType"
=> 'DELETE'
))
);
$this->layout = '';
echo json_encode($jsonRetorno);
die();
/**
* Remove as fotos do banco de dados e do servidor
* @param integer $codfoto
* @param integer $codproduto
*/
public function removefoto($codprodutofoto, $codproduto) {
$condicao = array(
"codprodutofoto"=> $codprodutofoto,
"codproduto"
=> $codproduto
);
$infoFoto = $this->FotoM->get($condicao, TRUE);
if ($this->FotoM->delete($codprodutofoto, $codproduto)) {
unlink(FCPATH.'/assets/img/produto/original/'.
$codprodutofoto.'.'.$infoFoto->produtofotoextensao);
}
/**
* Redimensiona as imagens
* @param integer $codprodutofoto
* @param string $extensao
* @param integer $altura
* @param integer $largura
*/
private function redimensionaFoto($codprodutofoto, $extensao,
$altura, $largura) {
if (!is_dir(FCPATH."/assets/img/produto/
{$altura}x{$largura}/")){
mkdir(FCPATH."/assets/img/produto/
{$altura}x{$largura}/");
}
$configImagem['image_library']
= 'gd2'; //BIBLIOTECA
RESPONSVEL PELO REDIMENSIONAMENTO
$configImagem['source_image'] =
FCPATH.'/assets/img/produto/original/'.$codprodutofoto.'.'.$extensao;
17
$configImagem['new_image']
=
FCPATH."/assets/img/produto/{$altura}x{$largura}/".
$codprodutofoto.'.'.$extensao;
$configImagem['create_thumb'] = FALSE;
$configImagem['maintain_ratio']
= TRUE;
$configImagem['width']
= $largura;
$configImagem['height']
= $altura;
$this->load->library('image_lib');
$this->image_lib->clear();
$this->image_lib->initialize($configImagem);
$this->image_lib->resize();
}
/**
* Exibe pgina de vinculao de fotos com atributos/skus
* @param unknown $codproduto
*/
public function fotosku($codproduto) {
$res
= $this->ProdutoM->get(array("codproduto" =>
$codproduto), TRUE);
if (!$res) {
show_error('No foram encontrados dados.', 500, 'Ops,
erro encontrado.');
}
$fotos = $this->FotoM->get(array("codproduto" =>
$codproduto));
$data = array();
$data['NOMEPRODUTO'] = $res->nomeproduto;
$data['BLC_FOTOS'] = array();
$data['BLC_SEMFOTOS'] = array();
$data['URLSALVAFOTOATRIBUTO'] =
site_url('painel/produto/salvafotosku');
$sku = $this->SkuM->getPorProdutoAtributo($codproduto);
$this->load->model('FotoSku_Model', 'FotoSkuM');
if ($fotos) {
foreach($fotos as $f) {
$skusvinculados = $this->FotoSkuM->getSKUsFoto($f>codprodutofoto);
$aSKUsVinculados = array();
if ($skusvinculados) {
foreach ($skusvinculados as $sv) {
array_push($aSKUsVinculados, $sv->codsku);
}
}
$aSKU = array();
if ($sku) {
18
foreach($sku as $s) {
$aSKU[] = array(
"CODSKU" => $s->codsku,
"NOMESKU" => $s->nomeatributo,
"SEL_SKU" => in_array($s->codsku,
$aSKUsVinculados)?"selected=\"selected\"":null
);
}
}
$data['BLC_FOTOS'][] = array(
"URLIMAGEM"
=>
base_url('assets/img/produto/80x80/'.$f->codprodutofoto.'.'.$f>produtofotoextensao),
"BLC_SKUSPRODUTO" => $aSKU,
"CODPRODUTOFOTO"
=> $f->codprodutofoto
);
}
} else {
$data['BLC_SEMFOTOS'][] = array();
}
$data['CODPRODUTO'] = $codproduto;
$data);
}
$this->parser->parse('painel/produtogerenciafoto_form',
/**
* Vincula as fotos com o SKU no banco de dado
*/
public function salvafotosku() {
$skus
= $this->input->post('skus');
$codproduto= $this->input->post('codproduto');
$remover
= $this->input->post('remover');
$aImagensRemover = array();
if ($remover) {
foreach($remover as $codprodutofoto => $remove) {
array_push($aImagensRemover, $codprodutofoto);
}
$this->FotoM->delete($codprodutofoto, $codproduto);
}
$this->load->model('FotoSku_Model', 'FotoSkuM');
foreach($skus as $codprodutofoto => $codigossku) {
if (in_array($codprodutofoto, $aImagensRemover)) {
continue;
}
$this->FotoSkuM->limpaImagens($codprodutofoto);
foreach($codigossku as $codsku) {
$itemFoto = new stdClass();
$itemFoto->codprodutofoto = $codprodutofoto;
$itemFoto->codsku = $codsku;
19
$this->FotoSkuM->post($itemFoto);
}
$this->session->set_flashdata('sucesso', 'Imagens
modificadas com sucesso.');
redirect('painel/produto/fotosku/'.$codproduto);
}
}
}
public function getBuscaTotal($condicao = array()) {
$this->db->from ( "produto p" );
foreach ( $condicao as $c ) {
$this->db->like ( "UPPER(p.nomeproduto)", strtoupper
( $c ), 'both' );
}
$this->db->where ( "fun_totalsku(p.codproduto) > ", 0, FALSE
);
return $this->db->count_all_results ();
}
20
public function getBusca($condicao = array(), $primeiraLinha =
FALSE, $pagina = 0, $limite = LINHAS_PESQUISA_DASHBOARD, $ordenacao =
FALSE, $tipoOrdem = "ASC") {
$this->db->select ( 'codproduto, nomeproduto, resumoproduto,
fichaproduto, valorproduto, valorpromocional, codtipoatributo, urlseo'
);
foreach ( $condicao as $c ) {
$this->db->like ( "UPPER(nomeproduto)", strtoupper ( $c ),
'both' );
}
$this->db->from ( 'produto' );
if ($primeiraLinha) {
return $this->db->get ()->first_row ();
} else {
if ($limite !== FALSE) {
$this->db->limit ( $limite, $pagina );
}
if ($ordenacao) {
$this->db->order_by ( $ordenacao, $tipoOrdem );
}
return $this->db->get ()->result ();
}
}
public function getDepartamentoTotal($condicao = array()) {
$this->db->from ( "produto p" );
$this->db->from ( "produtodepartamento dp" );
$this->db->where ( $condicao );
$this->db->where ( "dp.codproduto", "p.codproduto", FALSE );
$this->db->where ( "fun_totalsku(p.codproduto) > ", 0, FALSE
);
return $this->db->count_all_results ();
}
public function getDepartamento($condicao = array(),
$primeiraLinha = FALSE, $pagina = 0, $limite =
LINHAS_PESQUISA_DASHBOARD, $ordenacao = FALSE, $tipoOrdem = "ASC") {
$this->db->select ( 'p.codproduto, p.nomeproduto,
p.resumoproduto, p.fichaproduto, p.valorproduto, p.valorpromocional,
p.codtipoatributo, p.urlseo' );
$this->db->from ( "produto p" );
$this->db->from ( "produtodepartamento dp" );
$this->db->where ( $condicao );
$this->db->where ( "dp.codproduto", "p.codproduto", FALSE );
$this->db->where ( "fun_totalsku(p.codproduto) > ", 0, FALSE
);
if ($primeiraLinha) {
return $this->db->get ()->first_row ();
} else {
if ($limite !== FALSE) {
$this->db->limit ( $limite, $pagina );
}
if ($ordenacao) {
$this->db->order_by ( $ordenacao, $tipoOrdem );
}
21
return $this->db->get ()->result ();
}
}
public function post($itens) {
$res = $this->db->insert ( 'produto', $itens );
if ($res) {
return $this->db->insert_id ();
} else {
return FALSE;
}
}
public function update($itens, $codproduto) {
$this->db->where ( 'codproduto', $codproduto, FALSE );
$res = $this->db->update ( 'produto', $itens );
if ($res) {
return $codproduto;
} else {
return FALSE;
}
}
public function delete($codproduto) {
$this->db->where ( 'codproduto', $codproduto, FALSE );
return $this->db->delete ( 'produto' );
}
22