diff --git a/.buildpath b/.buildpath new file mode 100644 index 00000000..f06cf226 --- /dev/null +++ b/.buildpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..14bc68c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/nbproject/private/ \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 00000000..26c933e8 --- /dev/null +++ b/.project @@ -0,0 +1,22 @@ + + + C-L + + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.eclipse.dltk.core.scriptbuilder + + + + + + org.eclipse.php.core.PHPNature + + diff --git a/.settings/com.piece_framework.makegood.core.prefs b/.settings/com.piece_framework.makegood.core.prefs new file mode 100644 index 00000000..68dcaf33 --- /dev/null +++ b/.settings/com.piece_framework.makegood.core.prefs @@ -0,0 +1,10 @@ +cakephp_app_path= +cakephp_core_path= +ciunit_config_file= +ciunit_path= +eclipse.preferences.version=1 +phpunit_config_file= +preload_script= +test_file_pattern= +test_folders=/C-L/cel/aplicacao/Test +testing_framework=PHPUnit diff --git a/.settings/org.eclipse.php.core.prefs b/.settings/org.eclipse.php.core.prefs new file mode 100644 index 00000000..1a20dc58 --- /dev/null +++ b/.settings/org.eclipse.php.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +include_path=0;/C-L\u00055;org.eclipse.dltk.USER_LIBRARY/PEAR diff --git a/.settings/org.eclipse.php.debug.core.Debug_Process_Preferences.prefs b/.settings/org.eclipse.php.debug.core.Debug_Process_Preferences.prefs new file mode 100644 index 00000000..c061cdd6 --- /dev/null +++ b/.settings/org.eclipse.php.debug.core.Debug_Process_Preferences.prefs @@ -0,0 +1,9 @@ +DefaultProjectBasePath=/C-L +eclipse.preferences.version=1 +org.eclipse.php.debug.core.use-project-settings=true +org.eclipse.php.debug.coredefaultPHP=PHP CLI +org.eclipse.php.debug.coreenable_cli_debug=true +org.eclipse.php.debug.coreoutput_encoding=UTF-8 +org.eclipse.php.debug.corephp_debugger_id=org.eclipse.php.debug.core.xdebugDebugger +org.eclipse.php.debug.corestop_at_first_line_string=true +org.eclipse.php.debug.coretransfer_encoding=UTF-8 diff --git a/README.md b/README.md index 807b995e..bd60c734 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,14 @@ C-L === Cenários e Léxicos - Uma ferramenta de edição de Cenários e Léxico disponibilizada em pes.inf.puc-rio.br/cel. + + + + + + + + + + + diff --git a/cel/aplicacao/CELConfig/CELConfig.inc b/cel/aplicacao/CELConfig/CELConfig.inc index 99ed89c2..5a48bb3f 100644 --- a/cel/aplicacao/CELConfig/CELConfig.inc +++ b/cel/aplicacao/CELConfig/CELConfig.inc @@ -11,7 +11,7 @@ /* Esta função retorna o valor contido na variavel $var, registrada no arquivo $config_file */ function CELConfig_ReadVar( $var ) { - $config_file = "CELConfig/config2.conf" ; + $config_file = "C:/xampp/htdocs/C-L/cel/aplicacao/CELConfig/config2.conf"; /* Parse do arquivo de configurações, sem as seções */ $array_configuracoes = parse_ini_file( $config_file ) ; diff --git a/cel/aplicacao/CELConfig/config2.conf b/cel/aplicacao/CELConfig/config2.conf index 94a7d62c..ea3c94fa 100644 --- a/cel/aplicacao/CELConfig/config2.conf +++ b/cel/aplicacao/CELConfig/config2.conf @@ -1,67 +1,67 @@ ;*************************************************************** -;* Módulo de Configuração do CEL e seus Plugins. * +;* M�dulo de Configura��o do CEL e seus Plugins. * ;* Arquivos: CELConfig.inc , config2.conf * ;* Autor: Alex Marques Campos * ;* Data: setembro de 2003 * -;* Versão: 0.1 * +;* Vers�o: 0.1 * ;***************************************************************/ -; Este é o arquivo de configuração do CEL +; Este � o arquivo de configura��o do CEL ; Todos os comentarios comecam com ";" -; As configurações têm a forma: +; As configura��es t�m a forma: ; [Nome da Sessao] ; variavel = valor ; outravariavel = seuvalor -; Observe a ausência do ponto-e-virgula final. +; Observe a aus�ncia do ponto-e-virgula final. ;--------------------------------------------------------------- -; Inicio das configurações +; Inicio das configura��es ;--------------------------------------------------------------- -; Configurações Relativas ao Banco de Dados +; Configura��es Relativas ao Banco de Dados [BD] BD_ip = localhost BD_host = "" BD_porta = "" BD_database = "cel" -BD_user = "seulogin" -BD_password = "suasenha" +BD_user = "" +BD_password = "" -; Configurações relativas ao servidor de WEB (HTTPD) +; Configura��es relativas ao servidor de WEB (HTTPD) [HTTPD] HTTPD_ip = pes.inf.puc-rio.br -; Configurações relativas ao CEL +; Configura��es relativas ao CEL [CEL] ; -; * "CEL_dir_relativo" é a variável que expressa o diretório do CEL relativo -; ao HTDOCS (diretório raiz de documentos do HTTPD). +; * "CEL_dir_relativo" � a vari�vel que expressa o diret�rio do CEL relativo +; ao HTDOCS (diret�rio raiz de documentos do HTTPD). ; -; Na referencia relativa, não incluir a barra inicial (se incluir, ele se torna absoluto. :) ) +; Na referencia relativa, n�o incluir a barra inicial (se incluir, ele se torna absoluto. :) ) ; Sempre incluir a barra final: ; "cel_vf/aplicacao" => ERRADO!! ; "cel_vf/aplicacao/" => CERTO ; CEL_dir_relativo = "cel/aplicacao/" -CEL_dir_absoluto = "C:/Apache/Apache2/htdocs/cel/aplicacao/" +CEL_dir_absoluto = "D:/Projetos/Wamp/www/C-L/cel/aplicacao" -; Configurações relativas ao plugin de DAML +; Configura��es relativas ao plugin de DAML [DAML] -; Diretorio onde serão salvos os arquivos de DAML -; Este diretório não é criado automaticamente. É necessária a criação prévia manualmente. +; Diretorio onde ser�o salvos os arquivos de DAML +; Este diret�rio n�o � criado automaticamente. � necess�ria a cria��o pr�via manualmente. DAML_dir_relativo_ao_CEL = "arquivos_DAML/" ;--------------------------------------------------------------- -; Fim das configurações +; Fim das configura��es ;--------------------------------------------------------------- diff --git a/cel/aplicacao/CEL_Project.zpj b/cel/aplicacao/CEL_Project.zpj index 0f7b896f..b862f22c 100644 --- a/cel/aplicacao/CEL_Project.zpj +++ b/cel/aplicacao/CEL_Project.zpj @@ -14,7 +14,7 @@ - + @@ -27,12 +27,12 @@ - + - + @@ -48,9 +48,9 @@ - + - + @@ -65,14 +65,14 @@ - + - - - - + + + + - + diff --git a/cel/aplicacao/Call_UpdUser.php b/cel/aplicacao/Call_UpdUser.php index 3d8c1889..7c523e59 100644 --- a/cel/aplicacao/Call_UpdUser.php +++ b/cel/aplicacao/Call_UpdUser.php @@ -3,39 +3,37 @@ include_once("bd.inc"); -$r = bd_connect() or die("Erro ao conectar ao SGBD"); +$connect_db = bd_connect() or die("Erro ao conectar ao SGBD"); -// Cenário - Alterar cadastro +// Scenario - Alter Registration // -//Objetivo: Permitir ao usuário realizar alteração nos seus dados cadastrais -//Contexto: Sistema aberto, Usuário ter acessado ao sistema e logado -// Usuário deseja alterar seus dados cadastrais -// Pré-Condição: Usuário ter acessado ao sistema -//Atores: Usuário, Sistema. -//Recursos: Interface -//Episódios: O sistema fornecerá para o usuário uma tela com os seguintes campos de texto, -// preenchidos com os dados do usuário, para serem alterados: -// nome, email, login, senha e confirmação da senha; e um botão de atualizar -// as informações fornecidas +//Objective: Allow user to make alteration in his registered data +//Context: User want to change your data registered previously +// Pre-Condition: User has accessed the system +//Actor: User, System. +//Resources: Interface +//Episodes: The system displays a screen for the User with the following fields completed: +// nome, email, login, senha e confirmacao da senha; the User can change them. +// he clicks on a button "Atualizar" -$id_usuario = $_SESSION['id_usuario_corrente']; +$id_user = $_SESSION['current_id_user']; -$q = "SELECT * FROM usuario WHERE id_usuario='$id_usuario'"; +$query_select = "SELECT * FROM user WHERE id_user='$id_user'"; -$qrr = mysql_query($q) or die("Erro ao executar a query"); +$query_fecth = mysql_query($query_select) or die("Erro ao executar a query"); - $row = mysql_fetch_row($qrr); - $nome = $row[1]; + $row = mysql_fetch_row($query_fecth); + $name = $row[1]; $email = $row[2]; $login = $row[3]; - $senha = $row[4]; + $password = $row[4]; ?> - Alterar dados de Usuário + Alterar dados de Usuário @@ -44,9 +42,9 @@ function TestarBranco(form) { login = form.login.value; -senha = form.senha.value; -senha_conf = form.senha_conf.value; -nome = form.nome.value; +password = form.senha.value; +conf_password = form.senha_conf.value; +name = form.nome.value; email = form.email.value; if (login == "") @@ -60,17 +58,17 @@ function TestarBranco(form) form.email.focus(); return false; } - if (senha == "") + if (password == "") { alert ("Por favor, digite a sua senha.") form.senha.focus() return false; } - if (nome == "") + if (name == "") { alert ("Por favor, digite o seu nome.") form.nome.focus() return false; } - if ( senha != senha_conf ) + if ( password != conf_password ) { alert ( "A senha e a confirmacao nao sao as mesmas!") form.senha.focus(); @@ -87,7 +85,7 @@ function checkEmail(email) { { return (true) } - alert("Atenção: o E-mail digitado não é válido.") + alert("Aten��o: o E-mail digitado n�o � v�lido.") email.focus(); email.select(); return (false) @@ -102,7 +100,7 @@ function checkEmail(email) {
- + @@ -114,13 +112,13 @@ function checkEmail(email) { - +
Nome:Nome:
E-mail:Senha:
Senha (confirmação):Senha (confirma��o):
-
Veja o código fonte! +
Veja o c�digo fonte! \ No newline at end of file diff --git a/cel/aplicacao/Copy (2) of funcoes_genericas.php b/cel/aplicacao/Copy (2) of funcoes_genericas.php deleted file mode 100644 index a2af6bfb..00000000 --- a/cel/aplicacao/Copy (2) of funcoes_genericas.php +++ /dev/null @@ -1,2067 +0,0 @@ - - - - -" . mysql_error() . "
" . __FILE__ . __LINE__); - - $q = "INSERT INTO cenario (id_projeto,data, titulo, objetivo, contexto, atores, recursos, excecao, episodios) - VALUES ($id_projeto,'now', '" . strtolower($titulo) . "', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios')"; - mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT max(id_cenario) FROM cenario"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} -################################################################### -# Insere um lexico no banco de dados. -# Recebe o id_projeto, nome, noção, impacto e os sinonimos. (1.1) -# Insere os valores do lexico na tabela LEXICO. (1.2) -# Insere todos os sinonimos na tabela SINONIMO. (1.3) -# Devolve o id_lexico. (1.4) -# -################################################################### -if (!(function_exists("inclui_lexico"))) { - function inclui_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $data = date("Y-m-d"); - $q = "INSERT INTO lexico (id_projeto, data, nome, nocao, impacto, tipo) - VALUES ($id_projeto, '$data', '" . strtolower($nome) . "', '$nocao', '$impacto', '$classificacao')"; - mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //sinonimo - $newLexId = mysql_insert_id($r); - - - if( ! is_array($sinonimos) ) - $sinonimos = array(); - - foreach($sinonimos as $novoSin){ - - $q = "INSERT INTO sinonimo (id_lexico, nome, id_projeto) - VALUES ($newLexId, '" . strtolower($novoSin) . "', $id_projeto)"; - - mysql_query($q, $r) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - - $q = "SELECT max(id_lexico) FROM lexico"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} -################################################################### -# Insere um projeto no banco de dados. -# Recebe o nome e descricao. (1.1) -# Verifica se este usuario ja possui um projeto com esse nome. (1.2) -# Caso nao possua, insere os valores na tabela PROJETO. (1.3) -# Devolve o id_cprojeto. (1.4) -# -################################################################### -if (!(function_exists("inclui_projeto"))) { - function inclui_projeto($nome, $descricao) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - //verifica se usuario ja existe - $qv = "SELECT * FROM projeto WHERE nome = '$nome'"; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //$result = mysql_fetch_row($qvr); - $resultArray = mysql_fetch_array($qvr); - - - if ( $resultArray != false ) - { - //verifica se o nome existente corresponde a um projeto que este usuario participa - $id_projeto_repetido = $resultArray['id_projeto']; - - $id_usuario_corrente = $_SESSION['id_usuario_corrente']; - - $qvu = "SELECT * FROM participa WHERE id_projeto = '$id_projeto_repetido' AND id_usuario = '$id_usuario_corrente' "; - - $qvuv = mysql_query($qvu) or die("Erro ao enviar a query de SELECT no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $resultArray = mysql_fetch_row($qvuv); - - if ($resultArray[0] != null ) - { - return -1; - } - - } - - $q = "SELECT MAX(id_projeto) FROM projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de MAX ID
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - - if ( $result[0] == false ) - { - $result[0] = 1; - } - else - { - $result[0]++; - } - $data = date("Y-m-d"); - - $qr = "INSERT INTO projeto (id_projeto, nome, data_criacao, descricao) - VALUES ($result[0],'$nome','$data' , '$descricao')"; - - mysql_query($qr) or die("Erro ao enviar a query INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); - - return $result[0]; - } -} - -if (!(function_exists("replace_skip_tags"))) { - function replace_skip_tags($search, $subject, $t_lnk, $id_lnk) { - $title = ($t_lnk == "c") ? "Cenario" : "Lexico"; - $subject_tmp = preg_replace("/>(.*)(" . $search . ")(.*)$1$2abcdef$3<", $subject); - if ($t_lnk == "l") { - $subject_tmp2 = preg_replace("/(\s|\b)(" . $search . ")(\s|\b)/i", '$1$2$3', $subject_tmp); - } else { - $subject_tmp2 = preg_replace("/(\s|\b)(" . $search . ")(\s|\b)/i", '$1$2$3', $subject_tmp); - } - $subject_tmp3 = preg_replace("/>(.*)(" . $search . ")abcdef(.*)$1$2$3<", $subject_tmp2); - - ?> - - - - - - - - - - -" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT $field FROM $table WHERE $where"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - */ - function simple_query($field, $table, $where) { - $r = bd_connect() or die("Erro ao conectar ao SGBD"); - $q = "SELECT $field FROM $table WHERE $where"; - $qrr = mysql_query($q) or die("Erro ao enviar a query"); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} - - - -// Para a correta inclusao de um cenario, uma serie de procedimentos -// precisam ser tomados (relativos ao requisito 'navegacao circular'): -// -// 1. Incluir o novo cenario na base de dados; -// 2. Para todos os cenarios daquele projeto: -// 2.1. Procurar em contexto, episodios -// por ocorrencias do titulo do cenario incluido; -// 2.2. Para os campos em que forem encontradas ocorrencias: -// 2.2.1. Transformar a ocorrencia (titulo do cenario) em link; -// 2.3. Se algum campo sofreu alteracao: -// 2.3.1. Incluir entrada na tabela 'centocen'; -// 2.4. Procurar em contexto, episodios do cenario incluido -// por ocorrencias de titulos de outros cenarios do mesmo projeto; -// 2.5. Se achar alguma ocorrencia: -// 2.5.1. Transformar ocorrencia em link; -// 2.5.2. Incluir entrada na tabela 'centocen'; -// 3. Para todos os nomes de termos do lexico daquele projeto: -// 3.1. Procurar ocorrencias desses nomes no titulo, objetivo, contexto, -// recursos, atores, episodios do cenario incluido; -// 3.2. Para os campos em que forem encontradas ocorrencias: -// 3.2.1. Transformar as ocorrencias (nomes de termos) em link; -// 3.3. Se algum campo sofreu alteracao: -// 3.3.1. Incluir entrada na tabela 'centolex'; - -if (!(function_exists("adicionar_cenario"))) { - function adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) - { - // Conecta ao SGBD - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - // Inclui o cenario na base de dados (sem transformar os campos - // em links e sem criar os relacionamentos) - $id_incluido = inclui_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios); - - $q = "SELECT id_cenario, titulo, contexto, episodios - FROM cenario - WHERE id_projeto = $id_projeto - AND id_cenario != $id_incluido - ORDER BY CHAR_LENGTH(titulo) DESC"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (2) Para todos os cenarios - - $result_m = replace_skip_tags($titulo, $result, "c", $id_incluido); - - if ($result['contexto'] != $result_m['contexto'] || - $result['episodios'] != $result_m['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - contexto = '" . $result_m['contexto'] . "', - episodios = '" . $result_m['episodios'] . "' - WHERE id_cenario = " . $result['id_cenario']; - mysql_query($q) or die("Erro ao enviar a query de UPDATE
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.2.1 tbm) - $q = "INSERT INTO centocen (id_cenario_from, id_cenario_to) - VALUES (" . $result['id_cenario'] . ", $id_incluido)"; - mysql_query($q) or die("Erro ao enviar a query de INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.3.1) - } - - // Para podermos executar (2.4), devemos retirar os links (possivelmente presentes) - // dos titulos dos outros cenarios do mesmo projeto. Esta regexp remove tags HTML. - $result['titulo'] = preg_replace("'<[\/\!]*?[^<>]*?>'si", "", $result['titulo']); - - $contexto_m = replace_skip_tags($result['titulo'], $contexto, "c", $result['id_cenario']); - $episodios_m = replace_skip_tags($result['titulo'], $episodios, "c", $result['id_cenario']); - - if ($contexto != $contexto_m || - $episodios != $episodios_m) { // (2.5) - $q = "UPDATE cenario SET - contexto = '$contexto_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de UPDATE 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.5.1) - - // $qCen = "SELECT * FROM centocen WHERE id_cenario_from = $id_incluido AND id_cenario_to = " . $result['id_cenario']; - // $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); - // $resultArrayCen = mysql_fetch_array($qrCen); - - // if ($resultArrayCen == false) - // { - $q = "INSERT INTO centocen (id_cenario_from, id_cenario_to) VALUES ($id_incluido, " . $result['id_cenario'] . ")"; - //$q = "INSERT INTO centocen (id_cenario_to, id_cenario_from) VALUES ($id_incluido, " . $result['id_cenario'] . ")"; - mysql_query($q) or die("Erro ao enviar a query de insert no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.5.2) - // } - // Atualiza definicao de $objetivo, $contexto, $atores, $recursos, $episodios - $contexto = $contexto_m; - $episodios = $episodios_m; - } // if - } // while - - $q = "SELECT id_lexico, nome FROM lexico WHERE id_projeto = $id_projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (3) - //$titulo_m = replace_skip_tags($result['nome'], $titulo, "l", $result['id_lexico']); - $objetivo_m = replace_skip_tags($result['nome'], $objetivo, "l", $result['id_lexico']); - $contexto_m = replace_skip_tags($result['nome'], $contexto, "l", $result['id_lexico']); - $atores_m = replace_skip_tags($result['nome'], $atores, "l", $result['id_lexico']); - $recursos_m = replace_skip_tags($result['nome'], $recursos, "l", $result['id_lexico']); - $excecao_m = replace_skip_tags($result['nome'], $excecao, "l", $result['id_lexico']); - $episodios_m = replace_skip_tags($result['nome'], $episodios, "l", $result['id_lexico']); - if (//$titulo != $titulo_m || - $objetivo != $objetivo_m || - $contexto != $contexto_m || - $atores != $atores_m || - $recursos != $recursos_m || - $excecao != $excecao_m || - $episodios != $episodios_m) { // (3.3) - $q = "UPDATE cenario SET - objetivo = '$objetivo_m', - contexto = '$contexto_m', - atores = '$atores_m', - recursos = '$recursos_m', - excecao = '$excecao_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de UPDATE3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.2.1) - - $qCen = "SELECT * FROM centolex WHERE id_cenario = $id_incluido AND id_lexico = " . $result['id_lexico']; - $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCen = mysql_fetch_array($qrCen); - - if ($resultArrayCen == false) - { - $q = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_incluido, " . $result['id_lexico'] . ")"; - mysql_query($q) or die("Erro ao enviar a query de INSERT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) - } - // Atualiza definicao de $titulo, $objetivo, $contexto, $atores, $recursos, $episodios - //$titulo = $titulo_m; - $objetivo = $objetivo_m; - $contexto = $contexto_m; - $atores = $atores_m; - $recursos = $recursos_m; - $excecao = $excecao_m; - $episodios = $episodios_m; - } // if - } // while - - //Sinonimos - - - $qSinonimos = "SELECT nome, id_lexico FROM sinonimo WHERE id_projeto = $id_projeto AND id_pedidolex = 0"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - $id_lexicoSinonimo = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - $id_lexicoSinonimo[] = $rowSinonimo["id_lexico"]; - - } - $qlc = "SELECT id_cenario, titulo, contexto, episodios, objetivo, atores, recursos, excecao - FROM cenario - WHERE id_projeto = $id_projeto - AND id_cenario = $id_incluido"; - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - - $qrr = mysql_query($qlc) or die("Erro ao enviar a query de busca
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (3) - // $titulo_m = replace_skip_tags($nomesSinonimos[$i], $titulo, "l", $id_lexicoSinonimo[$i]); - $objetivo_m = replace_skip_tags($nomesSinonimos[$i], $objetivo, "l", $id_lexicoSinonimo[$i]); - $contexto_m = replace_skip_tags($nomesSinonimos[$i], $contexto, "l", $id_lexicoSinonimo[$i]); - $atores_m = replace_skip_tags($nomesSinonimos[$i], $atores, "l", $id_lexicoSinonimo[$i]); - $recursos_m = replace_skip_tags($nomesSinonimos[$i], $recursos, "l", $id_lexicoSinonimo[$i]); - $excecao_m = replace_skip_tags($nomesSinonimos[$i], $excecao, "l", $id_lexicoSinonimo[$i]); - $episodios_m = replace_skip_tags($nomesSinonimos[$i], $episodios, "l", $id_lexicoSinonimo[$i]); - if (//$titulo != $titulo_m || - $objetivo != $objetivo_m || - $contexto != $contexto_m || - $atores != $atores_m || - $recursos != $recursos_m || - $excecao != $excecao_m || - $episodios != $episodios_m) { // (3.3) - $q = "UPDATE cenario SET - objetivo = '$objetivo_m', - contexto = '$contexto_m', - atores = '$atores_m', - recursos = '$recursos_m', - excecao = '$excecao_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de update 4
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.2.1) - - $qCen = "SELECT * FROM centolex WHERE id_cenario = $id_incluido AND id_lexico = $id_lexicoSinonimo[$i] "; - $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCen = mysql_fetch_array($qrCen); - - if ($resultArrayCen == false) - { - $q = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_incluido, $id_lexicoSinonimo[$i])"; - mysql_query($q) or die("Erro ao enviar a query de insert no centolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) - } - // Atualiza definicao de $titulo, $objetivo, $contexto, $atores, $recursos, $episodios - //$titulo = $titulo_m; - $objetivo = $objetivo_m; - $contexto = $contexto_m; - $atores = $atores_m; - $recursos = $recursos_m; - $excecao = $excecao_m; - $episodios = $episodios_m; - } // if - } // while - - } //for - - } -} - -// Para a correta inclusao de um termo no lexico, uma serie de procedimentos -// precisam ser tomados (relativos ao requisito 'navegacao circular'): -// -// 1. Incluir o novo termo na base de dados; -// 2. Para todos os cenarios daquele projeto: -// 2.1. Procurar em titulo, objetivo, contexto, recursos, atores, episodios -// por ocorrencias do termo incluido ou de seus sinonimos; -// 2.2. Para os campos em que forem encontradas ocorrencias: -// 2.2.1. Transformar a ocorrencia (nome do lexico) em link; -// 2.3. Se algum campo sofreu alteracao: -// 2.3.1. Incluir entrada na tabela 'centolex'; -// 3. Para todos termos do lexico daquele projeto (menos o recem-inserido): -// 3.1. Procurar em nocao, impacto por ocorrencias do termo inserido ou de seus sinonimos; -// 3.2. Para os campos em que forem encontradas ocorrencias: -// 3.2.1. Transformar a ocorrencia (nome do lexico ou sinonimo) em link; -// 3.3. Se algum campo sofreu alteracao: -// 3.3.1. Incluir entrada na tabela 'lextolex'; -// 3.4. Procurar em nocao, impacto do termo inserido por -// ocorrencias de termos do lexico do mesmo projeto; -// 3.5. Se achar alguma ocorrencia: -// 3.5.1. Transformar ocorrencia em link; -// 3.5.2. Incluir entrada na table 'lextolex'; - -if (!(function_exists("adicionar_lexico"))) { - function adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao){ - - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $id_incluido = inclui_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao); // (1) - // $nome, $nocao e $impacto campos do formulario - - $qr = "SELECT id_cenario, titulo, objetivo, contexto, atores, recursos, excecao, episodios - FROM cenario - WHERE id_projeto = $id_projeto"; - - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qrr)) { // (2) Para todos os cenarios - $result_m = replace_skip_tags($nome, $result, "l", $id_incluido); - - if (//$result['titulo'] != $result_m['titulo'] || - $result['objetivo'] != $result_m['objetivo'] || - $result['contexto'] != $result_m['contexto'] || - $result['atores'] != $result_m['atores'] || - $result['recursos'] != $result_m['recursos'] || - $result['excecao'] != $result_m['excecao'] || - $result['episodios'] != $result_m['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - objetivo = '" . $result_m['objetivo'] . "', - contexto = '" . $result_m['contexto'] . "', - atores = '" . $result_m['atores'] . "', - recursos = '" . $result_m['recursos'] . "', - excecao = '" . $result_m['excecao'] . "', - episodios = '" . $result_m['episodios'] . "' - WHERE id_cenario = " . $result['id_cenario']; - - mysql_query($q) or die("Erro ao enviar a query de UPDATE 1
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.2.1 tbm) - $q = "INSERT INTO centolex (id_cenario, id_lexico) - VALUES (" . $result['id_cenario'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.3.1) - } - } - - //sinonimos do novo lexico - $count = count($sinonimos); - for ($i = 0; $i < $count; $i++) - { - - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result2 = mysql_fetch_array($qrr)) - { - - $result_m2 = replace_skip_tags($sinonimos[$i], $result2, "l", $id_incluido); - if (//$result2['titulo'] != $result_m2['titulo'] || - $result2['objetivo'] != $result_m2['objetivo'] || - $result2['contexto'] != $result_m2['contexto'] || - $result2['atores'] != $result_m2['atores'] || - $result2['recursos'] != $result_m2['recursos'] || - $result2['excecao'] != $result_m2['excecao'] || - $result2['episodios'] != $result_m2['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - objetivo = '" . $result_m2['objetivo'] . "', - contexto = '" . $result_m2['contexto'] . "', - atores = '" . $result_m2['atores'] . "', - recursos = '" . $result_m2['recursos'] . "', - excecao = '" . $result_m2['excecao'] . "', - episodios = '" . $result_m2['episodios'] . "' - WHERE id_cenario = " . $result2['id_cenario']; - - mysql_query($q) or die("Erro ao enviar a query de UPDATE 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - $qLex = "SELECT * FROM centolex WHERE id_cenario = " . $result2['id_cenario'] . " AND id_lexico = $id_incluido "; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - $q = "INSERT INTO centolex (id_cenario, id_lexico) - VALUES (" . $result2['id_cenario'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } //if - }//if - - }//while - - } //for - - - - - $qlo = "SELECT id_lexico, nome, nocao, impacto, tipo - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico != $id_incluido"; - //pega todos os outros lexicos - $qrr = mysql_query($qlo) or die("Erro ao enviar a query de SELECT no LEXICO
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qrr)) - { // (3) - - $result_m = replace_skip_tags($nome, $result, "l", $id_incluido); - - if ($result['nocao'] != $result_m['nocao'] || $result['impacto'] != $result_m['impacto']) - { // (3.3) - $q = "UPDATE lexico SET - nocao = '" . $result_m['nocao'] . "', - impacto = '" . $result_m['impacto'] . "' - WHERE id_lexico = '" . $result['id_lexico'] . "'"; - // echo($nome)." "; - // echo($result_m['nocao'])." "; - - mysql_query($q) or die("Erro ao enviar a query de update no LEXICO 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $result['id_lexico'] . " AND id_lexico_to = $id_incluido"; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) - VALUES (" . $result['id_lexico'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT no lextolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - } - - $nocao_m = replace_skip_tags($result['nome'], $nocao, "l", $result['id_lexico']); - $impacto_m = replace_skip_tags($result['nome'], $impacto, "l", $result['id_lexico']); - - if ($nocao_m != $nocao || $impacto_m != $impacto) - { // (3.5) - $q = "UPDATE lexico SET nocao = '$nocao_m', impacto = '$impacto_m' WHERE id_lexico = $id_incluido"; - mysql_query($q) or die("Erro ao executar query de update no lexico 4
" . mysql_error() . "
" . __FILE__ . __LINE__);// (3.5.1) - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = $id_incluido AND id_lexico_to = " . $result['id_lexico']; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) VALUES ($id_incluido, " . $result['id_lexico'] . ")"; - - mysql_query($q) or die("Erro ao executar query de insert no lextolex 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.5.2) - } - // Atualiza a definicao de $nocao e $impacto - $nocao = $nocao_m; - $impacto = $impacto_m; - } // if - } // while - - - //lexico para lexico - - $ql = "SELECT id_lexico, nome, nocao, impacto - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico != $id_incluido"; - - //sinonimos incluidos nos outros lexicos - - $qrr = mysql_query($ql) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $count = count($sinonimos); - for ($i = 0; $i < $count; $i++) - { - while ($resultl = mysql_fetch_array($qrr)) { - $result_ml = replace_skip_tags($sinonimos[$i], $resultl, "l", $id_incluido); - - if ($resultl['nocao'] != $result_ml['nocao'] || - $resultl['impacto'] != $result_ml['impacto']) { - $q = "UPDATE lexico SET - nocao = '" . $result_ml['nocao'] . "', - impacto = '" . $result_ml['impacto'] . "' - WHERE id_lexico = " . $resultl['id_lexico']; - - mysql_query($q) or die("Erro ao enviar a query de update no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $resultl['id_lexico'] . " AND id_lexico_to = $id_incluido"; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) - VALUES (" . $resultl['id_lexico'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de insert no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - }//if - } //if - }//while - }//for - - //sinonimos ja existentes - - $qSinonimos = "SELECT nome, id_lexico FROM sinonimo WHERE id_projeto = $id_projeto AND id_lexico != $id_incluido AND id_pedidolex = 0"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - $id_lexicoSinonimo = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - $id_lexicoSinonimo[] = $rowSinonimo["id_lexico"]; - - } - - - - - //////PROBLEMAS///// - /* - $qlIncluido = "SELECT id_lexico, nome, nocao, impacto - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico = $id_incluido"; - - - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - // echo ($nomesSinonimos[$i])." "; - $qrr = mysql_query($qlIncluido) or die("Erro ao enviar a query de select no Lexico 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($resultlne = mysql_fetch_array($qrr)) { - $result_mlne = replace_skip_tags($nomesSinonimos[$i], $resultlne, "l", $id_lexicoSinonimo[$i]); - if ($resultlne['nocao'] != $result_mlne['nocao'] || - $resultlne['impacto'] != $result_mlne['impacto']) { - $qup = "UPDATE lexico SET - nocao = '" . $result_mlne['nocao'] . "', - impacto = '" . $result_mlne['impacto'] . "' - WHERE id_lexico = " . $id_incluido; - ?>" . mysql_error() . "
" . __FILE__ . __LINE__); - //echo ($nomesSinonimos[$i])." "; - //echo ($result_mlne['nocao'])." "; - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_to = $id_lexicoSinonimo[$i] AND id_lexico_from = $id_incluido "; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - $q = "INSERT INTO lextolex (id_lexico_to, id_lexico_from) - VALUES ( $id_lexicoSinonimo[$i], $id_incluido) "; - mysql_query($q) or die("Erro ao enviar a query de insert 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - - }//if - }//while - }//for - */ - } -} - - -################################################################### -# Essa funcao recebe um id de cenario e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeCenario"))) { - function removeCenario($id_projeto,$id_cenario){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $sql2 = new QUERY ($DB) ; - $sql3 = new QUERY ($DB) ; - $sql4 = new QUERY ($DB) ; - $sql5 = new QUERY ($DB) ; - $sql6 = new QUERY ($DB) ; - $sql7 = new QUERY ($DB) ; - # Este select procura o cenario a ser removido - # dentro do projeto - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto and id_cenario = $id_cenario"); - $sql2->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto and id_cenario = $id_cenario") ; - if ($sql2->getntuples() == 0){ - //echo "
Cenario nao existe para esse projeto." ; - }else{ - $record = $sql2->gofirst (); - $tituloCenario = $record['titulo'] ; - # tituloCenario = Nome do cenario com id = $id_cenario - } - # [ATENCAO] Essa query pode ser melhorada com um join - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - /* $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $tituloCenario"); - if ($sql->getntuples() == 0){ - echo "
Projeto não possui cenarios." ; - }else{*/ - $qr = "SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $id_cenario"; - //echo($qr)." "; - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) - { - # Percorre todos os cenarios tirando as tag do cenario - # a ser removido - //$record = $sql->gofirst (); - //while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $result['id_cenario'] ; - $tituloAnterior = $result['titulo'] ; - $objetivoAnterior = $result['objetivo'] ; - $contextoAnterior = $result['contexto'] ; - $atoresAnterior = $result['atores'] ; - $recursosAnterior = $result['recursos'] ; - $episodiosAnterior = $result['episodios'] ; - $excecaoAnterior = $result['excecao'] ; - #echo "/($tituloCenario)<\/a>/mi" ; - #$episodiosAnterior = "robin" ; - /*"'robin<\/a>'si" ; */ - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - //$tiratagreplace = ""; - //$tituloCenario = preg_replace($tiratag,$tiratagreplace,$tituloCenario); - $regexp = "/]*?>($tituloCenario)<\/a>/mi" ;//rever - $replace = "$1"; - //echo($episodiosAnterior)." "; - //$tituloAtual = $tituloAnterior ; - //*$tituloAtual = preg_replace($regexp,$replace,$tituloAnterior);*/ - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - /*echo "ant:".$episodiosAtual ; - echo "
" ; - echo "dep:".$episodiosAnterior ;*/ - // echo($tituloCenario)." "; - // echo($episodiosAtual)." "; - //print ("
update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual',episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $sql7->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - - //$record = $sql->gonext() ; - // } - } - # Remove o relacionamento entre o cenario a ser removido - # e outros cenarios que o referenciam - $sql3->execute ("DELETE FROM centocen WHERE id_cenario_from = $id_cenario") ; - $sql4->execute ("DELETE FROM centocen WHERE id_cenario_to = $id_cenario") ; - # Remove o relacionamento entre o cenario a ser removido - # e o seu lexico - $sql5->execute ("DELETE FROM centolex WHERE id_cenario = $id_cenario") ; - # Remove o cenario escolhido - $sql6->execute ("DELETE FROM cenario WHERE id_cenario = $id_cenario") ; - - } - -} - -################################################################### -# Essa funcao recebe um id de lexico e remove todos os seus -# links e relacionamentos existentes em todas as tabelas do banco. -################################################################### -if (!(function_exists("removeLexico"))) { - function removeLexico($id_projeto,$id_lexico){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $update = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - - # Este select procura o lexico a ser removido - # dentro do projeto - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto and id_lexico = $id_lexico ") ; - if ($sql->getntuples() == 0){ - //echo "
Lexico nao existe para esse projeto." ; - }else{ - $record = $sql->gofirst (); - $nomeLexico = $record['nome'] ; - # nomeLexico = Nome do lexico com id = $id_lexico - } - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos ainda." ; - }else{ - # Percorre todos os lexicos tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idLexicoRef = $record['id_lexico'] ; - $nocaoAnterior = $record['nocao'] ; - $impactoAnterior = $record['impacto'] ; - $regexp = "/]*?>($nomeLexico)<\/a>/mi" ; - $replace = "$1"; - $nocaoAtual = preg_replace($regexp,$replace,$nocaoAnterior); - $impactoAtual = preg_replace($regexp,$replace,$impactoAnterior); - //print ("
update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $update->execute ("update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $record = $sql->gonext() ; - } - } - - // retira os links do lexico dos cenarios - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui cenarios." ; - }else{ - # Percorre todos os cenarios tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $record['id_cenario'] ; - $objetivoAnterior = $record['objetivo'] ; - $contextoAnterior = $record['contexto'] ; - $atoresAnterior = $record['atores'] ; - $recursosAnterior = $record['recursos'] ; - $episodiosAnterior = $record['episodios'] ; - $excecaoAnterior = $record['excecao'] ; - $regexp = "/]*?>($nomeLexico)<\/a>/mi" ; - $replace = "$1"; - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - $update->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual', atores = '$atoresAtual', recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - $record = $sql->gonext() ; - }//while - }//if - - - - - - - - //pega os sinonimos deste lexico - $qSinonimos = "SELECT * FROM sinonimo WHERE id_projeto = $id_projeto AND id_lexico = $id_lexico"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - - } - - //remove sinonimos deste lexico nos outros lexicos do projeto - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos -ainda." ; - }else{ - # Percorre todos os lexicos tirando as tag do sinonimo - # a ser removido - //echo($sinonimo)." "; - $record = $sql->gofirst (); - $sinonimoProcura = $nomesSinonimos[$i]; - while($record !='LAST_RECORD_REACHED'){ - $idLexicoRef = $record['id_lexico'] ; - $nocaoAnterior = $record['nocao'] ; - $impactoAnterior = $record['impacto'] ; - $regexp = "/]*?>($sinonimoProcura)<\/a>/mi" ; - $replace = "$1"; - $nocaoAtual = preg_replace($regexp,$replace,$nocaoAnterior); - $impactoAtual = preg_replace($regexp,$replace,$impactoAnterior); - //print ("
update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $update->execute ("update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $record = $sql->gonext() ; - } - } - } - - - // retira os links dos sinonimos dos cenarios - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos -- ainda." ; - }else{ - # Percorre todos os cenarios tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $record['id_cenario'] ; - $objetivoAnterior = $record['objetivo'] ; - $contextoAnterior = $record['contexto'] ; - $atoresAnterior = $record['atores'] ; - $recursosAnterior = $record['recursos'] ; - $episodiosAnterior = $record['episodios'] ; - $excecaoAnterior = $record['excecao'] ; - $sinonimoProcura = $nomesSinonimos[$i]; - $regexp = "/]*?>($sinonimoProcura)<\/a>/mi" ; - $replace = "$1"; - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - $update->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual', atores = '$atoresAtual', recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - $record = $sql->gonext() ; - }//while - }//if - }//for - - - - - /* # Procura pelo possivel cenario que ele define - # remove sua tag e relacionamento - //print ("
cenario
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - //$sql->execute ("SELECT * FROM cenario WHERE titulo like '%
$nomeLexico%'"); - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - - if($sql->getntuples() != 0){ - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - //$record = $sql->gofirst (); - $idCenarioRef = $record['id_cenario'] ; - $tituloAnterior = $record['titulo'] ; - $objetivoAnterior = $record['objetivo'] ; - $atoresAnterior = $record['atores'] ; - $contextoAnterior = $record['contexto'] ; - $recursosAnterior = $record['recursos'] ; - $excecaoAnterior = $record['excecao'] ; - $episodiosAnterior = $record['episodios'] ; - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - $tiratagreplace = ""; - $tituloAtual = preg_replace($tiratag,$tiratagreplace,$tituloAnterior); - $objetivoAtual = preg_replace($tiratag,$tiratagreplace,$objetivoAnterior); - $contextoAtual = preg_replace($tiratag,$tiratagreplace,$contextoAnterior); - $atoresAtual = preg_replace($tiratag,$tiratagreplace,$atoresAnterior); - $recursosAtual = preg_replace($tiratag,$tiratagreplace,$recursosAnterior); - $excecaoAtual = preg_replace($tiratag,$tiratagreplace,$excecaoAnterior); - $episodiosAtual = preg_replace($tiratag,$tiratagreplace,$episodiosAnterior); - //print("
i update cenario set titulo = '$tituloAtual',objetivo = '$objetivoAtual',atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $update->execute ("update cenario set titulo = '$tituloAtual',objetivo = '$objetivoAtual',contexto = '$contextoAtual',excecao = '$excecaoAtual', atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual' where id_cenario = $idCenarioRef ") ; - $delete->execute ("DELETE FROM centolex WHERE id_cenario = $idCenarioRef") ; - $record = $sql->gonext() ; - } - }*/ - - # Remove o relacionamento entre o lexico a ser removido - # e outros lexicos que o referenciam - $delete->execute ("DELETE FROM lextolex WHERE id_lexico_from = $id_lexico") ; - $delete->execute ("DELETE FROM lextolex WHERE id_lexico_to = $id_lexico") ; - $delete->execute ("DELETE FROM centolex WHERE id_lexico = $id_lexico") ; - - # Remove o lexico escolhido - $delete->execute ("DELETE FROM sinonimo WHERE id_lexico = $id_lexico") ; - $delete->execute ("DELETE FROM lexico WHERE id_lexico = $id_lexico") ; - } -} - -################################################################### -# Essa funcao recebe um id de conceito e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeConceito"))) { - function removeConceito($id_projeto, $id_conceito){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $sql2 = new QUERY ($DB) ; - $sql3 = new QUERY ($DB) ; - $sql4 = new QUERY ($DB) ; - $sql5 = new QUERY ($DB) ; - $sql6 = new QUERY ($DB) ; - $sql7 = new QUERY ($DB) ; - # Este select procura o cenario a ser removido - # dentro do projeto - - $sql2->execute ("SELECT * FROM conceito WHERE id_projeto = $id_projeto and id_conceito = $id_conceito") ; - if ($sql2->getntuples() == 0){ - //echo "
Cenario nao existe para esse projeto." ; - }else{ - $record = $sql2->gofirst (); - $nomeConceito = $record['nome'] ; - # tituloCenario = Nome do cenario com id = $id_cenario - } - # [ATENCAO] Essa query pode ser melhorada com um join - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - /* $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $tituloCenario"); - if ($sql->getntuples() == 0){ - echo "
Projeto não possui cenarios." ; - }else{*/ - $qr = "SELECT * FROM conceito WHERE id_projeto = $id_projeto AND id_conceito != $id_conceito"; - //echo($qr)." "; - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) - { - # Percorre todos os cenarios tirando as tag do conceito - # a ser removido - //$record = $sql->gofirst (); - //while($record !='LAST_RECORD_REACHED'){ - $idConceitoRef = $result['id_conceito'] ; - $nomeAnterior = $result['nome'] ; - $descricaoAnterior = $result['descricao'] ; - $namespaceAnterior = $result['namespace'] ; - #echo "/($tituloCenario)<\/a>/mi" ; - #$episodiosAnterior = "robin" ; - /*"'robin<\/a>'si" ; */ - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - //$tiratagreplace = ""; - //$tituloCenario = preg_replace($tiratag,$tiratagreplace,$tituloCenario); - $regexp = "/]*?>($nomeConceito)<\/a>/mi" ;//rever - $replace = "$1"; - //echo($episodiosAnterior)." "; - //$tituloAtual = $tituloAnterior ; - //*$tituloAtual = preg_replace($regexp,$replace,$tituloAnterior);*/ - $descricaoAtual = preg_replace($regexp,$replace,$descricaoAnterior); - $namespaceAtual = preg_replace($regexp,$replace,$namespaceAnterior); - /*echo "ant:".$episodiosAtual ; - echo "
" ; - echo "dep:".$episodiosAnterior ;*/ - // echo($tituloCenario)." "; - // echo($episodiosAtual)." "; - //print ("
update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual',episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $sql7->execute ("update conceito set descricao = '$descricaoAtual', namespace = '$namespaceAtual' where id_conceito = $idConceitoRef "); - - //$record = $sql->gonext() ; - // } - } - - # Remove o conceito escolhido - $sql6->execute ("DELETE FROM conceito WHERE id_conceito = $id_conceito") ; - $sql6->execute ("DELETE FROM relacao_conceito WHERE id_conceito = $id_conceito") ; - - } - -} -################################################################### -# Essa funcao recebe um id de relacao e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeRelacao"))) { - function removeRelacao($id_projeto, $id_relacao){ - $DB = new PGDB () ; - - $sql6 = new QUERY ($DB) ; - - # Remove o conceito escolhido - $sql6->execute ("DELETE FROM relacao WHERE id_relacao = $id_relacao") ; - $sql6->execute ("DELETE FROM relacao_conceito WHERE id_relacao = $id_relacao") ; - - } - -} - -################################################################### -# Funcao faz um select na tabela lexico. -# Para inserir um novo lexico, deve ser verificado se ele ja existe, -# ou se existe um sinonimo com o mesmo nome. -# Recebe o id do projeto e o nome do lexico (1.0) -# Faz um SELECT na tabela lexico procurando por um nome semelhante -# no projeto (1.1) -# Faz um SELECT na tabela sinonimo procurando por um nome semelhante -# no projeto (1.2) -# retorna true caso nao exista ou false caso exista (1.3) -################################################################### -function checarLexicoExistente($projeto, $nome) -{ - $naoexiste = false; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * FROM lexico WHERE id_projeto = $projeto AND nome = '$nome' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray == false ) - { - $naoexiste = true; - } - - $q = "SELECT * FROM sinonimo WHERE id_projeto = $projeto AND nome = '$nome' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - if ( $resultArray != false ) - { - $naoexiste = false; - } - - return $naoexiste; - - -} - - -################################################################### -# Recebe o id do projeto e a lista de sinonimos (1.0) -# Funcao faz um select na tabela sinonimo. -# Para verificar se ja existe um sinonimo igual no BD. -# Faz um SELECT na tabela lexico para verificar se ja existe -# um lexico com o mesmo nome do sinonimo.(1.1) -# retorna true caso nao exista ou false caso exista (1.2) -################################################################### -function checarSinonimo($projeto, $listSinonimo) -{ - $naoexiste = true; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - foreach($listSinonimo as $sinonimo){ - - $q = "SELECT * FROM sinonimo WHERE id_projeto = $projeto AND nome = '$sinonimo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray != false ) - { - $naoexiste = false; - return $naoexiste; - } - - $q = "SELECT * FROM lexico WHERE id_projeto = $projeto AND nome = '$sinonimo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray != false ) - { - $naoexiste = false; - return $naoexiste; - } - } - - return $naoexiste; - - -} - - - -################################################################### -# Funcao faz um select na tabela cenario. -# Para inserir um novo cenario, deve ser verificado se ele ja existe. -# Recebe o id do projeto e o titulo do cenario (1.0) -# Faz um SELECT na tabela cenario procurando por um nome semelhante -# no projeto (1.2) -# retorna true caso nao exista ou false caso exista (1.3) -################################################################### -function checarCenarioExistente($projeto, $titulo) -{ - $naoexiste = false; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * FROM cenario WHERE id_projeto = $projeto AND titulo = '$titulo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray == false ) - { - $naoexiste = true; - } - - return $naoexiste; - - -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para inserir um novo cenario ela deve receber os campos do novo -# cenario. -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este cenario caso o criador não seja o gerente. -# Arquivos que utilizam essa funcao: -# add_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAdicionarCenario"))) { - function inserirPedidoAdicionarCenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios, $id_usuario) - { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - $insere->execute("INSERT INTO pedidocen (id_projeto, titulo, objetivo, contexto, atores, recursos, excecao, episodios, id_usuario, tipo_pedido, aprovado) VALUES ($id_projeto, '$titulo', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios', $id_usuario, 'inserir', 0)"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Inclusão Cenário", "O usuario do sistema $nome\nPede para inserir o cenario $titulo \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um cenario ela deve receber os campos do cenario -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerentes do projeto -# referente a este cenario caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAlterarCenario"))) { - function inserirPedidoAlterarCenario($id_projeto, $id_cenario, $titulo, $objetivo, $contexto, $atores, $recursos,$excecao, $episodios, $justificativa, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidocen (id_projeto, id_cenario, titulo, objetivo, contexto, atores, recursos, excecao, episodios, id_usuario, tipo_pedido, aprovado, justificativa) VALUES ($id_projeto, $id_cenario, '$titulo', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios', $id_usuario, 'alterar', 0, '$justificativa')"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Alteração Cenário", "O usuario do sistema $nome\nPede para alterar o cenario $titulo \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - - removeCenario($id_projeto,$id_cenario) ; - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um cenario ela deve receber -# o id do cenario e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_cenario.php -################################################################### -if (!(function_exists("inserirPedidoRemoverCenario"))) { - function inserirPedidoRemoverCenario($id_projeto, $id_cenario, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - $select->execute("SELECT * FROM cenario WHERE id_cenario = $id_cenario"); - $cenario = $select->gofirst(); - $titulo = $cenario['titulo']; - $insere->execute("INSERT INTO pedidocen (id_projeto, id_cenario, titulo, id_usuario, tipo_pedido, aprovado) VALUES ($id_projeto, $id_cenario, '$titulo', $id_usuario, 'remover', 0)"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Remover Cenário", "O usuario do sistema $nome\nPede para remover o cenario $id_cenario \nObrigado!", "From: $nome\r\n" . "Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para inserir um novo lexico ela deve receber os campos do novo -# lexicos. -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico caso o criador não seja o gerente. -# Arquivos que utilizam essa funcao: -# add_lexico.php -################################################################### -if (!(function_exists("inserirPedidoAdicionarLexico"))) { - function inserirPedidoAdicionarLexico($id_projeto,$nome,$nocao,$impacto,$id_usuario,$sinonimos, $classificacao){ - - $DB = new PGDB() ; - $insere = new QUERY($DB) ; - $select = new QUERY($DB) ; - $select2 = new QUERY($DB) ; - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidolex (id_projeto,nome,nocao,impacto,tipo,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,'$nome','$nocao','$impacto','$classificacao',$id_usuario,'inserir',0)") ; - - $newId = $insere->getLastId(); - - $select->execute("SELECT * FROM usuario WHERE id_usuario = '$id_usuario'") ; - - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - - //insere sinonimos - - foreach($sinonimos as $sin){ - - $insere->execute("INSERT INTO sinonimo (id_pedidolex, nome, id_projeto) VALUES ($newId, '$sin', $id_projeto)"); - } - //fim da insercao dos sinonimos - - if ($select->getntuples() == 0 &&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - - $record = $select->gofirst (); - $nome2 = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Inclusão de Léxico", "O usuario do sistema $nome2\nPede para inserir o lexico $nome \nObrigado!","From: $nome2\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - - - } - } - - }else{ //Eh gerente - adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um lexico ela deve receber os campos do lexicos -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_lexico.php -################################################################### -if (!(function_exists("inserirPedidoAlterarLexico"))) { - function inserirPedidoAlterarLexico($id_projeto,$id_lexico,$nome,$nocao,$impacto,$justificativa,$id_usuario, $sinonimos, $classificacao){ - - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - - //print("INSERT INTO pedidolex (id_projeto,id_lexico,nome,nocao,impacto,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome','$nocao','$impacto',$id_usuario,'alterar',0)"); - $insere->execute("INSERT INTO pedidolex (id_projeto,id_lexico,nome,nocao,impacto,id_usuario,tipo_pedido,aprovado,justificativa, tipo) VALUES ($id_projeto,$id_lexico,'$nome','$nocao','$impacto',$id_usuario,'alterar',0,'$justificativa', '$classificacao')") ; - - $newPedidoId = $insere->getLastId(); - - //sinonimos - foreach($sinonimos as $sin){ - - $insere->execute("INSERT INTO sinonimo (id_pedidolex,nome,id_projeto) VALUES ($newPedidoId,'$sin', $id_projeto)") ; - - } - - - $select->execute("SELECT * FROM usuario WHERE id_usuario = '$id_usuario'") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0 && $select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome2 = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Alterar Léxico", "O usuario do sistema $nome2\nPede para alterar o lexico $nome \nObrigado!","From: $nome2\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } - else{ //Eh gerente - - removeLexico($id_projeto,$id_lexico); - adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) ; - } - - } -} -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um lexico ela deve receber -# o id do lexico e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_lexico.php -################################################################### -if (!(function_exists("inserirPedidoRemoverLexico"))) { - function inserirPedidoRemoverLexico($id_projeto,$id_lexico,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM lexico WHERE id_lexico = $id_lexico") ; - $lexico = $select->gofirst (); - $nome = $lexico['nome'] ; - - //print("INSERT INTO pedidolex (id_projeto,id_lexico,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome',$id_usuario,'remover',0)"); - $insere->execute("INSERT INTO pedidolex (id_projeto,id_lexico,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Léxico", "O usuario do sistema $nome2\nPede para remover o lexico $id_lexico \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um conceito ela deve receber os campos do conceito -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerentes do projeto -# referente a este cenario caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAlterarCenario"))) { - function inserirPedidoAlterarConceito($id_projeto, $id_conceito, $nome, $descricao, $namespace, $justificativa, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidocon (id_projeto, id_conceito, nome, descricao, namespace, id_usuario, tipo_pedido, aprovado, justificativa) VALUES ($id_projeto, $id_conceito, '$nome', '$descricao', '$namespace', $id_usuario, 'alterar', 0, '$justificativa')"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nomeUsuario = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Alteração Conceito", "O usuario do sistema $nomeUsuario\nPede para alterar o conceito $nome \nObrigado!","From: $nomeUsuario\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - - removeConceito($id_projeto,$id_conceito) ; - adicionar_conceito($id_projeto, $nome, $descricao, $namespace) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um conceito ela deve receber -# o id do conceito e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este conceito.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_conceito.php -################################################################### -if (!(function_exists("inserirPedidoRemoverConceito"))) { - function inserirPedidoRemoverConceito($id_projeto,$id_conceito,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM conceito WHERE id_conceito = $id_conceito") ; - $conceito = $select->gofirst (); - $nome = $conceito['nome'] ; - - $insere->execute("INSERT INTO pedidocon (id_projeto,id_conceito,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_conceito,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Conceito", "O usuario do sistema $nome2\nPede para remover o conceito $id_conceito \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover uma relacao ela deve receber -# o id da relacao e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este relacao.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_relacao.php -################################################################### -if (!(function_exists("inserirPedidoRemoverRelacao"))) { - function inserirPedidoRemoverRelacao($id_projeto,$id_relacao,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM relacao WHERE id_relacao = $id_relacao") ; - $relacao = $select->gofirst (); - $nome = $relacao['nome'] ; - - $insere->execute("INSERT INTO pedidorel (id_projeto,id_relacao,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_relacao,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Conceito", "O usuario do sistema $nome2\nPede para remover o conceito $id_relacao \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoCenario"))) { - function tratarPedidoCenario($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - //print("
SELECT * FROM pedidocen WHERE id_pedido = $id_pedido"); - $select->execute("SELECT * FROM pedidocen WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_cenario = $record['id_cenario'] ; - $id_projeto = $record['id_projeto'] ; - removeCenario($id_projeto,$id_cenario) ; - //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $titulo = $record['titulo'] ; - $objetivo = $record['objetivo'] ; - $contexto = $record['contexto'] ; - $atores = $record['atores'] ; - $recursos = $record['recursos'] ; - $excecao = $record['excecao'] ; - $episodios = $record['episodios'] ; - if(!strcasecmp($tipoPedido,'alterar')){ - $id_cenario = $record['id_cenario'] ; - removeCenario($id_projeto,$id_cenario) ; - //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; - } - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - } - //$delete->execute ("DELETE FROM pedidocen WHERE id_pedido = $id_pedido") ; - } - } -} -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o lexico e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoLexico"))) { - function tratarPedidoLexico($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB); - $selectSin = new QUERY ($DB); - $select->execute("SELECT * FROM pedidolex WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_lexico = $record['id_lexico'] ; - $id_projeto = $record['id_projeto'] ; - //echo ("removeLexico\n"); - removeLexico($id_projeto,$id_lexico) ; - //$delete->execute ("DELETE FROM pedidolex WHERE id_lexico = $id_lexico") ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - $nocao = $record['nocao'] ; - $impacto = $record['impacto'] ; - $classificacao = $record['tipo']; - - //sinonimos - - $sinonimos = array(); - - $selectSin->execute("SELECT nome FROM sinonimo WHERE id_pedidolex = $id_pedido"); - - $sinonimo = $selectSin->gofirst(); - - while($sinonimo != 'LAST_RECORD_REACHED'){ - - $sinonimos[] = $sinonimo["nome"]; - - $sinonimo = $selectSin->gonext(); - } - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_lexico = $record['id_lexico'] ; - removeLexico($id_projeto,$id_lexico) ; - //$delete->execute ("DELETE FROM pedidolex WHERE id_lexico = $id_lexico") ; - } - // adicionar_lexico($id_projeto, $nome, $nocao, $impacto) ; - - - if(($idLexicoConflitante = adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao)) <= 0) - { - $idLexicoConflitante = -1 * $idLexicoConflitante; - - $selectLexConflitante->execute("SELECT nome FROM lexico WHERE id_lexico = " . $idLexicoConflitante); - - $row = $selectLexConflitante->gofirst(); - - return $row["nome"]; - } - - - - } - return null; - //$delete->execute ("DELETE FROM pedidolex WHERE id_pedido = $id_pedido") ; - } - } -} -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoConceito"))) { - function tratarPedidoConceito($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - $select->execute("SELECT * FROM pedidocon WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_conceito = $record['id_conceito'] ; - $id_projeto = $record['id_projeto'] ; - removeConceito($id_projeto,$id_conceito) ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - $descricao = $record['descricao'] ; - $namespace = $record['namespace'] ; - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_cenario = $record['id_conceito'] ; - removeConceito($id_projeto,$id_conceito) ; - } - adicionar_conceito($id_projeto, $nome, $descricao, $namespace) ; - } - } - } -} - -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoRelacao"))) { - function tratarPedidoRelacao($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - $select->execute("SELECT * FROM pedidorel WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_relacao = $record['id_relacao'] ; - $id_projeto = $record['id_projeto'] ; - removeRelacao($id_projeto,$id_relacao) ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_relacao = $record['id_relacao'] ; - removeRelacao($id_projeto,$id_relacao) ; - } - adicionar_relacao($id_projeto, $nome) ; - } - } - } -} -############################################# -#Deprecated by the author: -#Essa funcao deveria receber um id_projeto -#de forma a verificar se o gerente pertence -#a esse projeto.Ela so verifica atualmente -#se a pessoa e um gerente. -############################################# -if (!(function_exists("verificaGerente"))) { - function verificaGerente($id_usuario){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $select->execute("SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario") ; - if ($select->getntuples() == 0){ - return 0 ; - }else{ - return 1 ; - } - } -} - -############################################# -# Formata Data -# Recebe YYY-DD-MM -# Retorna DD-MM-YYYY -############################################# -if (!(function_exists("formataData"))) { - function formataData($data){ - - $novaData = substr( $data, 8, 9 ) . - substr( $data, 4, 4 ) . - substr( $data, 0, 4 ); - return $novaData ; - } -} - - - - - -// Retorna TRUE ssse $id_usuario eh admin de $id_projeto -if (!(function_exists("is_admin"))) { - function is_admin($id_usuario, $id_projeto) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * - FROM participa - WHERE id_usuario = $id_usuario - AND id_projeto = $id_projeto - AND gerente = 1"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - return (1 == mysql_num_rows($qrr)); - } -} - -// Retorna TRUE ssse $id_usuario tem permissao sobre $id_projeto -if (!(function_exists("check_proj_perm"))) { - function check_proj_perm($id_usuario, $id_projeto) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * - FROM participa - WHERE id_usuario = $id_usuario - AND id_projeto = $id_projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - return (1 == mysql_num_rows($qrr)); - } -} -################################################################### -# Verifica se um determinado usuario e gerente de um determinado -# projeto -# Recebe o id do projeto. (1.1) -# Faz um select para pegar o resultArray da tabela Participa.(1.2) -# Se o resultArray for nao nulo: devolvemos TRUE(1);(1.3) -# Se o resultArray for nulo: devolvemos False(0);(1.4) -################################################################### -function verificaGerente($id_usuario, $id_projeto) -{ - $ret = 0; - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - if ( $resultArray != false ){ - - $ret = 1; - } - return $ret; - -} - -################################################################### -# Remove um determinado projeto da base de dados -# Recebe o id do projeto. (1.1) -# Apaga os valores da tabela pedidocen que possuam o id do projeto enviado (1.2) -# Apaga os valores da tabela pedidolex que possuam o id do projeto enviado (1.3) -# Faz um SELECT para saber quais léxico pertencem ao projeto de id_projeto (1.4) -# Apaga os valores da tabela lextolex que possuam possuam lexico do projeto (1.5) -# Apaga os valores da tabela centolex que possuam possuam lexico do projeto (1.6) -# Apaga os valores da tabela sinonimo que possuam possuam o id do projeto (1.7) -# Apaga os valores da tabela lexico que possuam o id do projeto enviado (1.8) -# Faz um SELECT para saber quais cenario pertencem ao projeto de id_projeto (1.9) -# Apaga os valores da tabela centocen que possuam possuam cenarios do projeto (2.0) -# Apaga os valores da tabela centolex que possuam possuam cenarios do projeto (2.1) -# Apaga os valores da tabela cenario que possuam o id do projeto enviado (2.2) -# Apaga os valores da tabela participa que possuam o id do projeto enviado (2.3) -# Apaga os valores da tabela publicacao que possuam o id do projeto enviado (2.4) -# Apaga os valores da tabela projeto que possuam o id do projeto enviado (2.5) -# -################################################################### -function removeProjeto($id_projeto) -{ - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os pedidos de cenario - $qv = "Delete FROM pedidocen WHERE id_projeto = '$id_projeto' "; - $deletaPedidoCenario = mysql_query($qv) or die("Erro ao apagar pedidos de cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os pedidos de lexico - $qv = "Delete FROM pedidolex WHERE id_projeto = '$id_projeto' "; - $deletaPedidoLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os lexicos //verificar lextolex!!! - $qv = "SELECT * FROM lexico WHERE id_projeto = '$id_projeto' "; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qvr)) - { - $id_lexico = $result['id_lexico']; //seleciona um lexico - - $qv = "Delete FROM lextolex WHERE id_lexico_from = '$id_lexico' OR id_lexico_to = '$id_lexico' "; - $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM centolex WHERE id_lexico = '$id_lexico'"; - $deletacentolex = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //$qv = "Delete FROM sinonimo WHERE id_lexico = '$id_lexico'"; - //$deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM sinonimo WHERE id_projeto = '$id_projeto'"; - $deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - } - - $qv = "Delete FROM lexico WHERE id_projeto = '$id_projeto' "; - $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remove os cenarios - $qv = "SELECT * FROM cenario WHERE id_projeto = '$id_projeto' "; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCenario = mysql_fetch_array($qvr); - - while ($result = mysql_fetch_array($qvr)) - { - $id_lexico = $result['id_cenario']; //seleciona um lexico - - $qv = "Delete FROM centocen WHERE id_cenario_from = '$id_cenario' OR id_cenario_to = '$id_cenario' "; - $deletaCentoCen = mysql_query($qv) or die("Erro ao apagar pedidos do centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM centolex WHERE id_cenario = '$id_cenario'"; - $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - - } - - $qv = "Delete FROM cenario WHERE id_projeto = '$id_projeto' "; - $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover participantes - $qv = "Delete FROM participa WHERE id_projeto = '$id_projeto' "; - $deletaParticipantes = mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover publicacao - $qv = "Delete FROM publicacao WHERE id_projeto = '$id_projeto' "; - $deletaPublicacao = mysql_query($qv) or die("Erro ao apagar no publicacao
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover projeto - $qv = "Delete FROM projeto WHERE id_projeto = '$id_projeto' "; - $deletaProjeto= mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - -} -?> - diff --git a/cel/aplicacao/Copy of funcoes_genericas.php b/cel/aplicacao/Copy of funcoes_genericas.php deleted file mode 100644 index a2af6bfb..00000000 --- a/cel/aplicacao/Copy of funcoes_genericas.php +++ /dev/null @@ -1,2067 +0,0 @@ - - - - -" . mysql_error() . "
" . __FILE__ . __LINE__); - - $q = "INSERT INTO cenario (id_projeto,data, titulo, objetivo, contexto, atores, recursos, excecao, episodios) - VALUES ($id_projeto,'now', '" . strtolower($titulo) . "', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios')"; - mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT max(id_cenario) FROM cenario"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} -################################################################### -# Insere um lexico no banco de dados. -# Recebe o id_projeto, nome, noção, impacto e os sinonimos. (1.1) -# Insere os valores do lexico na tabela LEXICO. (1.2) -# Insere todos os sinonimos na tabela SINONIMO. (1.3) -# Devolve o id_lexico. (1.4) -# -################################################################### -if (!(function_exists("inclui_lexico"))) { - function inclui_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $data = date("Y-m-d"); - $q = "INSERT INTO lexico (id_projeto, data, nome, nocao, impacto, tipo) - VALUES ($id_projeto, '$data', '" . strtolower($nome) . "', '$nocao', '$impacto', '$classificacao')"; - mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //sinonimo - $newLexId = mysql_insert_id($r); - - - if( ! is_array($sinonimos) ) - $sinonimos = array(); - - foreach($sinonimos as $novoSin){ - - $q = "INSERT INTO sinonimo (id_lexico, nome, id_projeto) - VALUES ($newLexId, '" . strtolower($novoSin) . "', $id_projeto)"; - - mysql_query($q, $r) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - - $q = "SELECT max(id_lexico) FROM lexico"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} -################################################################### -# Insere um projeto no banco de dados. -# Recebe o nome e descricao. (1.1) -# Verifica se este usuario ja possui um projeto com esse nome. (1.2) -# Caso nao possua, insere os valores na tabela PROJETO. (1.3) -# Devolve o id_cprojeto. (1.4) -# -################################################################### -if (!(function_exists("inclui_projeto"))) { - function inclui_projeto($nome, $descricao) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - //verifica se usuario ja existe - $qv = "SELECT * FROM projeto WHERE nome = '$nome'"; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //$result = mysql_fetch_row($qvr); - $resultArray = mysql_fetch_array($qvr); - - - if ( $resultArray != false ) - { - //verifica se o nome existente corresponde a um projeto que este usuario participa - $id_projeto_repetido = $resultArray['id_projeto']; - - $id_usuario_corrente = $_SESSION['id_usuario_corrente']; - - $qvu = "SELECT * FROM participa WHERE id_projeto = '$id_projeto_repetido' AND id_usuario = '$id_usuario_corrente' "; - - $qvuv = mysql_query($qvu) or die("Erro ao enviar a query de SELECT no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $resultArray = mysql_fetch_row($qvuv); - - if ($resultArray[0] != null ) - { - return -1; - } - - } - - $q = "SELECT MAX(id_projeto) FROM projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de MAX ID
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - - if ( $result[0] == false ) - { - $result[0] = 1; - } - else - { - $result[0]++; - } - $data = date("Y-m-d"); - - $qr = "INSERT INTO projeto (id_projeto, nome, data_criacao, descricao) - VALUES ($result[0],'$nome','$data' , '$descricao')"; - - mysql_query($qr) or die("Erro ao enviar a query INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); - - return $result[0]; - } -} - -if (!(function_exists("replace_skip_tags"))) { - function replace_skip_tags($search, $subject, $t_lnk, $id_lnk) { - $title = ($t_lnk == "c") ? "Cenario" : "Lexico"; - $subject_tmp = preg_replace("/>(.*)(" . $search . ")(.*)$1$2abcdef$3<", $subject); - if ($t_lnk == "l") { - $subject_tmp2 = preg_replace("/(\s|\b)(" . $search . ")(\s|\b)/i", '$1
$2$3', $subject_tmp); - } else { - $subject_tmp2 = preg_replace("/(\s|\b)(" . $search . ")(\s|\b)/i", '$1$2$3', $subject_tmp); - } - $subject_tmp3 = preg_replace("/>(.*)(" . $search . ")abcdef(.*)$1$2$3<", $subject_tmp2); - - ?> - - - - - - - - - - -" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT $field FROM $table WHERE $where"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - $result = mysql_fetch_row($qrr); - return $result[0]; - */ - function simple_query($field, $table, $where) { - $r = bd_connect() or die("Erro ao conectar ao SGBD"); - $q = "SELECT $field FROM $table WHERE $where"; - $qrr = mysql_query($q) or die("Erro ao enviar a query"); - $result = mysql_fetch_row($qrr); - return $result[0]; - } -} - - - -// Para a correta inclusao de um cenario, uma serie de procedimentos -// precisam ser tomados (relativos ao requisito 'navegacao circular'): -// -// 1. Incluir o novo cenario na base de dados; -// 2. Para todos os cenarios daquele projeto: -// 2.1. Procurar em contexto, episodios -// por ocorrencias do titulo do cenario incluido; -// 2.2. Para os campos em que forem encontradas ocorrencias: -// 2.2.1. Transformar a ocorrencia (titulo do cenario) em link; -// 2.3. Se algum campo sofreu alteracao: -// 2.3.1. Incluir entrada na tabela 'centocen'; -// 2.4. Procurar em contexto, episodios do cenario incluido -// por ocorrencias de titulos de outros cenarios do mesmo projeto; -// 2.5. Se achar alguma ocorrencia: -// 2.5.1. Transformar ocorrencia em link; -// 2.5.2. Incluir entrada na tabela 'centocen'; -// 3. Para todos os nomes de termos do lexico daquele projeto: -// 3.1. Procurar ocorrencias desses nomes no titulo, objetivo, contexto, -// recursos, atores, episodios do cenario incluido; -// 3.2. Para os campos em que forem encontradas ocorrencias: -// 3.2.1. Transformar as ocorrencias (nomes de termos) em link; -// 3.3. Se algum campo sofreu alteracao: -// 3.3.1. Incluir entrada na tabela 'centolex'; - -if (!(function_exists("adicionar_cenario"))) { - function adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) - { - // Conecta ao SGBD - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - // Inclui o cenario na base de dados (sem transformar os campos - // em links e sem criar os relacionamentos) - $id_incluido = inclui_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios); - - $q = "SELECT id_cenario, titulo, contexto, episodios - FROM cenario - WHERE id_projeto = $id_projeto - AND id_cenario != $id_incluido - ORDER BY CHAR_LENGTH(titulo) DESC"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (2) Para todos os cenarios - - $result_m = replace_skip_tags($titulo, $result, "c", $id_incluido); - - if ($result['contexto'] != $result_m['contexto'] || - $result['episodios'] != $result_m['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - contexto = '" . $result_m['contexto'] . "', - episodios = '" . $result_m['episodios'] . "' - WHERE id_cenario = " . $result['id_cenario']; - mysql_query($q) or die("Erro ao enviar a query de UPDATE
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.2.1 tbm) - $q = "INSERT INTO centocen (id_cenario_from, id_cenario_to) - VALUES (" . $result['id_cenario'] . ", $id_incluido)"; - mysql_query($q) or die("Erro ao enviar a query de INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.3.1) - } - - // Para podermos executar (2.4), devemos retirar os links (possivelmente presentes) - // dos titulos dos outros cenarios do mesmo projeto. Esta regexp remove tags HTML. - $result['titulo'] = preg_replace("'<[\/\!]*?[^<>]*?>'si", "", $result['titulo']); - - $contexto_m = replace_skip_tags($result['titulo'], $contexto, "c", $result['id_cenario']); - $episodios_m = replace_skip_tags($result['titulo'], $episodios, "c", $result['id_cenario']); - - if ($contexto != $contexto_m || - $episodios != $episodios_m) { // (2.5) - $q = "UPDATE cenario SET - contexto = '$contexto_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de UPDATE 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.5.1) - - // $qCen = "SELECT * FROM centocen WHERE id_cenario_from = $id_incluido AND id_cenario_to = " . $result['id_cenario']; - // $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); - // $resultArrayCen = mysql_fetch_array($qrCen); - - // if ($resultArrayCen == false) - // { - $q = "INSERT INTO centocen (id_cenario_from, id_cenario_to) VALUES ($id_incluido, " . $result['id_cenario'] . ")"; - //$q = "INSERT INTO centocen (id_cenario_to, id_cenario_from) VALUES ($id_incluido, " . $result['id_cenario'] . ")"; - mysql_query($q) or die("Erro ao enviar a query de insert no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.5.2) - // } - // Atualiza definicao de $objetivo, $contexto, $atores, $recursos, $episodios - $contexto = $contexto_m; - $episodios = $episodios_m; - } // if - } // while - - $q = "SELECT id_lexico, nome FROM lexico WHERE id_projeto = $id_projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (3) - //$titulo_m = replace_skip_tags($result['nome'], $titulo, "l", $result['id_lexico']); - $objetivo_m = replace_skip_tags($result['nome'], $objetivo, "l", $result['id_lexico']); - $contexto_m = replace_skip_tags($result['nome'], $contexto, "l", $result['id_lexico']); - $atores_m = replace_skip_tags($result['nome'], $atores, "l", $result['id_lexico']); - $recursos_m = replace_skip_tags($result['nome'], $recursos, "l", $result['id_lexico']); - $excecao_m = replace_skip_tags($result['nome'], $excecao, "l", $result['id_lexico']); - $episodios_m = replace_skip_tags($result['nome'], $episodios, "l", $result['id_lexico']); - if (//$titulo != $titulo_m || - $objetivo != $objetivo_m || - $contexto != $contexto_m || - $atores != $atores_m || - $recursos != $recursos_m || - $excecao != $excecao_m || - $episodios != $episodios_m) { // (3.3) - $q = "UPDATE cenario SET - objetivo = '$objetivo_m', - contexto = '$contexto_m', - atores = '$atores_m', - recursos = '$recursos_m', - excecao = '$excecao_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de UPDATE3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.2.1) - - $qCen = "SELECT * FROM centolex WHERE id_cenario = $id_incluido AND id_lexico = " . $result['id_lexico']; - $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCen = mysql_fetch_array($qrCen); - - if ($resultArrayCen == false) - { - $q = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_incluido, " . $result['id_lexico'] . ")"; - mysql_query($q) or die("Erro ao enviar a query de INSERT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) - } - // Atualiza definicao de $titulo, $objetivo, $contexto, $atores, $recursos, $episodios - //$titulo = $titulo_m; - $objetivo = $objetivo_m; - $contexto = $contexto_m; - $atores = $atores_m; - $recursos = $recursos_m; - $excecao = $excecao_m; - $episodios = $episodios_m; - } // if - } // while - - //Sinonimos - - - $qSinonimos = "SELECT nome, id_lexico FROM sinonimo WHERE id_projeto = $id_projeto AND id_pedidolex = 0"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - $id_lexicoSinonimo = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - $id_lexicoSinonimo[] = $rowSinonimo["id_lexico"]; - - } - $qlc = "SELECT id_cenario, titulo, contexto, episodios, objetivo, atores, recursos, excecao - FROM cenario - WHERE id_projeto = $id_projeto - AND id_cenario = $id_incluido"; - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - - $qrr = mysql_query($qlc) or die("Erro ao enviar a query de busca
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) { // (3) - // $titulo_m = replace_skip_tags($nomesSinonimos[$i], $titulo, "l", $id_lexicoSinonimo[$i]); - $objetivo_m = replace_skip_tags($nomesSinonimos[$i], $objetivo, "l", $id_lexicoSinonimo[$i]); - $contexto_m = replace_skip_tags($nomesSinonimos[$i], $contexto, "l", $id_lexicoSinonimo[$i]); - $atores_m = replace_skip_tags($nomesSinonimos[$i], $atores, "l", $id_lexicoSinonimo[$i]); - $recursos_m = replace_skip_tags($nomesSinonimos[$i], $recursos, "l", $id_lexicoSinonimo[$i]); - $excecao_m = replace_skip_tags($nomesSinonimos[$i], $excecao, "l", $id_lexicoSinonimo[$i]); - $episodios_m = replace_skip_tags($nomesSinonimos[$i], $episodios, "l", $id_lexicoSinonimo[$i]); - if (//$titulo != $titulo_m || - $objetivo != $objetivo_m || - $contexto != $contexto_m || - $atores != $atores_m || - $recursos != $recursos_m || - $excecao != $excecao_m || - $episodios != $episodios_m) { // (3.3) - $q = "UPDATE cenario SET - objetivo = '$objetivo_m', - contexto = '$contexto_m', - atores = '$atores_m', - recursos = '$recursos_m', - excecao = '$excecao_m', - episodios = '$episodios_m' - WHERE id_cenario = $id_incluido"; - mysql_query($q) or die("Erro ao enviar a query de update 4
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.2.1) - - $qCen = "SELECT * FROM centolex WHERE id_cenario = $id_incluido AND id_lexico = $id_lexicoSinonimo[$i] "; - $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCen = mysql_fetch_array($qrCen); - - if ($resultArrayCen == false) - { - $q = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_incluido, $id_lexicoSinonimo[$i])"; - mysql_query($q) or die("Erro ao enviar a query de insert no centolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) - } - // Atualiza definicao de $titulo, $objetivo, $contexto, $atores, $recursos, $episodios - //$titulo = $titulo_m; - $objetivo = $objetivo_m; - $contexto = $contexto_m; - $atores = $atores_m; - $recursos = $recursos_m; - $excecao = $excecao_m; - $episodios = $episodios_m; - } // if - } // while - - } //for - - } -} - -// Para a correta inclusao de um termo no lexico, uma serie de procedimentos -// precisam ser tomados (relativos ao requisito 'navegacao circular'): -// -// 1. Incluir o novo termo na base de dados; -// 2. Para todos os cenarios daquele projeto: -// 2.1. Procurar em titulo, objetivo, contexto, recursos, atores, episodios -// por ocorrencias do termo incluido ou de seus sinonimos; -// 2.2. Para os campos em que forem encontradas ocorrencias: -// 2.2.1. Transformar a ocorrencia (nome do lexico) em link; -// 2.3. Se algum campo sofreu alteracao: -// 2.3.1. Incluir entrada na tabela 'centolex'; -// 3. Para todos termos do lexico daquele projeto (menos o recem-inserido): -// 3.1. Procurar em nocao, impacto por ocorrencias do termo inserido ou de seus sinonimos; -// 3.2. Para os campos em que forem encontradas ocorrencias: -// 3.2.1. Transformar a ocorrencia (nome do lexico ou sinonimo) em link; -// 3.3. Se algum campo sofreu alteracao: -// 3.3.1. Incluir entrada na tabela 'lextolex'; -// 3.4. Procurar em nocao, impacto do termo inserido por -// ocorrencias de termos do lexico do mesmo projeto; -// 3.5. Se achar alguma ocorrencia: -// 3.5.1. Transformar ocorrencia em link; -// 3.5.2. Incluir entrada na table 'lextolex'; - -if (!(function_exists("adicionar_lexico"))) { - function adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao){ - - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $id_incluido = inclui_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao); // (1) - // $nome, $nocao e $impacto campos do formulario - - $qr = "SELECT id_cenario, titulo, objetivo, contexto, atores, recursos, excecao, episodios - FROM cenario - WHERE id_projeto = $id_projeto"; - - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qrr)) { // (2) Para todos os cenarios - $result_m = replace_skip_tags($nome, $result, "l", $id_incluido); - - if (//$result['titulo'] != $result_m['titulo'] || - $result['objetivo'] != $result_m['objetivo'] || - $result['contexto'] != $result_m['contexto'] || - $result['atores'] != $result_m['atores'] || - $result['recursos'] != $result_m['recursos'] || - $result['excecao'] != $result_m['excecao'] || - $result['episodios'] != $result_m['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - objetivo = '" . $result_m['objetivo'] . "', - contexto = '" . $result_m['contexto'] . "', - atores = '" . $result_m['atores'] . "', - recursos = '" . $result_m['recursos'] . "', - excecao = '" . $result_m['excecao'] . "', - episodios = '" . $result_m['episodios'] . "' - WHERE id_cenario = " . $result['id_cenario']; - - mysql_query($q) or die("Erro ao enviar a query de UPDATE 1
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.2.1 tbm) - $q = "INSERT INTO centolex (id_cenario, id_lexico) - VALUES (" . $result['id_cenario'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); // (2.3.1) - } - } - - //sinonimos do novo lexico - $count = count($sinonimos); - for ($i = 0; $i < $count; $i++) - { - - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result2 = mysql_fetch_array($qrr)) - { - - $result_m2 = replace_skip_tags($sinonimos[$i], $result2, "l", $id_incluido); - if (//$result2['titulo'] != $result_m2['titulo'] || - $result2['objetivo'] != $result_m2['objetivo'] || - $result2['contexto'] != $result_m2['contexto'] || - $result2['atores'] != $result_m2['atores'] || - $result2['recursos'] != $result_m2['recursos'] || - $result2['excecao'] != $result_m2['excecao'] || - $result2['episodios'] != $result_m2['episodios']) { // (2.3) - - $q = "UPDATE cenario SET - objetivo = '" . $result_m2['objetivo'] . "', - contexto = '" . $result_m2['contexto'] . "', - atores = '" . $result_m2['atores'] . "', - recursos = '" . $result_m2['recursos'] . "', - excecao = '" . $result_m2['excecao'] . "', - episodios = '" . $result_m2['episodios'] . "' - WHERE id_cenario = " . $result2['id_cenario']; - - mysql_query($q) or die("Erro ao enviar a query de UPDATE 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - $qLex = "SELECT * FROM centolex WHERE id_cenario = " . $result2['id_cenario'] . " AND id_lexico = $id_incluido "; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - $q = "INSERT INTO centolex (id_cenario, id_lexico) - VALUES (" . $result2['id_cenario'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } //if - }//if - - }//while - - } //for - - - - - $qlo = "SELECT id_lexico, nome, nocao, impacto, tipo - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico != $id_incluido"; - //pega todos os outros lexicos - $qrr = mysql_query($qlo) or die("Erro ao enviar a query de SELECT no LEXICO
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qrr)) - { // (3) - - $result_m = replace_skip_tags($nome, $result, "l", $id_incluido); - - if ($result['nocao'] != $result_m['nocao'] || $result['impacto'] != $result_m['impacto']) - { // (3.3) - $q = "UPDATE lexico SET - nocao = '" . $result_m['nocao'] . "', - impacto = '" . $result_m['impacto'] . "' - WHERE id_lexico = '" . $result['id_lexico'] . "'"; - // echo($nome)." "; - // echo($result_m['nocao'])." "; - - mysql_query($q) or die("Erro ao enviar a query de update no LEXICO 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $result['id_lexico'] . " AND id_lexico_to = $id_incluido"; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) - VALUES (" . $result['id_lexico'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de INSERT no lextolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - } - - $nocao_m = replace_skip_tags($result['nome'], $nocao, "l", $result['id_lexico']); - $impacto_m = replace_skip_tags($result['nome'], $impacto, "l", $result['id_lexico']); - - if ($nocao_m != $nocao || $impacto_m != $impacto) - { // (3.5) - $q = "UPDATE lexico SET nocao = '$nocao_m', impacto = '$impacto_m' WHERE id_lexico = $id_incluido"; - mysql_query($q) or die("Erro ao executar query de update no lexico 4
" . mysql_error() . "
" . __FILE__ . __LINE__);// (3.5.1) - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = $id_incluido AND id_lexico_to = " . $result['id_lexico']; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) VALUES ($id_incluido, " . $result['id_lexico'] . ")"; - - mysql_query($q) or die("Erro ao executar query de insert no lextolex 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.5.2) - } - // Atualiza a definicao de $nocao e $impacto - $nocao = $nocao_m; - $impacto = $impacto_m; - } // if - } // while - - - //lexico para lexico - - $ql = "SELECT id_lexico, nome, nocao, impacto - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico != $id_incluido"; - - //sinonimos incluidos nos outros lexicos - - $qrr = mysql_query($ql) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $count = count($sinonimos); - for ($i = 0; $i < $count; $i++) - { - while ($resultl = mysql_fetch_array($qrr)) { - $result_ml = replace_skip_tags($sinonimos[$i], $resultl, "l", $id_incluido); - - if ($resultl['nocao'] != $result_ml['nocao'] || - $resultl['impacto'] != $result_ml['impacto']) { - $q = "UPDATE lexico SET - nocao = '" . $result_ml['nocao'] . "', - impacto = '" . $result_ml['impacto'] . "' - WHERE id_lexico = " . $resultl['id_lexico']; - - mysql_query($q) or die("Erro ao enviar a query de update no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $resultl['id_lexico'] . " AND id_lexico_to = $id_incluido"; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - - $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) - VALUES (" . $resultl['id_lexico'] . ", $id_incluido)"; - - mysql_query($q) or die("Erro ao enviar a query de insert no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - }//if - } //if - }//while - }//for - - //sinonimos ja existentes - - $qSinonimos = "SELECT nome, id_lexico FROM sinonimo WHERE id_projeto = $id_projeto AND id_lexico != $id_incluido AND id_pedidolex = 0"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - $id_lexicoSinonimo = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - $id_lexicoSinonimo[] = $rowSinonimo["id_lexico"]; - - } - - - - - //////PROBLEMAS///// - /* - $qlIncluido = "SELECT id_lexico, nome, nocao, impacto - FROM lexico - WHERE id_projeto = $id_projeto - AND id_lexico = $id_incluido"; - - - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - // echo ($nomesSinonimos[$i])." "; - $qrr = mysql_query($qlIncluido) or die("Erro ao enviar a query de select no Lexico 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($resultlne = mysql_fetch_array($qrr)) { - $result_mlne = replace_skip_tags($nomesSinonimos[$i], $resultlne, "l", $id_lexicoSinonimo[$i]); - if ($resultlne['nocao'] != $result_mlne['nocao'] || - $resultlne['impacto'] != $result_mlne['impacto']) { - $qup = "UPDATE lexico SET - nocao = '" . $result_mlne['nocao'] . "', - impacto = '" . $result_mlne['impacto'] . "' - WHERE id_lexico = " . $id_incluido; - ?>" . mysql_error() . "
" . __FILE__ . __LINE__); - //echo ($nomesSinonimos[$i])." "; - //echo ($result_mlne['nocao'])." "; - - $qLex = "SELECT * FROM lextolex WHERE id_lexico_to = $id_lexicoSinonimo[$i] AND id_lexico_from = $id_incluido "; - $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArraylex = mysql_fetch_array($qrLex); - - if ( $resultArraylex == false ) - { - $q = "INSERT INTO lextolex (id_lexico_to, id_lexico_from) - VALUES ( $id_lexicoSinonimo[$i], $id_incluido) "; - mysql_query($q) or die("Erro ao enviar a query de insert 2
" . mysql_error() . "
" . __FILE__ . __LINE__); - } - - }//if - }//while - }//for - */ - } -} - - -################################################################### -# Essa funcao recebe um id de cenario e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeCenario"))) { - function removeCenario($id_projeto,$id_cenario){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $sql2 = new QUERY ($DB) ; - $sql3 = new QUERY ($DB) ; - $sql4 = new QUERY ($DB) ; - $sql5 = new QUERY ($DB) ; - $sql6 = new QUERY ($DB) ; - $sql7 = new QUERY ($DB) ; - # Este select procura o cenario a ser removido - # dentro do projeto - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto and id_cenario = $id_cenario"); - $sql2->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto and id_cenario = $id_cenario") ; - if ($sql2->getntuples() == 0){ - //echo "
Cenario nao existe para esse projeto." ; - }else{ - $record = $sql2->gofirst (); - $tituloCenario = $record['titulo'] ; - # tituloCenario = Nome do cenario com id = $id_cenario - } - # [ATENCAO] Essa query pode ser melhorada com um join - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - /* $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $tituloCenario"); - if ($sql->getntuples() == 0){ - echo "
Projeto não possui cenarios." ; - }else{*/ - $qr = "SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $id_cenario"; - //echo($qr)." "; - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) - { - # Percorre todos os cenarios tirando as tag do cenario - # a ser removido - //$record = $sql->gofirst (); - //while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $result['id_cenario'] ; - $tituloAnterior = $result['titulo'] ; - $objetivoAnterior = $result['objetivo'] ; - $contextoAnterior = $result['contexto'] ; - $atoresAnterior = $result['atores'] ; - $recursosAnterior = $result['recursos'] ; - $episodiosAnterior = $result['episodios'] ; - $excecaoAnterior = $result['excecao'] ; - #echo "/($tituloCenario)<\/a>/mi" ; - #$episodiosAnterior = "robin" ; - /*"'robin<\/a>'si" ; */ - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - //$tiratagreplace = ""; - //$tituloCenario = preg_replace($tiratag,$tiratagreplace,$tituloCenario); - $regexp = "/]*?>($tituloCenario)<\/a>/mi" ;//rever - $replace = "$1"; - //echo($episodiosAnterior)." "; - //$tituloAtual = $tituloAnterior ; - //*$tituloAtual = preg_replace($regexp,$replace,$tituloAnterior);*/ - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - /*echo "ant:".$episodiosAtual ; - echo "
" ; - echo "dep:".$episodiosAnterior ;*/ - // echo($tituloCenario)." "; - // echo($episodiosAtual)." "; - //print ("
update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual',episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $sql7->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - - //$record = $sql->gonext() ; - // } - } - # Remove o relacionamento entre o cenario a ser removido - # e outros cenarios que o referenciam - $sql3->execute ("DELETE FROM centocen WHERE id_cenario_from = $id_cenario") ; - $sql4->execute ("DELETE FROM centocen WHERE id_cenario_to = $id_cenario") ; - # Remove o relacionamento entre o cenario a ser removido - # e o seu lexico - $sql5->execute ("DELETE FROM centolex WHERE id_cenario = $id_cenario") ; - # Remove o cenario escolhido - $sql6->execute ("DELETE FROM cenario WHERE id_cenario = $id_cenario") ; - - } - -} - -################################################################### -# Essa funcao recebe um id de lexico e remove todos os seus -# links e relacionamentos existentes em todas as tabelas do banco. -################################################################### -if (!(function_exists("removeLexico"))) { - function removeLexico($id_projeto,$id_lexico){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $update = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - - # Este select procura o lexico a ser removido - # dentro do projeto - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto and id_lexico = $id_lexico ") ; - if ($sql->getntuples() == 0){ - //echo "
Lexico nao existe para esse projeto." ; - }else{ - $record = $sql->gofirst (); - $nomeLexico = $record['nome'] ; - # nomeLexico = Nome do lexico com id = $id_lexico - } - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos ainda." ; - }else{ - # Percorre todos os lexicos tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idLexicoRef = $record['id_lexico'] ; - $nocaoAnterior = $record['nocao'] ; - $impactoAnterior = $record['impacto'] ; - $regexp = "/]*?>($nomeLexico)<\/a>/mi" ; - $replace = "$1"; - $nocaoAtual = preg_replace($regexp,$replace,$nocaoAnterior); - $impactoAtual = preg_replace($regexp,$replace,$impactoAnterior); - //print ("
update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $update->execute ("update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $record = $sql->gonext() ; - } - } - - // retira os links do lexico dos cenarios - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui cenarios." ; - }else{ - # Percorre todos os cenarios tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $record['id_cenario'] ; - $objetivoAnterior = $record['objetivo'] ; - $contextoAnterior = $record['contexto'] ; - $atoresAnterior = $record['atores'] ; - $recursosAnterior = $record['recursos'] ; - $episodiosAnterior = $record['episodios'] ; - $excecaoAnterior = $record['excecao'] ; - $regexp = "/]*?>($nomeLexico)<\/a>/mi" ; - $replace = "$1"; - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - $update->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual', atores = '$atoresAtual', recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - $record = $sql->gonext() ; - }//while - }//if - - - - - - - - //pega os sinonimos deste lexico - $qSinonimos = "SELECT * FROM sinonimo WHERE id_projeto = $id_projeto AND id_lexico = $id_lexico"; - - $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $nomesSinonimos = array(); - - while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ - - $nomesSinonimos[] = $rowSinonimo["nome"]; - - } - - //remove sinonimos deste lexico nos outros lexicos do projeto - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - $sql->execute ("SELECT * FROM lexico WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos -ainda." ; - }else{ - # Percorre todos os lexicos tirando as tag do sinonimo - # a ser removido - //echo($sinonimo)." "; - $record = $sql->gofirst (); - $sinonimoProcura = $nomesSinonimos[$i]; - while($record !='LAST_RECORD_REACHED'){ - $idLexicoRef = $record['id_lexico'] ; - $nocaoAnterior = $record['nocao'] ; - $impactoAnterior = $record['impacto'] ; - $regexp = "/]*?>($sinonimoProcura)<\/a>/mi" ; - $replace = "$1"; - $nocaoAtual = preg_replace($regexp,$replace,$nocaoAnterior); - $impactoAtual = preg_replace($regexp,$replace,$impactoAnterior); - //print ("
update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $update->execute ("update lexico set nocao = '$nocaoAtual',impacto = '$impactoAtual' where id_lexico = $idLexicoRef "); - $record = $sql->gonext() ; - } - } - } - - - // retira os links dos sinonimos dos cenarios - $count = count($nomesSinonimos); - for ($i = 0; $i < $count; $i++) - { - - # [ATENCAO] Essa query pode ser melhorada com um join - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto "); - if ($sql->getntuples() == 0){ - //echo "
Projeto não possui lexicos -- ainda." ; - }else{ - # Percorre todos os cenarios tirando as tag do lexico - # a ser removido - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - $idCenarioRef = $record['id_cenario'] ; - $objetivoAnterior = $record['objetivo'] ; - $contextoAnterior = $record['contexto'] ; - $atoresAnterior = $record['atores'] ; - $recursosAnterior = $record['recursos'] ; - $episodiosAnterior = $record['episodios'] ; - $excecaoAnterior = $record['excecao'] ; - $sinonimoProcura = $nomesSinonimos[$i]; - $regexp = "/]*?>($sinonimoProcura)<\/a>/mi" ; - $replace = "$1"; - $objetivoAtual = preg_replace($regexp,$replace,$objetivoAnterior); - $contextoAtual = preg_replace($regexp,$replace,$contextoAnterior); - $atoresAtual = preg_replace($regexp,$replace,$atoresAnterior); - $recursosAtual = preg_replace($regexp,$replace,$recursosAnterior); - $episodiosAtual = preg_replace($regexp,$replace,$episodiosAnterior); - $excecaoAtual = preg_replace($regexp,$replace,$excecaoAnterior); - $update->execute ("update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual', atores = '$atoresAtual', recursos = '$recursosAtual', episodios = '$episodiosAtual', excecao = '$excecaoAtual' where id_cenario = $idCenarioRef "); - $record = $sql->gonext() ; - }//while - }//if - }//for - - - - - /* # Procura pelo possivel cenario que ele define - # remove sua tag e relacionamento - //print ("
cenario
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - //$sql->execute ("SELECT * FROM cenario WHERE titulo like '%
$nomeLexico%'"); - $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - - if($sql->getntuples() != 0){ - $record = $sql->gofirst (); - while($record !='LAST_RECORD_REACHED'){ - //$record = $sql->gofirst (); - $idCenarioRef = $record['id_cenario'] ; - $tituloAnterior = $record['titulo'] ; - $objetivoAnterior = $record['objetivo'] ; - $atoresAnterior = $record['atores'] ; - $contextoAnterior = $record['contexto'] ; - $recursosAnterior = $record['recursos'] ; - $excecaoAnterior = $record['excecao'] ; - $episodiosAnterior = $record['episodios'] ; - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - $tiratagreplace = ""; - $tituloAtual = preg_replace($tiratag,$tiratagreplace,$tituloAnterior); - $objetivoAtual = preg_replace($tiratag,$tiratagreplace,$objetivoAnterior); - $contextoAtual = preg_replace($tiratag,$tiratagreplace,$contextoAnterior); - $atoresAtual = preg_replace($tiratag,$tiratagreplace,$atoresAnterior); - $recursosAtual = preg_replace($tiratag,$tiratagreplace,$recursosAnterior); - $excecaoAtual = preg_replace($tiratag,$tiratagreplace,$excecaoAnterior); - $episodiosAtual = preg_replace($tiratag,$tiratagreplace,$episodiosAnterior); - //print("
i update cenario set titulo = '$tituloAtual',objetivo = '$objetivoAtual',atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $update->execute ("update cenario set titulo = '$tituloAtual',objetivo = '$objetivoAtual',contexto = '$contextoAtual',excecao = '$excecaoAtual', atores = '$atoresAtual',recursos = '$recursosAtual', episodios = '$episodiosAtual' where id_cenario = $idCenarioRef ") ; - $delete->execute ("DELETE FROM centolex WHERE id_cenario = $idCenarioRef") ; - $record = $sql->gonext() ; - } - }*/ - - # Remove o relacionamento entre o lexico a ser removido - # e outros lexicos que o referenciam - $delete->execute ("DELETE FROM lextolex WHERE id_lexico_from = $id_lexico") ; - $delete->execute ("DELETE FROM lextolex WHERE id_lexico_to = $id_lexico") ; - $delete->execute ("DELETE FROM centolex WHERE id_lexico = $id_lexico") ; - - # Remove o lexico escolhido - $delete->execute ("DELETE FROM sinonimo WHERE id_lexico = $id_lexico") ; - $delete->execute ("DELETE FROM lexico WHERE id_lexico = $id_lexico") ; - } -} - -################################################################### -# Essa funcao recebe um id de conceito e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeConceito"))) { - function removeConceito($id_projeto, $id_conceito){ - $DB = new PGDB () ; - $sql = new QUERY ($DB) ; - $sql2 = new QUERY ($DB) ; - $sql3 = new QUERY ($DB) ; - $sql4 = new QUERY ($DB) ; - $sql5 = new QUERY ($DB) ; - $sql6 = new QUERY ($DB) ; - $sql7 = new QUERY ($DB) ; - # Este select procura o cenario a ser removido - # dentro do projeto - - $sql2->execute ("SELECT * FROM conceito WHERE id_projeto = $id_projeto and id_conceito = $id_conceito") ; - if ($sql2->getntuples() == 0){ - //echo "
Cenario nao existe para esse projeto." ; - }else{ - $record = $sql2->gofirst (); - $nomeConceito = $record['nome'] ; - # tituloCenario = Nome do cenario com id = $id_cenario - } - # [ATENCAO] Essa query pode ser melhorada com um join - //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); - /* $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $tituloCenario"); - if ($sql->getntuples() == 0){ - echo "
Projeto não possui cenarios." ; - }else{*/ - $qr = "SELECT * FROM conceito WHERE id_projeto = $id_projeto AND id_conceito != $id_conceito"; - //echo($qr)." "; - $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); - while ($result = mysql_fetch_array($qrr)) - { - # Percorre todos os cenarios tirando as tag do conceito - # a ser removido - //$record = $sql->gofirst (); - //while($record !='LAST_RECORD_REACHED'){ - $idConceitoRef = $result['id_conceito'] ; - $nomeAnterior = $result['nome'] ; - $descricaoAnterior = $result['descricao'] ; - $namespaceAnterior = $result['namespace'] ; - #echo "/($tituloCenario)<\/a>/mi" ; - #$episodiosAnterior = "robin" ; - /*"'robin<\/a>'si" ; */ - $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; - //$tiratagreplace = ""; - //$tituloCenario = preg_replace($tiratag,$tiratagreplace,$tituloCenario); - $regexp = "/]*?>($nomeConceito)<\/a>/mi" ;//rever - $replace = "$1"; - //echo($episodiosAnterior)." "; - //$tituloAtual = $tituloAnterior ; - //*$tituloAtual = preg_replace($regexp,$replace,$tituloAnterior);*/ - $descricaoAtual = preg_replace($regexp,$replace,$descricaoAnterior); - $namespaceAtual = preg_replace($regexp,$replace,$namespaceAnterior); - /*echo "ant:".$episodiosAtual ; - echo "
" ; - echo "dep:".$episodiosAnterior ;*/ - // echo($tituloCenario)." "; - // echo($episodiosAtual)." "; - //print ("
update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual',episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); - $sql7->execute ("update conceito set descricao = '$descricaoAtual', namespace = '$namespaceAtual' where id_conceito = $idConceitoRef "); - - //$record = $sql->gonext() ; - // } - } - - # Remove o conceito escolhido - $sql6->execute ("DELETE FROM conceito WHERE id_conceito = $id_conceito") ; - $sql6->execute ("DELETE FROM relacao_conceito WHERE id_conceito = $id_conceito") ; - - } - -} -################################################################### -# Essa funcao recebe um id de relacao e remove todos os seus -# links e relacionamentos existentes. -################################################################### -if (!(function_exists("removeRelacao"))) { - function removeRelacao($id_projeto, $id_relacao){ - $DB = new PGDB () ; - - $sql6 = new QUERY ($DB) ; - - # Remove o conceito escolhido - $sql6->execute ("DELETE FROM relacao WHERE id_relacao = $id_relacao") ; - $sql6->execute ("DELETE FROM relacao_conceito WHERE id_relacao = $id_relacao") ; - - } - -} - -################################################################### -# Funcao faz um select na tabela lexico. -# Para inserir um novo lexico, deve ser verificado se ele ja existe, -# ou se existe um sinonimo com o mesmo nome. -# Recebe o id do projeto e o nome do lexico (1.0) -# Faz um SELECT na tabela lexico procurando por um nome semelhante -# no projeto (1.1) -# Faz um SELECT na tabela sinonimo procurando por um nome semelhante -# no projeto (1.2) -# retorna true caso nao exista ou false caso exista (1.3) -################################################################### -function checarLexicoExistente($projeto, $nome) -{ - $naoexiste = false; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * FROM lexico WHERE id_projeto = $projeto AND nome = '$nome' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray == false ) - { - $naoexiste = true; - } - - $q = "SELECT * FROM sinonimo WHERE id_projeto = $projeto AND nome = '$nome' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - if ( $resultArray != false ) - { - $naoexiste = false; - } - - return $naoexiste; - - -} - - -################################################################### -# Recebe o id do projeto e a lista de sinonimos (1.0) -# Funcao faz um select na tabela sinonimo. -# Para verificar se ja existe um sinonimo igual no BD. -# Faz um SELECT na tabela lexico para verificar se ja existe -# um lexico com o mesmo nome do sinonimo.(1.1) -# retorna true caso nao exista ou false caso exista (1.2) -################################################################### -function checarSinonimo($projeto, $listSinonimo) -{ - $naoexiste = true; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - foreach($listSinonimo as $sinonimo){ - - $q = "SELECT * FROM sinonimo WHERE id_projeto = $projeto AND nome = '$sinonimo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray != false ) - { - $naoexiste = false; - return $naoexiste; - } - - $q = "SELECT * FROM lexico WHERE id_projeto = $projeto AND nome = '$sinonimo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray != false ) - { - $naoexiste = false; - return $naoexiste; - } - } - - return $naoexiste; - - -} - - - -################################################################### -# Funcao faz um select na tabela cenario. -# Para inserir um novo cenario, deve ser verificado se ele ja existe. -# Recebe o id do projeto e o titulo do cenario (1.0) -# Faz um SELECT na tabela cenario procurando por um nome semelhante -# no projeto (1.2) -# retorna true caso nao exista ou false caso exista (1.3) -################################################################### -function checarCenarioExistente($projeto, $titulo) -{ - $naoexiste = false; - - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * FROM cenario WHERE id_projeto = $projeto AND titulo = '$titulo' "; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - if ( $resultArray == false ) - { - $naoexiste = true; - } - - return $naoexiste; - - -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para inserir um novo cenario ela deve receber os campos do novo -# cenario. -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este cenario caso o criador não seja o gerente. -# Arquivos que utilizam essa funcao: -# add_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAdicionarCenario"))) { - function inserirPedidoAdicionarCenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios, $id_usuario) - { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - $insere->execute("INSERT INTO pedidocen (id_projeto, titulo, objetivo, contexto, atores, recursos, excecao, episodios, id_usuario, tipo_pedido, aprovado) VALUES ($id_projeto, '$titulo', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios', $id_usuario, 'inserir', 0)"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Inclusão Cenário", "O usuario do sistema $nome\nPede para inserir o cenario $titulo \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um cenario ela deve receber os campos do cenario -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerentes do projeto -# referente a este cenario caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAlterarCenario"))) { - function inserirPedidoAlterarCenario($id_projeto, $id_cenario, $titulo, $objetivo, $contexto, $atores, $recursos,$excecao, $episodios, $justificativa, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidocen (id_projeto, id_cenario, titulo, objetivo, contexto, atores, recursos, excecao, episodios, id_usuario, tipo_pedido, aprovado, justificativa) VALUES ($id_projeto, $id_cenario, '$titulo', '$objetivo', '$contexto', '$atores', '$recursos', '$excecao', '$episodios', $id_usuario, 'alterar', 0, '$justificativa')"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Alteração Cenário", "O usuario do sistema $nome\nPede para alterar o cenario $titulo \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - - removeCenario($id_projeto,$id_cenario) ; - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um cenario ela deve receber -# o id do cenario e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_cenario.php -################################################################### -if (!(function_exists("inserirPedidoRemoverCenario"))) { - function inserirPedidoRemoverCenario($id_projeto, $id_cenario, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - $select->execute("SELECT * FROM cenario WHERE id_cenario = $id_cenario"); - $cenario = $select->gofirst(); - $titulo = $cenario['titulo']; - $insere->execute("INSERT INTO pedidocen (id_projeto, id_cenario, titulo, id_usuario, tipo_pedido, aprovado) VALUES ($id_projeto, $id_cenario, '$titulo', $id_usuario, 'remover', 0)"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nome = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Remover Cenário", "O usuario do sistema $nome\nPede para remover o cenario $id_cenario \nObrigado!", "From: $nome\r\n" . "Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para inserir um novo lexico ela deve receber os campos do novo -# lexicos. -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico caso o criador não seja o gerente. -# Arquivos que utilizam essa funcao: -# add_lexico.php -################################################################### -if (!(function_exists("inserirPedidoAdicionarLexico"))) { - function inserirPedidoAdicionarLexico($id_projeto,$nome,$nocao,$impacto,$id_usuario,$sinonimos, $classificacao){ - - $DB = new PGDB() ; - $insere = new QUERY($DB) ; - $select = new QUERY($DB) ; - $select2 = new QUERY($DB) ; - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidolex (id_projeto,nome,nocao,impacto,tipo,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,'$nome','$nocao','$impacto','$classificacao',$id_usuario,'inserir',0)") ; - - $newId = $insere->getLastId(); - - $select->execute("SELECT * FROM usuario WHERE id_usuario = '$id_usuario'") ; - - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - - //insere sinonimos - - foreach($sinonimos as $sin){ - - $insere->execute("INSERT INTO sinonimo (id_pedidolex, nome, id_projeto) VALUES ($newId, '$sin', $id_projeto)"); - } - //fim da insercao dos sinonimos - - if ($select->getntuples() == 0 &&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - - $record = $select->gofirst (); - $nome2 = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Inclusão de Léxico", "O usuario do sistema $nome2\nPede para inserir o lexico $nome \nObrigado!","From: $nome2\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - - - } - } - - }else{ //Eh gerente - adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um lexico ela deve receber os campos do lexicos -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_lexico.php -################################################################### -if (!(function_exists("inserirPedidoAlterarLexico"))) { - function inserirPedidoAlterarLexico($id_projeto,$id_lexico,$nome,$nocao,$impacto,$justificativa,$id_usuario, $sinonimos, $classificacao){ - - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - - //print("INSERT INTO pedidolex (id_projeto,id_lexico,nome,nocao,impacto,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome','$nocao','$impacto',$id_usuario,'alterar',0)"); - $insere->execute("INSERT INTO pedidolex (id_projeto,id_lexico,nome,nocao,impacto,id_usuario,tipo_pedido,aprovado,justificativa, tipo) VALUES ($id_projeto,$id_lexico,'$nome','$nocao','$impacto',$id_usuario,'alterar',0,'$justificativa', '$classificacao')") ; - - $newPedidoId = $insere->getLastId(); - - //sinonimos - foreach($sinonimos as $sin){ - - $insere->execute("INSERT INTO sinonimo (id_pedidolex,nome,id_projeto) VALUES ($newPedidoId,'$sin', $id_projeto)") ; - - } - - - $select->execute("SELECT * FROM usuario WHERE id_usuario = '$id_usuario'") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0 && $select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome2 = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Alterar Léxico", "O usuario do sistema $nome2\nPede para alterar o lexico $nome \nObrigado!","From: $nome2\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } - else{ //Eh gerente - - removeLexico($id_projeto,$id_lexico); - adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao) ; - } - - } -} -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um lexico ela deve receber -# o id do lexico e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este lexico.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_lexico.php -################################################################### -if (!(function_exists("inserirPedidoRemoverLexico"))) { - function inserirPedidoRemoverLexico($id_projeto,$id_lexico,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM lexico WHERE id_lexico = $id_lexico") ; - $lexico = $select->gofirst (); - $nome = $lexico['nome'] ; - - //print("INSERT INTO pedidolex (id_projeto,id_lexico,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome',$id_usuario,'remover',0)"); - $insere->execute("INSERT INTO pedidolex (id_projeto,id_lexico,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_lexico,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Léxico", "O usuario do sistema $nome2\nPede para remover o lexico $id_lexico \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para alterar um conceito ela deve receber os campos do conceito -# jah modificados.(1.1) -# Ao final ela manda um e-mail para o gerentes do projeto -# referente a este cenario caso o criador não seja o gerente.(2.1) -# Arquivos que utilizam essa funcao: -# alt_cenario.php -################################################################### -if (!(function_exists("inserirPedidoAlterarCenario"))) { - function inserirPedidoAlterarConceito($id_projeto, $id_conceito, $nome, $descricao, $namespace, $justificativa, $id_usuario) { - $DB = new PGDB(); - $insere = new QUERY($DB); - $select = new QUERY($DB); - $select2 = new QUERY($DB); - - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - - if ( $resultArray == false ) //nao e gerente - { - - $insere->execute("INSERT INTO pedidocon (id_projeto, id_conceito, nome, descricao, namespace, id_usuario, tipo_pedido, aprovado, justificativa) VALUES ($id_projeto, $id_conceito, '$nome', '$descricao', '$namespace', $id_usuario, 'alterar', 0, '$justificativa')"); - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario"); - $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_projeto"); - $record = $select->gofirst(); - $nomeUsuario = $record['nome']; - $email = $record['email']; - $record2 = $select2->gofirst(); - while($record2 != 'LAST_RECORD_REACHED') { - $id = $record2['id_usuario']; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); - $record = $select->gofirst(); - $mailGerente = $record['email']; - mail("$mailGerente", "Pedido de Alteração Conceito", "O usuario do sistema $nomeUsuario\nPede para alterar o conceito $nome \nObrigado!","From: $nomeUsuario\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - else{ //Eh gerente - - removeConceito($id_projeto,$id_conceito) ; - adicionar_conceito($id_projeto, $nome, $descricao, $namespace) ; - - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover um conceito ela deve receber -# o id do conceito e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este conceito.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_conceito.php -################################################################### -if (!(function_exists("inserirPedidoRemoverConceito"))) { - function inserirPedidoRemoverConceito($id_projeto,$id_conceito,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM conceito WHERE id_conceito = $id_conceito") ; - $conceito = $select->gofirst (); - $nome = $conceito['nome'] ; - - $insere->execute("INSERT INTO pedidocon (id_projeto,id_conceito,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_conceito,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Conceito", "O usuario do sistema $nome2\nPede para remover o conceito $id_conceito \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Funcao faz um insert na tabela de pedido. -# Para remover uma relacao ela deve receber -# o id da relacao e id projeto.(1.1) -# Ao final ela manda um e-mail para o gerente do projeto -# referente a este relacao.(2.1) -# Arquivos que utilizam essa funcao: -# rmv_relacao.php -################################################################### -if (!(function_exists("inserirPedidoRemoverRelacao"))) { - function inserirPedidoRemoverRelacao($id_projeto,$id_relacao,$id_usuario){ - $DB = new PGDB () ; - $insere = new QUERY ($DB) ; - $select = new QUERY ($DB) ; - $select2 = new QUERY ($DB) ; - $select->execute("SELECT * FROM relacao WHERE id_relacao = $id_relacao") ; - $relacao = $select->gofirst (); - $nome = $relacao['nome'] ; - - $insere->execute("INSERT INTO pedidorel (id_projeto,id_relacao,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_projeto,$id_relacao,'$nome',$id_usuario,'remover',0)") ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_projeto") ; - - if ($select->getntuples() == 0&&$select2->getntuples() == 0){ - echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; - }else{ - $record = $select->gofirst (); - $nome = $record['nome'] ; - $email = $record['email'] ; - $record2 = $select2->gofirst (); - while($record2 != 'LAST_RECORD_REACHED'){ - $id = $record2['id_usuario'] ; - $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; - $record = $select->gofirst (); - $mailGerente = $record['email'] ; - mail("$mailGerente", "Pedido de Remover Conceito", "O usuario do sistema $nome2\nPede para remover o conceito $id_relacao \nObrigado!","From: $nome\r\n"."Reply-To: $email\r\n"); - $record2 = $select2->gonext(); - } - } - } -} - -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoCenario"))) { - function tratarPedidoCenario($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - //print("
SELECT * FROM pedidocen WHERE id_pedido = $id_pedido"); - $select->execute("SELECT * FROM pedidocen WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_cenario = $record['id_cenario'] ; - $id_projeto = $record['id_projeto'] ; - removeCenario($id_projeto,$id_cenario) ; - //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $titulo = $record['titulo'] ; - $objetivo = $record['objetivo'] ; - $contexto = $record['contexto'] ; - $atores = $record['atores'] ; - $recursos = $record['recursos'] ; - $excecao = $record['excecao'] ; - $episodios = $record['episodios'] ; - if(!strcasecmp($tipoPedido,'alterar')){ - $id_cenario = $record['id_cenario'] ; - removeCenario($id_projeto,$id_cenario) ; - //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; - } - adicionar_cenario($id_projeto, $titulo, $objetivo, $contexto, $atores, $recursos, $excecao, $episodios) ; - } - //$delete->execute ("DELETE FROM pedidocen WHERE id_pedido = $id_pedido") ; - } - } -} -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o lexico e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoLexico"))) { - function tratarPedidoLexico($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB); - $selectSin = new QUERY ($DB); - $select->execute("SELECT * FROM pedidolex WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_lexico = $record['id_lexico'] ; - $id_projeto = $record['id_projeto'] ; - //echo ("removeLexico\n"); - removeLexico($id_projeto,$id_lexico) ; - //$delete->execute ("DELETE FROM pedidolex WHERE id_lexico = $id_lexico") ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - $nocao = $record['nocao'] ; - $impacto = $record['impacto'] ; - $classificacao = $record['tipo']; - - //sinonimos - - $sinonimos = array(); - - $selectSin->execute("SELECT nome FROM sinonimo WHERE id_pedidolex = $id_pedido"); - - $sinonimo = $selectSin->gofirst(); - - while($sinonimo != 'LAST_RECORD_REACHED'){ - - $sinonimos[] = $sinonimo["nome"]; - - $sinonimo = $selectSin->gonext(); - } - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_lexico = $record['id_lexico'] ; - removeLexico($id_projeto,$id_lexico) ; - //$delete->execute ("DELETE FROM pedidolex WHERE id_lexico = $id_lexico") ; - } - // adicionar_lexico($id_projeto, $nome, $nocao, $impacto) ; - - - if(($idLexicoConflitante = adicionar_lexico($id_projeto, $nome, $nocao, $impacto, $sinonimos, $classificacao)) <= 0) - { - $idLexicoConflitante = -1 * $idLexicoConflitante; - - $selectLexConflitante->execute("SELECT nome FROM lexico WHERE id_lexico = " . $idLexicoConflitante); - - $row = $selectLexConflitante->gofirst(); - - return $row["nome"]; - } - - - - } - return null; - //$delete->execute ("DELETE FROM pedidolex WHERE id_pedido = $id_pedido") ; - } - } -} -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoConceito"))) { - function tratarPedidoConceito($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - $select->execute("SELECT * FROM pedidocon WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_conceito = $record['id_conceito'] ; - $id_projeto = $record['id_projeto'] ; - removeConceito($id_projeto,$id_conceito) ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - $descricao = $record['descricao'] ; - $namespace = $record['namespace'] ; - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_cenario = $record['id_conceito'] ; - removeConceito($id_projeto,$id_conceito) ; - } - adicionar_conceito($id_projeto, $nome, $descricao, $namespace) ; - } - } - } -} - -################################################################### -# Processa um pedido identificado pelo seu id. -# Recebe o id do pedido.(1.1) -# Faz um select para pegar o pedido usando o id recebido.(1.2) -# Pega o campo tipo_pedido.(1.3) -# Se for para remover: Chamamos a funcao remove();(1.4) -# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. -# Se for para inserir: chamamos a funcao insert(); -################################################################### -if (!(function_exists("tratarPedidoRelacao"))) { - function tratarPedidoRelacao($id_pedido){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $delete = new QUERY ($DB) ; - $select->execute("SELECT * FROM pedidorel WHERE id_pedido = $id_pedido") ; - if ($select->getntuples() == 0){ - echo "
[ERRO]Pedido invalido." ; - }else{ - $record = $select->gofirst () ; - $tipoPedido = $record['tipo_pedido'] ; - if(!strcasecmp($tipoPedido,'remover')){ - $id_relacao = $record['id_relacao'] ; - $id_projeto = $record['id_projeto'] ; - removeRelacao($id_projeto,$id_relacao) ; - }else{ - - $id_projeto = $record['id_projeto'] ; - $nome = $record['nome'] ; - - if(!strcasecmp($tipoPedido,'alterar')){ - $id_relacao = $record['id_relacao'] ; - removeRelacao($id_projeto,$id_relacao) ; - } - adicionar_relacao($id_projeto, $nome) ; - } - } - } -} -############################################# -#Deprecated by the author: -#Essa funcao deveria receber um id_projeto -#de forma a verificar se o gerente pertence -#a esse projeto.Ela so verifica atualmente -#se a pessoa e um gerente. -############################################# -if (!(function_exists("verificaGerente"))) { - function verificaGerente($id_usuario){ - $DB = new PGDB () ; - $select = new QUERY ($DB) ; - $select->execute("SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario") ; - if ($select->getntuples() == 0){ - return 0 ; - }else{ - return 1 ; - } - } -} - -############################################# -# Formata Data -# Recebe YYY-DD-MM -# Retorna DD-MM-YYYY -############################################# -if (!(function_exists("formataData"))) { - function formataData($data){ - - $novaData = substr( $data, 8, 9 ) . - substr( $data, 4, 4 ) . - substr( $data, 0, 4 ); - return $novaData ; - } -} - - - - - -// Retorna TRUE ssse $id_usuario eh admin de $id_projeto -if (!(function_exists("is_admin"))) { - function is_admin($id_usuario, $id_projeto) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * - FROM participa - WHERE id_usuario = $id_usuario - AND id_projeto = $id_projeto - AND gerente = 1"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - return (1 == mysql_num_rows($qrr)); - } -} - -// Retorna TRUE ssse $id_usuario tem permissao sobre $id_projeto -if (!(function_exists("check_proj_perm"))) { - function check_proj_perm($id_usuario, $id_projeto) - { - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - $q = "SELECT * - FROM participa - WHERE id_usuario = $id_usuario - AND id_projeto = $id_projeto"; - $qrr = mysql_query($q) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); - return (1 == mysql_num_rows($qrr)); - } -} -################################################################### -# Verifica se um determinado usuario e gerente de um determinado -# projeto -# Recebe o id do projeto. (1.1) -# Faz um select para pegar o resultArray da tabela Participa.(1.2) -# Se o resultArray for nao nulo: devolvemos TRUE(1);(1.3) -# Se o resultArray for nulo: devolvemos False(0);(1.4) -################################################################### -function verificaGerente($id_usuario, $id_projeto) -{ - $ret = 0; - $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; - $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArray = mysql_fetch_array($qr); - - if ( $resultArray != false ){ - - $ret = 1; - } - return $ret; - -} - -################################################################### -# Remove um determinado projeto da base de dados -# Recebe o id do projeto. (1.1) -# Apaga os valores da tabela pedidocen que possuam o id do projeto enviado (1.2) -# Apaga os valores da tabela pedidolex que possuam o id do projeto enviado (1.3) -# Faz um SELECT para saber quais léxico pertencem ao projeto de id_projeto (1.4) -# Apaga os valores da tabela lextolex que possuam possuam lexico do projeto (1.5) -# Apaga os valores da tabela centolex que possuam possuam lexico do projeto (1.6) -# Apaga os valores da tabela sinonimo que possuam possuam o id do projeto (1.7) -# Apaga os valores da tabela lexico que possuam o id do projeto enviado (1.8) -# Faz um SELECT para saber quais cenario pertencem ao projeto de id_projeto (1.9) -# Apaga os valores da tabela centocen que possuam possuam cenarios do projeto (2.0) -# Apaga os valores da tabela centolex que possuam possuam cenarios do projeto (2.1) -# Apaga os valores da tabela cenario que possuam o id do projeto enviado (2.2) -# Apaga os valores da tabela participa que possuam o id do projeto enviado (2.3) -# Apaga os valores da tabela publicacao que possuam o id do projeto enviado (2.4) -# Apaga os valores da tabela projeto que possuam o id do projeto enviado (2.5) -# -################################################################### -function removeProjeto($id_projeto) -{ - $r = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os pedidos de cenario - $qv = "Delete FROM pedidocen WHERE id_projeto = '$id_projeto' "; - $deletaPedidoCenario = mysql_query($qv) or die("Erro ao apagar pedidos de cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os pedidos de lexico - $qv = "Delete FROM pedidolex WHERE id_projeto = '$id_projeto' "; - $deletaPedidoLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //Remove os lexicos //verificar lextolex!!! - $qv = "SELECT * FROM lexico WHERE id_projeto = '$id_projeto' "; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - while ($result = mysql_fetch_array($qvr)) - { - $id_lexico = $result['id_lexico']; //seleciona um lexico - - $qv = "Delete FROM lextolex WHERE id_lexico_from = '$id_lexico' OR id_lexico_to = '$id_lexico' "; - $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM centolex WHERE id_lexico = '$id_lexico'"; - $deletacentolex = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //$qv = "Delete FROM sinonimo WHERE id_lexico = '$id_lexico'"; - //$deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM sinonimo WHERE id_projeto = '$id_projeto'"; - $deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); - - } - - $qv = "Delete FROM lexico WHERE id_projeto = '$id_projeto' "; - $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remove os cenarios - $qv = "SELECT * FROM cenario WHERE id_projeto = '$id_projeto' "; - $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - $resultArrayCenario = mysql_fetch_array($qvr); - - while ($result = mysql_fetch_array($qvr)) - { - $id_lexico = $result['id_cenario']; //seleciona um lexico - - $qv = "Delete FROM centocen WHERE id_cenario_from = '$id_cenario' OR id_cenario_to = '$id_cenario' "; - $deletaCentoCen = mysql_query($qv) or die("Erro ao apagar pedidos do centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); - - $qv = "Delete FROM centolex WHERE id_cenario = '$id_cenario'"; - $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); - - - } - - $qv = "Delete FROM cenario WHERE id_projeto = '$id_projeto' "; - $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover participantes - $qv = "Delete FROM participa WHERE id_projeto = '$id_projeto' "; - $deletaParticipantes = mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover publicacao - $qv = "Delete FROM publicacao WHERE id_projeto = '$id_projeto' "; - $deletaPublicacao = mysql_query($qv) or die("Erro ao apagar no publicacao
" . mysql_error() . "
" . __FILE__ . __LINE__); - - //remover projeto - $qv = "Delete FROM projeto WHERE id_projeto = '$id_projeto' "; - $deletaProjeto= mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); - -} -?> - diff --git a/cel/aplicacao/Functions/banco b/cel/aplicacao/Functions/banco new file mode 100644 index 00000000..b9a6c291 --- /dev/null +++ b/cel/aplicacao/Functions/banco @@ -0,0 +1,498 @@ +-- phpMyAdmin SQL Dump +-- version 2.8.1 +-- http://www.phpmyadmin.net +-- +-- Host: localhost +-- Generation Time: Jun 19, 2007 at 01:58 PM +-- Server version: 4.1.20 +-- PHP Version: 4.3.9 +-- +-- Database: `cel` +-- +CREATE DATABASE `cel` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; +USE `cel`; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `algorithm` +-- + +DROP TABLE IF EXISTS `algorithm`; +CREATE TABLE `algorithm` ( + `id_variable` int(11) NOT NULL auto_increment, + `name` varchar(250) NOT NULL default '', + `id_project` varchar(100) NOT NULL default '', + `value` varchar(250) NOT NULL default '', + PRIMARY KEY (`id_variable`), + UNIQUE KEY `name` (`name`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `algorithm` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `axiom` +-- + +DROP TABLE IF EXISTS `axiom`; +CREATE TABLE `axiom` ( + `id_axiom` int(11) NOT NULL auto_increment, + `axiom` varchar(250) NOT NULL default '', + `id_project` int(11) default '30', + PRIMARY KEY (`id_axiom`), + UNIQUE KEY `axiom` (`axiom`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `axiom` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `scenario` +-- + +DROP TABLE IF EXISTS `scenario`; +CREATE TABLE `scenario` ( + `id_scenario` int(11) NOT NULL auto_increment, + `id_project` int(11) NOT NULL default '0', + `data` date NOT NULL default '0000-00-00', + `title` varchar(255) NOT NULL default '', + `objective` text NOT NULL, + `context` text NOT NULL, + `actors` text NOT NULL, + `resource` text NOT NULL, + `episodes` text NOT NULL, + `exception` text, + PRIMARY KEY (`id_scenario`,`data`), + UNIQUE KEY `IDX_scenario_2` (`id_project`,`title`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `scenario` +-- + + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `scenario_to_scenario` +-- + +DROP TABLE IF EXISTS `scenario_to_scenario`; +CREATE TABLE `scenario_to_scenario` ( + `id_scenario_from` int(11) NOT NULL default '0', + `id_scenario_to` int(11) NOT NULL default '0', + PRIMARY KEY (`id_scenario_from`,`id_scenario_to`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `scenario_to_scenario` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `scenario_to_lexicon` +-- + +DROP TABLE IF EXISTS `scenario_to_lexicon`; +CREATE TABLE `scenario_to_lexicon` ( + `id_scenario` int(11) NOT NULL default '0', + `id_lexicon` int(11) NOT NULL default '0', + PRIMARY KEY (`id_scenario`,`id_lexicon`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `scenario_to_lexicon` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `concept` +-- + +DROP TABLE IF EXISTS `concept`; +CREATE TABLE `concept` ( + `id_concept` int(11) NOT NULL auto_increment, + `name` varchar(250) NOT NULL default '', + `description` varchar(250) NOT NULL default '', + `namespace` varchar(250) default NULL, + `id_project` int(11) NOT NULL default '30', + PRIMARY KEY (`id_concept`), + UNIQUE KEY `name` (`name`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `concept` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `hierarchy` +-- + +DROP TABLE IF EXISTS `hierarchy`; +CREATE TABLE `hierarchy` ( + `id_hierarquia` int(11) NOT NULL auto_increment, + `id_project` int(11) NOT NULL default '0', + `id_concept` int(11) NOT NULL default '0', + `id_subconcept` int(11) NOT NULL default '0', + PRIMARY KEY (`id_hierarquia`,`id_project`,`id_concept`,`id_subconcept`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `hierarchy` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `impact` +-- + +DROP TABLE IF EXISTS `impact`; +CREATE TABLE `impact` ( + `id_impact` int(11) NOT NULL auto_increment, + `id_lexicon` int(11) NOT NULL default '0', + `impact` varchar(100) NOT NULL default '', + PRIMARY KEY (`id_impact`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `impact` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `lexicon` +-- + +DROP TABLE IF EXISTS `lexicon`; +CREATE TABLE `lexicon` ( + `id_lexicon` int(11) NOT NULL auto_increment, + `id_project` int(11) NOT NULL default '0', + `data` date NOT NULL default '0000-00-00', + `name` varchar(64) NOT NULL default '', + `type` varchar(15) default NULL, + `notion` text NOT NULL, + `impact` text, + PRIMARY KEY (`id_lexicon`,`data`), + UNIQUE KEY `IDX_lexico_2` (`id_project`,`name`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `lexicon` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `lexicon_to_lexicon` +-- + +DROP TABLE IF EXISTS `lexicon_to_lexicon`; +CREATE TABLE `lexicon_to_lexicon` ( + `id_lexicon_from` int(11) NOT NULL default '0', + `id_lexicon_to` int(11) NOT NULL default '0', + PRIMARY KEY (`id_lexicon_from`,`id_lexicon_to`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `lexicon_to_lexicon` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `participates` +-- + +DROP TABLE IF EXISTS `participates`; +CREATE TABLE `participates` ( + `id_user` int(11) NOT NULL default '0', + `id_project` int(11) NOT NULL default '0', + `manager` int(1) NOT NULL default '0', + PRIMARY KEY (`id_user`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `participates` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `request_scenario` +-- + +DROP TABLE IF EXISTS `request_scenario`; +CREATE TABLE `request_scenario` ( + `id_request_scenario` int(11) NOT NULL auto_increment, + `id_user` int(11) NOT NULL default '0', + `id_project` int(11) NOT NULL default '0', + `type_request` varchar(7) NOT NULL default '', + `aproved` int(1) NOT NULL default '0', + `id_scenario` int(11) default NULL, + `title` varchar(255) NOT NULL default '', + `objective` text NOT NULL, + `context` text NOT NULL, + `actors` text NOT NULL, + `resource` text NOT NULL, + `episodes` text, + `justification` text, + `id_status` int(1) default NULL, + `exception` text, + PRIMARY KEY (`id_request_scenario`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `request_scenario` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `request_concept` +-- + +DROP TABLE IF EXISTS `request_concept`; +CREATE TABLE `request_concept` ( + `id_request_concept` int(11) NOT NULL auto_increment, + `id_user` int(11) NOT NULL default '0', + `id_project` int(11) NOT NULL default '0', + `type_request` varchar(7) NOT NULL default '', + `aproved` int(1) NOT NULL default '0', + `id_concept` int(11) default NULL, + `name` varchar(255) NOT NULL default '', + `description` text NOT NULL, + `namespace` text NOT NULL, + `justification` text, + `id_status` int(1) default NULL, + PRIMARY KEY (`id_request_concept`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `request_concept` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `request_lexicon` +-- + +DROP TABLE IF EXISTS `request_lexicon`; +CREATE TABLE `request_lexicon` ( + `id_request_lexicon` int(11) NOT NULL auto_increment, + `id_user` int(11) NOT NULL default '0', + `id_project` int(11) NOT NULL default '0', + `type_request` varchar(7) NOT NULL default '', + `aproved` int(1) NOT NULL default '0', + `id_lexicon` int(11) NOT NULL default '0', + `name` varchar(64) NOT NULL default '', + `notion` text NOT NULL, + `impact` text NOT NULL, + `justification` text, + `id_status` int(1) default NULL, + `type` varchar(20) default NULL, + PRIMARY KEY (`id_request_lexicon`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `request_lexicon` +-- + + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `request_relation` +-- + +DROP TABLE IF EXISTS `request_relation`; +CREATE TABLE `request_relation` ( + `id_request_relation` int(11) NOT NULL auto_increment, + `id_user` int(11) NOT NULL default '0', + `id_project` int(11) NOT NULL default '0', + `type_request` varchar(7) NOT NULL default '', + `aproved` int(1) NOT NULL default '0', + `id_relation` int(11) default NULL, + `name` varchar(255) NOT NULL default '', + `justification` text, + `id_status` int(1) default NULL, + PRIMARY KEY (`id_request_relation`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `request_relation` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `project` +-- + +DROP TABLE IF EXISTS `project`; +CREATE TABLE `project` ( + `id_project` int(11) NOT NULL default '0', + `name` varchar(128) NOT NULL default '', + `date_creation` date NOT NULL default '0000-00-00', + `description` text NOT NULL, + `id_status` int(50) default NULL, + PRIMARY KEY (`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `project` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `publication` +-- + +DROP TABLE IF EXISTS `publication`; +CREATE TABLE `publication` ( + `id_project` int(11) NOT NULL default '0', + `date_publication` date NOT NULL default '0000-00-00', + `version` varchar(15) NOT NULL default '', + `XML` longtext NOT NULL, + PRIMARY KEY (`id_project`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `publication` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `relation` +-- + +DROP TABLE IF EXISTS `relation`; +CREATE TABLE `relation` ( + `id_relation` int(11) NOT NULL auto_increment, + `name` varchar(250) NOT NULL default '', + `id_project` int(11) default '30', + PRIMARY KEY (`id_relation`), + UNIQUE KEY `name` (`name`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `relation` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `relation_concept` +-- + +DROP TABLE IF EXISTS `relation_concept`; +CREATE TABLE `relation_concept` ( + `id_concept` int(11) NOT NULL default '0', + `id_relation` int(11) NOT NULL default '0', + `predicate` varchar(250) NOT NULL default '', + `id_project` int(11) NOT NULL default '30', + PRIMARY KEY (`id_concept`,`id_relation`,`predicate`,`id_project`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `relation_concept` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `synonym` +-- + +DROP TABLE IF EXISTS `synonym`; +CREATE TABLE `synonym` ( + `id_synonym` int(50) NOT NULL auto_increment, + `id_lexicon` int(50) NOT NULL default '0', + `id_pedidolex` int(50) NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + `id_project` int(50) default NULL, + PRIMARY KEY (`id_synonym`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `synonym` +-- + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `status` +-- + +DROP TABLE IF EXISTS `status`; +CREATE TABLE `status` ( + `id_status` int(2) NOT NULL auto_increment, + `description` varchar(50) NOT NULL default '', + PRIMARY KEY (`id_status`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `status` +-- + +INSERT INTO `status` (`id_status`, `Description`) VALUES (1, 'Pending'), +(2, 'Aproved'), +(3, 'Rejected'), +(4, 'Publicated'), +(5, 'Private'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id_user` int(11) NOT NULL auto_increment, + `name` varchar(255) NOT NULL default '', + `email` varchar(64) NOT NULL default '', + `login` varchar(32) NOT NULL default '', + `password` varchar(32) NOT NULL default '', + PRIMARY KEY (`id_user`), + UNIQUE KEY `IDX_usuario_2` (`login`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +-- +-- Dumping data for table `user` +-- + +INSERT INTO `user` (`id_user`, `name`, `email`, `login`, `password`) VALUES (1, 'user', 'user@teste.com.br', 'user', '1234'); \ No newline at end of file diff --git a/cel/aplicacao/Functions/check_User.php b/cel/aplicacao/Functions/check_User.php new file mode 100644 index 00000000..21b4f978 --- /dev/null +++ b/cel/aplicacao/Functions/check_User.php @@ -0,0 +1,29 @@ + + + + + diff --git a/cel/aplicacao/Functions/concept_Functions.php b/cel/aplicacao/Functions/concept_Functions.php new file mode 100644 index 00000000..69b119bb --- /dev/null +++ b/cel/aplicacao/Functions/concept_Functions.php @@ -0,0 +1,166 @@ +execute("SELECT * FROM concept WHERE id_concept = $id_concept") ; + $concept = $select->gofirst (); + $name = $concept['name'] ; + + $insere->execute("INSERT INTO request_concept(id_project,id_concept,name,id_user,type_request,aprove) VALUES ($id_project,$id_concept,'$name',$id_user,'remove',0)") ; + $select->execute("SELECT * FROM user WHERE id_user = $id_user") ; + $select2->execute("SELECT * FROM participates WHERE manager = 1 and id_project = $id_project") ; + + if (($select->getntuples() == 0) && ($select2->getntuples() == 0)){ + echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; + }else{ + $record = $select->gofirst (); + $name = $record['name'] ; + $email = $record['email'] ; + $record2 = $select2->gofirst (); + while($record2 != 'LAST_RECORD_REACHED'){ + $id = $record2['id_user'] ; + $select->execute("SELECT * FROM user WHERE id_user = $id") ; + $record = $select->gofirst (); + $mail_manager = $record['email'] ; + mail("$mail_maneger", "Pedido de Remover Conceito", "O usuario do sistema $name2\nPede para remover o conceito $id_concept \nObrigado!","From: $name\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + } + } +} + +// Function does an insert in the request table. +// To remove a concept she should receive +// The id of the project concept and id. (1.1) +// At the end she sends an email to the project manager +// Referring to this concept. (2.1) +// Files that use this function: +// rmv_conceito.php + +if (!(function_exists("treat_concept_request"))) { + function treat_concept_request($id_request){ + assertNotNull($id_request); + + $DB = new PGDB () ; + $select = new QUERY ($DB) ; + $delete = new QUERY ($DB) ; + $select->execute("SELECT * FROM request_concept WHERE id_request = $id_request") ; + if ($select->getntuples() == 0){ + echo "
[ERRO]Pedido invalido." ; + }else{ + $record = $select->gofirst () ; + $type_request = $record['type_request'] ; + if(!strcasecmp($type_request,'remove')){ + $id_concept = $record['id_concept'] ; + $id_project = $record['id_project'] ; + remove_concept($id_project,$id_concept) ; + }else{ + + $id_project = $record['id_project'] ; + $name = $record['name'] ; + $description = $record['description'] ; + $namespace = $record['namespace'] ; + + if(!strcasecmp($type_request,'alter')){ + $id_scenario = $record['id_concept'] ; + remove_concept($id_project,$id_concept) ; + } + add_concept($id_project, $name, $description, $namespace) ; + } + } + } +} + +// This function receives an id of concept and removes all its +// Links and existing relationships. + +if (!(function_exists("remove_concept"))) { + function remove_concept($id_project, $id_concept){ + assertNotNull($id_project, $id_concept); + + $DB = new PGDB () ; + $sql = new QUERY ($DB) ; + $sql2 = new QUERY ($DB) ; + $sql3 = new QUERY ($DB) ; + $sql4 = new QUERY ($DB) ; + $sql5 = new QUERY ($DB) ; + $sql6 = new QUERY ($DB) ; + $sql7 = new QUERY ($DB) ; + # Este select procura o cenario a ser removido + # dentro do projeto + + $sql2->execute ("SELECT * FROM concept WHERE id_project = $id_project and id_concept = $id_concept") ; + if ($sql2->getntuples() == 0){ + //echo "
Cenario nao existe para esse projeto." ; + }else{ + $record = $sql2->gofirst (); + $name_concept = $record['name'] ; + # tituloCenario = Nome do cenario com id = $id_cenario + } + # [ATENCAO] Essa query pode ser melhorada com um join + //print("
SELECT * FROM cenario WHERE id_projeto = $id_projeto"); + /* $sql->execute ("SELECT * FROM cenario WHERE id_projeto = $id_projeto AND id_cenario != $tituloCenario"); + if ($sql->getntuples() == 0){ + echo "
Projeto n�o possui cenarios." ; + }else{*/ + $query_sql = "SELECT * FROM concept WHERE id_project = $id_project AND id_concept != $id_concept"; + //echo($qr)." "; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); + while ($result = mysql_fetch_array($query_result_sql)){ + + # Percorre todos os cenarios tirando as tag do conceito + # a ser removido + //$record = $sql->gofirst (); + //while($record !='LAST_RECORD_REACHED'){ + $id_concept_ref = $result['id_concept'] ; + $previous_name = $result['name'] ; + $previous_description = $result['description'] ; + $previous_namespace = $result['namespace'] ; + #echo "/
($tituloCenario)<\/a>/mi" ; + #$episodiosAnterior = "robin" ; + /*"'robin<\/a>'si" ; */ + $tiratag = "'<[\/\!]*?[^<>]*?>'si" ; + //$tiratagreplace = ""; + //$tituloCenario = preg_replace($tiratag,$tiratagreplace,$tituloCenario); + $regexp = "/]*?>($name_concept)<\/a>/mi" ;//rever + $replace = "$1"; + //echo($episodiosAnterior)." "; + //$tituloAtual = $tituloAnterior ; + //*$tituloAtual = preg_replace($regexp,$replace,$tituloAnterior);*/ + $current_description = preg_replace($regexp,$replace,$previous_description); + $current_namespace = preg_replace($regexp,$replace,$previous_namespace); + /*echo "ant:".$episodiosAtual ; + echo "
" ; + echo "dep:".$episodiosAnterior ;*/ + // echo($tituloCenario)." "; + // echo($episodiosAtual)." "; + //print ("
update cenario set objetivo = '$objetivoAtual',contexto = '$contextoAtual',atores = '$atoresAtual',recursos = '$recursosAtual',episodios = '$episodiosAtual' where id_cenario = $idCenarioRef "); + $sql7->execute ("update concept set description = '$current_description', namespace = '$current_namespace' where id_concept = $id_concept_ref"); + + //$record = $sql->gonext() ; + // } + } + // Removes the selected concept + $sql6->execute ("DELETE FROM concept WHERE id_concept = $id_concept") ; + $sql6->execute ("DELETE FROM relation_concept WHERE id_concept = $id_concept") ; + } +} + +?> diff --git a/cel/aplicacao/Functions/create.php b/cel/aplicacao/Functions/create.php new file mode 100644 index 00000000..1bfeaec8 --- /dev/null +++ b/cel/aplicacao/Functions/create.php @@ -0,0 +1,43 @@ + + + + + + + + + "); + print ("\$result = mysql_query(\$query) or die(\"A consulta � BD falhou : \" . mysql_error() . __LINE__);
"); + print ("
"); + } + } + + echo "
FIM !!!"; + + mysql_close($link); + ?> + + + + \ No newline at end of file diff --git a/cel/aplicacao/Functions/create_Random_String.php b/cel/aplicacao/Functions/create_Random_String.php new file mode 100644 index 00000000..47d7ea9d --- /dev/null +++ b/cel/aplicacao/Functions/create_Random_String.php @@ -0,0 +1,23 @@ + diff --git a/cel/aplicacao/Functions/lexicon_Functions.php b/cel/aplicacao/Functions/lexicon_Functions.php new file mode 100644 index 00000000..d88bd292 --- /dev/null +++ b/cel/aplicacao/Functions/lexicon_Functions.php @@ -0,0 +1,625 @@ +" . mysql_error() . "
" . __FILE__ . __LINE__); + $data = date("Y-m-d"); + + + $query_sql = "INSERT INTO lexicon (id_project, date, name, notion, impact, type) + VALUES ($id_project, '$data', '" .data_prepare(strtolower($name)). "', + '".data_prepare($notion)."', '".data_prepare($impact)."', '$classification')"; + + mysql_query($query_sql) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + $affected_rows = mysql_affected_rows(); + //sinonimo + $newLexId = mysql_insert_id($connect); + + + if(!is_array($synonymous)){ + $synonymous = array(); + }else{ + //nothing to do + } + + foreach($synonymous as $novoSin){ + + $query_sql = "INSERT INTO synonym (id_lexicon, name, id_project) + VALUES ($newLexId, '" . data_prepare(strtolower($novoSin)) . "', $id_project)"; + mysql_query($query_sql, $connect) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + } + + $query_sql = "SELECT max(id_lexicon) FROM lexicon"; + $qrr = mysql_query($query_sql) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + $result = mysql_fetch_row($qrr); + if($affected_rows == 0){ + return false; + }else{ + return $result[0]; + } + } +} + +// Function is a select in the lexicon table. +// To insert a new lexicon must be checked if it already exists, +// Or if there is synonymous with the same name. +// Gets the id of the project and the name of the lexicon (1.0) +// Makes a SELECT on the lexical table looking for a similar name +// In the project (1.1) +// Makes a SELECT on the table synonym looking for a similar name +// In the project (1.2) +// Returns true or false if not exists if available (1.3) + +function checkExistingLexicon($project, $name){ + + assert(is_string($project, $name)); + assertNotNull($project, $name); + + + $doenstexist= false; + + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + $query_sql = "SELECT * FROM lexicon WHERE id_project = $project AND name = '$name' "; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($query_result_sql); + + if ( $resultArray == false ){ + $doenstexist = true; + }else{ + //nothing to do + } + + $query_sql = "SELECT * FROM synonym WHERE id_project = $project AND name = '$name' "; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + if ( $resultArray != false ){ + $doenstexist = false; + }else{ + //nothing to do + } + + return $doenstexist; + +} + + +// For correct inclusion of a term in the lexicon , a series of procedures +// Need to be taken ( relating to requirement ' circular navigation ' ) : +// +// 1 . Including the new term in the database; +// 2. For all scenarios that project : +// 2.1 . Search , purpose , context, resources , actors , episodes in title +// For occurrences of the enclosed term or its synonyms ; +// 2.2 . For fields where occurrences are found : +// 2.2.1. Include table entry ' centolex ' ; +// 3 . For all the lexical terms that project (minus the newly inserted) : +// 3.1. Browse notion , impact by occurrences of the word or its synonyms inserted ; +// 3.2. For fields where occurrences are found : +// 3.2.1. Include entry in ' lextolex ' table ; +// 3.3. Search , impact on the term entered by notion +// Occurrences of terms in the lexicon of the same project ; +// 3.4. If you find any occurrence : +// 3.4.1. Include entry in ' lextolex ' table ; + +if (!(function_exists("adicionar_lexico"))){ + + function adicionar_lexico($id_project, $name, $notion, $impact, $synonymous, $classification){ + + assert(is_int($id_project)); + assert(is_string($name, $notion, $impact, $synonymous, $classification)); + assertNotNull($id_project, $name, $notion, $impact, $synonymous, $classification); + + + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $id_incluido = include_lexicon($id_project, $name, $notion, $impact, $synonymous, $classification); // (1) + + $qr = "SELECT id_scenario, title, objective, context, actors, resources, exception, episodes + FROM scenario + WHERE id_project = $id_projeto"; + + $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); + + while ($result = mysql_fetch_array($qrr)){ + // 2 - Para todos os cenarios + + $nomeEscapado = escape_metacharacter($name); + $regex = "/(\s|\b)(" . $nomeEscapado . ")(\s|\b)/i"; + + if( (preg_match($regex, $result['objective']) != 0) || + (preg_match($regex, $result['context']) != 0) || + (preg_match($regex, $result['actors']) != 0) || + (preg_match($regex, $result['resources']) != 0) || + (preg_match($regex, $result['exception']) != 0) || + (preg_match($regex, $result['episodes']) != 0) ){ + + //2.2 + + $q = "INSERT INTO centolex (id_scenario, id_lexicon) + VALUES (" . $result['id_scenario'] . ", $id_incluido)"; //2.2.1 + + mysql_query($q) or die("Erro ao enviar a query de INSERT 1
" . mysql_error() . "
" . __FILE__ . __LINE__); + + } + } + + + //sinonimos do novo lexico + $count = count($synonymous); + for ($i = 0; $i < $count; $i++){ + + $qrr = mysql_query($qr) or die("Erro ao enviar a query de SELECT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); + while ($result2 = mysql_fetch_array($qrr)){ + + $nomeSinonimoEscapado = escape_metacharacter( $synonymous[$i] ); + $regex = "/(\s|\b)(" . $nomeSinonimoEscapado . ")(\s|\b)/i"; + + if( (preg_match($regex, $result2['objective']) != 0) || + (preg_match($regex, $result2['context']) != 0) || + (preg_match($regex, $result2['actors']) != 0) || + (preg_match($regex, $result2['resources']) != 0) || + (preg_match($regex, $result2['exception']) != 0) || + (preg_match($regex, $result2['episodes']) != 0) ){ + + + $qLex = "SELECT * FROM centolex WHERE id_scenario = " . $result2['id_scenario'] . " AND id_lexicon = $id_incluido "; + $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArraylex = mysql_fetch_array($qrLex); + + if ( $resultArraylex == false ){ + + $q = "INSERT INTO centolex (id_scenario, id_lexicon) + VALUES (" . $result2['id_scenario'] . ", $id_incluido)"; + + mysql_query($q) or die("Erro ao enviar a query de INSERT 2
" . mysql_error() . "
" . __FILE__ . __LINE__); + } //if + }//if + }//while + } //for + + + $qlo = "SELECT id_lexicon, name, notion, impact, type + FROM lexicon + WHERE id_project = $id_projeto + AND id_lexicon != $id_incluido"; + + //pega todos os outros lexicos + $qrr = mysql_query($qlo) or die("Erro ao enviar a query de SELECT no LEXICO
" . mysql_error() . "
" . __FILE__ . __LINE__); + + while ($result = mysql_fetch_array($qrr)){ + // (3) + + $nomeEscapado = escape_metacharacter($name); + $regex = "/(\s|\b)(" . $nomeEscapado . ")(\s|\b)/i"; + + if ( (preg_match($regex, $result['notion']) != 0 ) || + (preg_match($regex, $result['impact'])!= 0) ) { + + + $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $result['id_lexicon'] . " AND id_lexico_to = $id_incluido"; + $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArraylex = mysql_fetch_array($qrLex); + + if ( $resultArraylex == false ){ + + $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) + VALUES (" . $result['id_lexicon'] . ", $id_incluido)"; + + mysql_query($q) or die("Erro ao enviar a query de INSERT no lextolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); + } + } + + $nomeEscapado = escape_metacharacter( $result['name'] ); + $regex = "/(\s|\b)(" . $nomeEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $notion) != 0) || + (preg_match($regex, $impact) != 0) ){ + // (3.3) + + $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) VALUES ($id_incluido, " . $result['id_lexicon'] . ")"; + + mysql_query($q) or die("Erro ao enviar a query de insert no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); + } + + } // while + + + //lexico para lexico + + $ql = "SELECT id_lexicon, name, notion, impact + FROM lexicon + WHERE id_project = $id_projeto + AND id_lexicon != $id_incluido"; + + //sinonimos dos outros lexicos no texto do inserido + + $qrr = mysql_query($ql) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $count = count($synonymous); + for ($i = 0; $i < $count; $i++){ + + while ($resultl = mysql_fetch_array($qrr)){ + + $nomeSinonimoEscapado = escape_metacharacter( $synonymous[$i] ); + $regex = "/(\s|\b)(" . $nomeSinonimoEscapado . ")(\s|\b)/i"; + + if ( (preg_match($regex, $resultl['nocao']) != 0) || + (preg_match($regex, $resultl['impacto']) != 0)){ + + + $qLex = "SELECT * FROM lextolex WHERE id_lexico_from = " . $resultl['id_lexicon'] . " AND id_lexico_to = $id_incluido"; + $qrLex = mysql_query($qLex) or die("Erro ao enviar a query de select no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArraylex = mysql_fetch_array($qrLex); + + if ( $resultArraylex == false ){ + + $q = "INSERT INTO lextolex (id_lexico_from, id_lexico_to) + VALUES (" . $resultl['id_lexicon'] . ", $id_incluido)"; + + mysql_query($q) or die("Erro ao enviar a query de insert no lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + }//if + } //if + }//while + }//for + + //sinonimos ja existentes + + $qSinonimos = "SELECT name, id_lexicon FROM synonym WHERE id_project = $id_projeto AND id_lexicon != $id_incluido AND id_pedidolex = 0"; + + $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query de select no sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $nomesSinonimos = array(); + + $id_lexicoSinonimo = array(); + + while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ + + $nomesSinonimos[] = $rowSinonimo["name"]; + $id_lexicoSinonimo[] = $rowSinonimo["id_lexicon"]; + + } + + } +} + +// Function does an insert in the request table. +// To insert a new lexicon she should receive the new fields +// Lexicons. +// At the end she sends an email to the project manager +// Lexicon concerning this case the creator is in the manager. +// Files that use this function: +// add_lexico.php + +if (!(function_exists("inserirPedidoAdicionarLexico"))){ + + function inserirPedidoAdicionarLexico($id_project,$name,$notion,$impact,$id_user,$synonymous, $classification){ + assert(is_int($id_project, $id_user)); + assert(is_string($name, $notion, $impact, $synonymous, $classification)); + assertNotNull($id_project, $name, $notion, $impact,$id_user, $synonymous, $classification); + + + $DB = new PGDB() ; + $insere = new QUERY($DB) ; + $select = new QUERY($DB) ; + $select2 = new QUERY($DB) ; + + $q = "SELECT * FROM participa WHERE manager = 1 AND id_user = $id_user AND id_project = $id_project"; + $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + + if ( $resultArray == false){ + + $insere->execute("INSERT INTO pedidolex (id_project,name,notion,impact,type,id_user,type_request,aproved) VALUES ($id_project,'$name','$notion','$impact','$classification',$id_user,'inserir',0)") ; + + $newId = $insere->getLastId(); + + $select->execute("SELECT * FROM usuario WHERE id_user = '$id_user'") ; + + $select2->execute("SELECT * FROM participa WHERE manager = 1 and id_project = $id_project") ; + + + //insere sinonimos + + foreach($synonymous as $sin){ + + $insere->execute("INSERT INTO sinonimo (id_pedidolex, name, id_project) + VALUES ($newId, '".data_prepare(strtolower($sin))."', $id_project)"); + } + //fim da insercao dos sinonimos + + if ($select->getntuples() == 0 &&$select2->getntuples() == 0){ + echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; + }else{ + + $record = $select->gofirst (); + $name2 = $record['name'] ; + $email = $record['email'] ; + $record2 = $select2->gofirst (); + + while($record2 != 'LAST_RECORD_REACHED'){ + $id = $record2['id_user'] ; + $select->execute("SELECT * FROM user WHERE id_user = $id") ; + $record = $select->gofirst (); + $mailGerente = $record['email'] ; + mail("$mailGerente", "Pedido de Inclus�o de L�xico", "O usuario do sistema $name2\nPede para inserir o lexico $name \nObrigado!","From: $name2\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + + } + } + + }else{ //Is maneger + adicionar_lexico($id_project, $name, $notion, $impact, $synonymous, $classification) ; + + } + } +} + +// This function receives an id of lexical and removes all its +// Links and existing relationships in all the database tables. + +if (!(function_exists("removeLexico"))) { + function removeLexico($id_project,$id_lexicon, $lexicon_name){ + + assert($id_project != NULL); + assert($id_project > 0); + assert($id_lexicon != NULL); + assert($id_lexicon > 0); + assert($id_project != NULL); + assert($id_project > 0); + assert($lexicon_name != NULL); + assert(is_int($id_lexicon, $id_project)); + assert(is_string($lexicon_name)); + + $DB = new PGDB() ; + $delete = new QUERY ($DB) ; + + if($lexicon_name != null){ + bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + $query = "SELECT id_lexicon FROM lexicon where name = '$lexicon_name'"; + $query_result = mysql_query($query); + $id_lexicon = mysql_result($query_result, 0, "id_lexicon"); + } + + # Remove o relacionamento entre o lexico a ser removido + # e outros lexicos que o referenciam + $delete->execute ("DELETE FROM lexicon_to_lexicon WHERE id_lexicon_from = $id_lexicon"); + $delete->execute ("DELETE FROM lexicon_to_lexicon WHERE id_lexicon_to = $id_lexicon"); + $delete->execute ("DELETE FROM scenario_to_lexicon WHERE id_lexicon = $id_lexicon"); + + # Remove o lexico escolhido + $delete->execute ("DELETE FROM synonym WHERE id_lexicon = $id_lexicon"); + $delete->execute ("DELETE FROM lexicon WHERE id_lexicon = $id_lexicon"); + $affected_rows = mysql_affected_rows(); + + if(affected_rows == 0){ + return false; + }else{ + return true; + } + } +} +// Function does an insert in the request table. +// To remove a lexical she should receive +// The id of the lexicon and id design. (1.1) +// At the end she sends an email to the project manager +// Referring to this lexicon. (2.1) +// Files that use this function: +// rmv_lexico.php + +if (!(function_exists("inserirPedidoRemoverLexico"))) { + function insertRequestRemoveLexicon($id_project,$id_lexicon,$id_user){ + + assert(is_int($id_project, $id_lexicon, $id_user)); + assertNotNull($id_lexicon, $id_project, $id_user); + + $DB = new PGDB () ; + $insere = new QUERY ($DB) ; + $select = new QUERY ($DB) ; + $select2 = new QUERY ($DB) ; + + $q = "SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"; + $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + if ( $resultArray == false ){ //nao e gerente + + + $select->execute("SELECT * FROM lexico WHERE id_lexico = $id_lexicon") ; + $lexicon = $select->gofirst (); + $name = $lexicon['nome'] ; + + $insere->execute("INSERT INTO pedidolex (id_projeto,id_lexico,nome,id_usuario,tipo_pedido,aprovado) VALUES ($id_project,$id_lexicon,'$name',$id_user,'remover',0)") ; + $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_user") ; + $select2->execute("SELECT * FROM participa WHERE gerente = 1 and id_projeto = $id_project") ; + + if ($select->getntuples() == 0&&$select2->getntuples() == 0){ + echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; + }else{ + $record = $select->gofirst (); + $name = $record['nome'] ; + $email = $record['email'] ; + $record2 = $select2->gofirst (); + + while($record2 != 'LAST_RECORD_REACHED'){ + $id = $record2['id_usuario'] ; + $select->execute("SELECT * FROM usuario WHERE id_usuario = $id") ; + $record = $select->gofirst (); + $mailGerente = $record['email'] ; + mail("$mailGerente", "Pedido de Remover L�xico", "O usuario do sistema $name2\nPede para remover o lexico $id_lexicon \nObrigado!","From: $name\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + } + }else{ // e gerente + removeLexico($id_project,$id_lexicon, null); + } + } +} + +// Process a request identified by its id. +// Receives the order id. (1.1) +// Do a select to get the application using the id received. (1.2) +// Get the tipo_pedido field. (1.3) +// If it's to remove: We call the function remove (), (​​1.4) +// If this is to change: We (re) move the lexicon and insert the new. +// If it is to enter: call the insert function (); + +if (!(function_exists("tratarPedidoLexico"))){ + + function tratarPedidoLexico($id_request){ + assert(is_int($id_request)); + assertNotNull($id_request); + + + $DB = new PGDB () ; + $select = new QUERY ($DB) ; + $delete = new QUERY ($DB); + $selectSin = new QUERY ($DB); + $select->execute("SELECT * FROM pedidolex WHERE id_pedido = $id_request") ; + + if ($select->getntuples() == 0){ + echo "
[ERRO]Pedido invalido." ; + }else{ + $record = $select->gofirst () ; + $type_request = $record['typo_request'] ; + + if(!strcasecmp($type_request,'remover')){ + $id_lexicon = $record['id_lexicon'] ; + $id_project = $record['id_project'] ; + removeLexico($id_project,$id_lexicon, null) ; + + }else{ + $id_project = $record['id_project'] ; + $name = $record['name'] ; + $notion = $record['notion'] ; + $impact = $record['impact'] ; + $classification = $record['type']; + + //synonymous + + $synonymous = array(); + $selectSin->execute("SELECT nome FROM sinonimo WHERE id_pedidolex = $id_request"); + $synonymous = $selectSin->gofirst(); + + if ($selectSin->getntuples() != 0){ + while($synonymous != 'LAST_RECORD_REACHED'){ + + $synonymous[] = $synonymous["nome"]; + $synonymous = $selectSin->gonext(); + } + } + + if(!strcasecmp($type_request,'alterar')){ + + $id_lexicon = $record['id_lexico'] ; + alteraLexico($id_project, $id_lexicon, $name, $notion, $impact, $synonymous, $classification); + }else if(($idLexicoConflitante = adicionar_lexico($id_project, $name, $notion, $impact, $synonymous, $classification)) <= 0){ + + $idLexicoConflitante = -1 * $idLexicoConflitante; + + $selectLexConflitante->execute("SELECT nome FROM lexico WHERE id_lexico = " . $idLexicoConflitante); + + $row = $selectLexConflitante->gofirst(); + + return $row["nome"]; + } + } + return null; + + } + } +} + +// Function does an insert in the request table. +// To change a lexical she should receive the lexical fields +// Jah modified. (1.1) +// At the end she sends an email to the project manager +// Lexicon concerning this case the creator is in the manager. (2.1) +// Files that use this function: +// alt_lexico.php + +if (!(function_exists("insertRequestAlterLexicon"))){ + + function insertRequestAlterLexicon($id_project, $id_lexicon, $name, $notion, $impact, $justification, $id_user, $synonym, $classification){ + assert(is_int($id_lexicon, $id_project, $id_user)); + assert(is_string($name, $notion, $impact, $justificative, $synonym, $classification)); + assertNotNull($id_project, $id_lexicon, $name, $notion, $impact, $justification, $id_user, $synonym, $classification); + + $DB = new PGDB () ; + $insere = new QUERY ($DB) ; + $select = new QUERY ($DB) ; + $select2 = new QUERY ($DB) ; + + $q = "SELECT * FROM participates WHERE manager = 1 AND id_user = $id_user AND id_project = $id_project"; + $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + + if ( $resultArray == false ){ //isn't manager + + $insere->execute("INSERT INTO request_lexicon(id_project,id_lexicon,name,notion,impact,id_user,type_request,aproved,justification, type) VALUES ($id_project,$id_lexico,'$name','$notion','$impact',$id_user,'alter',0,'$justification', '$classification')") ; + + $newPedidoId = $insere->getLastId(); + + + foreach($synonym as $sin){ + + $insere->execute("INSERT INTO synonym (id_request_lexicon,name,id_project) + VALUES ($newPedidoId,'".data_prepare(strtolower($sin))."', $id_project)") ; + } + + + $select->execute("SELECT * FROM user WHERE id_user = '$id_user'") ; + $select2->execute("SELECT * FROM participates WHERE manager = 1 and id_project = $id_project") ; + + if ($select->getntuples() == 0 && $select2->getntuples() == 0){ + echo "
[ERRO]Pedido nao foi comunicado por e-mail." ; + }else{ + $record = $select->gofirst (); + $nome2 = $record['name'] ; + $email = $record['email'] ; + $record2 = $select2->gofirst (); + + while($record2 != 'LAST_RECORD_REACHED'){ + $id = $record2['id_user'] ; + $select->execute("SELECT * FROM user WHERE id_user = $id") ; + $record = $select->gofirst (); + $mailGerente = $record['email'] ; + mail("$mailGerente", "Pedido de Alterar L�xico", "O usuario do sistema $name2\nPede para alterar o lexico $name \nObrigado!","From: $name2\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + } + } + else{ //� gerente + alteraLexico($id_project,$id_lexicon, $name, $notion, $impact, $synonym, $classification) ; + } + + } +} +?> + + diff --git a/cel/aplicacao/Functions/project_Functions.php b/cel/aplicacao/Functions/project_Functions.php new file mode 100644 index 00000000..ccf554e2 --- /dev/null +++ b/cel/aplicacao/Functions/project_Functions.php @@ -0,0 +1,195 @@ +" . mysql_error() . "
" . __FILE__ . __LINE__); + $query_select_sql = "SELECT * FROM project WHERE name = '$name'"; + $query_result_sql = mysql_query($query_select_sql) or die("Erro ao enviar a query de select
" . mysql_error() . "
" . __FILE__ . __LINE__); + + + $resultArray = mysql_fetch_array($query_result_sql); + + + if ( $resultArray != false ){ + + $id_project_repetead = $resultArray['id_project']; + + $current_id_user = $_SESSION['current_id_user']; + + $query_select_repeated_sql = "SELECT * FROM participates WHERE id_project = '$id_project_repetead' AND id_user = '$current_id_user' "; + + $query_result_repeated_sql = mysql_query($query_select_repeated_sql) or die("Erro ao enviar a query de SELECT no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $resultArray = mysql_fetch_row($query_result_repeated_sql); + + if ($resultArray[0] != null ){ + return -1; + } + + } + + $query_select_max_sql = "SELECT MAX(id_project) FROM project"; + $query_resutl_max_sql = mysql_query($query_select_max_sql) or die("Erro ao enviar a query de MAX ID
" . mysql_error() . "
" . __FILE__ . __LINE__); + $result = mysql_fetch_row($query_resutl_max_sql); + + if ( $result[0] == false ){ + $result[0] = 1; + }else{ + $result[0]++; + } + + $date = date("Y-m-d"); + + $query_insert_sql = "INSERT INTO project (id_project, name, date_creation, description) + VALUES ($result[0],'".data_prepare($name)."','$date' , '".data_prepare($description)."')"; + + mysql_query($query_insert_sql) or die("Erro ao enviar a query INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); + + return $result[0]; + } +} + +// Retorna TRUE ssse $id_usuario tem permissao sobre $id_projeto +if (!(function_exists("check_project_permanent"))){ + + function check_project_permanent($id_user, $id_project){ + assert($id_user != NULL); + assert($id_project != NULL); + assert($id_user > 0); + assert($id_project > 0); + + + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + $query_select_sql = "SELECT * + FROM participates + WHERE id_user = $id_user + AND id_project = $id_project"; + $query_result_sql = mysql_query($query_select_sql) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + + if (mysql_num_rows($query_result_sql) >= 1){ + return 1; + } + //return (1 == mysql_num_rows($query_result_sql)); + else { + return 0; + } + + } +} + +################################################################### +# Remove um determinado projeto da base de dados +# Recebe o id do projeto. (1.1) +# Apaga os valores da tabela pedidocen que possuam o id do projeto enviado (1.2) +# Apaga os valores da tabela pedidolex que possuam o id do projeto enviado (1.3) +# Faz um SELECT para saber quais l�xico pertencem ao projeto de id_projeto (1.4) +# Apaga os valores da tabela lextolex que possuam possuam lexico do projeto (1.5) +# Apaga os valores da tabela centolex que possuam possuam lexico do projeto (1.6) +# Apaga os valores da tabela sinonimo que possuam possuam o id do projeto (1.7) +# Apaga os valores da tabela lexico que possuam o id do projeto enviado (1.8) +# Faz um SELECT para saber quais cenario pertencem ao projeto de id_projeto (1.9) +# Apaga os valores da tabela centocen que possuam possuam cenarios do projeto (2.0) +# Apaga os valores da tabela centolex que possuam possuam cenarios do projeto (2.1) +# Apaga os valores da tabela cenario que possuam o id do projeto enviado (2.2) +# Apaga os valores da tabela participa que possuam o id do projeto enviado (2.3) +# Apaga os valores da tabela publicacao que possuam o id do projeto enviado (2.4) +# Apaga os valores da tabela projeto que possuam o id do projeto enviado (2.5) +# +################################################################### + +function removeProject($id_project){ + assert($id_project != NULL); + assert($id_project > 0); + + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //Remove os pedidos de cenario + $qv = "Delete FROM request_scenario WHERE id_project = '$id_project' "; + $deletaPedidoCenario = mysql_query($qv) or die("Erro ao apagar pedidos de cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //Remove os pedidos de lexico + $qv = "Delete FROM request_lexicon WHERE id_project = '$id_project' "; + $deletaPedidoLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //Remove os lexicos //verificar lextolex!!! + $qv = "SELECT * FROM lexicon WHERE id_project = '$id_project' "; + $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + + while ($result = mysql_fetch_array($qvr)){ + + $id_lexico = $result['id_lexicon']; //seleciona um lexico + + $qv = "Delete FROM lextolex WHERE id_lexico_from = '$id_lexico' OR id_lexicon_to = '$id_lexico' "; + $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do lextolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $qv = "Delete FROM scenario_to_lexicon WHERE id_lexicon = '$id_lexico'"; + $deletacentolex = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //$qv = "Delete FROM sinonimo WHERE id_lexico = '$id_lexico'"; + //$deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $qv = "Delete FROM synonym WHERE id_project = '$id_project'"; + $deletacentolex = mysql_query($qv) or die("Erro ao apagar sinonimo
" . mysql_error() . "
" . __FILE__ . __LINE__); + + } + + $qv = "Delete FROM lexicon WHERE id_project = '$id_project' "; + $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do lexico
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //remove os cenarios + $qv = "SELECT * FROM scenario WHERE id_project = '$id_project' "; + $qvr = mysql_query($qv) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArrayCenario = mysql_fetch_array($qvr); + + while ($result = mysql_fetch_array($qvr)){ + + $id_lexico = $result['id_scenario']; //seleciona um lexico + + $qv = "Delete FROM scenario_to_scennario WHERE id_scenario_from = '$id_scenario' OR id_scenario_to = '$id_scenario' "; + $deletaCentoCen = mysql_query($qv) or die("Erro ao apagar pedidos do centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $qv = "Delete FROM centolex WHERE id_cenario = '$id_cenario'"; + $deletaLextoLe = mysql_query($qv) or die("Erro ao apagar pedidos do centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + + } + + $qv = "Delete FROM scenario WHERE id_project = '$id_project' "; + $deletaLexico = mysql_query($qv) or die("Erro ao apagar pedidos do cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //remover participantes + $qv = "Delete FROM participates WHERE id_project = '$id_project' "; + $deletaParticipantes = mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //remover publicacao + $qv = "Delete FROM publication WHERE id_project = '$id_project' "; + $deletaPublicacao = mysql_query($qv) or die("Erro ao apagar no publicacao
" . mysql_error() . "
" . __FILE__ . __LINE__); + + //remover projeto + $qv = "Delete FROM project WHERE id_project = '$id_project' "; + $deletaProjeto= mysql_query($qv) or die("Erro ao apagar no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + +} +?> \ No newline at end of file diff --git a/cel/aplicacao/Functions/project_Main.php b/cel/aplicacao/Functions/project_Main.php new file mode 100644 index 00000000..641a7828 --- /dev/null +++ b/cel/aplicacao/Functions/project_Main.php @@ -0,0 +1,79 @@ + + + + +

+

+ Projetos Publicados

+ + + + + 0); + assert ($date != NULL); + assert ($version != NULL); + assert ($XML != NULL); + + $query_search_name_project = "SELECT * FROM project WHERE id_project = '$id_project'"; + $query_search = mysql_query($query_search_name_project) or die("Erro ao enviar a query de busca de projeto"); + $result_name = mysql_fetch_row($query_search); + $name_project = $result_name[1]; + ?> + + + + + + + + + + + +
Data: Vers�o:
+ + + + + + \ No newline at end of file diff --git a/cel/aplicacao/Functions/reload_Page.php b/cel/aplicacao/Functions/reload_Page.php new file mode 100644 index 00000000..1b3c003f --- /dev/null +++ b/cel/aplicacao/Functions/reload_Page.php @@ -0,0 +1,26 @@ + + + + + diff --git a/cel/aplicacao/Functions/remove_Relation.php b/cel/aplicacao/Functions/remove_Relation.php new file mode 100644 index 00000000..09a60298 --- /dev/null +++ b/cel/aplicacao/Functions/remove_Relation.php @@ -0,0 +1,26 @@ +execute ("DELETE FROM relation WHERE id_relation = $id_relation") ; + $sql6->execute ("DELETE FROM relation_concept WHERE id_relation = $id_relation") ; + + } + +} +?> diff --git a/cel/aplicacao/Functions/scenario_Functions.php b/cel/aplicacao/Functions/scenario_Functions.php new file mode 100644 index 00000000..b8554c22 --- /dev/null +++ b/cel/aplicacao/Functions/scenario_Functions.php @@ -0,0 +1,798 @@ +" . mysql_error() . "
" . __FILE__ . __LINE__); + + $data = date("Y-m-d"); + + $query = "INSERT INTO scenario (id_project,data, title, objective, context, actors, resource, exception, episodes) + VALUES ($id_project,'$data', '".data_prepare(strtolower($title))."', '".data_prepare($objective)."', + '".data_prepare($context)."', '".data_prepare($actors)."', '".data_prepare($resource)."', + '".data_prepare($exception)."', '".data_prepare($episodes)."')"; + + mysql_query($query) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $query = "SELECT max(id_scenario) FROM scenario"; + + $query_result = mysql_query($query) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + $result = mysql_fetch_row($query_result); + return $result[0]; + } +} + + +// Para a correta inclusao de um cenario, uma serie de procedimentos +// precisam ser tomados (relativos ao requisito 'navegacao circular'): +// +// 1. Incluir o novo cenario na base de dados; +// 2. Para todos os cenarios daquele projeto, exceto o rec�m inserido: +// 2.1. Procurar em contexto e episodios +// por ocorrencias do titulo do cenario incluido; +// 2.2. Para os campos em que forem encontradas ocorrencias: +// 2.2.1. Incluir entrada na tabela 'centocen'; +// 2.3. Procurar em contexto e episodios do cenario incluido +// por ocorrencias de titulos de outros cenarios do mesmo projeto; +// 2.4. Se achar alguma ocorrencia: +// 2.4.1. Incluir entrada na tabela 'centocen'; +// 3. Para todos os nomes de termos do lexico daquele projeto: +// 3.1. Procurar ocorrencias desses nomes no titulo, objetivo, contexto, +// recursos, atores, episodios, do cenario incluido; +// 3.2. Para os campos em que forem encontradas ocorrencias: +// 3.2.1. Incluir entrada na tabela 'centolex'; + +if (!(function_exists("adiciona_cenario"))){ + function adiciona_cenario($id_project, $title, $objective, $context, $actors, $resources, $exception, $episodes){ + + assert($id_project != NULL); + assert($title != NULL); + assert($objective != NULL); + assert($context != NULL); + assert(is_string($episodes)); + assert(is_string($title)); + assert(is_string($objective)); + assert(is_string($context)); + assert(is_string($actors)); + assert(is_string($resources)); + assert(is_string($exception)); + + // Conecta ao SGBD + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + // Inclui o cenario na base de dados (sem transformar os campos, sem criar os relacionamentos) + $id_incluido = include_scenario($id_project, $title, $objective, $context, $actors, $resources, $exception, $episodes); + + $query_sql = "SELECT id_scenario, title, context, episodes + FROM scenario + WHERE id_project = $id_project + AND id_scenario != $id_incluido + ORDER BY CHAR_LENGTH(title) DESC"; + $qrr = mysql_query($query_sql) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); + + ### PREENCHIMENTO DAS TABELAS LEXTOLEX E CENTOCEN PARA MONTAGEM DO MENU LATERAL + + // Verifica ocorr�ncias do titulo do cenario incluido no contexto + // e nos episodios de todos os outros cenarios e adiciona os relacionamentos, + // caso possua, na tabela centocen + + while ($result = mysql_fetch_array($qrr)){ // Para todos os cenarios + + $tituloEscapado = escape_metacharacter( $title ); + $regex = "/(\s|\b)(" . $tituloEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $result['context']) != 0) || + (preg_match($regex, $result['episodes']) != 0) ){ // (2.2) + + $q = "INSERT INTO scenario_to_scenario (id_scenario_from, id_scenario_to) + VALUES (" . $result['id_scenario'] . ", $id_incluido)"; // (2.2.1) + mysql_query($q) or die("Erro ao enviar a query de INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); + } + + $tituloEscapado = escape_metacharacter( $result['title'] ); + $regex = "/(\s|\b)(" . $tituloEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $context) != 0) || + (preg_match($regex, $episodes) != 0)){ // (2.3) + + $query_sql = "INSERT INTO scenario_to_scenario (id_scenario_from, id_scenario_to) VALUES ($id_incluido, " . $result['id_scenario'] . ")"; //(2.4.1) + + mysql_query($query_sql) or die("Erro ao enviar a query de insert no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); + } // if + + } // while + + // Verifica a ocorrencia do nome de todos os lexicos nos campos titulo, objetivo, + // contexto, atores, recursos, episodios e excecao do cenario incluido + + $query_sql = "SELECT id_lexicon, name FROM lexicon WHERE id_project = $id_project"; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de SELECT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); + + while ($result2 = mysql_fetch_array($query_result_sql)){ // (3) + + $nomeEscapado = escape_metacharacter( $result2['nome']); + $regex = "/(\s|\b)(" . $nomeEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $title) != 0) || + (preg_match($regex, $objective) != 0) || + (preg_match($regex, $context) != 0) || + (preg_match($regex, $actors) != 0) || + (preg_match($regex, $resources) != 0) || + (preg_match($regex, $episodes) != 0) || + (preg_match($regex, $exception) != 0) ){ // (3.2) + + $query_sql_scenario = "SELECT * FROM scenario_to_lexicon WHERE id_scenario = $id_incluido AND id_lexicon = " . $result2['id_lexicon']; + $query_result_sql_scenario = mysql_query($query_sql_scenario) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArrayCen = mysql_fetch_array($query_result_sql_scenario); + + if ($resultArrayCen == false){ + + $query_sql = "INSERT INTO centolex (id_scenario, id_lexicon) VALUES ($id_incluido, " . $result2['id_lexicon'] . ")"; + mysql_query($query_sql) or die("Erro ao enviar a query de INSERT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) + } + } // if + + } // while + + // Verifica a ocorrencia dos sinonimos de todos os lexicos nos campos titulo, objetivo, + // contexto, atores, recursos, episodios e excecao do cenario incluido + //Sinonimos + + $query_sql_synonyms = "SELECT name, id_lexicon FROM synonym WHERE id_project = $id_project AND id_pedidolex = 0 "; + + $query_result_sql_synonyms = mysql_query($query_sql_synonyms) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $synonyms_names = array(); + + $id_lexicon_synonyms = array(); + + while($row_synonyms = mysql_fetch_array($query_result_sql_synonyms)){ + + $synonyms_names[] = $row_synonyms["name"]; + $id_lexicon_synonyms[] = $row_synonyms["id_lexicon"]; + + } + + $qlc = "SELECT id_scenario, title, context, episodes, objetive, actors, resources, exception + FROM scenario + WHERE id_project = $id_project + AND id_scenario = $id_incluido"; + $count = count($synonyms_names); + for ($i = 0; $i < $count; $i++){ + + $query_result_sql = mysql_query($qlc) or die("Erro ao enviar a query de busca
" . mysql_error() . "
" . __FILE__ . __LINE__); + + // verifica sinonimos dos outros lexicos no cenario inclu�do + while ($result = mysql_fetch_array($query_result_sql)){ + + $nomeSinonimoEscapado = escape_metacharacter( $nomesSinonimos[$i] ); + $regex = "/(\s|\b)(" . $nomeSinonimoEscapado . ")(\s|\b)/i"; + + if ((preg_match($regex, $objective) != 0) || + (preg_match($regex, $context) != 0) || + (preg_match($regex, $actors) != 0) || + (preg_match($regex, $resources) != 0) || + (preg_match($regex, $episodes) != 0) || + (preg_match($regex, $exception) != 0) ){ + + $query_sql_scenario = "SELECT * FROM centolex WHERE id_cenario = $id_incluido AND id_lexico = $id_lexicoSinonimo[$i] "; + $query_result_sql_scenario = mysql_query($query_sql_scenario) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArrayCen = mysql_fetch_array($query_result_sql_scenario); + + if ($resultArrayCen == false){ + $query_sql = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_incluido, $id_lexicon_synonyms[$i])"; + mysql_query($query_sql) or die("Erro ao enviar a query de insert no centolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) + } + + } // if + } // while + + } //for + + } +} + + +################################################################### +# Essa funcao recebe um id de cenario e remove todos os seus +# links e relacionamentos existentes. +################################################################### +if (!(function_exists("removeCenario"))){ + + function removeCenario($id_project,$id_scenario){ + + assert($id_project != NULL); + assert($id_project < 0); + assert($id_scenario != NULL); + assert($id_scenario < 0); + + $DB = new PGDB () ; + $sql1 = new QUERY ($DB) ; + $sql2 = new QUERY ($DB) ; + $sql3 = new QUERY ($DB) ; + $sql4 = new QUERY ($DB) ; + + # Remove o relacionamento entre o cenario a ser removido + # e outros cenarios que o referenciam + $sql1->execute ("DELETE FROM scenario_to_scenario WHERE id_scenario_from = $id_cenario") ; + $sql2->execute ("DELETE FROM scenario_to_scenario WHERE id_scenario_to = $id_cenario") ; + # Remove o relacionamento entre o cenario a ser removido + # e o seu lexico + $sql3->execute ("DELETE FROM centolex WHERE id_scenario = $id_cenario") ; + # Remove o cenario escolhido + $sql4->execute ("DELETE FROM cenario WHERE id_scenario = $id_cenario") ; + + } + +} + + +################################################################### +# Essa funcao recebe um id de cenario e remove todos os seus +# links e relacionamentos existentes. +################################################################### +if (!(function_exists("alteraCenario"))){ + + function alteraCenario($id_project, $id_scenario, $title, $objective, $context, $actors, $resources, $exception, $episodes){ + + assert($id_project != NULL); + assert($id_scenario != NULL); + assert($title != NULL); + assert($objective != NULL); + assert($context != NULL); + assert($actors != NULL); + assert($resources != NULL); + assert($exception != NULL); + assert($episodes != NULL); + + assert(is_string($title)); + assert(is_string($objective)); + assert(is_string($context)); + assert(is_string($actors)); + assert(is_string($resources)); + assert(is_string($exception)); + assert(is_string($episodes)); + + $DB = new PGDB () ; + $sql1 = new QUERY ($DB) ; + $sql2 = new QUERY ($DB) ; + $sql3 = new QUERY ($DB) ; + $sql4 = new QUERY ($DB) ; + + # Remove o relacionamento entre o cenario a ser alterado + # e outros cenarios que o referenciam + $sql1->execute ("DELETE FROM centocen WHERE id_scenario_from = $id_scenario") ; + $sql2->execute ("DELETE FROM centocen WHERE id_scenario_to = $id_scenario") ; + # Remove o relacionamento entre o cenario a ser alterado + # e o seu lexico + $sql3->execute ("DELETE FROM centolex WHERE id_cenario = $id_scenario") ; + + # atualiza o cenario + + $sql4->execute ("update cenario set + objective = '".data_prepare($objective)."', + context = '".data_prepare($context)."', + actors = '".data_prepare($actors)."', + resources = '".data_prepare($resources)."', + episodes = '".data_prepare($episodes)."', + exception = '".data_prepare($exception)."' + where id_scenario = $id_scenario "); + + // monta_relacoes($id_projeto); + + // Conecta ao SGBD + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $q = "SELECT id_scenario, title, context, episodes + FROM scenario + WHERE id_project = $id_project + AND id_scenario != $id_scenario + ORDER BY CHAR_LENGTH(title) DESC"; + $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT
" . mysql_error() . "
" . __FILE__ . __LINE__); + + while ($result = mysql_fetch_array($qrr)){ // Para todos os cenarios + + $tituloEscapado = escape_metacharacter( $title ); + $regex = "/(\s|\b)(" . $tituloEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $result['context']) != 0) || + (preg_match($regex, $result['episodes']) != 0) ){ // (2.2) + + $q = "INSERT INTO centocen (id_scenario_from, id_scenario_to) + VALUES (" . $result['id_scenario'] . ", $id_scenario)"; // (2.2.1) + mysql_query($q) or die("Erro ao enviar a query de INSERT
" . mysql_error() . "
" . __FILE__ . __LINE__); + } + + $tituloEscapado = escape_metacharacter( $result['title'] ); + $regex = "/(\s|\b)(" . $tituloEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $context) != 0) || + (preg_match($regex, $episodes) != 0) ){ // (2.3) + + $q = "INSERT INTO centocen (id_scenario_from, id_scenario_to) VALUES ($id_scenario, " . $result['id_scenario'] . ")"; //(2.4.1) + + mysql_query($q) or die("Erro ao enviar a query de insert no centocen
" . mysql_error() . "
" . __FILE__ . __LINE__); + } // if + + } // while + + + $q = "SELECT id_lexicon, name FROM lexicon WHERE id_project = $id_project"; + $qrr = mysql_query($q) or die("Erro ao enviar a query de SELECT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); + while ($result2 = mysql_fetch_array($qrr)){ // (3) + + $nomeEscapado = escape_metacharacter( $result2['name'] ); + $regex = "/(\s|\b)(" . $nomeEscapado . ")(\s|\b)/i"; + + if((preg_match($regex, $title) != 0) || + (preg_match($regex, $objective) != 0) || + (preg_match($regex, $context) != 0) || + (preg_match($regex, $actors) != 0) || + (preg_match($regex, $resources) != 0) || + (preg_match($regex, $episodes) != 0) || + (preg_match($regex, $exception) != 0) ){ // (3.2) + + $qCen = "SELECT * FROM centolex WHERE id_scenario = $id_scenario AND id_lexico = " . $result2['id_lexicon']; + $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArrayCen = mysql_fetch_array($qrCen); + + if ($resultArrayCen == false){ + + $q = "INSERT INTO centolex (id_cenario, id_lexico) VALUES ($id_scenario, " . $result2['id_lexicon'] . ")"; + mysql_query($q) or die("Erro ao enviar a query de INSERT 3
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) + } + } // if + + } // while + + + //Sinonimos + + $qSinonimos = "SELECT name, id_lexicon FROM synonym WHERE id_project = $id_project AND id_pedidolex = 0"; + + $qrrSinonimos = mysql_query($qSinonimos) or die("Erro ao enviar a query
" . mysql_error() . "
" . __FILE__ . __LINE__); + + $nomesSinonimos = array(); + + $id_lexicoSinonimo = array(); + + while($rowSinonimo = mysql_fetch_array($qrrSinonimos)){ + + $nomesSinonimos[] = $rowSinonimo["nome"]; + $id_lexicoSinonimo[] = $rowSinonimo["id_lexico"]; + + } + + $qlc = "SELECT id_scenario, title, context, episodes, objective, actors, resources, exception + FROM scenario + WHERE id_project = $id_project + AND id_scenario = $id_scenario"; + $count = count($nomesSinonimos); + + for ($i = 0; $i < $count; $i++){ + + $qrr = mysql_query($qlc) or die("Erro ao enviar a query de busca
" . mysql_error() . "
" . __FILE__ . __LINE__); + while ($result = mysql_fetch_array($qrr)){ // verifica sinonimos dos lexicos no cenario inclu�do + + $nomeSinonimoEscapado = escape_metacharacter( $nomesSinonimos[$i] ); + $regex = "/(\s|\b)(" . $nomeSinonimoEscapado . ")(\s|\b)/i"; + + if ((preg_match($regex, $objective) != 0) || + (preg_match($regex, $context) != 0) || + (preg_match($regex, $actors) != 0) || + (preg_match($regex, $resources) != 0) || + (preg_match($regex, $episodes) != 0) || + (preg_match($regex, $exception) != 0) ){ + + $qCen = "SELECT * FROM centolex WHERE id_cenario = $id_scenario AND id_lexico = $id_lexicoSinonimo[$i] "; + $qrCen = mysql_query($qCen) or die("Erro ao enviar a query de select no centolex
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArrayCen = mysql_fetch_array($qrCen); + + if ($resultArrayCen == false){ + + $q = "INSERT INTO centolex (id_scenario, id_lexicon) VALUES ($id_scenario, $id_lexicoSinonimo[$i])"; + mysql_query($q) or die("Erro ao enviar a query de insert no centolex 2
" . mysql_error() . "
" . __FILE__ . __LINE__); // (3.3.1) + } + + } // if + } // while + + } //for + } +} + +################################################################### +# Funcao faz um select na tabela cenario. +# Para inserir um novo cenario, deve ser verificado se ele ja existe. +# Recebe o id do projeto e o titulo do cenario (1.0) +# Faz um SELECT na tabela cenario procurando por um nome semelhante +# no projeto (1.2) +# retorna true caso nao exista ou false caso exista (1.3) +################################################################### +function checkExistingScenario($project, $title){ + + assert($project != NULL); + assert($title != NULL); + + assert(is_string($title)); + assert(is_string($project)); + + $naoexiste = false; + + $connect = bd_connect() or die("Erro ao conectar ao SGBD
" . mysql_error() . "
" . __FILE__ . __LINE__); + $q = "SELECT * FROM scenario WHERE id_project = $project AND title = '$title'"; + $qr = mysql_query($q) or die("Erro ao enviar a query de select no cenario
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + if ( $resultArray != null ){ + $naoexiste = false; + }else{ + $naoexiste = true; + } + + return $naoexiste; + + +} + +################################################################### +# Funcao faz um insert na tabela de pedido. +# Para inserir um novo cenario ela deve receber os campos do novo +# cenario. +# Ao final ela manda um e-mail para o gerente do projeto +# referente a este cenario caso o criador n�o seja o gerente. +# Arquivos que utilizam essa funcao: +# add_cenario.php +################################################################### +if (!(function_exists("insertRequestAddScenario"))){ + function insertRequestAddScenario($id_project, $title,$objective,$context,$actors,$resource,$exception,$episodes, $id_user){ + assert(is_string($episodes)); + assert(is_string($title)); + assert(is_string($objective)); + assert(is_string($context)); + assert(is_string($actors)); + assert(is_string($resource)); + assert(is_string($exception)); + assert($id_project !=NULL); + assert($title !=NULL); + assert($objective !=NULL); + assert($context !=NULL); + assert($actors !=NULL); + assert($resource !=NULL); + assert($exception !=NULL); + assert($episodes !=NULL); + assert($id_user !=NULL); + + + + $DB = new PGDB(); + $insere = new QUERY($DB); + $select = new QUERY($DB); + $select2 = new QUERY($DB); + + $query_sql = "SELECT * FROM participates WHERE manager = 1 AND id_user = $id_user AND id_project = $id_project"; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($query_result_sql); + + + if ( $resultArray == false ){ //nao e gerente + + $insere->execute("INSERT INTO request_scenario (id_project, title, objective, context, actors, resource, exception, episodes, id_user, type_request, aproved) VALUES + ($id_project, + $title, + $objective, + $context, + $actors, + $resource, + $exception, + $episodes, $id_user, 'inserir', 0)"); + + $select->execute("SELECT * FROM user WHERE id_user = $id_user"); + $select2->execute("SELECT * FROM participates WHERE manager = 1 AND id_project = $id_project"); + $record = $select->gofirst(); + $nome = $record['name']; + $email = $record['email']; + $record2 = $select2->gofirst(); + + while($record2 != 'LAST_RECORD_REACHED'){ + + $id = $record2['id_user']; + $select->execute("SELECT * FROM user WHERE id_user = $id"); + $record = $select->gofirst(); + $mailGerente = $record['email']; + mail("$mailGerente", "Pedido de Inclusão Cenário", "O usuario do sistema $name\nPede para inserir o cenario $title \nObrigado!","From: $name\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + + }else{ //Eh gerente + adiciona_cenario($id_project, + $title, + $objective, + $context, + $actors, + $resource, + $exception, + $episodes); + } + } +} + +################################################################### +# Funcao faz um insert na tabela de pedido. +# Para alterar um cenario ela deve receber os campos do cenario +# jah modificados.(1.1) +# Ao final ela manda um e-mail para o gerentes do projeto +# referente a este cenario caso o criador n�o seja o gerente.(2.1) +# Arquivos que utilizam essa funcao: +# alt_cenario.php +################################################################### +if (!(function_exists("inserirPedidoAlterarCenario"))){ + + function inserirPedidoAlterarCenario($id_project, $id_scenario, $title, $objective, $context, $actors, $resources, $exception, $episodes, $justification, $id_user) { + + assert($id_project != NULL); + assert($title != NULL); + assert($id_scenario != NULL); + assert($objective != NULL); + assert($context != NULL); + assert($actors != NULL); + assert($resources != NULL); + assert($exception != NULL); + assert($episodes != NULL); + assert($justification != NULL); + assert($id_user != NULL); + + assert(is_string($title)); + assert(is_string($objective)); + assert(is_string($context)); + assert(is_string($actors)); + assert(is_string($resources)); + assert(is_string($exception)); + assert(is_string($episodes)); + assert(is_string($justification)); + + $DB = new PGDB(); + $insere = new QUERY($DB); + $select = new QUERY($DB); + $select2 = new QUERY($DB); + + $q = "SELECT * FROM participa WHERE manager = 1 AND id_user = $id_user AND id_projeto = $id_project"; + $qr = mysql_query($q) or die("Erro ao enviar a query de select no participa
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($qr); + + + if ( $resultArray == false ){ //nao e gerente + + $insere->execute("INSERT INTO request_scenario (id_project, id_scenario, title, objective, context, actors, resources, exception, episodes, id_user, typo_request, aproved, justification) VALUES ($id_project, $id_scenario, '$title', '$objective', '$context', '$actors', '$resources', '$exception', '$episodes', $id_user, 'alterar', 0, '$justification')"); + $select->execute("SELECT * FROM user WHERE id_user = $id_user"); + $select2->execute("SELECT * FROM participates WHERE manager = 1 AND id_project = $id_project"); + $record = $select->gofirst(); + $name = $record['nome']; + $email = $record['email']; + $record2 = $select2->gofirst(); + + while($record2 != 'LAST_RECORD_REACHED'){ + + $id = $record2['id_usuario']; + $select->execute("SELECT * FROM user WHERE id_user = $id"); + $record = $select->gofirst(); + $mailGerente = $record['email']; + mail("$mailGerente", "Pedido de Altera��o Cen�rio", "O usuario do sistema $name\nPede para alterar o cenario $title \nObrigado!","From: $name\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + + } + + }else{ //Eh gerente + + alteraCenario($id_project, $id_scenario, $title, $objective, $context, $actors, $resources, $exception, $episodes) ; + + } + } +} + +################################################################### +# Funcao faz um insert na tabela de pedido. +# Para remover um cenario ela deve receber +# o id do cenario e id projeto.(1.1) +# Ao final ela manda um e-mail para o gerente do projeto +# referente a este lexico.(2.1) +# Arquivos que utilizam essa funcao: +# rmv_cenario.php +################################################################### +if (!(function_exists("insertRequestRemoveScenario"))){ + + function insertRequestRemoveScenario($id_project, $id_scenario, $id_user){ + + assert($id_project != NULL); + assert($id_scenario != NULL); + assert($id_user != NULL); + + $DB = new PGDB(); + $insere = new QUERY($DB); + $select = new QUERY($DB); + $select2 = new QUERY($DB); + + $q = ("SELECT * FROM participa WHERE gerente = 1 AND id_usuario = $id_usuario AND id_projeto = $id_projeto"); + $qr = mysql_query($q) or die ("Erro ao enviar a query de select no participa
".mysql_error()."
".__FILE__.__LINE__); + $resultArray = mysql_fetch_array($qr); + + if( $resultArray == false ){ //Nao e gerente + + $select->execute("SELECT * FROM cenario WHERE id_cenario = $id_scenario"); + $scenario = $select->gofirst(); + $title = $scenario['titulo']; + $insere->execute("INSERT INTO pedidocen (id_project, id_scenario, title, id_user, request_type, aprove) VALUES ($id_project, $id_scenario, '$title', $id_user, 'remover', 0)"); + $select->execute("SELECT * FROM usuario WHERE id_usuario = $id_user"); + $select2->execute("SELECT * FROM participa WHERE gerente = 1 AND id_projeto = $id_project"); + $record = $select->gofirst(); + $name = $record['nome']; + $email = $record['email']; + $record2 = $select2->gofirst(); + + while($record2 != 'LAST_RECORD_REACHED'){ + + $id = $record2['id_user']; + $select->execute("SELECT * FROM usuario WHERE id_usuario = $id"); + $record = $select->gofirst(); + $mailGerente = $record['email']; + mail("$mailGerente", "Pedido de Remover Cen�rio", "O usuario do sistema $name\nPede para remover o cenario $id_scenario \nObrigado!", "From: $name\r\n" . "Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + + }else{ + removeCenario($id_project,$id_scenario); + } + } +} + +################################################################### +# Funcao faz um insert na tabela de pedido. +# Para alterar um conceito ela deve receber os campos do conceito +# jah modificados.(1.1) +# Ao final ela manda um e-mail para o gerentes do projeto +# referente a este cenario caso o criador n�o seja o gerente.(2.1) +# Arquivos que utilizam essa funcao: +# alt_cenario.php +################################################################### +if (!(function_exists("inserirPedidoAlterarCenario"))){ + + function insert_request_alter_concept($id_project, $id_concept, $name, $description, $namespace, $justification, $id_user) { + + assert($id_project != NULL); + assert($id_concept != NULL); + assert($name != NULL); + assert($description != NULL); + assert($namespace != NULL); + assert($justification != NULL); + assert($id_user != NULL); + + assert(is_string($name)); + assert(is_string($description)); + assert(is_string($namespace)); + assert(is_string($justification)); + + $DB = new PGDB(); + $insere = new QUERY($DB); + $select = new QUERY($DB); + $select2 = new QUERY($DB); + + $query_sql = "SELECT * FROM participates WHERE manager = 1 AND id_user = $id_user AND id_project = $id_project"; + $query_result_sql = mysql_query($query_sql) or die("Erro ao enviar a query de select no participates
" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($query_result_sql); + + + if ( $resultArray == false ){ //nao e gerente + + $insere->execute("INSERT INTO request_concept (id_project, id_concept, name, description, namespace, id_user, type_request, aprove, justification) VALUES ($id_project, $id_concept, '$name', '$description', '$namespace', $id_user, 'alter', 0, '$justification')"); + $select->execute("SELECT * FROM user WHERE id_user = $id_user"); + $select2->execute("SELECT * FROM participates WHERE manager = 1 AND id_project = $id_project"); + $record = $select->gofirst(); + $name_user = $record['name']; + $email = $record['email']; + $record2 = $select2->gofirst(); + + while($record2 != 'LAST_RECORD_REACHED'){ + + $id = $record2['id_user']; + $select->execute("SELECT * FROM user WHERE id_user = $id"); + $record = $select->gofirst(); + $mail_manager = $record['email']; + mail("$mail_manager", "Pedido de Altera��o Conceito", "O usuario do sistema $name_user\nPede para alterar o conceito $name \nObrigado!","From: $name_user\r\n"."Reply-To: $email\r\n"); + $record2 = $select2->gonext(); + } + + }else{ //Eh gerente + + remove_concept($id_project, $id_concept) ; + add_concept($id_project, $name, $description, $namespace) ; + + } + } +} + +################################################################### +# Processa um pedido identificado pelo seu id. +# Recebe o id do pedido.(1.1) +# Faz um select para pegar o pedido usando o id recebido.(1.2) +# Pega o campo tipo_pedido.(1.3) +# Se for para remover: Chamamos a funcao remove();(1.4) +# Se for para alterar: Devemos (re)mover o cenario e inserir o novo. +# Se for para inserir: chamamos a funcao insert(); +################################################################### +if (!(function_exists("tratarPedidoCenario"))){ + + function tratarPedidoCenario($id_request){ + + assert($id_request != NULL); + + $DB = new PGDB () ; + $select = new QUERY ($DB) ; + $delete = new QUERY ($DB) ; + //print("
SELECT * FROM pedidocen WHERE id_pedido = $id_pedido"); + $select->execute("SELECT * FROM request_scenario WHERE id_request = $id_request") ; + + if ($select->getntuples() == 0){ + echo "
[ERRO]Pedido invalido." ; + }else{ + $record = $select->gofirst () ; + $type_request = $record['tipo_pedido'] ; + + if(!strcasecmp($type_request,'remover')){ + $id_scenario = $record['id_scenario'] ; + $id_project = $record['id_project'] ; + removeCenario($id_project,$id_scenario) ; + //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; + }else{ + $id_project = $record['id_project'] ; + $title = $record['title'] ; + $objective = $record['objective'] ; + $context = $record['context'] ; + $actors = $record['actos'] ; + $resources = $record['resources'] ; + $exception = $record['exception'] ; + $episodes = $record['episodes'] ; + + if(!strcasecmp($type_request,'alter')){ + $id_scenario = $record['id_scenario'] ; + removeCenario($id_project, $id_scenario) ; + //$delete->execute ("DELETE FROM pedidocen WHERE id_cenario = $id_cenario") ; + } + adicionar_cenario($id_project, $title, $objective, $context, $actors, $resources, $exception, $episodes) ; + } + //$delete->execute ("DELETE FROM pedidocen WHERE id_pedido = $id_pedido") ; + } + } +} + +?> + diff --git a/cel/aplicacao/Functions/verifyManager.php b/cel/aplicacao/Functions/verifyManager.php new file mode 100644 index 00000000..db77d94d --- /dev/null +++ b/cel/aplicacao/Functions/verifyManager.php @@ -0,0 +1,35 @@ +" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($query_result_sql); + + //x assert($resultArray != NULL); + + if ( $resultArray != false ){ + + $return_value = 1; + } + + return $return_value; + } +} +?> \ No newline at end of file diff --git a/cel/aplicacao/Functions/verify_Manager.php b/cel/aplicacao/Functions/verify_Manager.php new file mode 100644 index 00000000..67a75391 --- /dev/null +++ b/cel/aplicacao/Functions/verify_Manager.php @@ -0,0 +1,33 @@ +" . mysql_error() . "
" . __FILE__ . __LINE__); + $resultArray = mysql_fetch_array($query_result_sql); + + //x assert($resultArray != NULL); + + if ( $resultArray != false ){ + $return_value = 1; + } + return $return_value; + } +} +?> \ No newline at end of file diff --git a/cel/aplicacao/Test/concept_FunctionsTeste.php b/cel/aplicacao/Test/concept_FunctionsTeste.php new file mode 100644 index 00000000..75a251cc --- /dev/null +++ b/cel/aplicacao/Test/concept_FunctionsTeste.php @@ -0,0 +1,38 @@ +id_concept= 1; + $this->name = "Name Test"; + $this->description = "Description Test"; + $this->namespace = "Namespace Test"; + $this->justification = "Synonymous Test"; + $this->current_id_user = "Classification Test"; + + } + + public function testInsertRequestRemoveConcept(){ + + $id_project = include_project('Projeto_Projeto','Projeto_ProjetoDescricao'); + $id_concept = include_concept('2','123', "ana", '2', "remove", "0"); + + try{ + insert_request_remove_concept($id_project, $id_concept, $id_user); + }catch(Exception $e){ + $this->assertEquals('',$id_project); + } + } +} + +?> diff --git a/cel/aplicacao/Test/lexicon_FunctionsTest.php b/cel/aplicacao/Test/lexicon_FunctionsTest.php new file mode 100644 index 00000000..97684dcc --- /dev/null +++ b/cel/aplicacao/Test/lexicon_FunctionsTest.php @@ -0,0 +1,52 @@ +idProjeto= 1; + $this->nome = "Nome Teste"; + $this->nocao = "Nocao teste"; + $this->impacto = "Impacto teste"; + $this->sinonimos = "Sinonimos teste"; + $this->classificados = "CLassificados teste"; + } + + /** + * @test + * + */ + public function testinclude_lexicon() { + $retorno = include_lexicon($this->idProjeto,$this->nome,$this->nocao,$this->impacto,$this->sinonimos,$this->classificados); + $this->assertNotNull($retorno); + + } + + /** + * @test + * + */ + public function testRemoveLexico() { + $this->assertEquals(true, removeLexico($this->idProjeto, null, $this->nome)); + + } + + /** + * @test + * + */ + public function testRemoveLexicoErro() { + $this->assertEquals(false, removeLexico($this->idProjeto, 0, null));; + + } + + +} + +?> diff --git a/cel/aplicacao/Test/project_FunctionsTest.php b/cel/aplicacao/Test/project_FunctionsTest.php new file mode 100644 index 00000000..709708bd --- /dev/null +++ b/cel/aplicacao/Test/project_FunctionsTest.php @@ -0,0 +1,72 @@ +assertNotNull(TRUE,$id_project); + removeProject($id_project); + } + + public function testInsertProjectOnlyName(){ + + $id_project = include_project('Projetonlos',' '); + + $this->assertNotNull(TRUE,$id_project); + removeProject($id_project); + } + + public function testInsertProjectWithoutName(){ + + + try{ + $id_project = include_project(' ',' '); + }catch(Exception $e){ + $this->assertEquals('Preencha o campo "Nome"', $id_project); + } + + + removeProject($id_project); + } + + public function testInsertProjectWrongName(){ + + try{ + $id_project = include_project('//','Descrição'); + }catch(Exception $e){ + $this->assertEquals('O nome do projeto não pode conter nenhum dos seguintes caracteres: / \\ : ? \" < > |',$id_project); + } + + removeProject($id_project); + } + + public function testRemoveProject(){ + + $id_project = include_project('ProjetoTeste','ProjetoTeste pitchu'); + + try{ + removeProject($id_project); + }catch(Exception $e){ + $this->assertEquals('Projeto apagado com sucesso',$id_project); + } + } + + public function testeCheck_project_permanentWrong(){ + + + $id_project = '18'; + $this->assertEquals('0',check_project_permanent('2','20')); + } +} +?> \ No newline at end of file diff --git a/cel/aplicacao/Test/scenario_FunctionsTest.php b/cel/aplicacao/Test/scenario_FunctionsTest.php new file mode 100644 index 00000000..4f129b9b --- /dev/null +++ b/cel/aplicacao/Test/scenario_FunctionsTest.php @@ -0,0 +1,113 @@ +assertNotNull(TRUE, $scenario); + + + } + public function testeincludeScenarioWrong(){ + + $scenario = include_Scenario($_POST['id_project'] = '3', + $_POST['title'] = 'teste', + $_POST['objective'] = 'objective', + $_POST['context'] = 'context', + $_POST['actors'] = 'objective', + $_POST['resource'] = 'resouce', + $_POST['epidoses'] = 'epi', + $_POST['exception'] = 'excep'); + + $this->assertNotNull(false, $scenario); + } + + public function testeCheckExistingScenario(){ + + $title = 'Titulo'; + $naoexiste = checkExistingScenario($id_project = '3', $title); + + $this->assertEquals(TRUE, $naoexiste); + } + + public function testeInsertRequestAddScenario(){ + + $request = insertRequestAddScenario($_POST['id_project'] = '3', + $_POST['title'] = 'teste', + $_POST['objective'] = 'objective', + $_POST['context'] = 'context', + $_POST['actors'] = 'objective', + $_POST['resource'] = 'resouce', + $_POST['epidoses'] = 'epi', + $_POST['exception'] = 'excep', + $_POST['id_user'] = '20'); + + $this->assertNotNull(TRUE, $request); + } + + /* + public function testremoveScenario(){ + + + $scenario = include_Scenario($_POST['id_project'] = '3', + $_POST['title'] = 'teste', + $_POST['objective'] = 'objective', + $_POST['context'] = 'context', + $_POST['actors'] = 'objective', + $_POST['resource'] = 'resouce', + $_POST['epidoses'] = 'epi', + $_POST['exception'] = 'excep'); + + try{ + removeCenario($id_project = '3', $id_scenario = '10'); + }catch(Exception $e){ + $this->assertEquals('Operação efetuada com sucesso!'); + } + + + // $this->assertNotNull(FALSE,$teste); + }*/ + + +} +?> diff --git a/cel/aplicacao/Test/verifyManagerTest.php b/cel/aplicacao/Test/verifyManagerTest.php new file mode 100644 index 00000000..8dc78354 --- /dev/null +++ b/cel/aplicacao/Test/verifyManagerTest.php @@ -0,0 +1,43 @@ +assertEquals('0',$returnvalue); + + $remove_sql = "DELETE FROM participates WHERE id_user = 100"; + +} + +public function testverifyManagerIncorret(){ + + $id_project = '1'; + $returnvalue = verifyManager($_SESSION['current_id_user'], $id_project); + + $this->assertEquals('0',$returnvalue); + + +} + +} +?> \ No newline at end of file diff --git a/cel/aplicacao/User/_main.php b/cel/aplicacao/User/_main.php new file mode 100644 index 00000000..b9acd145 --- /dev/null +++ b/cel/aplicacao/User/_main.php @@ -0,0 +1,294 @@ + + + + + + + + + + + +

Informa��es sobre o cen�rio

+ + + +

Informa��es sobre o l�xico

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Titulo:
Objetivo:
Contexto:
Atores:
Recursos:
Epis�dios:
Alterar Cen�rio + Remover Cen�rio +
Nome:
No��o:
Impacto:
Alterar L�xico + Remover L�xico +
+
+
+
+ + + +

Cen�rios que referenciam este cen�rio

+ + + +

Cen�rios e termos do l�xico que referenciam este termo

+ + + + + + + + + + + + + + + + +
Projeto: +
Data de cria��o: +
Descri��o: +
+ + + +
+

+ Voc� � um administrador deste projeto +

+

+ Verificar pedidos de altera��o + de Cen�rios +

+

+ Verificar pedidos de altera��o + de termos do L�xico +

+

+ Adicionar usu�rio (n�o existente) + neste projeto +

+

+ Relacionar usu�rios j�existentes + com este projeto +

+

+ Gerar XML deste projeto +

+ + + +

Selecione um projeto acima, ou crie um novo projeto.

+ + + + + + diff --git a/cel/aplicacao/User/add_Lexicon.php b/cel/aplicacao/User/add_Lexicon.php new file mode 100644 index 00000000..653f1be1 --- /dev/null +++ b/cel/aplicacao/User/add_Lexicon.php @@ -0,0 +1,280 @@ + + + + Projeto + + +

Este simbolo ou sinonimo ja existe!

+
+
+
+ Voltar +
+ + + + + + + + + + Adicionar Lexico + + + + +

Adicionar Simbolo

+
+ +

Simbolo + inserido com sucesso!

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Projeto: +
Nome:
Synonyms:         

+
Nocao: +
Impacto: +
Classificacao: +


+ + Olhe as regras do LAL + +
+
+
+ Fechar +
+
+ Olhe o codigo fonte! + + + + + + diff --git a/cel/aplicacao/User/add_Project.php b/cel/aplicacao/User/add_Project.php new file mode 100644 index 00000000..62a5f440 --- /dev/null +++ b/cel/aplicacao/User/add_Project.php @@ -0,0 +1,147 @@ + + + + Erro + +

Nome de projeto j� existente!

+
Voltar
+ + + + + + + + + + + Adicionar Projeto + + + +

Adicionar Projeto:

+
+
+ + + + + + + + + + + +
Nome:
Descri��o:
+
+
Veja o c�digo fonte! + + + + diff --git a/cel/aplicacao/User/add_Scenario.php b/cel/aplicacao/User/add_Scenario.php new file mode 100644 index 00000000..328e7179 --- /dev/null +++ b/cel/aplicacao/User/add_Scenario.php @@ -0,0 +1,236 @@ + + + + +
"); + + $title = str_replace(">", " ", str_replace("<", " ", $title)); + $objective = str_replace(">", " ", str_replace("<", " ", $objective)); + $context = str_replace(">", " ", str_replace("<", " ", $context)); + $actors = str_replace(">", " ", str_replace("<", " ", $actors)); + $resource = str_replace(">", " ", str_replace("<", " ", $resource)); + $exception = str_replace(">", " ", str_replace("<", " ", $exception)); + $episodes = str_replace(">", " ", str_replace("<", " ", $episodes)); + + + insertRequestAddScenario($_SESSION['current_id_project'], $title, $objective, $context, $actors, $resource, $exception, $episodes, $_SESSION['current_id_user']); + print("
"); + } else { + ?> + + + Projeto + + +

Este + cenario ja existe!

+
+
+
+ Voltar +
+ + + + + + + + + + + Adicionar Cenario + + + + +

Adicionar Cenario

+
+ +

Cen�rio + inserido com sucesso!

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Projeto: +
Titulo:
Objetivo: +
Contexto: +
Atores: +
Recursos: +
Exce��oo: +
Episodios: +
+
+
+ Fechar +
+
+ Veja o c�digo fonte! + + + + + diff --git a/cel/aplicacao/User/alt_Scenario.php b/cel/aplicacao/User/alt_Scenario.php new file mode 100644 index 00000000..1e718de9 --- /dev/null +++ b/cel/aplicacao/User/alt_Scenario.php @@ -0,0 +1,171 @@ + + + + +

Opera��o efetuada com sucesso!

+ + + + + + + +Alterar Cen�rio + + +

Alterar Cen�rio

+
+
+ + + + + + + + ]*?>'si", "", $result['title']); ?> + + + + + ]*?>'si", "", $result['objective']); ?> + + + + + + ]*?>'si", "", $result['context']); ?> + + + + + ]*?>'si", "", $result['actors']); ?> + + + + + + ]*?>'si", "", $result['resources']); ?> + + + + + + ]*?>'si", "", $result['exception']); ?> + + + + + + ]*?>'si", "", $result['episodes']); ?> + + + + + + + + + + + + + + +
Projeto: +
T�tulo:
Objetivo:
Contexto:
Atores:
Recursos:
Exce��o:
Epis�dios:
Justificativa para a alteração:
Essa justificativa � necess�ria apenas + para aqueles usu�rios que n�o s�o administradores.
+
+
+ Fechar +
+
+ Veja o c�digo fonte! + + + + + diff --git a/cel/aplicacao/User/alter_Concept.php b/cel/aplicacao/User/alter_Concept.php new file mode 100644 index 00000000..1c6ef432 --- /dev/null +++ b/cel/aplicacao/User/alter_Concept.php @@ -0,0 +1,121 @@ + + + + +

Opera��o efetuada com sucesso!

+ + + + + + + + Alterar Conceito + + +

Alterar Conceito

+
+
+ + + + + + + + ]*?>'si", "", $result['name']); ?> + + + + + ]*?>'si", "", $result['descricao']); ?> + + + + + + ]*?>'si", "", $result['namespace']); ?> + + + + + + + + + +
Projeto:
Nome:
Descricao:
Namespace:
Justificativa para a alteração:
+
+
Veja o c�digo fonte! + + + + diff --git a/cel/aplicacao/User/alter_Lexicon.php b/cel/aplicacao/User/alter_Lexicon.php new file mode 100644 index 00000000..97cf48d4 --- /dev/null +++ b/cel/aplicacao/User/alter_Lexicon.php @@ -0,0 +1,258 @@ + $synonymList){ + $synonymList[$key] = str_replace(">", " ", str_replace("<", " ", $synonym)); + } + + + insertRequestAlterLexicon( + $_POST['id_project'], + $_POST['id_lexicon'], + $_POST['name'], + $_POST['notion'], + $_POST['impact'], + $_POST['justification'], + $_SESSION['current_id_user'], + $synonymList, + $_POST['classification']); + ?> + + + + Alter Lexicon + + + + +

Operacao Efetuada com Sucesso!!

+ + + + execute("SELECT name FROM synonym WHERE id_lexicon = id_lexicon"); + $query_sin = "SELECT name FROM synonym WHERE id_lexicon = id_lexicon"; + $query_result_sql_sin = mysql_query($query_sin) or die(" Erro ao executar a consulta"); + //$resultSin = mysql_fetch_array($query_resulat_Sin); + ?> + + + Alterar Lexico + + + + +

Alterar Simbolo

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Projeto:
Nome: + +
Sinonimo: + +      +     +
+ +
+
Nocao: + +
Impacto: + +
Classificacao: + +
Justificacao para a alteracao:
+ +
+
+
Fechar
+
Olhe o codigo fonte! + + + + diff --git a/cel/aplicacao/User/code.php b/cel/aplicacao/User/code.php new file mode 100644 index 00000000..ca030227 --- /dev/null +++ b/cel/aplicacao/User/code.php @@ -0,0 +1,363 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/cel/aplicacao/User/relation_User_Project.php b/cel/aplicacao/User/relation_User_Project.php new file mode 100644 index 00000000..aa5bbf5f --- /dev/null +++ b/cel/aplicacao/User/relation_User_Project.php @@ -0,0 +1,165 @@ + + + + + + + + Selecione os usu�rios + + + + + +

Selecione os usu�rios para participar do projeto "":

+

Mantenha CTRL pressionado para selecionar m�ltiplas op��es

+
+ + + + + + + + + + + + + + + + + +
Participantes:
+ + + + + +
+ +
+
+
Veja o c�digo fonte! + + + + \ No newline at end of file diff --git a/cel/aplicacao/User/remove_Concept.php b/cel/aplicacao/User/remove_Concept.php new file mode 100644 index 00000000..2dbcc899 --- /dev/null +++ b/cel/aplicacao/User/remove_Concept.php @@ -0,0 +1,45 @@ + + + + +

Opera��o efetuada com sucesso!

+ + diff --git a/cel/aplicacao/User/remove_Lexicon.php b/cel/aplicacao/User/remove_Lexicon.php new file mode 100644 index 00000000..e1db0986 --- /dev/null +++ b/cel/aplicacao/User/remove_Lexicon.php @@ -0,0 +1,44 @@ + + + + +

Operacao efetuada com sucesso!

+ + diff --git a/cel/aplicacao/User/remove_Relation.php b/cel/aplicacao/User/remove_Relation.php new file mode 100644 index 00000000..29c2efe2 --- /dev/null +++ b/cel/aplicacao/User/remove_Relation.php @@ -0,0 +1,43 @@ + + + + +

Opera��o efetuada com sucesso!

+ + diff --git a/cel/aplicacao/User/remove_Scenario.php b/cel/aplicacao/User/remove_Scenario.php new file mode 100644 index 00000000..41b64f72 --- /dev/null +++ b/cel/aplicacao/User/remove_Scenario.php @@ -0,0 +1,49 @@ + + + + +

Operação efetuada com sucesso!

+ + diff --git a/cel/aplicacao/_main.php b/cel/aplicacao/_main.php deleted file mode 100644 index 29d59e33..00000000 --- a/cel/aplicacao/_main.php +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - -

Informações sobre o cenário

- - - -

Informações sobre o léxico

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Titulo:
Objetivo:
Contexto:
Atores:
Recursos:
Episódios:
- Alterar Cenário - - Remover Cenário -
Nome:
Noção:
Impacto:
- Alterar Léxico - - Remover Léxico -
-
-
-
- - - -

Cenários que referenciam este cenário

- - - -

Cenários e termos do léxico que referenciam este termo

- - - - - - - - - - - - - - - - -
Projeto:
Data de criação:
Descrição:
- - - -
-

Você é um administrador deste projeto

-

Verificar pedidos de alteração de Cenários

-

Verificar pedidos de alteração de termos do Léxico

-

Adicionar usuário (não existente) neste projeto

-

Relacionar usuários já existentes com este projeto

-

Gerar XML deste projeto

- - - -

Selecione um projeto acima, ou crie um novo projeto.

- - - - - - diff --git a/cel/aplicacao/add_User.php b/cel/aplicacao/add_User.php new file mode 100644 index 00000000..e2f4e75f --- /dev/null +++ b/cel/aplicacao/add_User.php @@ -0,0 +1,312 @@ + + + + + + + + ' for " " + $name = str_replace(">", " ", str_replace("<", " ", $name)); + $login = str_replace(">", " ", str_replace("<", " ", $login)); + $email = str_replace(">", " ", str_replace("<", " ", $email)); + + // Encrypting the password + $password = md5($password); + $query_add_sql = "INSERT INTO user (name, login, email, password) VALUES ('$name', '$login', '$email', '$password')"; + mysql_query($query_add_sql) or die("Erro ao cadastrar o usuario"); + reload_Page("?cadastrado=&novo=$novo&login=$login"); + } + } // else + } // else +} elseif (isset($cadastrado)) { + + // Registration completed. Depending of where the user came from, + // should send him to a diferent place. + + + // Came from the initial loggin screen + + if ($novo == "true") { + // ** Scenario "Independente Independent user inclusion" ** + // The user have just registered to the system, now he must be + // redirected to the projects inclusion screen + // Registers that the user is logged with a recently registered login + // Scenario - Independent user registration + // Objective: Allow a user, that isnt an administrator, to register + // an administrator profile + // Context: System open, User wants to register to the system as an administrator. + // User in the registration screen + // Contexto: Sistema aberto Usu�rio deseja cadastrar-se ao sistema como administrador. + // Precondition: User must have access to the system. + // Actors: User, System + // Resources: Interface, Database + // Episodes: In case that the chosen login doesnt exists, the system registers the user + // as an administrator in the database + // $id_usuario_corrente = simple_query("id_usuario", "usuario", "login = '$login'"); + // session_register("id_usuario_corrente"); + $_SESSION['current_id_user'] = simple_query("id_usuario", "usuario", "login = '$login'"); + ?> + + + + + + + + + + + + Cadastro de Usu�rio + + + + + +

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Nome:
E-mail:
Login:
Senha:Senha (confirmacao):
+
+
+ Veja o c�digo fonte! + + + + + \ No newline at end of file diff --git a/cel/aplicacao/add_cenario.php b/cel/aplicacao/add_cenario.php deleted file mode 100644 index 7a944e2e..00000000 --- a/cel/aplicacao/add_cenario.php +++ /dev/null @@ -1,211 +0,0 @@ - - -
"); - - /* Substitui todas as ocorrencias de ">" e "<" por " " */ - $titulo = str_replace( ">" , " " , str_replace ( "<" , " " , $titulo ) ) ; - $objetivo = str_replace( ">" , " " , str_replace ( "<" , " " , $objetivo ) ) ; - $contexto = str_replace( ">" , " " , str_replace ( "<" , " " , $contexto ) ) ; - $atores = str_replace( ">" , " " , str_replace ( "<" , " " , $atores ) ) ; - $recursos = str_replace( ">" , " " , str_replace ( "<" , " " , $recursos ) ) ; - $excecao = str_replace( ">" , " " , str_replace ( "<" , " " , $excecao ) ) ; - $episodios = str_replace( ">" , " " , str_replace ( "<" , " " , $episodios ) ) ; - inserirPedidoAdicionarCenario($_SESSION['id_projeto_corrente'], - $titulo, - $objetivo, - $contexto, - $atores, - $recursos, - $excecao, - $episodios, - $_SESSION['id_usuario_corrente']); - print("
"); - } - else - { - ?> - Projeto -

Este cenário já existe!

-
-
-
Voltar
- - - - - - - - - - Adicionar Cenário - - - - -

Adicionar Cenário

-
- -

Cenário inserido com sucesso!

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Projeto:
Título:
Objetivo:
Contexto:
Atores:
Recursos:
Exceção:
Episódios:
-
-
Fechar
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/add_lexico.php b/cel/aplicacao/add_lexico.php deleted file mode 100644 index b4693a0d..00000000 --- a/cel/aplicacao/add_lexico.php +++ /dev/null @@ -1,253 +0,0 @@ - - Projeto -

Este símbolo ou sinônimo já existe!

-
-
-
Voltar
- - - - - - - - - Adicionar Léxico - - - - -

Adicionar Símbolo

-
- -

Símbolo inserido com sucesso!

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Projeto:
Nome:
Sinônimos: - -      -     -
- -
-
Noção:
Impacto:
Classificaçao: - -
-

- - - Veja as regras do LAL -
-
-
Fechar
-
Veja o código fonte! - - - - - diff --git a/cel/aplicacao/add_projeto.php b/cel/aplicacao/add_projeto.php deleted file mode 100644 index 0218458d..00000000 --- a/cel/aplicacao/add_projeto.php +++ /dev/null @@ -1,119 +0,0 @@ - - - Erro - -

Nome de projeto já existente!

-
Voltar
- - - - - - - - - - - Adicionar Projeto - - - -

Adicionar Projeto:

-
-
- - - - - - - - - - - -
Nome:
Descrição:
-
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/add_usuario.php b/cel/aplicacao/add_usuario.php deleted file mode 100644 index 8cdaea83..00000000 --- a/cel/aplicacao/add_usuario.php +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - " e "<" por " " */ - $nome = str_replace( ">" , " " , str_replace ( "<" , " " , $nome ) ) ; - $login = str_replace( ">" , " " , str_replace ( "<" , " " , $login ) ) ; - $email = str_replace( ">" , " " , str_replace ( "<" , " " , $email ) ) ; - - // Criptografando a senha - $senha = md5($senha); - $q = "INSERT INTO usuario (nome, login, email, senha) VALUES ('$nome', '$login', '$email', '$senha')"; - mysql_query($q) or die("Erro ao cadastrar o usuario"); - recarrega("?cadastrado=&novo=$novo&login=$login"); - } - } // else - } // else -} elseif (isset($cadastrado)) { - - // Cadastro concluido. Dependendo de onde o usuario veio, - // devemos manda-lo para um lugar diferente. - - if ($novo == "true") { // Veio da tela inicial de login - - // ** Cenario "Inclusao de Usuario Independente" ** - // O usuario acabou de cadastrar-se no sistema, devemos - // redireciona-lo para a parte de inclusao de projetos - - // Registra que o usuario esta logado com o login recem-cadastrado - -// Cenário - Incluir usuário independente - -// Objetivo: Permitir um usuário, que não esteja cadastrado como administrador, se cadastrar -// com o perfil de administrador -// Contexto: Sistema aberto Usuário deseja cadastrar-se ao sistema como administrador. -// Usuário na tela de cadastro de usuário -// Pré-Condição: Usuário ter acessado ao sistema -// Atores: Usuário, Sistema -// Recursos: Interface, Banco de Dados -// Episódios: Caso aquele login digitado não exista, o sistema cadastra esse usuário -// como administrador no banco de dados, possibilitando: -// - Redirecioná-lo para a interface de CADASTRAR NOVO PROJETO; - - $id_usuario_corrente = simple_query("id_usuario", "usuario", "login = '$login'"); - session_register("id_usuario_corrente"); -?> - - - - - - - - - - - - Cadastro de Usuário - - - - - -

-
- - - - - - - - - - - - - - - - - - - - -
Nome:
E-mail:
Login:
Senha:Senha (confirmação):
-
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/algoritmo.php b/cel/aplicacao/algoritmo.php index ce3c782d..7cefa74d 100644 --- a/cel/aplicacao/algoritmo.php +++ b/cel/aplicacao/algoritmo.php @@ -1,733 +1,667 @@ - - Algoritmo de Geração de Ontologias - - - - $elem ) - { - if( $elem->verbo != $array2[$key]->verbo ) - { - return FALSE; - } - } - return TRUE; -} - - -/* -Cenario: Montar hierarquia. -Objetivo: Montar hierarquia de conceitos. -Contexto: Organizacao da ontologia em andamento. -Atores: -Recursos: Sistema, conceito, lista de subconceitos, lista de conceitos. -Episodios: -- Para cada subconceito -* Procurar sua chave na lista de conceitos. -* Adicionar a chave como um subconceito do conceito. -*/ -function montar_hierarquia($conc, $nova_lista, $list) -{ - foreach( $nova_lista as $subcon ) - { - $key = existe_conceito($subcon, $list); - $conc->subconceitos[] = $subcon; - } -} - -/* -Cenario: Traduzir os termos do lexico classificados como sujeito e objeto. -Objetivo: Traduzir os termos do lexico classificados como sujeito e objeto. -Contexto: Algoritmo de tradução iniciado. -Atores: Usuario. -Recursos: Sistema, lista de sujeito e objetos, lista de conceitos, lista de relacoes. -Episodios: -- Para cada elemento da lista de sujeito e objetos -* Criar novo conceito com o mesmo nome e a descricao igual a nocao do elemento. -* Para cada impacto do elemento -. Verificar com o usuario a existencia do impacto na lista de relacoes. -. Caso não exista, incluir este impacto na lista de relacoes. -. Incluir esta relacao na lista de relacoes do conceito. -. Descobrir -* Incluir o conceito na lista de conceitos. -* Verificar consistencia. -*/ -function traduz_sujeito_objeto($lista_de_sujeito_e_objeto, $conceitos, $relacoes, $axiomas) -{ - - for( ; $_SESSION["index1"] < count($lista_de_sujeito_e_objeto); ++$_SESSION["index1"] ) - { - - $suj = $lista_de_sujeito_e_objeto[$_SESSION["index1"]]; - - if( !isset( $_SESSION["conceito"] )) - { - $_SESSION["salvar"] = "TRUE"; - $_SESSION["conceito"] = new conceito($suj->nome, $suj->nocao); - $_SESSION["conceito"]->namespace = "proprio"; - } - else - { - $_SESSION["salvar"] = "FALSE"; - } - - - for( ; $_SESSION["index2"] < count($suj->impacto); ++$_SESSION["index2"] ) - { - - $imp = $suj->impacto[$_SESSION["index2"]]; - - if( trim($imp) == "" ) - continue; - - if( !isset($_SESSION["verbos_selecionados"]) ) - $_SESSION["verbos_selecionados"] = array(); - - if( !isset($_SESSION["impact"]) ) - { - $_SESSION["impact"] = array(); - $_SESSION["finish_insert"] = FALSE; - } - while( !$_SESSION["finish_insert"] ) - { - if( !isset( $_SESSION["exist"] ) ) - { - asort($relacoes); - $_SESSION["lista"] = $relacoes; - $_SESSION["nome1"] = $imp; - $_SESSION["nome2"] = $suj; - $_SESSION["job"] = "exist"; - - ?> - - - - - nome; - $_SESSION["nome3"] = $imp; - $_SESSION["job"] = "insert_relation"; - ?> - - namespace = $_POST['namespace']; - $_SESSION['lista_de_conceitos'][] = $nconc; - } - } - - $ind_rel = existe_relacao( $_SESSION['nome1'], $_SESSION['conceito']->relacoes); - if( $ind_rel != -1 ) - { - if( array_search($conc,$_SESSION["conceito"]->relacoes[$ind_rel]->predicados) === false ) - $_SESSION["conceito"]->relacoes[$ind_rel]->predicados[] = $conc; - } - else - { - $_SESSION["conceito"]->relacoes[] = new relacao_entre_conceitos( $conc , $_SESSION["nome1"]); - } - } - else if( $_POST["indice"] != "-1" ) - { - $conc = $conceitos[$_POST["indice"]]->nome; - if( (count($_SESSION["predicados_selecionados"]) != 0) && (array_search( $conc, $_SESSION["predicados_selecionados"] ) !== null)) - { - continue; - } - - $_SESSION["predicados_selecionados"][] = $conc; - - $ind_rel = existe_relacao( $_SESSION['nome1'], $_SESSION['conceito']->relacoes); - if( $ind_rel != -1 ) - { - if( array_search($conc,$_SESSION["conceito"]->relacoes[$ind_rel]->predicados) === false ) - $_SESSION["conceito"]->relacoes[$ind_rel]->predicados[] = $conc; - } - else - { - $_SESSION["conceito"]->relacoes[] = new relacao_entre_conceitos( $conc , $_SESSION["nome1"]); - } - } - else - { - $_SESSION["finish_relation"] = TRUE; - } - } - } - $_SESSION["predicados_selecionados"] = array(); - } - - -/*Unregister a global variable from the current session*/ - session_unregister("exist"); - session_unregister("impact"); - session_unregister("ind"); - session_unregister("insert_relation"); - session_unregister("insert"); - session_unregister("verbos_selecionados"); - session_unregister("predicados_selecionados"); - - } - - $finish_disjoint = FALSE; - while( !$finish_disjoint ) - { - if( !isset($_SESSION["axiomas_selecionados"]) ) - $_SESSION["axiomas_selecionados"] = array(); - - if( !isset( $_SESSION["disjoint"] ) ) - { - $_SESSION["lista"] = $conceitos; - $_SESSION["nome1"] = $_SESSION["conceito"]->nome; - $_SESSION["job"] = "disjoint"; - ?> - - nome . " disjoint " . strtolower($_POST["nome"]); - if( array_search($axioma, $axiomas) === false ) - { - $axiomas[] = $axioma; - $_SESSION["axiomas_selecionados"][] = $axioma; - } - session_unregister("disjoint"); - } - else - { - $finish_disjoint = TRUE; - } - } - $_SESSION["axiomas_selecionados"] = array(); - - $conceitos[] = $_SESSION["conceito"]; - asort($conceitos); - - if( !verifica_consistencia() ) - { - exit(); - } - - session_unregister("insert"); - session_unregister("disjoint"); - session_unregister("exist"); - session_unregister("insert_relation"); - session_unregister("conceito"); - $_SESSION["index2"] = 0; - - } - $_SESSION["index1"] = 0; - session_unregister("finish_insert"); - session_unregister("finish_relation"); -} - - -/* -Cenario: Traduzir os termos do lexico classificados como verbo. -Objetivo: Traduzir os termos do lexico classificados como verbo. -Contexto: Algoritmo de tradução iniciado. -Atores: Usuario. -Recursos: Sistema, lista de verbo, lista de relacoes. -Episodios: -- Para cada elemento da lista de verbo -* Verificar com o usuario a existencia do verbo na lista de relacoes. -* Caso não exista, incluir este verbo na lista de relacoes. -* Verificar consistencia. -*/ -function traduz_verbos($verbos, $relacoes) -{ - for( ; $_SESSION["index3"] < count($verbos); ++$_SESSION["index3"] ) - { - - $verbo = $verbos[$_SESSION["index3"]]; - - - if( !isset( $_SESSION["exist"] ) ) - { - $_SESSION["salvar"] = "TRUE"; - asort($relacoes); - $_SESSION["lista"] = $relacoes; - $_SESSION["nome1"] = $verbo->nome; - $_SESSION["nome2"] = $verbo; - $_SESSION["job"] = "exist"; - ?> - - nome; - $_SESSION["nome2"] = $estado; - $_SESSION["job"] = "main_subject"; - ?> -

- - nome, $lista_de_relacoes); - } - - - if( !isset( $_SESSION["translate"] ) ) - { - if( $_POST["main_subject"] == "TRUE" ) - { - $_SESSION["translate"] = 1; - traduz_sujeito_objeto($aux, &$conceitos, &$relacoes, &$axiomas); - } - else - { - $_SESSION["translate"] = 2; - traduz_verbos($aux, &$relacoes); - } - } - else if ( $_SESSION["translate"] == 1 ) - { - traduz_sujeito_objeto($aux, &$conceitos, &$relacoes); - } - else if ( $_SESSION["translate"] == 2 ) - { - traduz_verbos($aux, &$relacoes); - } - - - - if( !verifica_consistencia() ) - { - exit(); - } - - session_unregister("main_subject"); - session_unregister("translate"); - - } - $_SESSION["index4"] = 0; -} - - - -/* -Cenario: Organizar ontologia. -Objetivo: Organizar ontologia. -Contexto: Listas de conceitos, relacoes e axiomas prontas. -Atores: Usuario. -Recursos: Sistema, lista de conceitos, lista de relacoes, lista de axiomas. -Episodios: -- Faz-se uma copia da lista de conceitos. -- Para cada elemento x da lista de conceitos -* Cria-se uma nova lista contendo o elemento x. -* Para cada elemento subsequente y -. Compara as relacoes dos elementos x e y. -. Caso possuam as mesmas relacoes, adiciona-se o elemento y a nova lista que ja contem x. -. Retira-se y da lista de conceitos. -* Retira-se x da lista de conceitos. -* Caso a nova lista tenha mais de dois elementos, ou seja, caso x compartilhe as mesmas -relacoes com outro termo -. Procura por um elemento na lista de conceitos que faca referencia a todos os elementos -da nova lista. -. Caso exista tal elemento, montar hierarquia. -. Caso nao exista, descobrir. -* Verificar consistencia. -- Restaurar lista de conceitos. -*/ -function organizar_ontologia($conceitos, $relacoes, $axiomas) -{ - $_SESSION["salvar"] = "TRUE"; - /*for( ; $_SESSION["index5"] < count($conceitos); ++$_SESSION["index5"] ) - { - $_SESSION["salvar"] = "TRUE"; - - $conc = $conceitos[$_SESSION["index5"]]; - - if( count($conc->subconceitos) > 0 ) - { - if( $conc->subconceitos[0] == -1 ) - { - array_splice($conc->subconceitos, 0, 1); - continue; - } - } - - $conc->subconceitos[0] = -1; - $key = $_SESSION["index5"]; - - $nova_lista_de_conceitos = array($conc); - - for( $i = $key+1; $i < count($conceitos); ++$i ) - { - if (compara_arrays($conc->relacoes, $conceitos[$i]->relacoes)) - { - $conceitos[$i]->subconceitos[0] = -1; - $nova_lista_de_conceitos[] = $conceitos[$i]; - } - } - */ - //if( count($nova_lista_de_conceitos) >= 2 ) - - $finish_relation = FALSE; - while( !$finish_relation ) - { - $indice = 0; - - if( !isset( $_SESSION["reference"] ) ) - { - - $_SESSION["lista"] = $conceitos;//array($conc1, $nconc); - //$_SESSION['nome1'] = $nova_lista_de_conceitos;// - $_SESSION["job"] = "reference"; - ?> - auxiliar_interface - - nome, $lista_de_relacoes); - } - - session_unregister("reference"); - - $achou = FALSE; - - if(isset($_POST['pai'])) - { - $pai_nome = $_POST['pai']; - $key2 = existe_conceito($pai_nome, $conceitos); - $filhos = array(); - foreach($conceitos as $key3=>$filho) - { - $filho_nome = trim($filho->nome); - if( isset($_POST[$key3]) ) - { - $filhos[] = $filho_nome; - } - } - if( count($filhos) > 0) - { - montar_hierarquia(&$conceitos[$key2], $filhos, $conceitos ); - $achou = true; - } - } - else - { - $finish_relation = true; - } - - - if(!$achou) - { - //tentar montar hierarquia pelo vocabulario minimo. - } - } - - if( !verifica_consistencia() ) - { - exit(); - } - //array_splice($conc->subconceitos, 0, 1); - //} - //$_SESSION["index5"] = 0; -} - - -/* -Cenario: Traduzir Léxico para Ontologia. -Objetivo: Traduzir Léxico para Ontologia. -Contexto: Existem listas de elementos do léxico organizadas por tipo, e estes elementos -são consistentes. -Atores: Usuário. -Recursos: Sistema, listas de elementos do léxico organizadas por tipo, listas de elementos -da ontologia. -Episódios: -- Criar lista de conceitos vazia. -- Criar lista de relacoes vazia. -- Criar lista de axiomas vazia. -- Traduzir os termos do lexico classificados como sujeito e objeto. -- Traduzir os termos do lexico classificados como verbo. -- Traduzir os termos do lexico classificados como estado. -- Organizar a ontologia. - -*/ -function traduz() -{ - //Verifica se as listas foram iniciadas. - if( isset( $_SESSION["lista_de_sujeito"] ) && isset( $_SESSION["lista_de_objeto"] ) && - isset( $_SESSION["lista_de_verbo"] ) && isset( $_SESSION["lista_de_estado"] ) && - isset( $_SESSION["lista_de_conceitos"] ) && isset( $_SESSION["lista_de_relacoes"] ) && - isset( $_SESSION["lista_de_axiomas"] ) ) - { - $sujeitos = $_SESSION["lista_de_sujeito"]; - $objetos = $_SESSION["lista_de_objeto"]; - $verbos = $_SESSION["lista_de_verbo"]; - $estados = $_SESSION["lista_de_estado"]; - } - else - { - echo "ERRO!
"; - exit(); - } - - $lista_de_sujeito_e_objeto = array_merge($sujeitos, $objetos); - sort($lista_de_sujeito_e_objeto); - $_SESSION['lista_de_sujeito_e_objeto'] = $lista_de_sujeito_e_objeto; - - - if( $_SESSION["funcao"] == "sujeito_objeto" ) - { - traduz_sujeito_objeto($lista_de_sujeito_e_objeto, &$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); - $_SESSION["funcao"] = "verbo"; - } - - if( $_SESSION["funcao"] == "verbo" ) - { - traduz_verbos($verbos, &$_SESSION["lista_de_relacoes"]); - $_SESSION["funcao"] = "estado"; - } - - if( $_SESSION["funcao"] == "estado" ) - { - traduz_estados($estados, &$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); - $_SESSION["funcao"] = "organiza"; - } - - if( $_SESSION["funcao"] == "organiza" ) - { - organizar_ontologia(&$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); - $_SESSION["funcao"] = "fim"; - } - - - //Imprime Resultados - /* - print("CONCEITOS:
"); - foreach( $_SESSION["lista_de_conceitos"] as $con) - { - echo "$con->nome --> $con->descricao "; - foreach($con->relacoes as $rel) - { - - } - echo "
"; - } - - print("RELACOES:
"); - print_r($_SESSION["lista_de_relacoes"]); - echo "
"; - - print("AXIOMAS:
"); - print_r($_SESSION["lista_de_axiomas"]); - echo "
"; - */ - echo 'O processo de geração de Ontologias foi concluído com sucesso!
- Não esqueça de clicar em Salvar.'; - ?> + + Algoritmo de Geração de Ontologias + + + + $elem) { + if ($elem->verbo != $array2[$key]->verbo) { + return FALSE; + } else { + //nothing to do + } + } + return TRUE; + } + + /* + Scenario: Mounts hierarchy. + Objective: Mounts hierarchy os the concepts. + Context: organize the ontology in progress. + Actors: + Resources: System, concept, list of subconcepts, list of concepts. + Episodes: + - For each subconcept + * Look for your key in the concept list. + * Add a key as a subconcept of a concept. + */ + + function mount_hierarchy($concept, $nova_lista, $list) { + foreach ($nova_lista as $subcon) { + $key = concept_exists($subcon, $list); + $concept->subconceitos[] = $subcon; + } + } + + /* + Scenario: Translate the terms of the lexicon classified as subject and object. + Objective: Translate the terms of the lexicon classified as subject and object. + Context: Translation algorithm initialized. + Actors: User. + Resources: System, list of subjects and objects, list of concepts, list of relations. + Episodes: + - For each element of the subject and object list + * Create a new concept whith the same name and the description. + * For each impact of the element + . Verify whith the user the existence of the impact in the relations list. + . If it doesnt exists, include this impact in the relation list. + . Include this relation in the relation list of the concept. + . Discover + * Include a concept in the concept list. + * Verify consistency. + */ + + function translate_subject_object($subject_and_object_list, $concepts, $relations, $axioms) { + assert(is_string($axioms, $relations, $concepts)); + assert(is_array($subject_and_object_list)); + + for (; $_SESSION["index1"] < count($subject_and_object_list); ++$_SESSION["index1"]) { + + $subject = $subject_and_object_list[$_SESSION["index1"]]; + + if (!isset($_SESSION["conceito"])) { + $_SESSION["salvar"] = "TRUE"; + $_SESSION["conceito"] = new conceito($subject->nome, $subject->nocao); + $_SESSION["conceito"]->namespace = "proprio"; + } else { + $_SESSION["salvar"] = "FALSE"; + } + + + for (; $_SESSION["index2"] < count($subject->impacto); ++$_SESSION["index2"]) { + + $impact = $subject->impacto[$_SESSION["index2"]]; + + if (trim($impact) == "") { + continue; + } else { + //nothing to do + } + + if (!isset($_SESSION["verbos_selecionados"])) { + $_SESSION["verbos_selecionados"] = array(); + } else { + //nothing to do + } + + if (!isset($_SESSION["impact"])) { + $_SESSION["impact"] = array(); + $_SESSION["finish_insert"] = FALSE; + } else { + //nothing to do + } + + while (!$_SESSION["finish_insert"]) { + if (!isset($_SESSION["exist"])) { + asort($relations); + $_SESSION["lista"] = $relations; + $_SESSION["nome1"] = $impact; + $_SESSION["nome2"] = $subject; + $_SESSION["job"] = "exist"; + ?> + + + nome; + $_SESSION["nome3"] = $impact; + $_SESSION["job"] = "insert_relation"; + ?> + + namespace = $_POST['namespace']; + $_SESSION['lista_de_conceitos'][] = $nconc; + }else{ + //nothing to do + } + } + + $ind_rel = exist_relation($_SESSION['nome1'], $_SESSION['conceito']->relacoes); + if ($ind_rel != -1) { + if (array_search($concept, $_SESSION["conceito"]->relacoes[$ind_rel]->predicados) === false){ + $_SESSION["conceito"]->relacoes[$ind_rel]->predicados[] = $concept; + }else{ + //nothing to do + } + } + else { + $_SESSION["conceito"]->relacoes[] = new relacao_entre_conceitos($concept, $_SESSION["nome1"]); + } + } else if ($_POST["indice"] != "-1") { + $concept = $concepts[$_POST["indice"]]->nome; + + if ((count($_SESSION["predicados_selecionados"]) != 0) && (array_search($concept, $_SESSION["predicados_selecionados"]) !== null)) { + continue; + }else{ + //nothing to do + } + + $_SESSION["predicados_selecionados"][] = $concept; + + $ind_rel = exist_relation($_SESSION['nome1'], $_SESSION['conceito']->relacoes); + if ($ind_rel != -1) { + if (array_search($concept, $_SESSION["conceito"]->relacoes[$ind_rel]->predicados) === false) + $_SESSION["conceito"]->relacoes[$ind_rel]->predicados[] = $concept; + } + else { + $_SESSION["conceito"]->relacoes[] = new relacao_entre_conceitos($concept, $_SESSION["nome1"]); + } + } else { + $_SESSION["finish_relation"] = TRUE; + } + } + } + $_SESSION["predicados_selecionados"] = array(); + } + + + /* Unregister a global variable from the current session */ + session_unregister("exist"); + session_unregister("impact"); + session_unregister("ind"); + session_unregister("insert_relation"); + session_unregister("insert"); + session_unregister("verbos_selecionados"); + session_unregister("predicados_selecionados"); + } + + $finish_disjoint = FALSE; + + while (!$finish_disjoint) { + if (!isset($_SESSION["axiomas_selecionados"])) + $_SESSION["axiomas_selecionados"] = array(); + + if (!isset($_SESSION["disjoint"])) { + $_SESSION["lista"] = $concepts; + $_SESSION["nome1"] = $_SESSION["conceito"]->nome; + $_SESSION["job"] = "disjoint"; + ?> + + nome . " disjoint " . strtolower($_POST["nome"]); + if (array_search($axioma, $axioms) === false) { + $axioms[] = $axioma; + $_SESSION["axiomas_selecionados"][] = $axioma; + }else{ + //nothing to do + } + session_unregister("disjoint"); + } else { + $finish_disjoint = TRUE; + } + } + $_SESSION["axiomas_selecionados"] = array(); + + $concepts[] = $_SESSION["conceito"]; + asort($concepts); + + if (!verify_consistency()) { + exit(); + }else{ + //nothing to do + } + session_unregister("insert"); + session_unregister("disjoint"); + session_unregister("exist"); + session_unregister("insert_relation"); + session_unregister("conceito"); + $_SESSION["index2"] = 0; + } + $_SESSION["index1"] = 0; + session_unregister("finish_insert"); + session_unregister("finish_relation"); + } + + /* + Scenario: Translate the terms of the lexicon clissified as verbs. + Objective: Translate the terms of the lexicon clissified as verbs. + Context: Translating algorithm inicialized. + Actors: User. + Resources: System, verbs list, relations list. + Episodes: + - For each element in the verbs list + * Verify with the user the existence of the verb in the relations list. + * In case it doesnt exists, include this verb in the relations list. + * Verify consistency. + */ + + function translate_verbs($verbos, $relations) { + assert(is_string($verbos, $relations)); + for (; $_SESSION["index3"] < count($verbos); ++$_SESSION["index3"]) { + + $verb = $verbos[$_SESSION["index3"]]; + + if (!isset($_SESSION["exist"])) { + $_SESSION["salvar"] = "TRUE"; + asort($relations); + $_SESSION["lista"] = $relations; + $_SESSION["nome1"] = $verb->nome; + $_SESSION["nome2"] = $verb; + $_SESSION["job"] = "exist"; + ?> + + nome; + $_SESSION["nome2"] = $estado; + $_SESSION["job"] = "main_subject"; + ?> +

+ + nome, $lista_de_relacoes); + } + + + if (!isset($_SESSION["translate"])) { + if ($_POST["main_subject"] == "TRUE") { + $_SESSION["translate"] = 1; + translate_subject_object($aux, &$concepts, &$relations, &$axioms); + } else { + $_SESSION["translate"] = 2; + translate_verbs($aux, &$relations); + } + } else if ($_SESSION["translate"] == 1) { + translate_subject_object($aux, &$concepts, &$relations); + } else if ($_SESSION["translate"] == 2) { + translate_verbs($aux, &$relations); + } + + if (!verify_consistency()) { + exit(); + }else{ + //nothing to do + } + + session_unregister("main_subject"); + session_unregister("translate"); + } + $_SESSION["index4"] = 0; + } + + /* + Scenario: Organize ontology. + Objective: Organize ontology. + Context: Concepts list, relations and axioms ready. + Actors: User. + Resources: System, concepts list, relations list, axioms list. + Episodes: + - Create a copy of the concepts list. + - For each element 'x' of the concepts list + * Crate a new list containing the element 'x'. + * For each subsequent element 'y' + . Compares the relation os the elements 'x' and 'y'. + . In case they have the same relations, add the element 'y' to the new list already containing the element 'x'. + . Removes 'y' from the concepts list. + * Removes 'x' from the concepts list. + * In case the new list have more than two elements + . Look for an element on the concepts list that make references to all the other elements + of the new list. + . In case exists such element, mount hierarchy. + . In case it doesnt exists, uncover. + * Verify consistence. + - Restore concepts list. + */ + + function organizar_ontologia($concepts, $relations, $axioms) { + $_SESSION["salvar"] = "TRUE"; + /* for( ; $_SESSION["index5"] < count($concepts); ++$_SESSION["index5"] ) + { + $_SESSION["salvar"] = "TRUE"; + + $concept = $concepts[$_SESSION["index5"]]; + + if( count($concept->subconceitos) > 0 ) + { + if( $concept->subconceitos[0] == -1 ) + { + array_splice($concept->subconceitos, 0, 1); + continue; + } + } + + $concept->subconceitos[0] = -1; + $key = $_SESSION["index5"]; + + $nova_lista_de_conceitos = array($concept); + + for( $i = $key+1; $i < count($concepts); ++$i ) + { + if (compare_arrays($concept->relacoes, $concepts[$i]->relacoes)) + { + $concepts[$i]->subconceitos[0] = -1; + $nova_lista_de_conceitos[] = $concepts[$i]; + } + } + */ + //if( count($nova_lista_de_conceitos) >= 2 ) + + $finish_relation = FALSE; + while (!$finish_relation) { + $indice = 0; + + if (!isset($_SESSION["reference"])) { + + $_SESSION["lista"] = $concepts; //array($conc1, $nconc); + //$_SESSION['nome1'] = $nova_lista_de_conceitos;// + $_SESSION["job"] = "reference"; + ?> + auxiliar_interface + + nome, $lista_de_relacoes); + } + + session_unregister("reference"); + + $achou = FALSE; + + if (isset($_POST['pai'])) { + $pai_nome = $_POST['pai']; + $key2 = concept_exists($pai_nome, $concepts); + $filhos = array(); + foreach ($concepts as $key3 => $filho) { + $filho_nome = trim($filho->nome); + if (isset($_POST[$key3])) { + $filhos[] = $filho_nome; + } + } + if (count($filhos) > 0) { + mount_hierarchy(&$concepts[$key2], $filhos, $concepts); + $achou = true; + }else{ + //nothing to do + } + + } else { + $finish_relation = true; + } + + + if (!$achou) { + //tentar montar hierarquia pelo vocabulario minimo. + }else{ + //nothing to do + } + } + + if (!verify_consistency()) { + exit(); + }else{ + //nothing to do + } + } + + /* + Scenario: Translate lexicon to ontology. + Objective: Translate lexicon to ontology. + Context: There are lists of lexicon elements organized by type, and this elements + are consistents. + Actors: User. + Resources: System,lists of lexicon elements organized by type, ontology elements lists. + Episodes: + - Create empty concepts list. + - Create empty relations list. + - Create empty axioms list. + - Translate the terms of the lexicon clissified as subject and object. + - Translate the terms of the lexicon classified as verb. + - Translate the terms of the lexucon classified as state. + - Organizar a ontologia. + + */ + + function traduz() { + //Verify if the lists were inicialized. + if (isset($_SESSION["lista_de_sujeito"]) && isset($_SESSION["lista_de_objeto"]) && + isset($_SESSION["lista_de_verbo"]) && isset($_SESSION["lista_de_estado"]) && + isset($_SESSION["lista_de_conceitos"]) && isset($_SESSION["lista_de_relacoes"]) && + isset($_SESSION["lista_de_axiomas"])) { + $sujeitos = $_SESSION["lista_de_sujeito"]; + $objetos = $_SESSION["lista_de_objeto"]; + $verbos = $_SESSION["lista_de_verbo"]; + $estados = $_SESSION["lista_de_estado"]; + } else { + echo "ERRO!
"; + exit(); + } + + $subject_and_object_list = array_merge($sujeitos, $objetos); + sort($subject_and_object_list); + $_SESSION['lista_de_sujeito_e_objeto'] = $subject_and_object_list; + + + if ($_SESSION["funcao"] == "sujeito_objeto") { + translate_subject_object($subject_and_object_list, &$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); + $_SESSION["funcao"] = "verbo"; + }else{ + //nothing to do + } + + if ($_SESSION["funcao"] == "verbo") { + translate_verbs($verbos, &$_SESSION["lista_de_relacoes"]); + $_SESSION["funcao"] = "estado"; + }else{ + //nothing to do + } + + if ($_SESSION["funcao"] == "estado") { + traduz_estados($estados, &$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); + $_SESSION["funcao"] = "organiza"; + }else{ + //nothing to do + } + + if ($_SESSION["funcao"] == "organiza") { + organizar_ontologia(&$_SESSION["lista_de_conceitos"], &$_SESSION["lista_de_relacoes"], &$_SESSION["lista_de_axiomas"]); + $_SESSION["funcao"] = "fim"; + }else{ + //nothing to do + } + + + //Prints results + /* + print("CONCEITOS:
"); + foreach( $_SESSION["lista_de_conceitos"] as $con) + { + echo "$con->nome --> $con->descricao "; + foreach($con->relacoes as $rel) + { + + } + echo "
"; + } + + print("RELACOES:
"); + print_r($_SESSION["lista_de_relacoes"]); + echo "
"; + + print("AXIOMAS:
"); + print_r($_SESSION["lista_de_axiomas"]); + echo "
"; + */ + echo 'O processo de gera��o de Ontologias foi conclu�do com sucesso!
+ N�o esque�a de clicar em Salvar.'; + ?>

-
-

- +

+ -traduz(); - - - - - - ?> - - - - \ No newline at end of file + + diff --git a/cel/aplicacao/alt_cenario.php b/cel/aplicacao/alt_cenario.php deleted file mode 100644 index c99b634a..00000000 --- a/cel/aplicacao/alt_cenario.php +++ /dev/null @@ -1,147 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - - - - - - - Alterar Cenário - - -

Alterar Cenário

-
-
- - - - - - - - ]*?>'si", "", $result['titulo']); ?> - - - - - ]*?>'si", "", $result['objetivo']); ?> - - - - - - ]*?>'si", "", $result['contexto']); ?> - - - - - ]*?>'si", "", $result['atores']); ?> - - - - - - ]*?>'si", "", $result['recursos']); ?> - - - - - - ]*?>'si", "", $result['excecao']); ?> - - - - - - ]*?>'si", "", $result['episodios']); ?> - - - - - - - - - - - - - - -
Projeto:
Título:
Objetivo:
Contexto:
Atores:
Recursos:
Exceção:
Episódios:
Justificativa para a alteração:
Essa justificativa é necessária apenas para aqueles usuários que não são administradores.
-
-
Fechar
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/alt_conceito.php b/cel/aplicacao/alt_conceito.php deleted file mode 100644 index 2271fcf2..00000000 --- a/cel/aplicacao/alt_conceito.php +++ /dev/null @@ -1,113 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - - - - - - - Alterar Conceito - - -

Alterar Conceito

-
-
- - - - - - - - ]*?>'si", "", $result['nome']); ?> - - - - - ]*?>'si", "", $result['descricao']); ?> - - - - - - ]*?>'si", "", $result['namespace']); ?> - - - - - - - - - -
Projeto:
Nome:
Descricao:
Namespace:
Justificativa para a alteração:
-
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/alt_lexico.php b/cel/aplicacao/alt_lexico.php deleted file mode 100644 index 831dcef8..00000000 --- a/cel/aplicacao/alt_lexico.php +++ /dev/null @@ -1,243 +0,0 @@ -$sinonimo ) - { - $listSinonimo[$key] = str_replace( ">" , " " , str_replace ( "<" , " " , $sinonimo ) ) ; - } - - - inserirPedidoAlterarLexico($id_projeto, $id_lexico, $nome, $nocao, $impacto, $justificativa, $_SESSION['id_usuario_corrente'], $listSinonimo, $classificacao); -?> - - - Alterar Léxico - - - - -

Operação efetuada com sucesso!

- - - -execute("SELECT nome FROM sinonimo WHERE id_lexico = $id_lexico"); - $qSin = "SELECT nome FROM sinonimo WHERE id_lexico = $id_lexico"; - $qrrSin = mysql_query($qSin) or die("Erro ao executar a query"); - //$resultSin = mysql_fetch_array($qrrSin); -?> - - - Alterar Léxico - - - - -

Alterar Símbolo

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Projeto:
Nome: - -
Sinônimos: - -      -     -
- -
-
Noção: - -
Impacto: - -
Classificaçao: - -
Justificativa para a alteração:
- -
-
-
Fechar
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/arv_interface.php b/cel/aplicacao/arv_interface.php index dc89e0c1..6052c1e8 100644 --- a/cel/aplicacao/arv_interface.php +++ b/cel/aplicacao/arv_interface.php @@ -5,7 +5,6 @@ session_start(); - $link = bd_connect(); ?> @@ -66,61 +65,42 @@ function MTMenu() { nome\");\n"; echo " var mC = null;\n"; echo " mC = new MTMenu();\n"; echo "menu.makeLastSubmenu(mC);\n"; - //Relações - //Verbos - foreach($conc->relacoes as $relacao) - { + //Relations + //Verbs + foreach($conc->relacoes as $relacao) { + echo " mC.addItem(\"$relacao->verbo\",\"\");\n"; echo " var mV = new MTMenu();\n"; - //Predicados - foreach($relacao->predicados as $predicado) - { - echo " mV.addItem(\"$predicado\",\"blank.html\",\"enganaarvore\");\n"; + //Predicates + foreach($relacao->predicados as $predicado) { + echo " mV.addItem(\"$predicado\",\"blank.html\",\"enganaarvore\");\n"; } - echo " mC.makeLastSubmenu(mV);\n"; } - } - mysql_close($link); ?> - diff --git a/cel/aplicacao/auxiliar_algoritmo.php b/cel/aplicacao/auxiliar_algoritmo.php deleted file mode 100644 index 5da9ed8f..00000000 --- a/cel/aplicacao/auxiliar_algoritmo.php +++ /dev/null @@ -1,28 +0,0 @@ -$relacao) - { - if( @$relacao->verbo == $rel ) - { - return $key; - } - } - return -1; -} - - -function existe_conceito($conc, $list) -{ - foreach($list as $key=>$conc1) - { - if( $conc1->nome == $conc ) - { - return $key; - } - } - return -1; -} - -?> \ No newline at end of file diff --git a/cel/aplicacao/auxiliar_bd.php b/cel/aplicacao/auxiliar_bd.php index fca17b58..02bf7825 100644 --- a/cel/aplicacao/auxiliar_bd.php +++ b/cel/aplicacao/auxiliar_bd.php @@ -1,538 +1,574 @@ 0) - { - /* Caso haja lexicos sem tipo definido, seus id's serão retornados através de um array */ - - $aux = array(); - - while ($line2 = mysql_fetch_array($result, MYSQL_ASSOC)) - { - $aux[] = $line2['id_lexico']; - } - mysql_free_result($result); - return($aux); - } - else - { - mysql_free_result($result); - return(TRUE); - } - +function verifica_tipo() { + + $id_project = $_SESSION['id_projeto']; + + //This function verifys if all the members of the lexicon table have a defined type + //In case there is registers in the table without a defined type, the function returns this registers + //Otherwise it returns true + + $query = "select * from lexico where tipo is null AND id_projeto='$id_project' order by id_lexico;"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $result2 = mysql_num_rows($result); + + $col_value = $result2; + + if ($col_value > 0) { + + // In case there ar undefined lexicon types, its ids will be returned as an array + + $aux = array(); + + while ($line2 = mysql_fetch_array($result, MYSQL_ASSOC)) { + + $aux[] = $line2['id_lexico']; + } + + mysql_free_result($result); + + return($aux); + } else { + + mysql_free_result($result); + + return(TRUE); + } } -function atualiza_tipo($id_lexico, $tipo) -{ - $id_projeto = $_SESSION['id_projeto']; - // esta função atualiza o tipo do lexico $id_lexico (inteiro) para $tipo (string) - // esta função só aceita os tipos: sujeito, objeto, verbo, estado e NULL - - if(!(($tipo != "sujeito")||($tipo != "objeto")||($tipo != "verbo")||($tipo != "estado")||($tipo != "null"))) - { - return (FALSE); - } - if($tipo == "null") - { - $query = "update lexico set tipo = $tipo where id_lexico = '$id_lexico';"; - } - else - { - $query = "update lexico set tipo = '$tipo' where id_lexico = '$id_lexico';"; - } - - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - return(TRUE); - +function atualiza_tipo($id_lexicon, $type) { + + $id_project = $_SESSION['id_projeto']; + // This function refreshes the lexicon type $id_lexicon to $type + // This function only accepts the types: subject, object, verb, state and NULL + + if (!(($type != "sujeito") || ($type != "objeto") || ($type != "verbo") || ($type != "estado") || ($type != "null"))) { + return (FALSE); + } else { + //nothing to do + } + + if ($type == "null") { + $query = "update lexico set tipo = $type where id_lexico = '$id_lexicon';"; + } else { + $query = "update lexico set tipo = '$type' where id_lexico = '$id_lexicon';"; + } + + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + return(TRUE); } -function obter_lexico($id_lexico) -{ - $id_projeto = $_SESSION['id_projeto']; - //retorna todos os campos do lexico; cada campo é uma posição do - //array que pode ser indexada pelo nome do campo, ou por um indice - //inteiro. - $query = "select * from lexico where id_lexico = '$id_lexico' AND id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - return($line); +function obter_lexico($id_lexicon) { + + $id_project = $_SESSION['id_projeto']; + // Returns all the fields of the lexicon; each field is a position in the array + // that can be indexed for the field name or by the entire index + + + $query = "select * from lexico where id_lexico = '$id_lexicon' AND id_projeto='$id_project';"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line = mysql_fetch_array($result, MYSQL_BOTH); + + return($line); } -function obter_termo_do_lexico($lexico) -{ - $id_projeto = $_SESSION['id_projeto']; - $impactos = array(); - $id_lexico = $lexico['id_lexico']; - $query = "select impacto from impacto where id_lexico = '$id_lexico'"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - while($line = mysql_fetch_array($result, MYSQL_ASSOC)) - { - $impactos[] = strtolower($line['impacto']); - } - $termo_do_lexico = new termo_do_lexico(strtolower($lexico['nome']), strtolower($lexico['nocao']), $impactos); - return $termo_do_lexico; +function obter_termo_do_lexico($lexicon) { + + $id_project = $_SESSION['id_projeto']; + $impactos = array(); + $id_lexicon = $lexicon['id_lexico']; + $query = "select impacto from impacto where id_lexico = '$id_lexicon'"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { + + $impactos[] = strtolower($line['impacto']); + } + + $termo_do_lexico = new termo_do_lexico(strtolower($lexicon['nome']), strtolower($lexicon['nocao']), $impactos); + return $termo_do_lexico; } /* -function zera_tipos() -{ -$query = "update lexico set tipo = NULL;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); -} -*/ - -function cadastra_impacto($id_lexico, $impacto) -{ - $id_projeto = $_SESSION['id_projeto']; - $query = "insert into impacto (id_lexico, impacto) values ('$id_lexico', '$impacto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - $query = "select * from impacto where impacto = '$impacto' and id_lexico = $id_lexico;"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - $line = mysql_fetch_array($result, MYSQL_ASSOC); - $id_impacto = $line['id_impacto']; - - return $id_impacto; -} + function resets_Types() + { + $query = "update lexico set tipo = NULL;"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } + */ + +function cadastra_impacto($id_lexicon, $impacto) { -//criar tabela para conceitos (class conceito) -function get_lista_de_conceitos() -{ - $id_projeto = $_SESSION['id_projeto']; - $aux = array(); - - $query = "select * from conceito where id_projeto='$id_projeto';"; - $result1 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - while ($line = mysql_fetch_array($result1, MYSQL_BOTH)) - { - $conc = new conceito($line['nome'], $line['descricao'] ); - $conc->namespace = $line['namespace']; - - $id = $line['id_conceito']; - $query = "select * from relacao_conceito where id_conceito = '$id' AND id_projeto='$id_projeto';"; - $result2 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - while ($line2 = mysql_fetch_array($result2, MYSQL_BOTH)) - { - $idrel = $line2['id_relacao']; - $query = "select * from relacao where id_relacao = '$idrel' AND id_projeto='$id_projeto';"; - $result3 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line3 = mysql_fetch_array($result3, MYSQL_BOTH); - $rel = $line3['nome']; - $pred = $line2['predicado']; - $indice = existe_relacao($rel, $conc->relacoes); - if( $indice != -1 ) - { - $conc->relacoes[$indice]->predicados[] = $pred; - } - else - { - $conc->relacoes[] = new relacao_entre_conceitos($pred, $rel); - } - } - $aux[] = $conc; - } - sort($aux); - - $query = "select * from hierarquia where id_projeto='$id_projeto';"; - $result1 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - while ($line = mysql_fetch_array($result1, MYSQL_BOTH)) - { - - $id_conceito = $line['id_conceito']; - $query = "select * from conceito where id_conceito = '$id_conceito' AND id_projeto='$id_projeto';"; - $result2 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line2 = mysql_fetch_array($result2, MYSQL_BOTH); - $conceito_nome = $line2['nome']; - - $id_subconceito = $line['id_subconceito']; - $query = "select * from conceito where id_conceito = '$id_subconceito' AND id_projeto='$id_projeto';"; - $result2 = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line2 = mysql_fetch_array($result2, MYSQL_BOTH); - $subconceito_nome = $line2['nome']; - - foreach ($aux as $key=>$conc1) - { - if($conc1->nome == $conceito_nome) - { - $aux[$key]->subconceitos[] = $subconceito_nome; - } - } - - - } - - - - return $aux; -} -//criar tabela para conceitos (class relacao_entre_conceitos) -function get_lista_de_relacoes() -{ - $id_projeto = $_SESSION['id_projeto']; - $aux = array(); - - $query = "select nome from relacao where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - while ($line = mysql_fetch_array($result, MYSQL_BOTH)) - { - $aux[] = $line['nome']; - } - - sort($aux); - - return $aux; + $id_project = $_SESSION['id_projeto']; + + $query_insert_impact = "insert into impacto (id_lexico, impacto) values ('$id_lexicon', '$impacto');"; + $result = mysql_query($query_insert_impact) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_select_impact = "select * from impacto where impacto = '$impacto' and id_lexico = $id_lexicon;"; + $result = mysql_query($query_select_impact) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $line = mysql_fetch_array($result, MYSQL_ASSOC); + $id_impacto = $line['id_impacto']; + + return $id_impacto; } -//criar tabela para axiomas (string) -function get_lista_de_axiomas() -{ - $id_projeto = $_SESSION['id_projeto']; - $aux = array(); - - $query = "select axioma from axioma where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - while ($line = mysql_fetch_array($result, MYSQL_BOTH)) - { - $aux[] = $line['axioma']; - } - - sort($aux); - - return $aux; +// Create concepts table +function get_lista_de_conceitos() { + + $id_project = $_SESSION['id_projeto']; + $aux = array(); + + $query = "select * from conceito where id_projeto='$id_project';"; + $result1 = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + while ($line = mysql_fetch_array($result1, MYSQL_BOTH)) { + + $conc = new conceito($line['nome'], $line['descricao']); + $conc->namespace = $line['namespace']; + + $id = $line['id_conceito']; + $query = "select * from relacao_conceito where id_conceito = '$id' AND id_projeto='$id_project';"; + $result2 = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + + while ($line2 = mysql_fetch_array($result2, MYSQL_BOTH)) { + + $idrel = $line2['id_relacao']; + $query = "select * from relacao where id_relacao = '$idrel' AND id_projeto='$id_project';"; + $result3 = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line3 = mysql_fetch_array($result3, MYSQL_BOTH); + $rel = $line3['nome']; + $pred = $line2['predicado']; + $indice = existe_relacao($rel, $conc->relacoes); + if ($indice != -1) { + + $conc->relacoes[$indice]->predicados[] = $pred; + } else { + + $conc->relacoes[] = new relacao_entre_conceitos($pred, $rel); + } + } + + $aux[] = $conc; + } + + sort($aux); + + $query_hierarchy = "select * from hierarquia where id_projeto='$id_project';"; + $result_hierarchy = mysql_query($query_hierarchy) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + while ($line = mysql_fetch_array($result_hierarchy, MYSQL_BOTH)) { + + $id_concept = $line['id_conceito']; + $query_concept = "select * from conceito where id_conceito = '$id_concept' AND id_projeto='$id_project';"; + $result_concept = mysql_query($query_concept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line_concept = mysql_fetch_array($result_concept, MYSQL_BOTH); + $conceito_nome = $line_concept['nome']; + + + $id_subconcept = $line['id_subconceito']; + $query_subconcept = "select * from conceito where id_conceito = '$id_subconcept' AND id_projeto='$id_project';"; + $result_subconcept = mysql_query($query_subconcept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line_subconcept = mysql_fetch_array($result_subconcept, MYSQL_BOTH); + $subconceito_nome = $line_subconcept['nome']; + + + foreach ($aux as $key => $conc1) { + + if ($conc1->nome == $conceito_nome) { + $aux[$key]->subconceitos[] = $subconceito_nome; + } else { + //nothing to do + } + } + } + return $aux; } -//variavel funcao (string) -function get_funcao() -{ - $id_projeto = $_SESSION['id_projeto']; - - $query = "select valor from algoritmo where nome = 'funcao' AND id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - return $line['valor']; +//Create concepts table +function get_lista_de_relacoes() { + + $id_project = $_SESSION['id_projeto']; + $aux = array(); + + $query = "select nome from relacao where id_projeto='$id_project';"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { + + $aux[] = $line['nome']; + } + + sort($aux); + + return $aux; } -//variaveis de indice (int) -function get_indices() -{ - $id_projeto = $_SESSION['id_projeto']; - - $query = "select * from algoritmo where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $indice = array(); - - while ($line = mysql_fetch_array($result, MYSQL_BOTH)) - { - $indice[$line['nome']] = $line['valor']; - } - return $indice; +// Create axioms table +function get_lista_de_axiomas() { + + $id_project = $_SESSION['id_projeto']; + $aux = array(); + + $query = "select axioma from axioma where id_projeto='$id_project';"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { + + $aux[] = $line['axioma']; + } + + sort($aux); + + return $aux; } -function salvar_algoritmo() -{ - $id_projeto = $_SESSION['id_projeto']; - $link = bd_connect(); - - foreach ($_SESSION["lista_de_conceitos"] as $conceit) - { - print($conceit->nome); - foreach ($conceit->relacoes as $rel) - { - print("
----$rel->verbo"); - foreach ($rel->predicados as $pred) - { - print("
--------$pred"); - } - } - } - - - $query = "delete from relacao where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $query = "delete from conceito where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $query = "delete from relacao_conceito where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $query = "delete from axioma where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $query = "delete from algoritmo where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $query = "delete from hierarquia where id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - if( isset($_SESSION["lista_de_relacoes"]) ) - { - foreach ($_SESSION["lista_de_relacoes"] as $relacao) - { - $query = "insert into relacao (nome, id_projeto) values ('$relacao', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - } - if( isset($_SESSION["lista_de_conceitos"]) ) - { - foreach ($_SESSION["lista_de_conceitos"] as $conc) - { - $query = "select id_conceito from conceito where nome = '$conc->nome' and id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - $id_conceito = 0; - if( mysql_num_rows($result) > 0 ) - { - $line = mysql_fetch_array($result, MYSQL_BOTH); - $id_conceito = $line['id_conceito']; - } - else - { - $query = "insert into conceito (nome,descricao,namespace, id_projeto) values ('$conc->nome', '$conc->descricao','$conc->namespace' ,'$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - $query = "select id_conceito from conceito where nome = '$conc->nome' and id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - $id_conceito = $line['id_conceito']; - } - - - foreach ($conc->relacoes as $relacao) - { - $verbo = $relacao->verbo; - $query = "select id_relacao from relacao where nome = '$verbo' and id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - $id_relacao = $line['id_relacao']; - $predicados = $relacao->predicados; - foreach ($predicados as $pred) - { - $query = "insert into relacao_conceito (id_conceito,id_relacao,predicado,id_projeto) values ('$id_conceito', '$id_relacao', '$pred', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - } - } - foreach ($_SESSION["lista_de_conceitos"] as $conc) - { - foreach ($conc->subconceitos as $subconceito) - { - if( $subconceito != -1 ) - { - $query = "select id_conceito from conceito where nome = '$subconceito' and id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - $id_subconceito = $line['id_conceito']; - - $nome = $conc->nome; - $query = "select id_conceito from conceito where nome = '$nome' and id_projeto='$id_projeto';"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - $line = mysql_fetch_array($result, MYSQL_BOTH); - $id_conceito = $line['id_conceito']; - - $query = "insert into hierarquia (id_conceito,id_subconceito,id_projeto) values ('$id_conceito', '$id_subconceito','$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - } - } - } - if( isset($_SESSION["lista_de_axiomas"]) ) - { - foreach ($_SESSION["lista_de_axiomas"] as $axioma) - { - $query = "insert into axioma (axioma,id_projeto) values ( '$axioma','$id_projeto' );"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - } - if( isset($_SESSION["funcao"]) ) - { - $func = $_SESSION['funcao']; - $query = "insert into algoritmo (nome, valor, id_projeto) values ('funcao'," ; - $query = $query . "'" . $func . "', '$id_projeto' );"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - if( isset($_SESSION["index1"]) ) - { - $query = "insert into algoritmo (nome, valor,id_projeto) values ('index1',"; - $query = $query . "'" . $_SESSION['index1'] . "', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - if( isset($_SESSION["index3"]) ) - { - $query = "insert into algoritmo (nome, valor, id_projeto) values ('index3',"; - $query = $query . "'" . $_SESSION['index3'] . "', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - if( isset($_SESSION["index4"]) ) - { - $query = "insert into algoritmo (nome, valor, id_projeto) values ('index4',"; - $query = $query . "'" . $_SESSION['index4'] . "', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - if( isset($_SESSION["index5"]) ) - { - $query = "insert into algoritmo (nome, valor, id_projeto) values ('index5',"; - $query = $query . "'" . $_SESSION['index5'] . "', '$id_projeto');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - } - mysql_close($link); - - if( $_SESSION["funcao"] != 'fim' ) - { - ?> - - - - $termo) - { - $aux = $_POST["type" . $key]; - echo ("$termo, $aux
"); - if( ! atualiza_tipo($termo, $aux) ) - { - echo "ERRO
"; - } - } - - mysql_close($link); - ?> - - nome); + foreach ($conceit->relacoes as $rel) { + + print("
----$rel->verbo"); + + foreach ($rel->predicados as $pred) { + + print("
--------$pred"); + } + } + } + + + $query_relation = "delete from relacao where id_projeto='$id_project';"; + $result = mysql_query($query_relation) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_concepts = "delete from conceito where id_projeto='$id_project';"; + $result = mysql_query($query_concepts) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_relation_concept = "delete from relacao_conceito where id_projeto='$id_project';"; + $result = mysql_query($query_relation_concept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_axioms = "delete from axioma where id_projeto='$id_project';"; + $result = mysql_query($query_axioms) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_algorithm = "delete from algoritmo where id_projeto='$id_project';"; + $result = mysql_query($query_algorithm) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_hierarchy = "delete from hierarquia where id_projeto='$id_project';"; + $result = mysql_query($query_hierarchy) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + + if (isset($_SESSION["lista_de_relacoes"])) { + + foreach ($_SESSION["lista_de_relacoes"] as $relation) { + + $query = "insert into relacao (nome, id_projeto) values ('$relation', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } + } else { + //nothing to do + } + + if (isset($_SESSION["lista_de_conceitos"])) { + + foreach ($_SESSION["lista_de_conceitos"] as $conc) { + + $query = "select id_conceito from conceito where nome = '$conc->nome' and id_projeto='$id_project';"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $id_concept = 0; + if (mysql_num_rows($result) > 0) { + $line = mysql_fetch_array($result, MYSQL_BOTH); + $id_concept = $line['id_conceito']; + } else { + $query_insert_concept = "insert into conceito (nome,descricao,namespace, id_projeto) values ('$conc->nome', '$conc->descricao','$conc->namespace' ,'$id_project');"; + $result = mysql_query($query_insert_concept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $query_select_concept = "select id_conceito from conceito where nome = '$conc->nome' and id_projeto='$id_project';"; + $result = mysql_query($query_select_concept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $line = mysql_fetch_array($result, MYSQL_BOTH); + $id_concept = $line['id_conceito']; + } + + + foreach ($conc->relacoes as $relation) { + + $verb = $relation->verbo; + $query = "select id_relacao from relacao where nome = '$verb' and id_projeto='$id_project';"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line = mysql_fetch_array($result, MYSQL_BOTH); + $id_relation = $line['id_relacao']; + $predicados = $relation->predicados; + + + foreach ($predicados as $pred) { + + $query = "insert into relacao_conceito (id_conceito,id_relacao,predicado,id_projeto) values ('$id_concept', '$id_relation', '$pred', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } + } + } + + + foreach ($_SESSION["lista_de_conceitos"] as $conc) { + + foreach ($conc->subconceitos as $subconceito) { + + if ($subconceito != -1) { + + $query_subconcepts = "select id_conceito from conceito where nome = '$subconceito' and id_projeto='$id_project';"; + $result_subconcepts = mysql_query($query_subconcepts) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + $line_subconcepts = mysql_fetch_array($result_subconcepts, MYSQL_BOTH); + + $id_subconcept = $line_subconcepts['id_conceito']; + + $name = $conc->nome; + + $query_select_concept = "select id_conceito from conceito where nome = '$nome' and id_projeto='$id_project';"; + $result_select_concept = mysql_query($query_select_concept) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + + $line = mysql_fetch_array($result_select_concept, MYSQL_BOTH); + $id_concept = $line['id_conceito']; + + $query = "insert into hierarquia (id_conceito,id_subconceito,id_projeto) values ('$id_concept', '$id_subconcept','$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + } + } + } + + if (isset($_SESSION["lista_de_axiomas"])) { + foreach ($_SESSION["lista_de_axiomas"] as $axioma) { + $query = "insert into axioma (axioma,id_projeto) values ( '$axioma','$id_project' );"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } + } else { + //nothing to do + } + + if (isset($_SESSION["funcao"])) { + $func = $_SESSION['funcao']; + $query = "insert into algoritmo (nome, valor, id_projeto) values ('funcao',"; + $query = $query . "'" . $func . "', '$id_project' );"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + + if (isset($_SESSION["index1"])) { + + $query = "insert into algoritmo (nome, valor,id_projeto) values ('index1',"; + $query = $query . "'" . $_SESSION['index1'] . "', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + + if (isset($_SESSION["index3"])) { + + $query = "insert into algoritmo (nome, valor, id_projeto) values ('index3',"; + $query = $query . "'" . $_SESSION['index3'] . "', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + + if (isset($_SESSION["index4"])) { + + $query = "insert into algoritmo (nome, valor, id_projeto) values ('index4',"; + $query = $query . "'" . $_SESSION['index4'] . "', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + + if (isset($_SESSION["index5"])) { + + $query = "insert into algoritmo (nome, valor, id_projeto) values ('index5',"; + $query = $query . "'" . $_SESSION['index5'] . "', '$id_project');"; + $result = mysql_query($query) or die("A consulta � BD falhou : " . mysql_error() . __LINE__); + } else { + //nothing to do + } + + mysql_close($link); + + if ($_SESSION["funcao"] != 'fim') { + ?> + + + + $termo) { + + $aux = $_POST["type" . $key]; + echo ("$termo, $aux
"); + + if (!atualiza_tipo($termo, $aux)) { + echo "ERRO
"; + } else { + //nothing to do + } + } + + mysql_close($link); + ?> + + - - Auxiliar BD - - - - + + Auxiliar BD + + + + \ No newline at end of file diff --git a/cel/aplicacao/auxiliar_interface.php b/cel/aplicacao/auxiliar_interface.php index 515e247c..bbbb19e6 100644 --- a/cel/aplicacao/auxiliar_interface.php +++ b/cel/aplicacao/auxiliar_interface.php @@ -1,678 +1,702 @@ - - Algoritmo de Geração de Ontologias - - - - - - - - - - - + +
- - -$palavra) - { - if( strstr($name, $palavra) ) - { - $indice = $key; - break; - } - } - ?> -
- - "; - foreach($_SESSION["verbos_selecionados"] as $verbo) - { - echo " - " . $verbo . "
"; - } - } - ?> - Impacto: ""

- A propriedade já está cadastrada na lista abaixo?
-
- > sim - > não
- -
- -

- - -
- -

Termo:


- "); - - foreach ($impactos as $impacto) - { - if( trim($impacto) == "" ) - continue; - print(" - $impacto
"); - } - print("O termo $termo vai transformar-se em:
"); - ?> -
- Conceito - Propriedade - -

-
- - - - -
- - - - - - - - -
") ?>
- nome' onFocus='Salvar()'> $conc->nome
\n"); - foreach($conc->subconceitos as $subc) - { - print("        -$subc
"); - } - } - ?> -
- $conc) - { - $sel = false; - $existe = array_search($conc->nome, $concsel->subconceitos); - if( $existe !== false ) - $sel = true; - - print(" $conc->nome
\n"); - } - ?> -
- - -
- - - - -
-

- $termo ) - { - echo ("
$termo
"); - ?> - - Sujeito - Objeto - Verbo - Estado - - - -

-
- $palavra) - { - if(trim($palavra->nome) !== "") - { - if( strstr($pred, $palavra->nome) ) - { - if ( array_search($palavra->nome, $_SESSION["predicados_selecionados"]) === false ) - { - $indice2 = $key; - break; - } - } - } - } - - $indice3 = -1; - foreach ($_SESSION["lista_de_sujeito_e_objeto"] as $key=>$palavra) - { - if( strstr($pred, $palavra->nome) && ( array_search($palavra->nome, $_SESSION["predicados_selecionados"]) === false )) - { - $indice3 = $key; - break; - } - } - + + Algoritmo de Geração de Ontologias + + + + + + + + + + + - -
+ + + $palavra) { + + if (strstr($name, $palavra)) { + $indice = $key; + break; + } else { + //nothing to do + } + } + ?> + +
+ + "; + + foreach ($_SESSION["verbos_selecionados"] as $verbo) { + + echo " - " . $verbo . "
"; + } + } else { + //nothing to do + } + ?> + Impacto: ""

+ A propriedade j� est� cadastrada na lista abaixo?
+
+ > sim + > n�o
+ +
+ +

+ -
- "; - foreach($_SESSION["axiomas_selecionados"] as $axioma) - { - echo "- " . $axioma . "
"; - } - echo "

"; - } - - print "Existe algum termo disjunto do conceito $nome na lista abaixo ou no vocabulário mínimo?"; - - ?> -
-

-
- - - - - - - - -
conceito:
namespace:
- sim - não
- - -

- -
- -

Conceito: nome?>


- -

Verbo: nome?>


- -

Conceito: nome?>


- -

Verbo: nome?>


- impacto); - } - else if ( $_SESSION["job"] == "reference" ) - { - //faz_referencia($_SESSION["lista"][0], $_SESSION["lista"][1]); - faz_referencia($_SESSION["lista"], $_SESSION["nome1"]); - } - else if ( $_SESSION["job"] == "type" ) - { - insere_tipo($_SESSION["lista"]); - } - else if( isset($_SESSION["nome2"]) && $_SESSION["job"] == "insert_relation" ) - { - insere_relacao($_SESSION["nome1"], $_SESSION["nome2"], $_SESSION["nome3"],$_SESSION["lista"]); - } - else if( $_SESSION["job"] == "disjoint" ) - { - disjuncao($_SESSION["nome1"], $_SESSION["lista"]); - } - - ?> -

-

- - > -
-

- - - -
-

- Carregar Ontologia?

-

- sim - não - -

-
- -

Reiniciar Ontologia

-
- + function fim() { + + + if ( != 0) { + + document.all.indice.disabled = false; + document.all.indice.selectedIndex =; + document.all.existe[0].checked = true; + var form = document.getElementById("exist_form"); + form.submit(); + + } else { + alert("� necessario ao menos um verbo para cada impacto."); + } + + } + + + + + + +

Termo:


+ "); + + foreach ($impactos as $impacto) { + + if (trim($impacto) == "") { + continue; + } else { + //nothing to do + } + + print(" - $impacto
"); + } + + print("O termo $term vai transformar-se em:
"); + ?> +
+ Conceito + Propriedade + +

+
+ + +
+ + + + + + + + +
") ?>
+ nome' onFocus='Salvar()'> $conc->nome
\n"); + + foreach ($conc->subconceitos as $subc) { + print("        -$subc
"); + } + } + ?> +
+ $conc) { + + $sel = false; + $existe = array_search($conc->nome, $concsel->subconceitos); + + if ($existe !== false) { + $sel = true; + } else { + //nothing to do + } + + print(" $conc->nome
\n"); + } + ?> + +
+ + +
+ + + + +
+

+ $term) { + + echo ("
$term
"); + ?> + + Sujeito + Objeto + Verbo + Estado + + + +

+
+ $palavra) { + + if (trim($palavra->nome) !== "") { + + if (strstr($pred, $palavra->nome)) { + + if (array_search($palavra->nome, $_SESSION["predicados_selecionados"]) === false) { + + $indice2 = $key; + break; + } else { + //nothing to do + } + } else { + //nothing to do + } + } else { + //nothing to do + } + } + + $indice3 = -1; + + foreach ($_SESSION["lista_de_sujeito_e_objeto"] as $key => $palavra) { + + if (strstr($pred, $palavra->nome) && ( array_search($palavra->nome, $_SESSION["predicados_selecionados"]) === false )) { + $indice3 = $key; + break; + } + } + ?> +
+ Conceito: $conc"; + print "

Propriedade: $rel


"; + + + if (count($_SESSION["predicados_selecionados"]) != 0) { + + echo "Predicados j� cadastrados para essa propriedade:

"; + + foreach ($_SESSION["predicados_selecionados"] as $verbo) { + + echo "- " . $verbo . "
"; + } + } + ?> + + Impacto:
+ +
+ O predicado da rela��o j� est� cadastrado na lista abaixo?
+ +
+ + > sim + > n�o
+ +

+
+ Se n�o existe, ele pertence � lista de elementos do nosso namespace(abaixo)?
+
+ + + + + + + + +
predicado:
namespace:
+ +
+ + +

+ +
+ "; + + foreach ($_SESSION["axiomas_selecionados"] as $axioma) { + + echo "- " . $axioma . "
"; + } + + echo "

"; + }else{ + //nothing to do + } + + print "Existe algum termo disjunto do conceito $name na lista abaixo ou no vocabul�rio m�nimo?"; + ?> +
+

+
+ + + + + + + + +
conceito:
namespace:
+ sim + n�o
+ + +

+ +
+ +

Conceito: nome ?>


+ +

Verbo: nome ?>


+ +

Conceito: nome ?>


+ +

Verbo: nome ?>


+ impacto); + } else if ($_SESSION["job"] == "reference") { + + //faz_referencia($_SESSION["lista"][0], $_SESSION["lista"][1]); + faz_referencia($_SESSION["lista"], $_SESSION["nome1"]); + } else if ($_SESSION["job"] == "type") { + + insere_tipo($_SESSION["lista"]); + } else if (isset($_SESSION["nome2"]) && $_SESSION["job"] == "insert_relation") { + + insere_relacao($_SESSION["nome1"], $_SESSION["nome2"], $_SESSION["nome3"], $_SESSION["lista"]); + } else if ($_SESSION["job"] == "disjoint") { + + disjuncao($_SESSION["nome1"], $_SESSION["lista"]); + } + ?> +

+

+ + > +
+

+ + + +
+

+ Carregar Ontologia?

+

+ sim + n�o + +

+
+ + +

Reiniciar Ontologia

+
+ diff --git a/cel/aplicacao/auxiliary_Algorithm.php b/cel/aplicacao/auxiliary_Algorithm.php new file mode 100644 index 00000000..7598bded --- /dev/null +++ b/cel/aplicacao/auxiliary_Algorithm.php @@ -0,0 +1,37 @@ +$relation){ + + if( @$relation->verbo == $relation ) { + return $key; + }else{ + //nothing to do + } + } + + return -1; +} + +//Confirm the concept on te list, return $key if the relation exist and -1 if not +// I can't find this function implement on the code, but I'm not secure to remove it. +function existe_conceito($conc, $list){ + + foreach($list as $key=>$conc1){ + if( $conc1->nome == $conc ) { + return $key; + }else{ + //nothing to do + } + } + return -1; +} + +?> \ No newline at end of file diff --git a/cel/aplicacao/bd.inc b/cel/aplicacao/bd.inc index 69cf670c..d14377f3 100644 --- a/cel/aplicacao/bd.inc +++ b/cel/aplicacao/bd.inc @@ -4,17 +4,18 @@ include_once "CELConfig/CELConfig.inc" ; function bd_connect() { - $ipValor = CELConfig_ReadVar("BD_ip") ; + $ipValor = CELConfig_ReadVar("BD_ip") ; $BDuser = CELConfig_ReadVar("BD_user") ; $BDpassword = CELConfig_ReadVar("BD_password") ; $BDdatabase = CELConfig_ReadVar("BD_database") ; - $r = mysql_pconnect( $ipValor , $BDuser , $BDpassword ) or die( "Erro na conexão ao BD : " . mysql_error() ) ; + $connect = mysql_pconnect( $ipValor , "root" , "" ) or die( "Erro na conectar ao BD : " . mysql_error() ) ; - if( $r && mysql_select_db($BDdatabase) ) - return($r); - else + if($connect && mysql_select_db($BDdatabase)){ + return($connect); + }else{ return(FALSE); + } } ?> diff --git a/cel/aplicacao/bd_class.php b/cel/aplicacao/bd_class.php index 717e3b30..841ec8e0 100644 --- a/cel/aplicacao/bd_class.php +++ b/cel/aplicacao/bd_class.php @@ -1,7 +1,7 @@ +## by Cem �EV�K ## Sturday, January 06, 2001 ## ## Easy way to access database and store fetched results. @@ -32,7 +32,7 @@ ## $DB->close (); */ -/* Atenção!!! +/* Aten��o!!! * * Este script foi adaptado para o MySQL!!! * @@ -93,7 +93,7 @@ function _PGDB() function open($dbname, $user, $passwd, $host, $port) { - $this->db_linkid = bd_connect() or die("Erro na conexão à BD : " . mysql_error()) ; + $this->db_linkid = bd_connect() or die("Erro na conex�o � BD : " . mysql_error()) ; // if( $this->db_linkid && mysql_select_db(CELConfig_ReadVar("BD_database") . "" ) ) if( $this->db_linkid ) @@ -128,8 +128,11 @@ class QUERY function QUERY($pdbobject) { - if ($pdbobject) + if ($pdbobject){ $this->associate($pdbobject); + }else{ + //nothing to do + } } function associate($pdbobject) @@ -185,9 +188,9 @@ function gonext() if ($this->currentrow < $this->getntuples()) { $this->resultset = $this->readrow(); return $this->resultset; - } - else + }else{ return "LAST_RECORD_REACHED"; + } } function goprevious() @@ -196,29 +199,32 @@ function goprevious() if ($this->currentrow >= 0) { $this->resultset = $this->readrow(); return $this->resultset; - } - else + }else{ return "FIRST_RECORD_REACHED"; + } } function beginTransaction() { - if (!$this->execute("BEGIN")) + if (!$this->execute("BEGIN")){ return false; + } return true; } function commitTransaction() { - if (!$this->execute("COMMIT")) + if (!$this->execute("COMMIT")){ return false; + } return true; } function rollbackTransaction() { - if (!$this->execute("ROLLBACK")) + if (!$this->execute("ROLLBACK")){ return false; + } return true; } diff --git a/cel/aplicacao/class.smtp.php b/cel/aplicacao/class.smtp.php index 9c18e83c..9dc519e4 100644 --- a/cel/aplicacao/class.smtp.php +++ b/cel/aplicacao/class.smtp.php @@ -1,4 +1,5 @@ do_debug = 0; } - /************************************************************* + /* * *********************************************************** * CONNECTION FUNCTIONS * - ***********************************************************/ + * ********************************************************* */ /** * Connect to the server specified on the port specified. @@ -79,47 +81,58 @@ function SMTP() { * @access public * @return bool */ - function Connect($host,$port=0,$tval=30) { + function Connect($host, $port = 0, $tval = 30) { # set the error val to null so there is no confusion $this->error = null; # make sure we are __not__ connected - if($this->connected()) { + if ($this->connected()) { # ok we are connected! what should we do? # for now we will just give an error saying we # are already connected $this->error = - array("error" => "Already connected to a server"); + array("error" => "Already connected to a server"); return false; + } else { + //nothing to do } - if(empty($port)) { + if (empty($port)) { $port = $this->SMTP_PORT; + } else { + //nothing to do } #connect to the smtp server - $this->smtp_conn = fsockopen($host, # the host of the server - $port, # the port to use - $errno, # error number if any - $errstr, # error message if any - $tval); # give up after ? secs + $this->smtp_conn = fsockopen($host, # the host of the server + $port, # the port to use + $errno, # error number if any + $errstr, # error message if any + $tval); # give up after ? secs # verify we connected properly - if(empty($this->smtp_conn)) { + if (empty($this->smtp_conn)) { $this->error = array("error" => "Failed to connect to server", - "errno" => $errno, - "errstr" => $errstr); - if($this->do_debug >= 1) { + "errno" => $errno, + "errstr" => $errstr); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": $errstr ($errno)" . $this->CRLF; + ": $errstr ($errno)" . $this->CRLF; + } else { + //nothing to do } return false; + } else { + //nothing to do } # sometimes the SMTP server takes a little longer to respond # so we will give it a longer timeout for the first read // Windows still does not have support for this timeout function - if(substr(PHP_OS, 0, 3) != "WIN") - socket_set_timeout($this->smtp_conn, $tval, 0); + if (substr(PHP_OS, 0, 3) != "WIN") { + socket_set_timeout($this->smtp_conn, $tval, 0); + } else { + //nothing to do + } # get any announcement stuff $announce = $this->get_lines(); @@ -128,10 +141,11 @@ function Connect($host,$port=0,$tval=30) { //if(function_exists("socket_set_timeout")) // socket_set_timeout($this->smtp_conn, 0, 100000); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce; + } else { + //nothing to do } - return true; } @@ -143,19 +157,21 @@ function Connect($host,$port=0,$tval=30) { */ function Authenticate($username, $password) { // Start authentication - fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF); + fputs($this->smtp_conn, "AUTH LOGIN" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($code != 334) { + if ($code != 334) { $this->error = - array("error" => "AUTH not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "AUTH not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; } @@ -164,16 +180,18 @@ function Authenticate($username, $password) { fputs($this->smtp_conn, base64_encode($username) . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($code != 334) { + if ($code != 334) { $this->error = - array("error" => "Username not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "Username not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; } @@ -182,16 +200,18 @@ function Authenticate($username, $password) { fputs($this->smtp_conn, base64_encode($password) . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($code != 235) { + if ($code != 235) { $this->error = - array("error" => "Password not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "Password not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; } @@ -205,14 +225,16 @@ function Authenticate($username, $password) { * @return bool */ function Connected() { - if(!empty($this->smtp_conn)) { + if (!empty($this->smtp_conn)) { $sock_status = socket_get_status($this->smtp_conn); - if($sock_status["eof"]) { + if ($sock_status["eof"]) { # hmm this is an odd situation... the socket is # valid but we aren't connected anymore - if($this->do_debug >= 1) { + if ($this->do_debug >= 1) { echo "SMTP -> NOTICE:" . $this->CRLF . - "EOF caught while checking if connected"; + "EOF caught while checking if connected"; + } else { + //nothing to do } $this->Close(); return false; @@ -232,156 +254,176 @@ function Connected() { function Close() { $this->error = null; # so there is no confusion $this->helo_rply = null; - if(!empty($this->smtp_conn)) { + if (!empty($this->smtp_conn)) { # close the connection and cleanup fclose($this->smtp_conn); $this->smtp_conn = 0; + } else { + //nothing to do } } + // SMTP COMMANDS + // Issues a data command and sends the msg_data to the server + // finializing the mail transaction. $msg_data is the message + //that is to be send with the headers. Each header needs to be + // on a single line followed by a with the message headers + // and the message body being seperated by and additional . + // + // Implements rfc 821: DATA + // + // SMTP CODE INTERMEDIATE: 354 + // [data] + // . + // SMTP CODE SUCCESS: 250 + // SMTP CODE FAILURE: 552, 554, 451, 452 + // SMTP CODE FAILURE: 451, 554 + // SMTP CODE ERROR : 500, 501, 503, 421 + // @access public + // @return bool - /*************************************************************** - * SMTP COMMANDS * - *************************************************************/ - /** - * Issues a data command and sends the msg_data to the server - * finializing the mail transaction. $msg_data is the message - * that is to be send with the headers. Each header needs to be - * on a single line followed by a with the message headers - * and the message body being seperated by and additional . - * - * Implements rfc 821: DATA - * - * SMTP CODE INTERMEDIATE: 354 - * [data] - * . - * SMTP CODE SUCCESS: 250 - * SMTP CODE FAILURE: 552,554,451,452 - * SMTP CODE FAILURE: 451,554 - * SMTP CODE ERROR : 500,501,503,421 - * @access public - * @return bool - */ function Data($msg_data) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Data() without being connected"); + "error" => "Called Data() without being connected"); return false; + } else { + //nothing to do } - fputs($this->smtp_conn,"DATA" . $this->CRLF); + fputs($this->smtp_conn, "DATA" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } else { + //nothing to do } - if($code != 354) { + if ($code != 354) { $this->error = - array("error" => "DATA command not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "DATA command not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; } - # the server is ready to accept data! - # according to rfc 821 we should not send more than 1000 - # including the CRLF - # characters on a single line so we will break the data up - # into lines by \r and/or \n then if needed we will break - # each of those into smaller lines to fit within the limit. - # in addition we will be looking for lines that start with - # a period '.' and append and additional period '.' to that - # line. NOTE: this does not count towards are limit. - - # normalize the line breaks so we know the explode works - $msg_data = str_replace("\r\n","\n",$msg_data); - $msg_data = str_replace("\r","\n",$msg_data); - $lines = explode("\n",$msg_data); - - # we need to find a good way to determine is headers are - # in the msg_data or if it is a straight msg body - # currently I'm assuming rfc 822 definitions of msg headers - # and if the first field of the first line (':' sperated) - # does not contain a space then it _should_ be a header - # and we can process all lines before a blank "" line as - # headers. - $field = substr($lines[0],0,strpos($lines[0],":")); +# the server is ready to accept data! +# according to rfc 821 we should not send more than 1000 +# including the CRLF +# characters on a single line so we will break the data up +# into lines by \r and/or \n then if needed we will break +# each of those into smaller lines to fit within the limit. +# in addition we will be looking for lines that start with +# a period '.' and append and additional period '.' to that +# line. NOTE: this does not count towards are limit. +# normalize the line breaks so we know the explode works + $msg_data = str_replace("\r\n", "\n", $msg_data); + $msg_data = str_replace("\r", "\n", $msg_data); + $lines = explode("\n", $msg_data); + +# we need to find a good way to determine is headers are +# in the msg_data or if it is a straight msg body +# currently I'm assuming rfc 822 definitions of msg headers +# and if the first field of the first line (':' sperated) +# does not contain a space then it _should_ be a header +# and we can process all lines before a blank "" line as +# headers. + $field = substr($lines[0], 0, strpos($lines[0], ":")); $in_headers = false; - if(!empty($field) && !strstr($field," ")) { + if (!empty($field) && !strstr($field, " ")) { $in_headers = true; + } else { + //nothing to do } $max_line_length = 998; # used below; set here for ease in change - while(list(,$line) = @each($lines)) { + while (list(, $line) = @each($lines)) { $lines_out = null; - if($line == "" && $in_headers) { + if ($line == "" && $in_headers) { $in_headers = false; + } else { + //nothing to do } # ok we need to break this line up into several # smaller lines - while(strlen($line) > $max_line_length) { - $pos = strrpos(substr($line,0,$max_line_length)," "); + while (strlen($line) > $max_line_length) { + $pos = strrpos(substr($line, 0, $max_line_length), " "); # Patch to fix DOS attack - if(!$pos) { + if (!$pos) { $pos = $max_line_length - 1; + } else { + //nothing to do } - $lines_out[] = substr($line,0,$pos); - $line = substr($line,$pos + 1); + $lines_out[] = substr($line, 0, $pos); + $line = substr($line, $pos + 1); # if we are processing headers we need to # add a LWSP-char to the front of the new line # rfc 822 on long msg headers - if($in_headers) { + if ($in_headers) { $line = "\t" . $line; + } else { + //nothing to do } } $lines_out[] = $line; # now send the lines to the server - while(list(,$line_out) = @each($lines_out)) { - if(strlen($line_out) > 0) - { - if(substr($line_out, 0, 1) == ".") { + while (list(, $line_out) = @each($lines_out)) { + if (strlen($line_out) > 0) { + if (substr($line_out, 0, 1) == ".") { $line_out = "." . $line_out; + } else { + //nothing to do } + } else { + //nothing to do } - fputs($this->smtp_conn,$line_out . $this->CRLF); + fputs($this->smtp_conn, $line_out . $this->CRLF); } } - # ok all the message data has been sent so lets get this - # over with aleady +# ok all the message data has been sent so lets get this +# over with aleady fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } else { + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "DATA not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "DATA not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; + } else { + //nothing to do } return true; } @@ -405,39 +447,46 @@ function Data($msg_data) { function Expand($name) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Expand() without being connected"); + "error" => "Called Expand() without being connected"); return false; + } else { + //nothing to do } - fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF); + fputs($this->smtp_conn, "EXPN " . $name . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } else { + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "EXPN not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "EXPN not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; + } else { + //nothing to do } - # parse the reply and place in our array to return to user - $entries = explode($this->CRLF,$rply); - while(list(,$l) = @each($entries)) { - $list[] = substr($l,4); +# parse the reply and place in our array to return to user + $entries = explode($this->CRLF, $rply); + while (list(, $l) = @each($entries)) { + $list[] = substr($l, 4); } - return $list; } @@ -453,30 +502,37 @@ function Expand($name) { * @access public * @return bool */ - function Hello($host="") { + function Hello($host = "") { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Hello() without being connected"); + "error" => "Called Hello() without being connected"); return false; + } else { + //nothing to do } - # if a hostname for the HELO wasn't specified determine - # a suitable one to send - if(empty($host)) { +# if a hostname for the HELO wasn't specified determine +# a suitable one to send + if (empty($host)) { # we need to determine some sort of appopiate default # to send to the server $host = "localhost"; + } else { + //nothing to do } - // Send extended hello first (RFC 2821) - if(!$this->SendHello("EHLO", $host)) - { - if(!$this->SendHello("HELO", $host)) +// Send extended hello first (RFC 2821) + if (!$this->SendHello("EHLO", $host)) { + if (!$this->SendHello("HELO", $host)) { return false; + } else { + //nothing to do + } + } else { + //nothing to do } - return true; } @@ -489,26 +545,32 @@ function SendHello($hello, $host) { fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply; + } else { + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => $hello . " not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => $hello . " not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; + } else { + //nothing to do } $this->helo_rply = $rply; - + return true; } @@ -527,39 +589,49 @@ function SendHello($hello, $host) { * @access public * @return string */ - function Help($keyword="") { + function Help($keyword = "") { $this->error = null; # to avoid confusion - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Help() without being connected"); + "error" => "Called Help() without being connected"); return false; + } else { + //nothing to do } $extra = ""; - if(!empty($keyword)) { + if (!empty($keyword)) { $extra = " " . $keyword; + } else { + //nothing to do } - fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF); + fputs($this->smtp_conn, "HELP" . $extra . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } else { + //nothing to do } - if($code != 211 && $code != 214) { + if ($code != 211 && $code != 214) { $this->error = - array("error" => "HELP not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "HELP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + } else { + //nothing to do } return false; + } else { + //nothing to do } return $rply; @@ -582,31 +654,39 @@ function Help($keyword="") { function Mail($from) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Mail() without being connected"); + "error" => "Called Mail() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $this->CRLF); + fputs($this->smtp_conn, "MAIL FROM:<" . $from . ">" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "MAIL not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "MAIL not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; + }else{ + //nothing to do } return true; } @@ -624,29 +704,35 @@ function Mail($from) { function Noop() { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Noop() without being connected"); + "error" => "Called Noop() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"NOOP" . $this->CRLF); + fputs($this->smtp_conn, "NOOP" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "NOOP not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "NOOP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; } @@ -664,43 +750,51 @@ function Noop() { * @access public * @return bool */ - function Quit($close_on_error=true) { + function Quit($close_on_error = true) { $this->error = null; # so there is no confusion - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Quit() without being connected"); + "error" => "Called Quit() without being connected"); return false; + }else{ + //nothing to do } - # send the quit command to the server - fputs($this->smtp_conn,"quit" . $this->CRLF); +# send the quit command to the server + fputs($this->smtp_conn, "quit" . $this->CRLF); - # get any good-bye messages +# get any good-bye messages $byemsg = $this->get_lines(); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $byemsg; + }else{ + //nothing to do } $rval = true; $e = null; - $code = substr($byemsg,0,3); - if($code != 221) { + $code = substr($byemsg, 0, 3); + if ($code != 221) { # use e as a tmp var cause Close will overwrite $this->error $e = array("error" => "SMTP server rejected quit command", - "smtp_code" => $code, - "smtp_rply" => substr($byemsg,4)); + "smtp_code" => $code, + "smtp_rply" => substr($byemsg, 4)); $rval = false; - if($this->do_debug >= 1) { + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $e["error"] . ": " . - $byemsg . $this->CRLF; + $byemsg . $this->CRLF; + }else{ + //nothing to do } } - if(empty($e) || $close_on_error) { + if (empty($e) || $close_on_error) { $this->Close(); + }else{ + //nothing to do } return $rval; @@ -721,29 +815,35 @@ function Quit($close_on_error=true) { function Recipient($to) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Recipient() without being connected"); + "error" => "Called Recipient() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF); + fputs($this->smtp_conn, "RCPT TO:<" . $to . ">" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250 && $code != 251) { + if ($code != 250 && $code != 251) { $this->error = - array("error" => "RCPT not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "RCPT not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; } @@ -765,29 +865,35 @@ function Recipient($to) { function Reset() { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Reset() without being connected"); + "error" => "Called Reset() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"RSET" . $this->CRLF); + fputs($this->smtp_conn, "RSET" . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "RSET failed", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "RSET failed", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; } @@ -814,31 +920,37 @@ function Reset() { function Send($from) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Send() without being connected"); + "error" => "Called Send() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"SEND FROM:" . $from . $this->CRLF); + fputs($this->smtp_conn, "SEND FROM:" . $from . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "SEND not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "SEND not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; + }else{ + //nothing to do } return true; } @@ -862,29 +974,31 @@ function Send($from) { function SendAndMail($from) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( "error" => "Called SendAndMail() without being connected"); return false; + }else{ + //nothing to do } - fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF); + fputs($this->smtp_conn, "SAML FROM:" . $from . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "SAML not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "SAML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; } return false; } @@ -910,31 +1024,37 @@ function SendAndMail($from) { function SendOrMail($from) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( "error" => "Called SendOrMail() without being connected"); return false; } - fputs($this->smtp_conn,"SOML FROM:" . $from . $this->CRLF); + fputs($this->smtp_conn, "SOML FROM:" . $from . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250) { + if ($code != 250) { $this->error = - array("error" => "SOML not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "SOML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; + }else{ + //nothing to do } return true; } @@ -953,10 +1073,12 @@ function SendOrMail($from) { * @return bool */ function Turn() { - $this->error = array("error" => "This method, TURN, of the SMTP ". - "is not implemented"); - if($this->do_debug >= 1) { + $this->error = array("error" => "This method, TURN, of the SMTP " . + "is not implemented"); + if ($this->do_debug >= 1) { echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF; + }else{ + //nothing to do } return false; } @@ -977,38 +1099,42 @@ function Turn() { function Verify($name) { $this->error = null; # so no confusion is caused - if(!$this->connected()) { + if (!$this->connected()) { $this->error = array( - "error" => "Called Verify() without being connected"); + "error" => "Called Verify() without being connected"); return false; } - fputs($this->smtp_conn,"VRFY " . $name . $this->CRLF); + fputs($this->smtp_conn, "VRFY " . $name . $this->CRLF); $rply = $this->get_lines(); - $code = substr($rply,0,3); + $code = substr($rply, 0, 3); - if($this->do_debug >= 2) { + if ($this->do_debug >= 2) { echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + }else{ + //nothing to do } - if($code != 250 && $code != 251) { + if ($code != 250 && $code != 251) { $this->error = - array("error" => "VRFY failed on name '$name'", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { + array("error" => "VRFY failed on name '$name'", + "smtp_code" => $code, + "smtp_msg" => substr($rply, 4)); + if ($this->do_debug >= 1) { echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + ": " . $rply . $this->CRLF; + }else{ + //nothing to do } return false; } return $rply; } - /******************************************************************* + /* * ***************************************************************** * INTERNAL FUNCTIONS * - ******************************************************************/ + * **************************************************************** */ /** * Read in as many lines as possible @@ -1021,25 +1147,32 @@ function Verify($name) { */ function get_lines() { $data = ""; - while($str = fgets($this->smtp_conn,515)) { - if($this->do_debug >= 4) { + while ($str = fgets($this->smtp_conn, 515)) { + if ($this->do_debug >= 4) { echo "SMTP -> get_lines(): \$data was \"$data\"" . - $this->CRLF; + $this->CRLF; echo "SMTP -> get_lines(): \$str is \"$str\"" . - $this->CRLF; + $this->CRLF; + }else{ + //nothing to do } $data .= $str; - if($this->do_debug >= 4) { + if ($this->do_debug >= 4) { echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF; - } + }else{ + //nothing to do + } # if the 4th character is a space then we are done reading # so just break the loop - if(substr($str,3,1) == " ") { break; } + if (substr($str, 3, 1) == " ") { + break; + }else{ + //nothing to do + } } return $data; } } - - ?> +?> diff --git a/cel/aplicacao/code.php b/cel/aplicacao/code.php deleted file mode 100644 index 3e9271f3..00000000 --- a/cel/aplicacao/code.php +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/cel/aplicacao/coloca_links.php b/cel/aplicacao/coloca_links.php deleted file mode 100644 index 5f8c4bea..00000000 --- a/cel/aplicacao/coloca_links.php +++ /dev/null @@ -1,289 +0,0 @@ - '$id_lexico_atual' - ORDER BY nome DESC"; - - $querySinonimos = "SELECT id_lexico, nome - FROM sinonimo - WHERE id_projeto = '$id_projeto' AND id_lexico <> '$id_lexico_atual' - ORDER BY nome DESC"; - - }else { - - $queryLexicos = "SELECT id_lexico, nome - FROM lexico - WHERE id_projeto = '$id_projeto' - ORDER BY nome DESC"; - - $querySinonimos = "SELECT id_lexico, nome - FROM sinonimo - WHERE id_projeto = '$id_projeto' ORDER BY nome DESC"; - - } - - $resultadoQueryLexicos = mysql_query( $queryLexicos ) or die("Erro ao enviar a query de selecao na tabela lexicos !". mysql_error()); - - $i=0; - while( $linhaLexico = mysql_fetch_object( $resultadoQueryLexicos ) ) - { - $vetorDeLexicos[$i] = $linhaLexico; - $i++; - } - - $resultadoQuerySinonimos = mysql_query( $querySinonimos ) or die("Erro ao enviar a query de selecao na tabela sinonimos !". mysql_error()); - while( $linhaSinonimo = mysql_fetch_object( $resultadoQuerySinonimos ) ) - { - $vetorDeLexicos[$i] = $linhaSinonimo; - $i++; - } - return $vetorDeLexicos; -} - -// $id_cenario_atual = id do cenario atual, para que ele não crie um link para si mesmo -// funcao que carrega o vetor com todos os titulos dos cenarios menos o titulo do cenario -// passado na variavel $id_cenario_atual - -function carrega_vetor_cenario( $id_projeto, $id_cenario_atual, $semAtual ) -{ - if (!isset($vetorDeCenarios)){ $vetorDeCenarios = array();} - if( $semAtual) - { - $queryCenarios = "SELECT id_cenario, titulo - FROM cenario - WHERE id_projeto = '$id_projeto' AND id_cenario <> '$id_cenario_atual' - ORDER BY titulo DESC"; - - }else{ - $queryCenarios = "SELECT id_cenario, titulo - FROM cenario - WHERE id_projeto = '$id_projeto' - ORDER BY titulo DESC"; - } - - $resultadoQueryCenarios = mysql_query($queryCenarios) or die("Erro ao enviar a query de selecao !!". mysql_error()); - - $i=0; - while( $linhaCenario = mysql_fetch_object( $resultadoQueryCenarios ) ) - { - $vetorDeCenarios[$i] = $linhaCenario; - $i++; - } - - return $vetorDeCenarios; -} - -// Divide o array em dois - -function divide_array( &$vet, $ini, $fim, $tipo ) -{ - $i = $ini; - $j = $fim; - $dir = 1; - - while( $i < $j ) - { - if(strcasecmp($tipo,'cenario') == 0){ - if( strlen( $vet[$i]->titulo ) < strlen( $vet[$j]->titulo ) ) - { - $str_temp = $vet[$i]; - $vet[$i] = $vet[$j]; - $vet[$j] = $str_temp; - $dir--; - } - }else{ - if( strlen( $vet[$i]->nome ) < strlen( $vet[$j]->nome ) ) - { - $str_temp = $vet[$i]; - $vet[$i] = $vet[$j]; - $vet[$j] = $str_temp; - $dir--; - } - } - if( $dir == 1 ) - $j--; - else - $i++; - } - - return $i; -} - -// Ordena o vetor - -function quicksort( &$vet, $ini, $fim, $tipo ) -{ - if( $ini < $fim ) - { - $k = divide_array( $vet, $ini, $fim, $tipo ); - quicksort( $vet, $ini, $k-1, $tipo ); - quicksort( $vet, $k+1, $fim, $tipo ); - } -} - -// Funcao que constroi os links de acordo com o texto, passado através do parâmetro $texto, lexicos, passados -// através do parâmetro $vetorDeLexicos, e cenarios, passados atraves do parametro $vetorDeCenarios - -function monta_links ( $texto , $vetorDeLexicos , $vetorDeCenarios ) -{ - $copiaTexto = $texto; - if (!isset($vetorAuxLexicos)){ $vetorAuxLexicos = array();} - if (!isset($vetorAuxCenarios)){ $vetorAuxCenarios = array();} - if (!isset($vetorDeCenarios)){ $vetorDeCenarios = array();} - if (!isset($vetorDeLexicos)){ $vetorDeLexicos = array();} - - // Se o vetor de cenários estiver vazio ele só ira procurar por referências a lexicos - - - if ( count( $vetorDeCenarios )== 0 ) - { - - $i=0; - $a=0; - while( $i < count( $vetorDeLexicos ) ) - { - $nomeLexico = escapa_metacaracteres( $vetorDeLexicos[$i]->nome ); - $regex = "/(\s|\b)(" . $nomeLexico . ")(\s|\b)/i"; - if( preg_match( $regex, $copiaTexto ) != 0 ) - { - $copiaTexto = preg_replace( $regex," ", $copiaTexto ); - $vetorAuxLexicos[$a] = $vetorDeLexicos[$i]; - $a++; - } - $i++; - } - }else{ - - // Se o vetor de cenários não estiver vazio ele irá procurar por léxicos e cenários - - $tamLexicos = count( $vetorDeLexicos); - $tamCenarios = count( $vetorDeCenarios ); - $tamanhoTotal = $tamLexicos + $tamCenarios ; - $i = 0; - $j = 0; - $a = 0; - $b = 0; - $contador = 0; - while ( $contador < $tamanhoTotal) - { - if ( ($i < $tamLexicos ) && ($j < $tamCenarios) ) - { - if( strlen( $vetorDeCenarios[$j]->titulo ) < strlen( $vetorDeLexicos[$i]->nome ) ) - { - $nomeLexico = escapa_metacaracteres( $vetorDeLexicos[$i]->nome ); - $regex = "/(\s|\b)(" . $nomeLexico . ")(\s|\b)/i"; - if(preg_match( $regex, $copiaTexto ) != 0 ) - { - $copiaTexto = preg_replace( $regex, " ", $copiaTexto ); - $vetorAuxLexicos[$a] = $vetorDeLexicos[$i]; - $a++; - } - $i++; - - }else{ - - $tituloCenario = escapa_metacaracteres( $vetorDeCenarios[$j]->titulo ); - $regex = "/(\s|\b)(" . $tituloCenario . ")(\s|\b)/i"; - if(preg_match( $regex, $copiaTexto ) != 0 ) - { - $copiaTexto = preg_replace( $regex," ", $copiaTexto ); - $vetorAuxCenarios[$b] = $vetorDeCenarios[$j]; - $b++; - } - $j++; - } - }else if ($tamLexicos == $i) { - - $tituloCenario = escapa_metacaracteres( $vetorDeCenarios[$j]->titulo ); - $regex = "/(\s|\b)(" . $tituloCenario . ")(\s|\b)/i"; - if(preg_match( $regex, $copiaTexto ) != 0 ) - { - $copiaTexto = preg_replace( $regex," ", $copiaTexto ); - $vetorAuxCenarios[$b] = $vetorDeCenarios[$j]; - $b++; - } - $j++; - - }else if ($tamCenarios == $j){ - - $nomeLexico = escapa_metacaracteres( $vetorDeLexicos[$i]->nome ); - $regex = "/(\s|\b)(" . $nomeLexico . ")(\s|\b)/i"; - if(preg_match( $regex, $copiaTexto ) != 0 ) - { - $copiaTexto = preg_replace( $regex, " ", $copiaTexto ); - $vetorAuxLexicos[$a] = $vetorDeLexicos[$i]; - $a++; - } - $i++; - - } - $contador++; - } - } - //print_r( $vetorAuxLexicos ); - // Adiciona os links para lexicos no texto - - $indice=0; - $vetorAux = array(); - while($indice < count( $vetorAuxLexicos ) ) - { - $nomeLexico = escapa_metacaracteres( $vetorAuxLexicos[$indice]->nome ); - $regex = "/(\s|\b)(" . $nomeLexico . ")(\s|\b)/i"; - $link = "id_lexico."\">".$vetorAuxLexicos[$indice]->nome.""; - $vetorAux[$indice] = $link; - $texto = preg_replace( $regex,"$1wzzxkkxy".$indice."$3", $texto ); - $indice++; - } - $indice2=0; - - while($indice2 < count( $vetorAux ) ) - { - $linkLexico = ( $vetorAux[$indice2] ); - $regex = "/(\s|\b)(wzzxkkxy".$indice2 . ")(\s|\b)/i"; - $texto = preg_replace( $regex, "$1".$linkLexico."$3", $texto ); - $indice2++; - } - - - // Adiciona os links para cenários no texto - - $indice=0; - $vetorAuxCen = array(); - while($indice < count( $vetorAuxCenarios) ) - { - $tituloCenario = escapa_metacaracteres($vetorAuxCenarios[$indice]->titulo); - $regex = "/(\s|\b)(" . $tituloCenario . ")(\s|\b)/i"; - $link = "$1id_cenario."\">".$vetorAuxCenarios[$indice]->titulo."$3"; - $vetorAuxCen[$indice] = $link; - $texto = preg_replace( $regex,"$1wzzxkkxyy".$indice."$3", $texto ); - $indice++; - } - - - $indice2 = 0; - while($indice2 < count( $vetorAuxCen) ) - { - $linkCenario = ( $vetorAuxCen[$indice2] ); - $regex = "/(\s|\b)(wzzxkkxyy".$indice2 . ")(\s|\b)/i"; - $texto = preg_replace( $regex, "$1".$linkCenario."$3", $texto ); - $indice2++; - } - - return $texto; - -} - -?> - diff --git a/cel/aplicacao/coloca_tags_xml.php b/cel/aplicacao/coloca_tags_xml.php index cbe9e880..618b336a 100644 --- a/cel/aplicacao/coloca_tags_xml.php +++ b/cel/aplicacao/coloca_tags_xml.php @@ -1,36 +1,26 @@ $str "; - return $r; + $tag = ''; + $tag = "$string "; + return $tag; } -function pega_id_xml($str) +function pick_id_xml($string) { - $j=0; + $j = 0; $i = 0; - while($str[$i] != '*') + while($string[$i] != '*') { - $buffer[$j] = $str[$i]; + $buffer[$j] = $string[$i]; $i++; $j++; } @@ -39,62 +29,62 @@ function pega_id_xml($str) } -function troca_chaves_xml( $str ) +function exchange_key_xml( $string ) { - $conta_abertos = 0; - $conta_fehados = 0; - $comeco; - $fim; + $open_accounts = 0; + $closed_accounts = 0; + $begin; + $end; $x=0; $y=0; - $vet_id; + $vector_id; $link_original; - $link_novo; + $link_new; $buffer3 = ''; $buffer = 0; $i = 0; - $tam_str = strlen($str); + $size_string = strlen($string); - while($i <= $tam_str) + while($i <= $size_string) { if($str[$i] == '}') { - $conta_abertos = $conta_abertos + 1; + $open_accounts = $open_accounts + 1; } $i++; - } // FIM WHILE 1 + } // end WHILE 1 $i=0; - while($i <= $tam_str) + while($i <= $size_string) { - if($str[$i] == '}') + if($string[$i] == '}') { - $conta_fechados = $conta_fechados + 1; + $closed_accounts = $closed_accounts + 1; } $i++; - } // FIM WHILE 2 + } // end WHILE 2 $i=0; - if ($conta_abertos == 0) + if ($open_accounts == 0) { - return $str; + return $string; } $i=0; - while($i <= $tam_str) + while($i <= $size_string) { - if($str[$i] == '{') + if($string[$i] == '{') { $buffer = $buffer +1; if ($buffer == 1) { - $comeco[$x] = $i; + $begin[$x] = $i; $x++; } } - if($str[$i] == '}') + if($string[$i] == '}') { $buffer = $buffer -1; if ($buffer == 0) { - $fim[$y] = $i+1; + $end[$y] = $i+1; $y++; } } @@ -104,23 +94,23 @@ function troca_chaves_xml( $str ) while ($i < $x) //x = numero de links reais - 1 { - $link = substr($str,$comeco[$i],$fim[$i] - $comeco[$i]); + $link = substr($string,$begin[$i],$end[$i] - $begin[$i]); $link_original[$i] = $link; $link = str_replace('{','',$link); $link = str_replace('}','',$link); $buffer2 = 0; - $conta =0; + $account =0; $n = 0; //echo('aki - >'."$link".'
'); - $vet_id[$i] = pega_id_xml($link); + $vector_id[$i] = pega_id_xml($link); $link = '**'.$link; $marcador =0; - while ($n < $fim[$i] - $comeco[$i]) + while ($n < $end[$i] - $begin[$i]) { if($link[$n] == '*' && $link[$n+1] == '*' && $marcador == 1) { - $marcador = 0; + $mark = 0; $link[$n] = '{'; $link[$n +1] = '{'; $n++; @@ -130,42 +120,42 @@ function troca_chaves_xml( $str ) if($link[$n] == '*' && $link[$n+1] == '*') { - $marcador = 1; + $mark = 1; $link[$n] = '{'; $n++; continue; } - if ($marcador == 1) + if ($mark == 1) { $link[$n] = '{'; } $n++; } $link = str_replace('{','',$link); - $link = poe_tag_xml($link,$vet_id[$i]); - $link_novo[$i] = $link; + $link = put_tag_xml($link,$vector_id[$i]); + $link_new[$i] = $link; $i++; } $i = 0; //echo("STRING INICAL -> $str
"); while ($i < $x) { - $str = str_replace($link_original[$i],$link_novo[$i],$str); + $string = str_replace($link_original[$i],$link_new[$i],$string); $i++; } //echo("STRING FINAL -> $str
"); -return $str; +return $string; } -function faz_links_XML($texto, $vetor_lex, $vetor_cen) +function make_links_XML($text, $vector_lexicon, $vetocr_scenario) { - marca_texto( $texto, $vetor_cen,"cenario" ); - marca_texto_cenario( $texto, $vetor_lex, $vetor_cen ); + mark_text( $text, $vector_scenario,"scenario" ); + mark_text_scenario( $text, $vector_lexicon, $vector_scenario ); - $str = troca_chaves_xml($texto); - return $str; + $string = exchange_key_xml($text); + return $string; } ?> diff --git a/cel/aplicacao/create.php b/cel/aplicacao/create.php deleted file mode 100644 index 13cb0789..00000000 --- a/cel/aplicacao/create.php +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - -"); - print ("\$result = mysql_query(\$query) or die(\"A consulta à BD falhou : \" . mysql_error() . __LINE__);
"); - print ("
"); - } - -} - -/* -$query = "alter table lexico add impacto text"; -$result = mysql_query($query) or die("A criação de id_projeto falhou : " . mysql_error() . __LINE__); -*/ -/* -$query = "alter table pedidolex add tipo varchar(20)"; -$result = mysql_query($query) or die("A criação de id_projeto falhou : " . mysql_error() . __LINE__); -*/ -/* -$query = "delete from lexico where nome = 'teste3'"; -$result = mysql_query($query) or die("A criação de id_projeto falhou : " . mysql_error() . __LINE__); -*/ - -/* -$query = "CREATE TABLE `pedidocon` ( `id_pedido` int(11) NOT NULL auto_increment, - `id_usuario` int(11) NOT NULL default '0', - `id_projeto` int(11) NOT NULL default '0', - `tipo_pedido` varchar(7) NOT NULL default '', - `aprovado` int(1) NOT NULL default '0', - `id_conceito` int(11) default NULL, - `nome` varchar(255) NOT NULL default '', - `descricao` text NOT NULL, - `namespace` text NOT NULL, - `justificativa` text, - `id_status` int(1) default NULL, - PRIMARY KEY (`id_pedido`) ) TYPE=MyISAM ;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); -*/ -/* -$query = "CREATE TABLE `pedidorel` ( `id_pedido` int(11) NOT NULL auto_increment, - `id_usuario` int(11) NOT NULL default '0', - `id_projeto` int(11) NOT NULL default '0', - `tipo_pedido` varchar(7) NOT NULL default '', - `aprovado` int(1) NOT NULL default '0', - `id_relacao` int(11) default NULL, - `nome` varchar(255) NOT NULL default '', - `justificativa` text, - `id_status` int(1) default NULL, - PRIMARY KEY (`id_pedido`) ) TYPE=MyISAM ;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); -*/ -echo "
FIM !!!"; - - -mysql_close($link); - -?> - - - - \ No newline at end of file diff --git a/cel/aplicacao/daml.php b/cel/aplicacao/daml.php index 15d4224d..5a7a196b 100644 --- a/cel/aplicacao/daml.php +++ b/cel/aplicacao/daml.php @@ -1,30 +1,14 @@ ' ; $cabecalho = $cabecalho . ''; if (!fwrite( $fp , $cabecalho )) return FALSE; - // Insere informações da ontologia + // Insere informa��es da ontologia $info = '' ; if ( $array_info ["title"] == "") $info = $info . '' ; else $info = $info . '' . $array_info ["title"] . '' ; $info = $info . '' . date("j-m-Y H:i:s") . '' ; @@ -53,13 +37,13 @@ function salva_daml($url_ontologia, $diretorio, $arquivo , $array_info, $lista_d if (!fwrite( $fp , $info )) return FALSE; - // Insere os conceitos, relações e axiomas + // Insere os conceitos, rela��es e axiomas if ( !grava_conceitos( $fp, $url, $lista_de_conceitos , $array_info ["creator"] ) ) return FALSE; if ( !grava_relacoes( $fp, $url, $lista_de_relacoes , $array_info ["creator"] ) ) return FALSE; if ( !grava_axiomas( $fp, $url, $lista_de_axiomas , $array_info ["creator"] ) ) return FALSE; - // Insere o tag de fechamento do cabeçalho + // Insere o tag de fechamento do cabe�alho if (!fwrite( $fp , '' )) return FALSE; // Fecha o arquivo aberto @@ -71,7 +55,7 @@ function salva_daml($url_ontologia, $diretorio, $arquivo , $array_info, $lista_d /* Objetivo: Gravar os conceitos no arquivo DAML - Parâmetros: - $fp - ponteiro para o arquivo DAML + Par�metros: - $fp - ponteiro para o arquivo DAML - $url - URL da Ontologia - $lista_de_conceitos - Lista de conceitos - $criador - Criador do arquivo DAML @@ -79,11 +63,11 @@ function salva_daml($url_ontologia, $diretorio, $arquivo , $array_info, $lista_d function grava_conceitos( $fp , $url, $lista_de_conceitos, $criador ) { /* VERIFICAR ESTRUTURA DA LISTA: DATA e CRIADOR*/ - // Não podemos usar a variável $conceito por causa do algoritmo do Jerônimo... + // N�o podemos usar a vari�vel $conceito por causa do algoritmo do Jer�nimo... foreach ( $lista_de_conceitos as $oConceito) { - // Cabeçalho do conceito + // Cabe�alho do conceito if ($oConceito->namespace == "proprio") { $namespace = ""; } else { $namespace = $oConceito->namespace; } $s_conc = '' ; $s_conc = $s_conc . '' . strip_tags($oConceito->nome) . '' ; @@ -103,7 +87,7 @@ function grava_conceitos( $fp , $url, $lista_de_conceitos, $criador ) if (!fwrite( $fp , $s_subconc )) return FALSE; } - // Lista as relações entre conceitos + // Lista as rela��es entre conceitos $lista_relacoes = $oConceito->relacoes; foreach ( $lista_relacoes as $relacao ) { @@ -122,7 +106,7 @@ function grava_conceitos( $fp , $url, $lista_de_conceitos, $criador ) if (!fwrite( $fp , $s_relac )) return FALSE; } - // Terminação do cabeçalho + // Termina��o do cabe�alho $s_conc = ''; if (!fwrite( $fp , $s_conc )) return FALSE; @@ -133,9 +117,9 @@ function grava_conceitos( $fp , $url, $lista_de_conceitos, $criador ) /* Objetivo: Gravar as relacoes no arquivo DAML - Parâmetros: - $fp - ponteiro para o arquivo DAML + Par�metros: - $fp - ponteiro para o arquivo DAML - $url - URL da Ontologia - - $lista_de_relacoes - Lista de relações + - $lista_de_relacoes - Lista de rela��es - $criador - Criador do arquivo DAML */ function grava_relacoes( $fp, $url, $lista_de_relacoes, $criador ) @@ -144,7 +128,7 @@ function grava_relacoes( $fp, $url, $lista_de_relacoes, $criador ) { $s_rel = '' ; $s_rel = $s_rel . '' . $relacao . '' ; - // $s_rel = $s_rel . ' ' . '' ; não há variável comentário na estrutura utilizada + // $s_rel = $s_rel . ' ' . '' ; n�o h� vari�vel coment�rio na estrutura utilizada $s_rel = $s_rel . ' ' . '' ; $s_rel = $s_rel . ' ' . '' ; $s_rel = $s_rel . ''; @@ -156,7 +140,7 @@ function grava_relacoes( $fp, $url, $lista_de_relacoes, $criador ) /* Objetivo: Gravar os axiomas no arquivo DAML - Parâmetros: - $fp - ponteiro para o arquivo DAML + Par�metros: - $fp - ponteiro para o arquivo DAML - $url - URL da Ontologia - $lista_de_axiomas - Lista de axiomas */ @@ -164,7 +148,7 @@ function grava_axiomas( $fp, $url, $lista_de_axiomas ) { foreach ( $lista_de_axiomas as $axioma) { - // Cabeçalho do conceito + // Cabe�alho do conceito $axi = explode(" disjoint ", $axioma); $s_axi = ''; $s_axi = $s_axi . '' ; diff --git a/cel/aplicacao/ealmentero@obaluae.inf.puc-rio.br b/cel/aplicacao/ealmentero@obaluae.inf.puc-rio.br deleted file mode 100644 index e69de29b..00000000 diff --git a/cel/aplicacao/enviar_senha.php b/cel/aplicacao/enviar_senha.php deleted file mode 100644 index 78be59ca..00000000 --- a/cel/aplicacao/enviar_senha.php +++ /dev/null @@ -1,115 +0,0 @@ - - - - -Enviar senha - - - - - -

Login inexistente!

-
Voltar
- -

Uma nova senha foi criada e enviada para seu e-mail cadastrado.

-
Voltar
- -

Ocorreu um erro durante o envio do e-mail!

-
Voltar
- - - - - diff --git a/cel/aplicacao/estado_bd.php b/cel/aplicacao/estado_bd.php index cef10c54..f1973425 100644 --- a/cel/aplicacao/estado_bd.php +++ b/cel/aplicacao/estado_bd.php @@ -4,8 +4,8 @@ $link = bd_connect(); -$query = "show tables" ; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$query_sql = "show tables" ; +$query_result_sql = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

TABELAS e seus ATRIBUTOS

"; @@ -13,9 +13,9 @@ while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print ""; - $tabela = "describe " . $line[0] ; - $atributos = mysql_query($tabela) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - while ($linha = mysql_fetch_array($atributos, MYSQL_BOTH)) + $table = "describe " . $line[0] ; + $atributes = mysql_query($table) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); + while ($line = mysql_fetch_array($atributes, MYSQL_BOTH)) { print ""; } @@ -23,22 +23,7 @@ } - - -/* PROJETO que está sendo traduzido pelo Jerônimo (Adm_Imoveis)*/ - -$projetos = "select * from projeto where nome='Adm_Imoveis' order by id_projeto" ; -$resultado = mysql_query($projetos) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - print "

Projeto que está sendo traduzido pelo Jerônimo

"; - print "

". $line[0] . "" . $linha[0] . "
"; - print " - - - - - "; - - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_projetonomedata da criaçãodescriçãoid_status
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . "". $line[4] . "". $line[5] . ""; } @@ -46,8 +31,8 @@ /* PEDIDOREL */ -$resultados = "select * from pedidorel order by nome" ; -$resultado = mysql_query($resultados) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$results = "select * from request_relation order by name" ; +$result = mysql_query($results) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

PedidoRel

"; print ""; print " @@ -62,7 +47,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_pedido
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . "" . $line[4] . "" . $line[5] . "" . $line[6] . "" . $line[7] . "" . $line[8] . ""; } @@ -70,8 +55,8 @@ /* LEXICO */ -$resultados = "select * from lexico order by nome" ; -$resultado = mysql_query($resultados) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$results = "select * from lexicon order by name" ; +$result = mysql_query($results) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Lexico

"; print ""; print " @@ -84,7 +69,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_lexico
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . "" . $line[4] . "" . $line[5] . "" . $line[6] . "" . $line[7] . ""; } @@ -93,8 +78,8 @@ /* ALGORITMO */ -$resultados = "select * from algoritmo" ; -$resultado = mysql_query($resultados) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$results = "select * from algorithm" ; +$result = mysql_query($results) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Algoritmo

"; print ""; print " @@ -103,7 +88,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_variavelvalor
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . ""; } @@ -111,8 +96,8 @@ /* CONCEITOS */ -$conceitos = "select * from conceito order by nome asc" ; -$resultado = mysql_query($conceitos) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$concept = "select * from conceito order by nome asc" ; +$result = mysql_query($concept) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Conceitos

"; print ""; print " @@ -122,7 +107,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_conceitopai
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . "". $line[4] . "". $line[5] . ""; } @@ -133,8 +118,8 @@ /* RELAÇÕES */ -$relacoes = "select * from relacao order by id_relacao" ; -$resultado = mysql_query($relacoes) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$relations = "select * from relation order by id_relation" ; +$result = mysql_query($relations) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Relações

"; print ""; print " @@ -142,7 +127,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_relacaoid_projeto
". $line[0] . "". $line[1] . "" . $line[2] . ""; } @@ -151,8 +136,8 @@ /* HIERARQUIA */ -$hierarquia = "select * from hierarquia" ; -$resultado = mysql_query($hierarquia) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$hierarchy = "select * from hierarchy" ; +$result = mysql_query($hierarchy) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Hierarquia

"; print ""; print " @@ -161,7 +146,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_hierarquiaid_subconceito
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . ""; } @@ -171,8 +156,8 @@ /* RELAÇÕES ENTRE CONCEITOS */ -$rc = "select c.nome, r.nome, rc.predicado, rc.id_projeto from relacao_conceito rc, relacao r, conceito c WHERE c.id_conceito = rc.id_conceito AND rc.id_relacao = r.id_relacao ORDER BY c.nome, r.nome ASC;" ; -$resultado = mysql_query($rc) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$result_concept = "select c.nome, r.nome, rc.predicado, rc.id_projeto from relacao_conceito rc, relacao r, conceito c WHERE c.id_conceito = rc.id_conceito AND rc.id_relacao = r.id_relacao ORDER BY c.nome, r.nome ASC;" ; +$result = mysql_query($result_concept) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Relação entre conceitos

"; print ""; print " @@ -181,7 +166,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
conceitoid_projeto
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . ""; } @@ -192,8 +177,8 @@ /* AXIOMAS */ -$axiomas = "select * from axioma order by id_axioma" ; -$resultado = mysql_query($axiomas) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$axioms = "select * from axiom order by id_axiom" ; +$result = mysql_query($axioms) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Axiomas

"; print ""; print " @@ -201,7 +186,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_axiomaid_projeto
". $line[0] . "". $line[1] . "" . $line[2] . ""; } @@ -210,8 +195,8 @@ /* USUÁRIOS */ -$usuarios = "select * from usuario order by id_usuario" ; -$resultado = mysql_query($usuarios) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$users = "select * from user order by id_user" ; +$result = mysql_query($users) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Usuários

"; print ""; print " @@ -221,7 +206,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_usuariosenha
". $line[0] . "". $line[1] . "" . $line[2] . "" . $line[3] . "" . $line[4] . ""; } @@ -230,8 +215,8 @@ /* PARTICIPA */ -$participa = "select * from participa order by id_projeto" ; -$resultado = mysql_query($participa) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); +$participates = "select * from participates order by id_project" ; +$result = mysql_query($participates) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); print "

Participa

"; print ""; print " @@ -239,7 +224,7 @@ "; - while ($line = mysql_fetch_array($resultado, MYSQL_BOTH)) + while ($line = mysql_fetch_array($result, MYSQL_BOTH)) { print "
id_usuariogerente
". $line[0] . "". $line[1] . "" . $line[2] . "" ; } diff --git a/cel/aplicacao/estruturas.php b/cel/aplicacao/estruturas.php deleted file mode 100644 index a4ae2e22..00000000 --- a/cel/aplicacao/estruturas.php +++ /dev/null @@ -1,49 +0,0 @@ -nome = $n; - $this->descricao = $d; - $this->relacoes = array(); - $this->subconceitos = array(); //not initialized - $this->namespace = ""; - } -} - -class relacao_entre_conceitos -{ - var $predicados; - var $verbo; - - function relacao_entre_conceitos($p, $v) - { - $this->predicados[] = $p; - $this->verbo = $v; - } -} - -class termo_do_lexico -{ - var $nome; - var $nocao; - var $impacto; - - function termo_do_lexico($name, $notion, $i) - { - $this->nome = $name; - $this->nocao = $notion; - $this->impacto = $i; - } -} - -?> \ No newline at end of file diff --git a/cel/aplicacao/esqueciSenha.php b/cel/aplicacao/forgot_password.php similarity index 53% rename from cel/aplicacao/esqueciSenha.php rename to cel/aplicacao/forgot_password.php index ebef6c47..2b008404 100644 --- a/cel/aplicacao/esqueciSenha.php +++ b/cel/aplicacao/forgot_password.php @@ -6,7 +6,7 @@ @@ -167,7 +158,7 @@ function prjInfo(idprojeto) { text-decoration: none } - > + >
@@ -178,11 +169,11 @@ function prjInfo(idprojeto) { diff --git a/cel/aplicacao/index.php b/cel/aplicacao/index.php index daba3a65..3acbe403 100644 --- a/cel/aplicacao/index.php +++ b/cel/aplicacao/index.php @@ -1,8 +1,14 @@ @@ -11,8 +17,8 @@ - - + + diff --git a/cel/aplicacao/index2.php b/cel/aplicacao/index2.php deleted file mode 100644 index 967822b0..00000000 --- a/cel/aplicacao/index2.php +++ /dev/null @@ -1,20 +0,0 @@ - - -C&L - Cenários e Léxico - - - - - - - - diff --git a/cel/aplicacao/inicio.php b/cel/aplicacao/inicio.php index 460b0127..6a373c41 100644 --- a/cel/aplicacao/inicio.php +++ b/cel/aplicacao/inicio.php @@ -5,13 +5,13 @@ include("script_bd2.php"); session_start(); - if( isset( $_SESSION['id_projeto_corrente'])) + if( isset( $_SESSION['current_id_project'])) { - $_SESSION['id_projeto'] = $_SESSION['id_projeto_corrente']; + $_SESSION['id_projeto'] = $_SESSION['current_id_project']; } else { - print(" PROJETO NÃO SELECIONADO
"); + print(" PROJETO N�O SELECIONADO
"); exit(); } diff --git a/cel/aplicacao/algoritmo_inicio.php b/cel/aplicacao/initial_Algorithm.php similarity index 74% rename from cel/aplicacao/algoritmo_inicio.php rename to cel/aplicacao/initial_Algorithm.php index a328a659..c4c20020 100644 --- a/cel/aplicacao/algoritmo_inicio.php +++ b/cel/aplicacao/initial_Algorithm.php @@ -12,10 +12,9 @@ $list = verifica_tipo(); - if( is_array($list) ) - { - foreach( $list as $id ) - { + if( is_array($list)){ + + foreach( $list as $id ){ $lex = obter_lexico($id); $aux[] = $lex["nome"]; } @@ -45,8 +44,8 @@ $_SESSION["salvar"] = "FALSE"; - if( $_POST["load"] == "FALSE" ) - { + if( $_POST["load"] == "FALSE" ){ + converte_impactos(); $_SESSION["lista_de_conceitos"] = array(); $_SESSION["lista_de_relacoes" ] = array(); @@ -62,9 +61,8 @@ $_SESSION["index6"] = 0; $_SESSION["index7"] = 0; - } - else - { + }else{ + $_SESSION["lista_de_relacoes"] = get_lista_de_relacoes(); $_SESSION["lista_de_conceitos"] = get_lista_de_conceitos(); $_SESSION["lista_de_axiomas"] = get_lista_de_axiomas(); @@ -74,20 +72,23 @@ $indices = get_indices(); - if(count($indices) == 5) - { - $_SESSION["index1"] = $indices['index1']; //Sujeito - $_SESSION["index3"] = $indices['index3']; //Verbo - $_SESSION["index4"] = $indices['index4']; //Estado - $_SESSION["index5"] = $indices['index5']; //Organizacao - } - else - { - $_SESSION["index1"] = 0; //Sujeito - $_SESSION["index3"] = 0; //Verbo - $_SESSION["index4"] = 0; //Estado - $_SESSION["index5"] = 0; //Organizacao + if(count($indices) == 5){ + + $_SESSION["index1"] = $indices['index1']; //Subject + $_SESSION["index3"] = $indices['index3']; //Verb + $_SESSION["index4"] = $indices['index4']; //State + $_SESSION["index5"] = $indices['index5']; //Organization + + + }else{ + + $_SESSION["index1"] = 0; //Subject + $_SESSION["index3"] = 0; //Verb + $_SESSION["index4"] = 0; //State + $_SESSION["index5"] = 0; //Organization + } + $_SESSION["index2"] = 0; $_SESSION["index6"] = 0; $_SESSION["index7"] = 0; diff --git a/cel/aplicacao/login.php b/cel/aplicacao/login.php index 8ef3bd67..2684ee7e 100644 --- a/cel/aplicacao/login.php +++ b/cel/aplicacao/login.php @@ -1,18 +1,16 @@ '; - //adiciona relação de lexico para léxico - }else if(strcasecmp($tipo_from,'cenario') == 0)// Origem é um cenário (id_cenario -> id_lexico) + // Add relationship lexicon to lexicon + }else if(strcasecmp($type_from,'cenario') == 0) // Origin is a scenario (id_cenario -> id_lexico) { echo ''; - //adiciona relação de cenário para léxico + // Add relationship scenario to lexicon } } - if($tipo=="c")// Destino é um cenário (id_cenario_to) + if($type=="c") // Destiny is a scenario (id_cenario_to) { - if(strcasecmp($tipo_from,'cenario') == 0)// Origem é um cenario (id_cenario_from -> id_cenario_to) + if(strcasecmp($type_from,'cenario') == 0) // Origin is a scenario (id_cenario_from -> id_cenario_to) { echo ''; - // Relacionamentos do tipo cenário para cenário - // Adiciona relacao de cenario para cenario na tabela centocen + // Relationships type setting for scenario +                  // Adds relation of scenery to the scenery table centocen //$q = "INSERT // INTO centocen (id_cenario_from, id_cenario_to) // VALUES ($id_from, " . $vetor_cenarios[$j]->id_cenario . ")"; @@ -268,10 +297,9 @@ function adiciona_relacionamento( $id_from, $tipo_from, $texto ) } $i+1; } - }elseif( $texto[$i] == "}" ) + }elseif($text[$i] == "}") { - $parser--; - + $parser--; } $i++; } diff --git a/cel/aplicacao/mostraXML.php b/cel/aplicacao/mostraXML.php index 7663b66a..3f8f3919 100644 --- a/cel/aplicacao/mostraXML.php +++ b/cel/aplicacao/mostraXML.php @@ -3,28 +3,25 @@ session_start(); include("funcoes_genericas.php"); include("httprequest.inc"); +require_once '../Functions/check_User.php'; + +check_User("index.php"); -chkUser("index.php"); // Checa se o usuario foi autenticado - $bd_recupera = bd_connect() or die("Erro ao conectar ao SGBD"); -//Cenário - Gerar Relatórios XML - -//Objetivo: Permitir ao administrador gerar relatórios em formato XML de um projeto, -// identificados por data. -//Contexto: Gerente deseja gerar um relatório para um dos projetos da qual é administrador. -// Pré-Condição: Login, projeto cadastrado. -//Atores: Administrador -//Recursos: Sistema, dados do relatório, dados cadastrados do projeto, banco de dados. -//Episódios: Gerando com sucesso o relatório a partir dos dados cadastrados do projeto, -// o sistema fornece ao administrador a tela de visualização do relatório -// XML criado. - -$qq = "select * from publicacao where id_projeto = $id_projeto AND versao = $versao"; +//Scenario - Generate XML report + +//Objective: Allows the administrator generate a XML report of a project identify by date +//Contexto: Manager wants to generate a report for one of project that he is an administrator +//Actors: Administrator +//Episodes: Generating a report from data of registered project with sucess, the system +// provides to administrator a screen of visualization of the created XML report + +$qq = "SELECT * FROM publication WHERE id_project = $id_project AND version = $version"; $qrr = mysql_query($qq) or die("Erro ao enviar a query"); $row = mysql_fetch_row($qrr); -$xml_banco = $row[3]; +$xml_bank = $row[3]; + +echo $xml_bank; -echo $xml_banco; - ?> diff --git a/cel/aplicacao/mostra_XML.php b/cel/aplicacao/mostra_XML.php new file mode 100644 index 00000000..3f8f3919 --- /dev/null +++ b/cel/aplicacao/mostra_XML.php @@ -0,0 +1,27 @@ + diff --git a/cel/aplicacao/mostrarProjeto.php b/cel/aplicacao/mostrarProjeto.php deleted file mode 100644 index ad074693..00000000 --- a/cel/aplicacao/mostrarProjeto.php +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/cel/aplicacao/projetos.php b/cel/aplicacao/projetos.php deleted file mode 100644 index 15199f89..00000000 --- a/cel/aplicacao/projetos.php +++ /dev/null @@ -1,73 +0,0 @@ - - - - -

-

- Projetos Publicados

- - - - - - - -
      Projeto:   - - + Adicionar Cenário    - Adicionar Símbolo    - Info    +?> Adicionar Cenario    + Adicionar Simbolo    + Info    Adicionar +?> Adicionar Projeto    Remover +?> Remover Projeto    Alterar Cadastro    @@ -346,33 +307,6 @@ function prjInfo(idprojeto) { Sair    Ajuda
- - - - - - - - - - -
Data: Versão:
- - - - - - - \ No newline at end of file diff --git a/cel/aplicacao/puts_Links.php b/cel/aplicacao/puts_Links.php new file mode 100644 index 00000000..1f46121e --- /dev/null +++ b/cel/aplicacao/puts_Links.php @@ -0,0 +1,342 @@ + '$id_current_lexicon' + ORDER BY name DESC"; + + $synonyms_query = "SELECT id_lexicon, name + FROM sinonimo + WHERE id_project = '$id_project' AND id_lexicon <> '$id_current_lexicon' + ORDER BY name DESC"; + } else { + + $lexicon_query = "SELECT id_lexicon, name + FROM lexicon + WHERE id_project = '$id_project' + ORDER BY name DESC"; + + $synonyms_query = "SELECT id_lexicon, name + FROM sinonimo + WHERE id_project = '$id_project' ORDER BY name DESC"; + } + + $lexicon_query_result = mysql_query($lexicon_query) or die("Erro ao enviar a query de selecao na tabela lexicos !" . mysql_error()); + + $i = 0; + + while ($lexicon_line = mysql_fetch_object($lexicon_query_result)) { + + $lexicon_vector[$i] = $lexicon_line; + $i++; + + } + + $synonyms_query_result = mysql_query($synonyms_query) or die("Erro ao enviar a query de selecao na tabela sinonimos !" . mysql_error()); + + while ($linhaSinonimo = mysql_fetch_object($synonyms_query_result)){ + + $lexicon_vector[$i] = $linhaSinonimo; + $i++; + + } + + return $lexicon_vector; +} + + +function carrega_vetor_cenario($id_project, $id_current_scenario, $semAtual){ + + if (!isset($scenarios_vector)){ + + $scenarios_vector = array(); + + } + + if ($semAtual){ + + $query_scenarios = "SELECT id_scenario, title + FROM scenario + WHERE id_project = '$id_project' AND id_scenario <> '$id_current_scenario' + ORDER BY title DESC"; + } else{ + + $query_scenarios = "SELECT id_scenario, title + FROM scenario + WHERE id_project = '$id_project' + ORDER BY title DESC"; + + } + + $query_scenario_result = mysql_query($query_scenarios) or die("Erro ao enviar a query de selecao !!" . mysql_error()); + + $i = 0; + + while ($scenario_row = mysql_fetch_object($query_scenario_result)){ + + $scenarios_vector[$i] = $scenario_row; + $i++; + + } + + return $scenarios_vector; +} + +// Divides the array in two +function divide_array(&$vector, $begin, $end, $type){ + + $dir = 1; + + while ($begin < $end){ + + if (strcasecmp($type, 'scenario') == 0){ + + if (strlen($vector[$begin]->title) < strlen($vector[$end]->title)) { + + $str_temp = $vector[$begin]; + $vector[$begin] = $vector[$end]; + $vector[$end] = $str_temp; + $dir--; + + } + + }else{ + + if (strlen($vector[$begin]->name) < strlen($vector[$end]->name)){ + + $str_temp = $vector[$begin]; + $vector[$begin] = $vector[$end]; + $vector[$end] = $str_temp; + $dir--; + + } + } + + if ($dir == 1){ + $end--; + }else{ + $begin++; + } + + } + + return $begin; +} + +// Sort the vector + +function quicksort(&$vector, $begin, $end, $type){ + + if ($begin < $end){ + + $k = divide_array($vector, $begin, $end, $type); + + quicksort($vector, $begin, $k - 1, $type); + quicksort($vector, $k + 1, $end, $type); + + } +} + +// Function that construct the links according to the text, passed through parameters $text, $lexicon passed through +// the parameters $lexicon_vector, and scenario passed through the parameter $scenario_vector + +function monta_links($text, $lexicon_vector, $scenarios_vector){ + + $copy_text = $text; + + if (!isset($aux_lexicon_vector)){ + + $aux_lexicon_vector = array(); + } + + if (!isset($aux_scenarios_vector)){ + + $aux_scenarios_vector = array(); + + } + + if (!isset($scenarios_vector)){ + + $scenarios_vector = array(); + + } + + if (!isset($lexicon_vector)){ + + $lexicon_vector = array(); + + } + + // If the lexicon vector is empty, it will only look for references to lexicons + + if (count($scenarios_vector) == 0) { + + $i = 0; + $a = 0; + + while ($i < count($lexicon_vector)){ + + $name_lexicon = escape_metacharacter($lexicon_vector[$i]->name); + $regex = "/(\s|\b)(" . $name_lexicon . ")(\s|\b)/i"; + + if (preg_match($regex, $copy_text) != 0){ + + $copy_text = preg_replace($regex, " ", $copy_text); + $aux_lexicon_vector[$a] = $lexicon_vector[$i]; + + $a++; + + } + $i++; + + } + } else{ + + + // If the scenario vector isnt empty, it will look for lexicons and scenarios + + $size_lexicons = count($lexicon_vector); + $size_scenarios = count($scenarios_vector); + $tamanhoTotal = $size_lexicons + $size_scenarios; + + $i = 0; + $j = 0; + $a = 0; + $b = 0; + $contador = 0; + + while ($contador < $tamanhoTotal){ + + if (($i < $size_lexicons ) && ($j < $size_scenarios)){ + + if (strlen($scenarios_vector[$j]->title) < strlen($lexicon_vector[$i]->name)){ + + $name_lexicon = escape_metacharacter($lexicon_vector[$i]->name); + $regex = "/(\s|\b)(" . $name_lexicon . ")(\s|\b)/i"; + + if (preg_match($regex, $copy_text) != 0){ + + $copy_text = preg_replace($regex, " ", $copy_text); + $aux_lexicon_vector[$a] = $lexicon_vector[$i]; + $a++; + + } + + $i++; + + }else{ + + $title_scenarios = escape_metacharacter($scenarios_vector[$j]->title); + $regex = "/(\s|\b)(" . $title_scenarios . ")(\s|\b)/i"; + + if (preg_match($regex, $copy_text) != 0){ + + $copy_text = preg_replace($regex, " ", $copy_text); + $aux_scenarios_vector[$b] = $scenarios_vector[$j]; + $b++; + + } + + $j++; + } + + }else if($size_lexicons == $i){ + + $title_scenarios = escape_metacharacter($scenarios_vector[$j]->title); + $regex = "/(\s|\b)(" . $title_scenarios . ")(\s|\b)/i"; + + if (preg_match($regex, $copy_text) != 0){ + + $copy_text = preg_replace($regex, " ", $copy_text); + $aux_scenarios_vector[$b] = $scenarios_vector[$j]; + $b++; + + } + + $j++; + + }else if($size_scenarios == $j){ + + $name_lexicon = escape_metacharacter($lexicon_vector[$i]->name); + $regex = "/(\s|\b)(" . $name_lexicon . ")(\s|\b)/i"; + + if (preg_match($regex, $copy_text) != 0){ + + $copy_text = preg_replace($regex, " ", $copy_text); + $aux_lexicon_vector[$a] = $lexicon_vector[$i]; + $a++; + + } + + $i++; + } + + $contador++; + } + } + + //print_r( $aux_lexicon_vector ); + // Adiciona os links para lexicos no texto + + $index = 0; + $vetorAux = array(); + + while ($index < count($aux_lexicon_vector)){ + + $name_lexicon = escape_metacharacter($aux_lexicon_vector[$index]->name); + $regex = "/(\s|\b)(" . $name_lexicon . ")(\s|\b)/i"; + $link = "id_lexicon . "\">" . $aux_lexicon_vector[$index]->name . ""; + $vetorAux[$index] = $link; + $text = preg_replace($regex, "$1wzzxkkxy" . $index . "$3", $text); + $index++; + } + + $index2 = 0; + + while ($index2 < count($vetorAux)){ + + $linkLexico = ( $vetorAux[$index2] ); + $regex = "/(\s|\b)(wzzxkkxy" . $index2 . ")(\s|\b)/i"; + $text = preg_replace($regex, "$1" . $linkLexico . "$3", $text); + $index2++; + } + + + // Adiciona os links para cen�rios no texto + + $index = 0; + $vetorAuxCen = array(); + + while ($index < count($aux_scenarios_vector)){ + + $title_scenarios = escape_metacharacter($aux_scenarios_vector[$index]->title); + $regex = "/(\s|\b)(" . $title_scenarios . ")(\s|\b)/i"; + $link = "$1id_scenario . "\">" . $aux_scenarios_vector[$index]->title . "$3"; + $vetorAuxCen[$index] = $link; + $text = preg_replace($regex, "$1wzzxkkxyy" . $index . "$3", $text); + $index++; + + } + + + $index2 = 0; + + while ($index2 < count($vetorAuxCen)){ + + $linkCenario = ( $vetorAuxCen[$index2] ); + $regex = "/(\s|\b)(wzzxkkxyy" . $index2 . ")(\s|\b)/i"; + $text = preg_replace($regex, "$1" . $linkCenario . "$3", $text); + $index2++; + + } + + return $text; +} +?> + diff --git a/cel/aplicacao/recuperaDAML.php b/cel/aplicacao/recuperaDAML.php index 7d861482..d6d6dbc4 100644 --- a/cel/aplicacao/recuperaDAML.php +++ b/cel/aplicacao/recuperaDAML.php @@ -15,47 +15,47 @@ Comentário: Este programa lista todos os arquivos DAML gerados em $_SESSION['diretorio'] */ - function extrair_data( $nome_arquivo ) + function extract_date ($name_file ) { - list($projeto, $resto) = split("__", $nome_arquivo); - list($dia, $mes, $ano, $hora, $minuto, $segundo, $extensao) = split('[_-.]', $resto); + list($project, $rest) = split("__", $name_file); + list($day, $month, $year, $hour, $minute, $second, $extension) = split('[_-.]', $rest); - if( !is_numeric($dia) || !is_numeric($mes) || !is_numeric($ano) || !is_numeric($hora) || !is_numeric($minuto) || !is_numeric($segundo) ) + if( !is_numeric($day) || !is_numeric($month) || !is_numeric($year) || !is_numeric($hour) || !is_numeric($minute) || !is_numeric($second) ) return "-"; - $mes_por_extenso = "-"; - switch( $mes ) + $months_spelled = "-"; + switch( $month ) { - case 1: $mes_por_extenso = "janeiro"; break; - case 2: $mes_por_extenso = "fevereiro"; break; - case 3: $mes_por_extenso = "março"; break; - case 4: $mes_por_extenso = "abril"; break; - case 5: $mes_por_extenso = "maio"; break; - case 6: $mes_por_extenso = "junho"; break; - case 7: $mes_por_extenso = "julho"; break; - case 8: $mes_por_extenso = "agosto"; break; - case 9: $mes_por_extenso = "setembro"; break; - case 10: $mes_por_extenso = "outubro"; break; - case 11: $mes_por_extenso = "novembro"; break; - case 12: $mes_por_extenso = "dezembro"; break; + case 1: $months_spelled = "janeiro"; break; + case 2: $months_spelled = "fevereiro"; break; + case 3: $months_spelled = "março"; break; + case 4: $months_spelled = "abril"; break; + case 5: $months_spelled = "maio"; break; + case 6: $months_spelled = "junho"; break; + case 7: $months_spelled = "julho"; break; + case 8: $months_spelled = "agosto"; break; + case 9: $months_spelled = "setembro"; break; + case 10: $months_spelled = "outubro"; break; + case 11: $months_spelled = "novembro"; break; + case 12: $months_spelled = "dezembro"; break; } - return $dia . " de " . $mes_por_extenso . " de " . $ano . " às " . $hora . ":" . $minuto . "." . $segundo . "\n"; + return $day . " de " . $months_spelled . " de " . $year . " às " . $hour . ":" . $minute . "." . $second . "\n"; } - function extrair_projeto( $nome_arquivo ) + function extract_project( $nome_arquivo ) { - list($projeto) = split("__", $nome_arquivo); - return $projeto; + list($project) = split("__", $name_file); + return $project; } - $diretorio = $_SESSION['diretorio']; + $directory = $_SESSION['diretorio']; $site = $_SESSION['site']; - if( $diretorio == "" ) + if( $directory == "" ) { - // $diretorio = "teste"; - $diretorio = CELConfig_ReadVar("DAML_dir_relativo_ao_CEL") ; + // $directory = "teste"; + $directory = CELConfig_ReadVar("DAML_dir_relativo_ao_CEL") ; } if( $site == "" ) @@ -71,16 +71,16 @@ function extrair_projeto( $nome_arquivo ) /* Monta a tabela de arquivos DAML */ print( "
\n") ; print( "\n\t\n\t\n\n" ); - if ( $dir_handle = @opendir( $diretorio ) ) + if ( $dir_handle = @opendir( $directory ) ) { - while ( ( $arquivo = readdir($dir_handle) ) !== false ) + while ( ( $file = read_directory($dir_handle) ) !== false ) { - if ( is_file( $diretorio . "/" . $arquivo ) && $arquivo != "." && $arquivo != ".." ) + if ( is_file( $directory . "/" . $file ) && $file != "." && $file != ".." ) { print( "\n" ); - print( "\t\n" ); - print( "\t\n" ); - print( "\t\n" ); + print( "\t\n" ); + print( "\t\n" ); + print( "\t\n" ); print( "\n" ); } } diff --git a/cel/aplicacao/recuperarXML.php b/cel/aplicacao/recuperarXML.php index ff18273f..3b34929e 100644 --- a/cel/aplicacao/recuperarXML.php +++ b/cel/aplicacao/recuperarXML.php @@ -3,9 +3,10 @@ session_start(); include("funcoes_genericas.php"); +require_once '/Functions/check_User.php'; include("httprequest.inc"); -chkUser("index.php"); // Checa se o usuario foi autenticado +check_User("index.php"); $XML = ""; @@ -19,43 +20,48 @@ +

Recupera XML/XSL


+ +
ProjetoGerado em
" . extrair_projeto( $arquivo ) . "" . extrair_data( $arquivo ) . "[Abrir]" . extract_project( $file ) . "" . extract_date( $file) . "[Abrir]
- - - - + + + + @@ -67,7 +73,7 @@ ?> -
Veja o código fonte! +
Veja o c�digo fonte! diff --git a/cel/aplicacao/rel_usuario.php b/cel/aplicacao/rel_usuario.php deleted file mode 100644 index 9282bf3b..00000000 --- a/cel/aplicacao/rel_usuario.php +++ /dev/null @@ -1,214 +0,0 @@ - - for ($i = 0; $i < $n_sel; $i++) { - // Para cada usuario selecionado - $q = "INSERT INTO participa (id_usuario, id_projeto) - VALUES (" . $usuarios[$i] . ", " . $_SESSION['id_projeto_corrente'] . ")"; - mysql_query($q) or die("Erro ao cadastrar usuario"); - } -?> - - - - - - - - Selecione os usuários - - - - - -

Selecione os usuários para participar do projeto "":

-

Mantenha CTRL pressionado para selecionar múltiplas opções

- -
Versão:Data:XMLApaga XMLVers�o:Data:XMLApaga XML
- - - - - - - - - - - - - - - - - - - -
Participantes:
- - - - - -
- -
- -
Veja o código fonte! - - - - diff --git a/cel/aplicacao/remove_project.php b/cel/aplicacao/remove_project.php new file mode 100644 index 00000000..ce453877 --- /dev/null +++ b/cel/aplicacao/remove_project.php @@ -0,0 +1,72 @@ + + + + Remover Projeto + + 0); + assert($id_user != NULL); + assert($id_user > 0); + + $connect = bd_connect() or die("Erro ao conectar ao SGBD"); + $query_select_sql = "SELECT * FROM project WHERE id_project = '$id_project' "; + $query_result_sql = mysql_query($query_select_sql) or die("Erro ao enviar a query de select no projeto"); + $resultArrayProject = mysql_fetch_array($query_result_sql); + $project_Name = $resultArrayProject[1]; + $data_Project = $resultArrayProject[2]; + $project_Description= $resultArrayProject[3]; + + + +?> + +

Remover Projeto:

+ +


+

+ + + + + + + + + + + +
Nome do Projeto:Data de criaçãoDescrição
+

+
Cuidado!O projeto será apagado para todos seus usuários!
+


+

Apagar o projeto
+

+

+ Veja o código fonte! +

+ + + diff --git a/cel/aplicacao/remove_project_base.php b/cel/aplicacao/remove_project_base.php new file mode 100644 index 00000000..9bb64499 --- /dev/null +++ b/cel/aplicacao/remove_project_base.php @@ -0,0 +1,50 @@ + 0); + + removeProject($id_project); +?> + + + + Remover Projeto + + + +
Projeto apagado com sucesso.
+

+ Clique aqui para Sair +

+

+ Veja o código fonte! +

+ + + diff --git a/cel/aplicacao/remove_projeto.php b/cel/aplicacao/remove_projeto.php deleted file mode 100644 index a567156e..00000000 --- a/cel/aplicacao/remove_projeto.php +++ /dev/null @@ -1,70 +0,0 @@ - - - - Remover Projeto - - - -

Remover Projeto:

- -


-

- - - - - - - - - - - -
Nome do Projeto:Data de criaçãoDescrição
-

-
Cuidado!O projeto será apagado para todos seus usuários!
-


-

Apagar o projeto
-

-

- Veja o código fonte! -

- - - diff --git a/cel/aplicacao/remove_projeto_base.php b/cel/aplicacao/remove_projeto_base.php deleted file mode 100644 index 1def5de0..00000000 --- a/cel/aplicacao/remove_projeto_base.php +++ /dev/null @@ -1,45 +0,0 @@ - - - - - Remover Projeto - - - -
Projeto apagado com sucesso.
-

- Clique aqui para Sair -

-

- Veja o código fonte! -

- - - diff --git a/cel/aplicacao/resets_Types.php b/cel/aplicacao/resets_Types.php new file mode 100644 index 00000000..254071cb --- /dev/null +++ b/cel/aplicacao/resets_Types.php @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/cel/aplicacao/rmv_cenario.php b/cel/aplicacao/rmv_cenario.php deleted file mode 100644 index 02e57c26..00000000 --- a/cel/aplicacao/rmv_cenario.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - diff --git a/cel/aplicacao/rmv_conceito.php b/cel/aplicacao/rmv_conceito.php deleted file mode 100644 index fff69be8..00000000 --- a/cel/aplicacao/rmv_conceito.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - diff --git a/cel/aplicacao/rmv_lexico.php b/cel/aplicacao/rmv_lexico.php deleted file mode 100644 index f49cbe9a..00000000 --- a/cel/aplicacao/rmv_lexico.php +++ /dev/null @@ -1,44 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - diff --git a/cel/aplicacao/rmv_relacao.php b/cel/aplicacao/rmv_relacao.php deleted file mode 100644 index 1c02192b..00000000 --- a/cel/aplicacao/rmv_relacao.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - -

Operação efetuada com sucesso!

- - diff --git a/cel/aplicacao/scrip_bd2.php b/cel/aplicacao/scrip_bd2.php deleted file mode 100644 index 46ab3cce..00000000 --- a/cel/aplicacao/scrip_bd2.php +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - -"; -else - echo "ERRO NA CONEXÃO À BD
"; - - - -//$filename = "teste.txt"; - - /* -if (!$handle = fopen($filename, 'w')) -{ - print "Nao foi possível abrir o arquivo !!!($filename)"; - exit; -} - - -while($line = mysql_fetch_array($result, MYSQL_ASSOC)) -{ -// $id_impacto = $line['id_impacto']; - $id_lexico = $line['id_lexico']; - $impacto = $line['impacto']; - - if (!fwrite($handle, "@\r\n$id_lexico\r\n")) - { - print "Cannot write to file ($filename)"; - exit; - } - - if (!fwrite($handle, "$impacto\r\n")) - { - print "Cannot write to file ($filename)"; - exit; - } - -} - -fclose($handle);*/ - -/* -mysql_query("delete from impacto;"); - -$lines = file ("teste.txt"); - -$pegar_id = "FALSE"; -$id_lexico = 0; - -foreach ($lines as $line_num => $line) -{ - - if($line[0] == '@') - { - $pegar_id = 1; - continue; - } - if($pegar_id) - { - $id = sscanf($line,"%d"); - $id_lexico = $id[0]; - $pegar_id = 0; - continue; - } - - //$aux = sscanf($line,"%s"); - //$impacto = $aux[0]; - $query = "insert into impacto (id_lexico, impacto) values ('$id_lexico', '$line');"; - $result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error());; -} - -$query = "select * from impacto;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error()); - -$result2 = mysql_num_rows($result); - - -$query = "select * from impacto order by id_lexico;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error()); -$result2 = mysql_num_rows($result); -print "
TOTAL DE IMPACTOS: "; -print $result2; -print "

"; - -echo "LISTA DE IMPACTOS
"; - -while($line = mysql_fetch_array($result, MYSQL_ASSOC)) -{ - $id_impacto = $line['id_impacto']; - $id_lexico = $line['id_lexico']; - $impacto = $line['impacto']; - print "$id_impacto $id_lexico $impacto
"; - //print "$impacto

"; -} - -*/ -/* -$query = "alter table conceito drop pai;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - -$query = "create table hierarquia (id_hierarquia int(11) not null AUTO_INCREMENT, - id_projeto int(11) not null , - id_conceito int(11) not null , - id_subconceito int(11) not null , - primary key(id_hierarquia, id_projeto, id_conceito, id_subconceito) - );"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - */ - /* -$query = "alter table algoritmo add id_projeto int default 30"; -$result = mysql_query($query) or die("A criação de id_projeto falhou : " . mysql_error() . __LINE__); - -$query = "alter table algoritmo add constraint fk_id_projeto foreign key (id_projeto) references projeto(id_projeto);" ; -$result = mysql_query($query) or die("A criação de id_projeto falhou : " . mysql_error() . __LINE__); -*/ - -$query = "alter table conceito add namespace varchar(250) NULL after descricao;"; -$result = mysql_query($query) or die("A consulta à BD falhou : " . mysql_error() . __LINE__); - - -echo "
FIM !!!"; - - -mysql_close($link); - -?> - - - - - \ No newline at end of file diff --git a/cel/aplicacao/security.php b/cel/aplicacao/security.php new file mode 100644 index 00000000..348a4161 --- /dev/null +++ b/cel/aplicacao/security.php @@ -0,0 +1,34 @@ + diff --git a/cel/aplicacao/see_Concept_Request b/cel/aplicacao/see_Concept_Request new file mode 100644 index 00000000..df9e7242 --- /dev/null +++ b/cel/aplicacao/see_Concept_Request @@ -0,0 +1,165 @@ +execute("update pedidocon set aproved= 1 where id_request = $orders[$count]"); + treat_request_concept($orders[$count]); + } + for ($count = 0; $count < sizeof($remove); $count++) { + $delete->execute("delete from pedidocon where id_request = $remove[$count]"); + } + ?> + + + +

Opera��o efetuada com sucesso!

+ + + + + + Pedidos de altera��o dos Conceitos + + +

Pedidos de Altera��o no Conjunto de Conceitos

+
+ + execute("SELECT * FROM pedidocon WHERE id_project = $id_project"); + if ($select->getntuples() == 0) { + + echo "
Nenhum pedido.
"; + + + } else { + + $i = 0; + $record = $select->gofirst(); + + while ($record != 'LAST_RECORD_REACHED') { + + $id_user = $record['id_user']; + $id_request = $record['id_request']; + $order_type = $record['order_type']; + $aproved = $record['aproved']; + + assert($id_user != NULL); + assert($id_request != NULL); + assert($order_type != NULL); + assert($aproved != NULL); + + assert(is_int($id_user)); + assert(is_int($id_request)); + + + $select2->execute("SELECT * FROM user WHERE id_user = $id_user"); + $user = $select2->gofirst(); + + if (strcasecmp($order_type, 'remover')) { + + ?> + +
+

O usu�rio pede para o conceito "; + } else { + echo"

"; + } ?> + + + + + + + + + + + + + + + +
Nome:
Descri��o:
Namespace:
Justificativa:
+ +

O usu�rio pede para o conceito

+ Aprovado "; + } else { + echo "Aprovar"; + echo "Rejeitar"; + } + echo "
\n

\n"; + $record = $select->gonext(); + } + } + ?> + +
+
Veja o c�digo fonte! + + + + diff --git a/cel/aplicacao/see_Lexicon_Request b/cel/aplicacao/see_Lexicon_Request new file mode 100644 index 00000000..f2562bc4 --- /dev/null +++ b/cel/aplicacao/see_Lexicon_Request @@ -0,0 +1,186 @@ +execute("update request_lexicon set aproved= 1 where id_request = '$orders[$count]'"); + tratarPedidoLexico($orders[$count]); + } + + for ($count = 0; $count < sizeof($remove); $count++) { + + $delete->execute("delete from pedidolex where id_pedido = '$remove[$count]'"); + $delete->execute("delete from sinonimo where id_pedidolex = '$remove[$count]'"); + } + ?> + + +

Operação efetuada com sucesso!

+ + + + + Pedido Léxico + + +

Pedidos de Alteração no Léxico

+
+ + execute("SELECT * FROM request_lexicon where id_project = '$id_project'"); + + if ($select->getntuples() == 0) { + + echo "
Nenhum pedido.
"; + + } else { + + $i = 0; + + $record = $select->gofirst(); + while ($record != 'LAST_RECORD_REACHED') { + + $id_user = $record['id_user']; + $id_request = $record['id_request']; + $order_type = $record['type_request']; + $aproved = $record['aproved']; + + assert($id_user !=NULL); + assert($id_request !=NULL); + assert($order_type !=NULL); + assert($aproved !=NULL); + + //Catches the synonyms + $select3->execute("SELECT name FROM synonym WHERE id_request_lexicon = '$id_request'"); + + $select2->execute("SELECT * FROM user WHERE id_user = '$id_user'"); + $user = $select2->gofirst(); + + if (strcasecmp($order_type, 'remover')) { + ?> +

O usuáio pede para o léxico "; + } else { + echo"

"; + } ?> + + + + + + + + + + + + + + + + + + + + + + + + + +
Nome:
Noção:
Impacto:
Sinônimos: + gofirst(); + $strSinonimos = ""; + while ($sinonimo != 'LAST_RECORD_REACHED') { + //echo($sinonimo["nome"] . ", "); + $strSinonimos = $strSinonimos . $sinonimo["nome"] . ", "; + $sinonimo = $select3->gonext(); + } + + echo(substr($strSinonimos, 0, strrpos($strSinonimos, ","))); + ?> +
Justificativa:
+ +

O usu�rio pede para o léxico

+ Aprovado]
"; + } else { + echo "[ Aprovar]
"; +// echo "Rejeitar" ; + } + echo "[ Remover da lista]"; + print( "
\n

\n"); + $record = $select->gonext(); + } + } + ?> + +
+
Veja o código fonte! + + + + + + diff --git a/cel/aplicacao/see_Relation_Request.php b/cel/aplicacao/see_Relation_Request.php new file mode 100644 index 00000000..da8ff427 --- /dev/null +++ b/cel/aplicacao/see_Relation_Request.php @@ -0,0 +1,126 @@ +execute("update pedidorel set aprovado= 1 where id_pedido = $orders[$count]") ; + tratarPedidoRelacao($orders[$count]) ; + } + for($count = 0; $count < sizeof($remove); $count++) + { + $delete->execute("delete from pedidorel where id_pedido = $remove[$count]") ; + } +?> + + + +

Opera��o efetuada com sucesso!

+ + + + + + Pedidos de altera��o das Rela�oes + + +

Pedidos de Altera��o no Conjunto de Rela��es

+
+ +execute("SELECT * FROM request_relation WHERE id_project = $id_project") ; + if ($select->getntuples() == 0){ + echo "
Nenhum pedido.
" ; + }else{ + $i = 0 ; + $record = $select->gofirst () ; + + while($record != 'LAST_RECORD_REACHED'){ + + $id_user = $record['id_user'] ; + $id_request = $record['id_request'] ; + $order_type = $record['order_type'] ; + $aproved = $record['aproved'] ; + + assert($id_user != NULL); + assert($id_request != NULL); + assert($order_type != NULL); + assert($aproved != NULL); + + assert(is_int($id_user)); + assert(is_int($id_request)); + + $select2->execute("SELECT * FROM usuario WHERE id_user = $id_user") ; + $user = $select2->gofirst () ; + if(strcasecmp($order_type,'remover')){?> + +
+

O usu�rio pede para a rela��o " ;}else{echo"

" ;}?> + + + + + + + +
Nome:
Justificativa:
+ +

O usu�rio pede para a rela��o

+Aprovado]
"; + } else + { + echo "[ Aprovar]
" ; +// echo "Rejeitar" ; + } + echo "[ Remover da lista]" ; + print( "
\n

\n") ; + $record = $select->gonext () ; + } + } +?> + +
+
Veja o c�digo fonte! + + + + diff --git a/cel/aplicacao/see_Scenario_Request.php b/cel/aplicacao/see_Scenario_Request.php new file mode 100644 index 00000000..973e1995 --- /dev/null +++ b/cel/aplicacao/see_Scenario_Request.php @@ -0,0 +1,193 @@ +execute("update request_scenario set aproved= 1 where id_request = $request[$count]"); + tratarPedidoCenario($request[$count]); + + } + + + for ($count = 0; $count < sizeof($remove); $count++) { + + $delete->execute("delete from request_scenario where id_request = $remove[$count]"); + + } + ?> + + + +

Operação efetuada com sucesso!

+ + + + + + Pedidos de alteração dos Cenários + + +

Pedidos de Alteração no Conjunto de Cenários

+
+ + execute("SELECT * FROM request_scenario WHERE id_project = '$id_project'"); + + + if ($select->getntuples() == 0) { + + echo "
Nenhum pedido.
"; + + } else { + + $i = 0; + $record = $select->gofirst(); + + while ($record != 'LAST_RECORD_REACHED') { + + $id_user = $record['id_user']; + $id_order = $record['id_request']; + $type_request = $record['type_request']; + $aproved = $record['aproved']; + + assert($id_user != NULL); + assert($id_order != NULL); + assert($type_request != NULL); + assert($aproved != NULL); + + $select2->execute("SELECT * FROM user WHERE id_user = $id_user"); + $user = $select2->gofirst(); + + if (strcasecmp($type_request, 'remover')) { + + ?> + +
+

O usuário pede para o cenário "; + + } else { + + echo"

"; + + } ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Título:
Objetivo:
Contexto:
Atores:
Recursos:
Exceçãoo:
Episódios:
Justificativa:
+ +

O usuário pede para o cenário

+ Aprovado]
"; + } else { + echo "[ Aprovar]
"; +// echo "Rejeitar" ; + } + echo "[ Remover da lista]"; + print( "
\n

\n"); + $record = $select->gonext(); + } + } + ?> + +
+
Veja o código fonte! + + + + diff --git a/cel/aplicacao/seguranca.php b/cel/aplicacao/seguranca.php deleted file mode 100644 index cc8db849..00000000 --- a/cel/aplicacao/seguranca.php +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/cel/aplicacao/send_password.php b/cel/aplicacao/send_password.php new file mode 100644 index 00000000..6592740c --- /dev/null +++ b/cel/aplicacao/send_password.php @@ -0,0 +1,75 @@ + + + + +Enviar senha + + + + + +

Login inexistente!

+
Voltar
+ +

Uma nova senha foi criada e enviada para seu e-mail cadastrado.

+
Voltar
+ +

Ocorreu um erro durante o envio do e-mail!

+
Voltar
+ + + + + diff --git a/cel/aplicacao/showSource.php b/cel/aplicacao/showSource.php index cf581fbb..c237726e 100644 --- a/cel/aplicacao/showSource.php +++ b/cel/aplicacao/showSource.php @@ -1,5 +1,13 @@ diff --git a/cel/aplicacao/show_Source.php b/cel/aplicacao/show_Source.php new file mode 100644 index 00000000..c237726e --- /dev/null +++ b/cel/aplicacao/show_Source.php @@ -0,0 +1,18 @@ +"; + +} + +?> diff --git a/cel/aplicacao/structures.php b/cel/aplicacao/structures.php new file mode 100644 index 00000000..d8688cd4 --- /dev/null +++ b/cel/aplicacao/structures.php @@ -0,0 +1,51 @@ +name = $name_Parameter; + $this->descrition = $descrition_Parameter; + $this->relations = array(); + $this->subConception = array(); + $this->namespace = ""; + } +} + +class relacao_entre_conceitos +{ + var $predicate; + var $verb; + + function relacao_entre_conceitos($parameter_Predicate, $parameter_Verv){ + $this->predicade[] = $parameter_Predicate; + $this->verb = $parameter_Verv; + } +} + +class termo_do_lexico +{ + var $name = null; + var $nocao = null; + var $impact = null; + + function termo_do_lexico($name_Parameter_Term, $notion_Parameter, + $impact_Parameter){ + $this->nome = $name_Parameter_Term; + $this->nocao = $notion_Parameter; + $this->impact = $impact_Parameter; + } +} + +?> \ No newline at end of file diff --git a/cel/aplicacao/teste_daml.php b/cel/aplicacao/test_Daml.php similarity index 78% rename from cel/aplicacao/teste_daml.php rename to cel/aplicacao/test_Daml.php index 00bf8ac8..6dcac14a 100644 --- a/cel/aplicacao/teste_daml.php +++ b/cel/aplicacao/test_Daml.php @@ -1,7 +1,11 @@ "Ontologia de teste" , "creator" => "Pedro" , - "description" => "teste de tradução de léxico para ontologia" , + "description" => "teste de tradu��o de l�xico para ontologia" , "subject" => "" , "versionInfo" => "1.1" ) ; diff --git a/cel/aplicacao/updUser.php b/cel/aplicacao/updUser.php deleted file mode 100644 index 4a3d2586..00000000 --- a/cel/aplicacao/updUser.php +++ /dev/null @@ -1,49 +0,0 @@ - - - - - Alterar dados de Usuário - - - - - - -Erro!Login ja existente!



Voltar
"); - -?> - -
Cadastro atualizado com sucesso!
-
- - - - \ No newline at end of file diff --git a/cel/aplicacao/updateUser.php b/cel/aplicacao/updateUser.php new file mode 100644 index 00000000..4f34d639 --- /dev/null +++ b/cel/aplicacao/updateUser.php @@ -0,0 +1,56 @@ + + + + + Alterar dados de Usuário + + + + + + +Erro!Login ja existente!



Voltar
"); + +?> + +
Cadastro atualizado com sucesso!
+
+ + + + \ No newline at end of file diff --git a/cel/aplicacao/update_User.php b/cel/aplicacao/update_User.php new file mode 100644 index 00000000..4f34d639 --- /dev/null +++ b/cel/aplicacao/update_User.php @@ -0,0 +1,56 @@ + + + + + Alterar dados de Usuário + + + + + + +Erro!Login ja existente!



Voltar
"); + +?> + +
Cadastro atualizado com sucesso!
+
+ + + + \ No newline at end of file diff --git a/cel/aplicacao/ver_pedido_cenario.php b/cel/aplicacao/ver_pedido_cenario.php deleted file mode 100644 index 9a13eb6a..00000000 --- a/cel/aplicacao/ver_pedido_cenario.php +++ /dev/null @@ -1,152 +0,0 @@ -execute("update pedidocen set aprovado= 1 where id_pedido = $pedidos[$count]") ; - tratarPedidoCenario($pedidos[$count]) ; - } - for($count = 0; $count < sizeof($remover); $count++) - { - $delete->execute("delete from pedidocen where id_pedido = $remover[$count]") ; - } -?> - - - -

Operação efetuada com sucesso!

- - - - - - Pedidos de alteração dos Cenários - - -

Pedidos de Alteração no Conjunto de Cenários

-
- -execute("SELECT * FROM pedidocen WHERE id_projeto = $id_projeto") ; - if ($select->getntuples() == 0){ - echo "
Nenhum pedido.
" ; - }else{ - $i = 0 ; - $record = $select->gofirst () ; - while($record != 'LAST_RECORD_REACHED'){ - $id_usuario = $record['id_usuario'] ; - $id_pedido = $record['id_pedido'] ; - $tipo_pedido = $record['tipo_pedido'] ; - $aprovado = $record['aprovado'] ; - $select2->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $usuario = $select2->gofirst () ; - if(strcasecmp($tipo_pedido,'remover')){?> - -
-

O usuário pede para o cenário " ;}else{echo"

" ;}?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Título:
Objetivo:
Contexto:
Atores:
Recursos:
Exceção:
Episódios:
Justificativa:
- -

O usuário pede para o cenário

-Aprovado]
"; - } else - { - echo "[ Aprovar]
" ; -// echo "Rejeitar" ; - } - echo "[ Remover da lista]" ; - print( "
\n

\n") ; - $record = $select->gonext () ; - } - } -?> - -
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/ver_pedido_conceito.php b/cel/aplicacao/ver_pedido_conceito.php deleted file mode 100644 index d02bfd32..00000000 --- a/cel/aplicacao/ver_pedido_conceito.php +++ /dev/null @@ -1,133 +0,0 @@ -execute("update pedidocon set aprovado= 1 where id_pedido = $pedidos[$count]") ; - tratarPedidoConceito($pedidos[$count]) ; - } - for($count = 0; $count < sizeof($remover); $count++) - { - $delete->execute("delete from pedidocon where id_pedido = $remover[$count]") ; - } -?> - - - -

Operação efetuada com sucesso!

- - - - - - Pedidos de alteração dos Conceitos - - -

Pedidos de Alteração no Conjunto de Conceitos

-
- -execute("SELECT * FROM pedidocon WHERE id_projeto = $id_projeto") ; - if ($select->getntuples() == 0){ - echo "
Nenhum pedido.
" ; - }else{ - $i = 0 ; - $record = $select->gofirst () ; - while($record != 'LAST_RECORD_REACHED'){ - $id_usuario = $record['id_usuario'] ; - $id_pedido = $record['id_pedido'] ; - $tipo_pedido = $record['tipo_pedido'] ; - $aprovado = $record['aprovado'] ; - $select2->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $usuario = $select2->gofirst () ; - if(strcasecmp($tipo_pedido,'remover')){?> - -
-

O usuário pede para o conceito " ;}else{echo"

" ;}?> - - - - - - - - - - - - - - - -
Nome:
Descrição:
Namespace:
Justificativa:
- -

O usuário pede para o conceito

-Aprovado "; - }else{ - echo "Aprovar" ; - echo "Rejeitar"; - } - echo "
\n

\n" ; - $record = $select->gonext () ; - } - } -?> - -
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/ver_pedido_lexico.php b/cel/aplicacao/ver_pedido_lexico.php deleted file mode 100644 index 29a9d6e7..00000000 --- a/cel/aplicacao/ver_pedido_lexico.php +++ /dev/null @@ -1,163 +0,0 @@ -execute("update pedidolex set aprovado= 1 where id_pedido = $pedidos[$count]") ; - tratarPedidoLexico($pedidos[$count]); - - } - for($count = 0; $count < sizeof($remover); $count++) - { - $delete->execute("delete from pedidolex where id_pedido = $remover[$count]") ; - $delete->execute("delete from sinonimo where id_pedidolex = $remover[$count]") ; - } -?> - - -

Operação efetuada com sucesso!

- - - - - Pedido Léxico - - -

Pedidos de Alteração no Léxico

-
- -execute("SELECT * FROM pedidolex where id_projeto = $id_projeto") ; - if ($select->getntuples() == 0){ - echo "
Nenhum pedido.
" ; - }else{ - $i = 0 ; - $record = $select->gofirst () ; - while($record != 'LAST_RECORD_REACHED'){ - $id_usuario = $record['id_usuario'] ; - $id_pedido = $record['id_pedido'] ; - $tipo_pedido = $record['tipo_pedido'] ; - $aprovado = $record['aprovado'] ; - - //pega sinonimos - $select3->execute("SELECT nome FROM sinonimo WHERE id_pedidolex = $id_pedido"); - - $select2->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $usuario = $select2->gofirst () ; - if(strcasecmp($tipo_pedido,'remover')){?> -

O usuário pede para o léxico " ;}else{echo"

" ;}?> - - - - - - - - - - - - - - - - - - - - - - - - - -
Nome:
Noção:
Impacto:
Sinônimos: - gofirst(); - $strSinonimos = ""; - while($sinonimo != 'LAST_RECORD_REACHED'){ - //echo($sinonimo["nome"] . ", "); - $strSinonimos = $strSinonimos . $sinonimo["nome"] . ", "; - $sinonimo = $select3->gonext(); - } - - echo(substr($strSinonimos, 0, strrpos($strSinonimos, ","))); - ?> -
Justificativa:
- -

O usuário pede para o léxico

- Aprovado]
"; - } else - { - echo "[ Aprovar]
" ; -// echo "Rejeitar" ; - } - echo "[ Remover da lista]" ; - print( "
\n

\n") ; - $record = $select->gonext () ; - } - }?> - -
-
Veja o código fonte! - - - - - - diff --git a/cel/aplicacao/ver_pedido_relacao.php b/cel/aplicacao/ver_pedido_relacao.php deleted file mode 100644 index f8eca1cb..00000000 --- a/cel/aplicacao/ver_pedido_relacao.php +++ /dev/null @@ -1,129 +0,0 @@ -execute("update pedidorel set aprovado= 1 where id_pedido = $pedidos[$count]") ; - tratarPedidoRelacao($pedidos[$count]) ; - } - for($count = 0; $count < sizeof($remover); $count++) - { - $delete->execute("delete from pedidorel where id_pedido = $remover[$count]") ; - } -?> - - - -

Operação efetuada com sucesso!

- - - - - - Pedidos de alteração das Relaçoes - - -

Pedidos de Alteração no Conjunto de Relações

-
- -execute("SELECT * FROM pedidorel WHERE id_projeto = $id_projeto") ; - if ($select->getntuples() == 0){ - echo "
Nenhum pedido.
" ; - }else{ - $i = 0 ; - $record = $select->gofirst () ; - - while($record != 'LAST_RECORD_REACHED'){ - $id_usuario = $record['id_usuario'] ; - $id_pedido = $record['id_pedido'] ; - $tipo_pedido = $record['tipo_pedido'] ; - $aprovado = $record['aprovado'] ; - $select2->execute("SELECT * FROM usuario WHERE id_usuario = $id_usuario") ; - $usuario = $select2->gofirst () ; - if(strcasecmp($tipo_pedido,'remover')){?> - -
-

O usuário pede para a relação " ;}else{echo"

" ;}?> - - - - - - - -
Nome:
Justificativa:
- -

O usuário pede para a relação

-Aprovado]
"; - } else - { - echo "[ Aprovar]
" ; -// echo "Rejeitar" ; - } - echo "[ Remover da lista]" ; - print( "
\n

\n") ; - $record = $select->gonext () ; - } - } -?> - -
-
Veja o código fonte! - - - - diff --git a/cel/aplicacao/zera_tipos.php b/cel/aplicacao/zera_tipos.php deleted file mode 100644 index 1daf03a2..00000000 --- a/cel/aplicacao/zera_tipos.php +++ /dev/null @@ -1,13 +0,0 @@ - \ No newline at end of file diff --git a/design_pattern.txt b/design_pattern.txt new file mode 100644 index 00000000..a057ce50 --- /dev/null +++ b/design_pattern.txt @@ -0,0 +1,167 @@ +************************************************************************** +* * +* C&L * +* "Cenário & Léxicos" * +* * +* Was initially developed as an academic and now evolves into a Free * +* Software project. The project is from the Group on Requirements * +* Engineering, from PUC-RIO. * +* * +* The goal of this project is to study and analyze software evolution * +* techniques through a practical experiment. * +* * +* The application used as an initial project to be 'evolved' * +* was a tool for editing and Lexicon Scenarios available in * +* feet http://springfield.genesis.puc-rio.br:81/ ~ /. * +* * +* This Document describes the desing patters adopted in this copy of the * +* project. The following team is responsible for adapting the project * +* and refactor the code: * +* * +* Ana Paula Vargas * +* Alex Cortes Alves * +* Fillipe Oliveira Feitosa * +* Wilker Mesquita * +* * +* Under the guidence of prof. Maurício Serrano, Universidade de Brasília * +* FGA * +* * +************************************************************************** + + +@ Adopted Patterns + +1. Language + + The language adopted for documentations, functions and variables + is the english. + +2. Style and Desing + + 2.1. Variables + Variables must be declared with a name that corresponds exactly + with its goals. If the variable must have two or more names, use + a underscore to separate them. The first word must initiate with + low case. + ex.: boolean check_User = false; + Obs.: For laces and loopes that need temporary variables, use i, + j, k, l and etc. + + 2.2.Identation + The identation must be use correctly in all files, classes, + funtions and all types os declarations. + +3. Clarity of Code + + Prioritize clarity rather than brevity. Keep the coding simple. + Do not make long functions. Use your good judgment and create + functions that can be self explanatory. + + +4. Static Analisys + + The software Static Analisys chosen for our project is RIPS, + Available at http://rips-scanner.sourceforge.net/ + + 4.1. Error and Warning + All errors and warnings generated in RIPS must be corretly fixed. + +5. Apache Warnings + + All warnings in apache must be activated, and must be corrected + to prevent malfunction. + +6. Return Values + + It is imperative that all return values be tested. + +7. Variables + + 7.1. Initializing Variavles + All variables must be initialized at declaration. Avoid Declaring + global variables and try to declared them the later possible. + + ex.: int user_Number = 3; + + 7.2. Declare constants + Whenever is possible and needed, use constants to values that will + not be changed. + + 7.3. Comments + When will not be cristal clear what a variable or a constant will do + create a small comment explaining its use and meaning. + +8. If´s and Switches + + 8.1. Default Behavior + When using If´s and switches, always configure the default behavior, + even if it is a condition that will break the program, or will fail + somehow. If nothing is going to happen, make it clear with a commentary. + + 8.2. If declaration and identation + Always use the open and close keys as the exemple above: + ex.: + + if("condition"){ + //some idented code here + } + + 8.3. Switch declaration and identation + Always use switch like showed as above, using break when needed: + + ex.: + + switch("parameter"){ + case 0: + //some idented code here + break; + + case 1: + //some idented code here + break; + + case 3: + //nothing to do here + break; + } + +9. Numeric Limits + + 9.1. Arrays + Always specify and check the numeric limits of an array, to add an + element, or to work with the array. + + 9.2. Unsined + DO NOT use unsigned variables. + +10. Assertives (Not Supported Yet) + + 10.1. Check Entries + Always check all the entries to all functions. Before execute the + function, test if the entries are really what they are expected, + including type, size and values. + + 10.2. Error Messages + If any kind of problem is find while checking the entry values, + create a message routine to the user, or finish the code exibition. + + +Brasília, DF. Brazil. + + + + + + + + + + + + + + + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 00000000..6f532801 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,8 @@ +include.path=${php.global.include.path} +php.version=PHP_54 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=true +test.src.dir=cel/aplicacao/Test +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 00000000..d97acb00 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + C-L + + + diff --git a/req2013.2FoF b/req2013.2FoF new file mode 100644 index 00000000..840f586a --- /dev/null +++ b/req2013.2FoF @@ -0,0 +1 @@ +git clone https://github.com/fillipefeitosa/C-L.git