public function add($titulo, $params) { if (is_array($params)) { $alias = $params['pagina']; } if (is_string($params)) { $alias = $params; $params = array('pagina' => $params); } if (isset($params['query'])) { parse_str($params['query'], $query); if (isset($query['ativarMenu'])) { $alias = $alias . '.' . $query['ativarMenu']; } } $programa = JRequest::getvar('programa'); $permissao = jAccess($alias, array('programa' => $programa, 'retorno' => 'bool')); if (!$permissao) { return false; } // convert params para json $rel = str_replace('"', '\'', json_encode($params)); // adiciona o menu $this->menus[$alias] = array('titulo' => $titulo, 'rel' => $rel); }
public function enviar_email($contato, $idemail) { jAccess('enviarUm.form'); $email = $this->busca_email_ativo_id($idemail); if (!$email) { return $retorno = array('retorno' => false, 'msg' => 'E-mail não encontrado!', 'tipo' => 'error'); } $subject = $email->assunto; $message = $this->createHtml($email, $contato); $from = "{$email->Remetente->nome} <{$email->Remetente->email}>"; $headers = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=uft-8' . "\r\n" . 'From: ' . $from . "\r\n" . 'Reply-To: ' . $from . "\r\n" . 'X-Mailer: PHP/' . phpversion() . "\r\n" . 'eDesktop: Mailing/1.0' . "\r\n"; if (@mail($contato, $subject, $message, $headers)) { $dados = array('nome' => '', 'email' => $contato, 'status' => 1); $contato = $this->salva_contato($dados); if ($contato['retorno']) { $retorno = array('retorno' => true, 'msg' => 'E-mail enviado com sucesso!\\nO contato ' . $dados['email'] . ' foi cadastrado com sucesso!'); } else { $retorno = array('retorno' => true, 'msg' => 'E-mail enviado com sucesso!'); } } else { $retorno = array('retorno' => false, 'msg' => 'Houve um erro ao enviar o e-mail!', 'tipo' => 'error'); } return $retorno; }
$produto['alias'] = JFilterOutput::stringURLSafe($produto['alias']); } /* TABELA PRODUTOS * ******************************/ // abre a tabela com os novo dados jimport('edesktop.programas.produtos.produtos'); $produto = new edesktop_produtos_produtos($produto); // verifica se o registro já existe if ($id) { // verifica se o usuario logado tem permissão jAccess('produtos.editar'); // atualiza os dados do registro $produto->db->update(); // pega as categorias do produto $categorias = JRequest::getvar('categorias', array(), 'array'); // salva categotorias relacionadas $produto->salva_categorias($id, $categorias); // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'Dados do produto foram atualizados com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('produtos.adicionar'); // cadastra o novo registro $produto->db->insert(); // carrega as vars de retorno $retorno = 'insertOk'; $msg = 'Produto cadastrado com sucesso!'; } // imprime o retorno jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'produto' => $produto->db->get_dados())));
// permissoes $permissoes = ''; $permissoes_novas = JRequest::getvar('permissoes', array()); $permissoes_total = count($permissoes_novas); $permissoes_count = 0; foreach ($permissoes_novas as $permissao) { $permissoes_count++; $permissoes .= $permissoes_count != $permissoes_total ? "{$permissao}\n" : $permissao; } $dados['permissoes'] = $permissoes; // abre a tabela com os novo dados $grupo = new JCRUD('jos_edesktop_usuarios_grupos', $dados); // verifica se o registro já existe if ($grupo->id) { // verifica se o usuario logado tem permissão jAccess('grupos.editar'); // atualiza os dados do registro $grupo->update(); // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'Dados do grupo de usuário foram atualizados com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('grupos.adicionar'); // cadastra o novo registro $grupo->insert(); // carrega as vars de retorno $retorno = 'insertOk'; $msg = 'Grupo de usuário cadastrado com sucesso!'; } jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'id' => $grupo->id)));
$aro = new JCRUD("jos_core_acl_aro"); $aro = $aro->busca_por_id($usuario->id, 'value'); $aro->name = $usuario->name; $aro->update(); // adiciona valores na tabela jos_core_acl_groups_aro_map $groups_aro_map = new JCRUD("jos_core_acl_groups_aro_map"); $groups_aro_map = $groups_aro_map->busca_por_id($aro->id, 'aro_id'); $groups_aro_map->group_id = $dados['gid']; $groups_aro_map->update('aro_id'); } // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'Dados do usuário foram atualizados com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('usuarios.adicionar'); // adiciona a data de registro $usuario->registerDate = date("Y-m-d H:i:s"); // cadastra o novo registro $usuario->insert(); // adiciona valores na tabela jos_core_acl_aro $aro = new JCRUD("jos_core_acl_aro"); $aro->section_value = 'users'; $aro->value = $usuario->id; $aro->order_value = 0; $aro->name = $usuario->name; $aro->hidden = 0; $aro->insert(); // adiciona valores na tabela jos_core_acl_groups_aro_map $groups_aro_map = new JCRUD("jos_core_acl_groups_aro_map"); $groups_aro_map->group_id = $usuario->gid;
if (!$dados['idproduto']) { $msg .= '- ID do produto não foi encontrado!<br>'; } if (!empty($msg)) { jexit(json_encode(array('tipo' => 'error', 'msg' => 'Preencha corretamente o(s) seguinte(s) campo(s):<br><br>' . $msg))); } // adiciona os <br> $dados['html'] = str_replace("\n", '<br>', $dados['html']); // abre a tabela com os novo dados jimport('edesktop.programas.produtos.textos'); $texto = new edesktop_produtos_textos($dados); // verifica se o registro já existe if ($id) { // verifica se o usuario logado tem permissão jAccess('textos.editar'); // atualiza os dados do registro $texto->db->update(); // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'O texto do produto foi atualizado com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('textos.adicionar'); // cadastra o novo registro $texto->db->insert(); // carrega as vars de retorno $retorno = 'insertOk'; $msg = 'O texto do produto foi cadastrado com sucesso!'; } // imprime o retorno jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'produto' => $texto->db->id)));
public function conteudo() { $script = ''; if (!$this->funcao) { // abre as configurações do programa $this->config = $this->get_config($this->programa); if ($this->pagina == 'index') { $this->pagina = $this->config['default']; JRequest::setvar('pagina', $this->config['default']); } // carrega os menus laterais jimport('edesktop.menu.lateral'); // verifica se existe o arquivo menus.php if (file_exists($this->pasta . DS . 'menus.php')) { require_once $this->pasta . DS . 'menus.php'; } // inicia a class $dados = new stdClass(); // carrega a messagem de retorno $dados->msg = JRequest::getvar('msg', ''); $dados->msgTipo = JRequest::getvar('msg_tipo', 'error'); // inicia as variaveis de sessão do dialog/pagina $script = "<script type=\"text/javascript\">\n \$(function(){\n var processID = '{$this->processID}';\n var \$dialog = \$('#d' +processID);\n var \$main = \$dialog.parent();\n\n var url_js = '{$this->url_programa}/js';\n var url_base = '{$this->url_base}';\n var url_programa = '{$this->url_programa}';\n \n var msg = '{$dados->msg}';\n \n\t\t\t\t\t\t\t\t\tif(msg != '')\n\t\t\t\t\t\t\t\t\t\teDesktop.dialog.aviso(msg, '{$dados->msgTipo}', \$('.corpo', \$main));\n\n var pagina = '{$this->pagina}';\n var programa = '{$this->programa}';\n\n var formURL = function(pagina, programa){\n programa = (programa == undefined) ? '{$this->programa}' : programa;\n return '?{$this->token}=1&template={$this->template}&class=programa&programa=' +programa+ '&method=conteudo&pagina=' + pagina;\n };\n \n // botões\n \$('.button, .acoes .submit').button();\n "; // verifica se existe o arquivo js $js_file = $this->pasta_paginas . DS . $this->pagina . '.js'; if (file_exists($js_file) && filesize($js_file)) { $handle = fopen($js_file, "r"); $js_file = fread($handle, filesize($js_file)); fclose($handle); $script .= "// js_file\n\n" . $js_file . "\n\n"; } $script .= "});\n</script>\n\n"; } // verifica a permissão do usuário jAccess($this->pagina); // envia o formURL para o smarty $this->smarty->assign('formURL', $this->formURL('')); // envia o processID para o smarty $this->smarty->assign('processID', $this->processID); // abre a página $pagina = $this->pasta_paginas . DS . $this->pagina; // carrega o php if (file_exists($pagina . '.php')) { require_once $pagina . '.php'; if (!$this->funcao) { echo $script; if (file_exists($pagina . '.html')) { echo $this->smarty->fetch($pagina . '.html'); } } } else { if ($this->funcao) { echo "{ 'msg' : 'Arquivo não encontrado! \"{$this->pagina}.html\"', 'retorno' : false, 'tipo' : 'error' }"; } else { echo "Arquivo não encontrado!<br><br>{$pagina}.html<br><br><br><br><a href=\"javascript:void(0);\" class=\"link\" rel=\"{}\">Voltar</a>"; } } }
$dados = $_POST['categoria']; $id = isset($_POST['categoria']['id']) ? $_POST['categoria']['id'] : 0; if (empty($dados['nome'])) { $msg .= '- O campo \'Nome\' é obrigatório!<br>'; } if (!empty($msg)) { jexit(json_encode(array('tipo' => 'error', 'msg' => 'Preencha corretamente o(s) seguinte(s) campo(s):<br><br>' . $msg))); } // abre a tabela com os novo dados jimport('edesktop.programas.produtos.categorias'); $cat = new edesktop_produtos_categorias($dados); // verifica se o registro já existe if ($id) { // verifica se o usuario logado tem permissão jAccess('categorias.editar'); // atualiza os dados do registro $cat->db->update(); // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'A categoria do produto foi atualizado com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('categorias.adicionar'); // cadastra o novo registro $cat->db->insert(); // carrega as vars de retorno $retorno = 'insertOk'; $msg = 'A categoria do produto foi cadastrado com sucesso!'; } // imprime o retorno jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'id' => $cat->db->id)));
<?php // carrega o menu $menu_principal->show(); // carrega a biblioteca jimport('edesktop.programas.banners'); // inicia a lib banners $banners = new edBanners(); // carrega todos os banners do db $banners = $banners->busca_todos_banners(); // envia para o html $this->smarty->assign('banners', $banners); // permições $this->smarty->assign('editar', jAccess('banners.editar', array('retorno' => 'bool'))); $this->smarty->assign('remover', jAccess('banners.remover', array('retorno' => 'bool'))); $this->smarty->assign('admin', jAccess('slides.lista', array('retorno' => 'bool')));
// carrega o nome do programa $dados['programa'] = $programa; // carrega o titulo $dados['titulo'] = $config['titulo']; // carrega as permicoes $dados['permissoes'] = array(); foreach ($config['permissoes'] as $permissao => $descricao) { $dados['permissoes']["{$programa}.{$permissao}"] = $descricao; } // carrega o finder if ($config['finder']) { $dados['permissoes'] = array_merge(array($programa . '.finder' => 'Fazer pesquisas usando a "Busca rápida"'), $dados['permissoes']); } // adiciona na array principal $permissoes[] = $dados; } // permições dos programas $this->smarty->assign('programas', $permissoes); $this->smarty->register_function("ckp", "check_permisao"); function check_permisao($params) { extract($params); if (array_search($k, $array) !== false) { return 'checked="checked"'; } } // Permissões $params = array('retorno' => 'bool'); $this->smarty->assign('alterarPermissoesAcesso', jAccess('grupos.alterarPermissoesAcesso', $params)); $this->smarty->assign('alterarStatus', jAccess('grupos.alterarStatus', $params));
function salva_slide($dadosNome, $inputFile = 'file_upload') { // carrega os dados $dados = JRequest::getvar($dadosNome, array(), 'array'); jimport('joomla.filesystem.file'); $file = JRequest::getVar($inputFile, null, 'files', 'array'); $file_name = strtolower(JFile::makeSafe($file['name'])); $file_ext = JFile::getExt($file_name); $file_src = $file['tmp_name']; $file_old = false; $id = isset($dados['id']) ? $dados['id'] : 0; $msg = ''; if ((int) $dados['idbanner']) { // verifica se foi enviado algum arquivo if ($file_src) { $banner = $this->db('banners'); $banner = $this->busca_banner_por_id($dados['idbanner']); // busca config $config = $this->busca_config_modelo(); // verifica ext permitidas if (!isset($config['arquivos.permitidos'][$file_ext])) { $msg .= '- Tipo de arquivo não permitido, somente arquivos ' . join(', ', $config['arquivos.permitidos']) . '!<br>'; } // se for update if ($id) { // abre a tabela de slides $slide = $this->busca_slide_por_id($id); // ext do arquivo anterior $file_old = $slide ? $slide->arquivo_base : false; } // altera a nova ext $dados['arquivo'] = $file_ext; } } else { $msg .= '- ID do banner é inválido!<br>'; } if (!$id && !$file_src) { $msg .= '- Arquivo não encontrado!<br>'; } if (empty($dados['nome'])) { $msg .= '- O campo \'Nome\' é obrigatório!<br>'; } if (!(int) $dados['ordem']) { $msg .= '- O campo \'Ordem\' é obrigatório!<br>- O campo \'Ordem\' são permitidos somente números inteiros<br>'; } if (!empty($msg)) { return array('tipo' => 'error', 'msg' => 'Preencha corretamente o(s) seguinte(s) campo(s):<br><br>' . $msg); } // abre a tabela de slides $db = $this->db('slides', $dados); // verifica se o registro já existe if ($id) { // verifica se o usuario logado tem permissão jAccess('slides.editar'); // atualiza os dados do registro $db->update(); // carrega as vars de retorno $msg = 'Dados do slide foram atualizados com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('slides.adicionar'); // cadastra o novo registro $db->insert(); // carrega as vars de retorno $msg = 'Slide cadastrado com sucesso!'; } // upload if ($file_src) { $file_dest = $this->path['uploads'] . DS . "{$db->id}.{$file_ext}"; if (JFile::upload($file_src, $file_dest)) { // remove o arquivo antigo if ($file_old && JFile::exists($file_old) && $file_old != $file_dest) { unlink($file_old); } } else { $msg = "Dados atualizados, mas o arquivo não foi enviado!"; } } // retorno ok $r = array('id' => $db->id, 'idbanner' => $db->idbanner, 'msg' => $msg); return $r; }
jimport('edesktop.programas.produtos.imagens'); $img = new edesktop_produtos_imagens($dados); // verifica se o registro já existe if ($id) { // verifica se o usuario logado tem permissão jAccess('imagens.editar'); // atualiza os dados do registro $img->db->update(); // remove as outras imagens e destaque $img->db->query("UPDATE @tabela@ SET destaque = '0' WHERE id != '{$img->db->id}' AND idproduto = '{$img->db->idproduto}' "); // carrega as vars de retorno $retorno = 'updateOk'; $msg = 'A imagem do produto foi atualizada com sucesso!'; } else { // verifica se o usuario logado tem permissão jAccess('imagens.adicionar'); // cadastra o novo registro $img->db->insert(); // remove as outras imagens e destaque $img->db->query("UPDATE @tabela@ SET destaque = '0' WHERE id != '{$img->db->id}' AND idproduto = '{$img->db->idproduto}' "); // carrega as vars de retorno $retorno = 'insertOk'; $msg = 'A imagem do produto foi cadastrada com sucesso!'; } // upload $dest = JPATH_BASE . "{$img->pasta}/{$img->db->id}.{$file_ext}"; if ($src) { if (!JFile::upload($src, $dest)) { $msg = "Dados atualizados, imagem não foi enviada!"; } }
<?php $menu_principal->show(); $id = JRequest::getvar('id', 0); $usuario = new JCRUD("jos_users"); $usuario = $usuario->busca_por_id($id); $this->smarty->assign('usuario', $usuario); $grupos = new JCRUD("jos_edesktop_usuarios_grupos"); $grupos = $grupos->busca_tudo("nome ASC"); $this->smarty->assign('grupos', $grupos); $user =& JFactory::getUser(); $this->smarty->assign('user', $user); // Permissões $params = array('retorno' => 'bool'); $this->smarty->assign('alterarUsuarioSenha', jAccess('usuarios.alterarUsuarioSenha', $params)); $this->smarty->assign('alterarGrupoJoomla', jAccess('usuarios.alterarGrupoJoomla', $params)); $this->smarty->assign('bloquearUsuarios', jAccess('usuarios.bloquearUsuarios', $params));