Exemplo n.º 1
0
 function salvar()
 {
     // chama o class util
     require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php';
     // se não existir um nome, retorma erro
     if (empty($_POST['nome'])) {
         return false;
     }
     // carrega do post para a var dados
     $dados = $_POST;
     // apaga variaveis inuteis
     unset($dados['option'], $dados['task'], $dados['view'], $dados['layout']);
     // abre a tabela de campos do ecomp
     $campo = new JCRUD(ECOMP_TABLE_CAMPOS, $dados);
     // abre a tabela de componentes
     $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $campo->idcomponente));
     // abre a tabela de tipos
     $tipo = new JCRUD(ECOMP_TABLE_TIPOS, array('id' => $campo->idtipo));
     // limpa o alias, caso não exista, gera um alias com o nome
     $campo->alias = eUtil::texto_limpo($campo->alias) ? eUtil::texto_limpo($campo->alias) : eUtil::texto_limpo($campo->nome);
     // se o id não existir, inseri!
     if (!$campo->id) {
         // cria um novo campo na tabela do componente
         JCRUD::query("ALTER TABLE `" . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}` ADD `{$campo->alias}` {$tipo->code}");
         // inseri o registro
         $campo->insert();
         // retorna msg de ok para o usuário
         return true;
     } else {
         // se o alias do campo mudou
         $r = $campo->busca_por_id($campo->id);
         if ($campo->alias != $r->alias or $campo->idtipo != $r->idtipo) {
             // altera o campo na tabela do componente
             JCRUD::query("ALTER TABLE `" . ECOMP_TABLE_COMPONENTES . "_{$componente->alias}` CHANGE `{$r->alias}` `{$campo->alias}` {$tipo->code}");
         }
         // atualiza o registro
         $campo->update();
         // retorna msg de ok para o usuário
         return true;
     }
 }
Exemplo n.º 2
0
 function salvar()
 {
     require_once ECOMP_PATH_CLASS . DS . 'wideimage' . DS . 'lib' . DS . 'WideImage.inc.php';
     // carrega o post
     $dados = $_POST;
     $idcomponente = JRequest::getVar('idcomponente', 0);
     $idcadastro = JRequest::getVar('idcadastro', 0);
     $path_dest = ECOMP_PATH_IMAGENS;
     $file = JRequest::getVar('Filedata', null, 'files', 'array');
     $file_name = JFile::makeSafe($file['name']);
     $file_ext = strtolower(JFile::getExt($file_name));
     $file_tmp = $file['tmp_name'];
     if ($file_ext != 'png') {
         $file_ext = 'jpg';
     }
     $js = JRequest::getVar('js', 0);
     // remove variaveis inuteis
     unset($dados['Filedata'], $dados['Filename'], $dados['sid'], $dados['task'], $dados['view'], $dados['option'], $dados['js'], $dados['Upload'], $dados['layout']);
     // carrega os dados
     $imagem = new JCRUD(ECOMP_TABLE_CADASTROS_IMAGENS, $dados);
     if ($imagem->id) {
         $imagem->update();
     } else {
         $imagem->insert();
     }
     if ($file['error'] != 4) {
         $file_dest = $path_dest . DS . $imagem->id . '.' . $file_ext;
         $file_new = $path_dest . DS . $imagem->id . '.redimensionada.' . $file_ext;
         $file_db = $imagem->id . '.' . $file_ext;
         $file_p = $path_dest . DS . $imagem->id . '_p.jpg';
         $file_m = $path_dest . DS . $imagem->id . '_m.jpg';
         //die(print_r($file , true));
         if (JFile::upload($file_tmp, $file_dest)) {
             if ($file_ext != 'png') {
                 wiImage::load($file_dest)->resize(1024, 1024, 'inside', 'down')->saveToFile($file_new, null, 90);
                 // Cria imagem 800x600
                 //$file_800 = $path_dest.DS.$imagem->id.'_800x600.jpg';
                 //ecompHelper::redimensionaImg($file_new, $file_800, 800, 600, 'inside', 'down', 90);
                 // Cria imagem 640x480
                 //$file_640 = $path_dest.DS.$imagem->id.'_640x480.jpg';
                 //ecompHelper::redimensionaImg($file_new, $file_640, 640, 480, 'inside', 'down', 90);
                 // Cria imagem 320x240
                 //$file_320 = $path_dest.DS.$imagem->id.'_320x240.jpg';
                 //ecompHelper::redimensionaImg($file_new, $file_320, 320, 240, 'inside', 'down', 90);
             } else {
                 JFile::copy($file_dest, $file_new);
             }
             // apaga a imagem grande
             unlink($file_dest);
             // se o nome do arquivo cadastro anteriormente for diferente
             if ($imagem->file != $file_db) {
                 // apaga o arquivo velhos
                 @unlink($path_dest . DS . $imagem->file);
                 @unlink($file_p);
                 @unlink($file_m);
             }
             // renomeia a imagem redimencionada pela o destino
             JFile::move($file_new, $file_dest);
             // cria a imagem mini
             wiImage::load($file_dest)->resize(100, 100, 'inside', 'down')->saveToFile($file_p, null, 90);
             // cria a imagem mini
             wiImage::load($file_dest)->resize(250, 250, 'inside', 'down')->saveToFile($file_m, null, 90);
             // muda o nome do arquivo no banco
             $imagem->file = $file_db;
             // atualiza o banco de dados
             $imagem->update();
         }
     }
     // se o post for enviado por js
     if ($js == "1") {
         echo 'texto de ok!';
         jexit();
     }
     return true;
 }
Exemplo n.º 3
0
 function salvar()
 {
     require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php';
     require_once ECOMP_PATH_CLASS . DS . 'wideimage' . DS . 'lib' . DS . 'WideImage.inc.php';
     $idcomponente = JRequest::getVar('idcomponente', 0);
     $post = $_POST;
     $dados = array('id' => $post['id'], 'published' => $post['published'], 'ordering' => $post['ordering']);
     foreach ($post['dados'] as $idcampo => $v) {
         // abre o campo
         $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $idcampo));
         $coluna = key($v);
         $valor = str_replace('$id', $post['id'], stripslashes($v[$coluna]));
         $dados[$coluna] = $valor;
         //data
         if ($campo->idtipo == 6) {
             $dados[$coluna] = eUtil::converteData($valor);
         }
     }
     // abre o componente
     $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, array('id' => $idcomponente));
     // abre o cadastro
     $cadastro = new JCRUD(ECOMP_TABLE_COMPONENTES . "_{$componente->alias}", $dados);
     // apaga o relacionamento antigo com as tags e categorias
     JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_TAGS . " WHERE idcomponente = '{$idcomponente}' AND idcadastro = {$cadastro->id}");
     JCRUD::query("DELETE FROM " . ECOMP_TABLE_CADASTROS_CATEGORIAS . " WHERE idcomponente = '{$idcomponente}' AND idcadastro = {$cadastro->id}");
     //
     if ($cadastro->id) {
         $cadastro->update();
     } else {
         $cadastro->insert();
     }
     // cadastra as tags
     $tags = new JCRUD(ECOMP_TABLE_CADASTROS_TAGS);
     if (isset($post['tags'])) {
         foreach ($post['tags'] as $tag) {
             $tags->id = null;
             $tags->idcomponente = $idcomponente;
             $tags->idcadastro = $cadastro->id;
             $tags->idtag = $tag;
             $tags->insert();
         }
     }
     // cadastra as categorias
     $categorias = new JCRUD(ECOMP_TABLE_CADASTROS_CATEGORIAS);
     if (isset($post['categorias'])) {
         foreach ($post['categorias'] as $cat) {
             $categorias->id = null;
             $categorias->idcomponente = $idcomponente;
             $categorias->idcadastro = $cadastro->id;
             $categorias->idcategoria = $cat;
             $categorias->insert();
         }
     }
     ////////////////////////////////////////////////////
     // uploads
     ////////////////////////////////////////////////////
     $uploads = count($_FILES['dados']) ? $_FILES['dados'] : array();
     foreach ($uploads['name'] as $idcampo => $coluna) {
         $campo = new JCRUD(ECOMP_TABLE_CAMPOS, array('id' => $idcampo));
         $coluna = key($coluna);
         $tipo = new JCRUD(ECOMP_TABLE_TIPOS, array('id' => $campo->idtipo));
         parse_str($tipo->params, $params1);
         parse_str($campo->params, $params2);
         $params = array_merge($params1, $params2);
         //upload de imagem
         if ($campo->idtipo == 11 && $uploads['error'][$idcampo][$coluna] != 4) {
             $path_dest = ECOMP_PATH_UPLOADS . DS . $idcomponente . DS . $cadastro->id;
             $file = $uploads;
             $file_ext = strtolower(JFile::getExt($file['name'][$idcampo][$coluna]));
             $file_name = $coluna . '.' . $file_ext;
             $file_tmp = $file['tmp_name'][$idcampo][$coluna];
             $file_dest = $path_dest . DS . $file_name;
             if (strpos($params['ext'], $file_ext) !== false) {
                 // eLoad - Salva o caminho da pasta cache atual
                 if (file_exists($file_dest)) {
                     $cache_dir = ECOMP_PATH_CACHE_ELOAD . DS . substr(sha1_file($file_dest), 0, 10);
                 }
                 if (JFile::upload($file_tmp, $file_dest)) {
                     // eLoad - Apaga a pasta cache anterior
                     if (isset($cache_dir) && is_dir($cache_dir)) {
                         JFolder::delete($cache_dir);
                     }
                     // apaga o arquivo
                     if ($cadastro->{$coluna} != $file_name) {
                         @unlink($path_dest . DS . $cadastro->{$coluna});
                     }
                     if ($params['resize'] == 1) {
                         if ($file_ext != 'gif' || $file_ext == 'gif' && $params['resize_gif'] == 1) {
                             $imagem = wiImage::load($file_dest);
                             if ($imagem->getWidth() > $params['width'] || $imagem->getHeight() > $params['height']) {
                                 wiImage::load($file_dest)->resize($params['width'], $params['height'], $params['fit'], $params['scale'])->saveToFile($file_dest, null, 90);
                             }
                             // Cria imagem 800x600
                             //$file_800 = $path_dest.DS.$coluna.'800x600.'.$file_ext;
                             //ecompHelper::redimensionaImg($file_dest, $file_800, 800, 600, $params['fit'], $params['scale'], 90);
                             // Cria imagem 640x480
                             //$file_640 = $path_dest.DS.$coluna.'640x480.'.$file_ext;
                             //ecompHelper::redimensionaImg($file_dest, $file_640, 640, 480, $params['fit'], $params['scale'], 90);
                             // Cria imagem 320x240
                             //$file_320 = $path_dest.DS.$coluna.'320x240.'.$file_ext;
                             //ecompHelper::redimensionaImg($file_dest, $file_320, 320, 240, $params['fit'], $params['scale'], 90);
                         }
                     }
                     // altera o nome da imagem
                     $cadastro->{$coluna} = $file_name;
                 }
             }
         }
         //upload
         if ($campo->idtipo == 4 && $uploads['error'][$idcampo][$coluna] != 4) {
             $path_dest = ECOMP_PATH_UPLOADS . DS . $idcomponente . DS . $cadastro->id;
             $file = $uploads;
             $file_ext = strtolower(JFile::getExt($file['name'][$idcampo][$coluna]));
             $file_name = $coluna . '.' . $file_ext;
             $file_tmp = $file['tmp_name'][$idcampo][$coluna];
             $file_dest = $path_dest . DS . $file_name;
             // apaga o arquivo
             @unlink($path_dest . DS . $cadastro->{$coluna});
             if (JFile::upload($file_tmp, $file_dest)) {
                 // altera o nome da imagem
                 $cadastro->{$coluna} = $file_name;
             }
         }
         // salva os dados
         $cadastro->update();
     }
     return true;
 }
Exemplo n.º 4
0
// 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)));
Exemplo n.º 5
0
        $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;
    $groups_aro_map->section_value = '';
    $groups_aro_map->aro_id = $aro->id;
    $groups_aro_map->insert();
    // carrega as vars de retorno
    $retorno = 'insertOk';
    $msg = 'Usuário cadastrado com sucesso!';
}
jexit(json_encode(array('msg' => $msg, 'retorno' => $retorno, 'id' => $usuario->id)));
Exemplo n.º 6
0
function EcompBuildRoute(&$query)
{
    $vars = $query;
    $menu =& JSite::getMenu();
    $item =& $menu->getItem($vars['Itemid']);
    $params = $menu->getParams($vars['Itemid']);
    $idcomponente = $params->get('idcomponente');
    $idcadastro = isset($vars['id']) ? $vars['id'] : $params->get('idcadastro');
    $segments = array();
    $values = array();
    $conf =& JFactory::getConfig();
    // abre a tabela de regras de rotas
    $r = new JCRUD(ECOMP_TABLE_ROUTERS_RULES);
    $r = $r->busca("WHERE itemid = '{$item->id}' AND published = '1' AND trashed != '1' ORDER BY ordering ASC");
    foreach ($r as $rules) {
        if ($rules->type == '1') {
            // nome da tebela do componente
            $idcomp = $rules->idcomponente > 0 ? $rules->idcomponente : $idcomponente;
            $tabela = eHelper::componente_tabela_nome($idcomp);
            $c = new JCRUD($tabela);
            $x = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : '0';
            $c = $c->busca_por_id($x);
            if ($c) {
                $campo = $rules->alias1;
                if ($campo == '' || JFilterOutput::stringURLSafe($c->{$campo}) == '') {
                    $campo = $rules->alias2;
                }
                $segments[] = JFilterOutput::stringURLSafe($c->{$campo});
                $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value;
            }
        }
        if ($rules->type == '2') {
            $segments[] = JFilterOutput::stringURLSafe($rules->alias1);
            $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value;
        }
        if ($rules->type == '3') {
            $s = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value;
            $segments[] = JFilterOutput::stringURLSafe($s);
            $values[$rules->get_var] = $s;
        }
        // categoria
        if ($rules->type == '4') {
            $c = new JCRUD(ECOMP_TABLE_CATEGORIAS);
            $y = (int) $rules->get_value;
            $x = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $y;
            $c = $c->busca_por_id($x);
            if ($c) {
                $campo = 'alias';
                if (JFilterOutput::stringURLSafe($c->{$campo}) == '') {
                    $campo = 'nome';
                }
                $segments[] = JFilterOutput::stringURLSafe($c->{$campo});
                $values[$rules->get_var] = isset($vars[$rules->get_var]) ? $vars[$rules->get_var] : $rules->get_value;
            }
        }
        // exclui a var caso exista
        if (isset($query[$rules->get_var])) {
            unset($query[$rules->get_var]);
        }
    }
    // exclui a var view 'padrao'
    if (isset($vars['view']) && $vars['view'] == 'padrao') {
        unset($query['view']);
    }
    ////////////////////////////////////////////
    ////  CACHE
    ///////////////////////////////////////////
    if (count($segments)) {
        // verifica se o sef_suffix esta ativado
        $sef_suffix = $conf->getValue('config.sef_suffix') ? '.html' : '';
        $url = join('/', $segments) . $sef_suffix;
        $params = http_build_query($values, '', '&');
        $dados = array('id' => 0, 'itemid' => $item->id, 'url' => $url, 'params' => $params);
        // adicionao a rota na tabela cache
        $c = new JCRUD(ECOMP_TABLE_ROUTERS_CACHE, $dados);
        $cc = $c->busca("WHERE itemid = '{$item->id}' AND url = '{$url}'");
        if (count($cc)) {
            $c->id = $cc[0]->id;
            $c->update();
        } else {
            $c->insert();
        }
    }
    return $segments;
}
Exemplo n.º 7
0
 function adicionarItem($item)
 {
     $i = new JCRUD('jos_edesktop_loja_pedidos_itens', $item);
     return $i->insert();
 }
Exemplo n.º 8
0
 function salvar()
 {
     // chama o class util
     require_once ECOMP_PATH_CLASS . DS . 'ebasic.util.php';
     // abre o banco
     $db =& JFactory::getDBO();
     // se não existir um nome, retorma erro
     if (empty($_POST['nome'])) {
         return false;
     }
     // carrega do post para a var dados
     $dados = $_POST;
     // apaga variaveis inuteis
     unset($dados['option'], $dados['task'], $dados['view'], $dados['layout']);
     // captura o nome da nova tabela
     $tabela_nova = eUtil::texto_limpo($dados['nome']);
     // abre a tabela de componentes do ecomp
     $componente = new JCRUD(ECOMP_TABLE_COMPONENTES, $dados);
     // abre a tabela de menu/componentes
     $menu = new JCRUD(ECOMP_TABLE_JCOMPONENTS);
     // se o id não existir, inseri!
     if (!$componente->id) {
         // verifica se a tabela ja existe
         if ($this->existe_tabela($tabela_nova)) {
             return false;
         }
         // cria a nova tabela
         JCRUD::query("\r\n\t\t\t\tCREATE TABLE IF NOT EXISTS " . ECOMP_TABLE_COMPONENTES . "_{$tabela_nova}(\r\n\t\t\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t  `published` int(11) NOT NULL DEFAULT '1',\r\n\t\t\t\t  `ordering` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t  `trashed` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t  `view_item` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t  `view_lista` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t  `view_busca` int(11) NOT NULL DEFAULT '0',\r\n\t\t\t\t  PRIMARY KEY (`id`)\r\n\t\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1;\r\n\t\t\t");
         // inseri o registro
         if ($componente->insert()) {
             // busca o id do menu ecomp
             $ecomp_menu = $menu->busca_por_sql("SELECT * FROM @tabela@ WHERE name = 'eComp' AND admin_menu_alt = 'eComp'");
             // cadastra um novo menu
             $menu->enabled = 1;
             $menu->admin_menu_link = "option=com_ecomp&view=cadastros&idcomponente={$componente->id}";
             $menu->parent = $ecomp_menu[0]->id;
             $menu->ordering = -1;
             $menu->iscore = 1;
             $menu->name = $componente->nome;
             $menu->admin_menu_alt = $componente->nome;
             $menu->insert();
             $componente->idmenuadmin = $menu->id;
             $componente->alias = $tabela_nova;
             $componente->update();
             return true;
         }
     } else {
         // captura o nome da tabela velha
         $tabela_velha = $componente->alias;
         // se o nome da tabela mudou
         if ($tabela_nova != $tabela_velha) {
             // verifica se a tabela ja existe
             if ($this->existe_tabela($tabela_nova)) {
                 return false;
             }
             // altera o nome da tabela
             JCRUD::query("RENAME TABLE " . ECOMP_TABLE_COMPONENTES . "_{$tabela_velha} TO " . ECOMP_TABLE_COMPONENTES . "_{$tabela_nova}");
             // atualiza o alias do regitro
             $componente->alias = $tabela_nova;
         }
         // atualiza o registro
         if ($componente->update()) {
             $menu->id = $componente->idmenuadmin;
             $menu->name = $componente->nome;
             $menu->admin_menu_alt = $componente->nome;
             // atualiza o menu
             $menu->update();
             return true;
         }
     }
 }