public function detalhe($id = 1) { //print_r($_SERVER); $data['content'] = '<div class="detalhe">'; $data['breadcrumbs'][] = array('title' => 'Página principal', 'link' => ''); $data['breadcrumbs'][] = array('title' => 'Lista desaparecidos', 'link' => 'lista_desaparecidos'); $fields = array('nome', 'sexo', 'situacao', 'datadesaparecimento', 'fonte', 'estado', 'cidade'); $query = 'prefix DES: <' . get_schema() . '> select * where{ ?a DES:id "' . $id . '". '; foreach ($fields as $value) { $query .= '?a DES:' . $value . ' ?' . $value . '. '; } $query .= ' }'; $url = url_virtuoso() . '/sparql?default-graph-uri=' . urlencode(get_graph()) . '&query=' . urlencode($query) . '&' . urlencode('format=text/html') . '&debug=on&timeout='; $url_rdf = url_virtuoso() . '/sparql?default-graph-uri=' . urlencode(get_graph()) . '&query=' . urlencode($query) . '&' . urlencode('application/rdf+xml') . '&debug=on&timeout='; $str = file_get_contents($url); $xml = simplexml_load_string($str); if (sizeof($xml->results->result) == 0) { $data['title'] = 'Endereço inválido'; $data['content'] .= 'Nenhum registro encontrado para esta identificação.'; } foreach ($xml->results->result as $value) { $data['title'] = $value->binding[1]->literal; $data['content'] .= '<img class="img-desaparecido" src="' . base_url() . '/images/img-desaparecido.png" />'; $data['content'] .= '<a title="Download do RDF" href="' . $url_rdf . '"><img class="img-download-rdf" src="' . base_url() . '/images/rdf_icon.gif" /></a>'; $data['content'] .= '<div class="field"><label>Sexo: </label>' . $value->binding[2]->literal . '</div>'; $data['content'] .= '<div class="field"><label>Situação: </label>' . $value->binding[3]->literal . '</div>'; $data['content'] .= '<div class="field"><label>Data de desaparecimento: </label>' . $value->binding[4]->literal . '</div>'; $data['content'] .= '<div class="field"><label>Estado: </label>' . $value->binding[6]->literal . '</div>'; $data['content'] .= '<div class="field"><label>Cidade: </label>' . $value->binding[7]->literal . '</div>'; $data['content'] .= '<div class="field"><label>Fonte: </label><a href="' . $value->binding[5]->literal . '">' . $value->binding[5]->literal . '</a></div>'; } $data['content'] .= '</div>'; $this->load->view('tema/page', $data); }
public function detalhe($id = 0, $busca = '') { //Carrega a classe de consulta no virtuoso $this->load->library('virtuoso_query'); //Carrega a classe para gerar consultas sparql $this->load->library('sparql'); //Montando a consulta SPARQL $fields = array('foaf:name' => 'nome', 'foaf:nick' => 'apelido', 'foaf:birthday' => 'data_nascimento', 'foaf:gender' => 'sexo', 'foaf:img' => 'imagem', 'foaf:age' => 'idade', 'des:cityDes' => 'cidade', 'des:stateDes' => 'estado', 'dbpprop:height' => 'altura', 'dbpprop:weight' => 'peso', 'des:skin' => 'pele', 'dbpprop:hairColor' => 'cor_cabelo', 'dbpprop:eyeColor' => 'cor_olho', 'des:moreCharacteristics' => 'mais_caracteristicas', 'des:disappearanceDate' => 'data_desaparecimento', 'des:disappearancePlace' => 'local_desaparecimento', 'des:circumstanceLocation' => 'circunstancia_desaparecimento', 'des:dateLocation' => 'data_localizacao', 'des:additionalData' => 'dados_adicionais', 'des:status' => 'status', 'des:source' => 'fonte'); //Defini os prefixos que serão usados $this->sparql->prefix("foaf", "http://xmlns.com/foaf/0.1/"); $this->sparql->prefix("des", get_schema()); $this->sparql->prefix("dbpprop", "http://dbpedia.org/property/"); //Tripla quer será retornada - Está condição deve ser satisfeita para retornar um resultado $this->sparql->new_ptrn("?recurso des:id {$id}"); foreach ($fields as $key => $value) { $this->sparql->select("?{$value}"); $this->sparql->optional($this->sparql->new_ptrn("?recurso {$key} ?{$value}")); } //Ordena por nome $this->sparql->order("?nome"); //processa a consulta $query = $this->sparql->query(); //Carregando os dados para consulta no virtuoso // //////////////////////////Alterado///////////////////// $dados = new Constant(); $this->virtuoso_query->load_sparql_http($dados->DB_HOST); //http://localhost:8890/sparql/ //'http://172.18.40.9:10035/repositories/desaparecidos1' $this->virtuoso_query->load_graph(get_graph()); $this->virtuoso_query->load_query_sparql($query); //////////////////////////Alterado///////////////////// $this->virtuoso_query->load_format('application/sparql-results+json'); //application/json //Executa a query SPARQL $this->virtuoso_query->execute(); //Retorna o resultado no formato especificado //$obj_json = $this->virtuoso_query->get_result(); //Retorna como um objeto mais simples $data['id'] = trim($id); $data['link'] = site_url('access/busca_nome') . '/' . trim($busca); $data['desaparecido'] = $this->virtuoso_query->convert_json_to_simple_object(0); $this->load->view('addon/detalhe', $data); }
echo "</form>\n"; } } page_footer("db"); } if (isset($_GET["status"])) { $_GET["variables"] = $_GET["status"]; } if (isset($_GET["import"])) { $_GET["sql"] = $_GET["import"]; } if (!(DB != "" ? $connection->select_db(DB) : isset($_GET["sql"]) || isset($_GET["dump"]) || isset($_GET["database"]) || isset($_GET["processlist"]) || isset($_GET["privileges"]) || isset($_GET["user"]) || isset($_GET["variables"]) || $_GET["script"] == "connect" || $_GET["script"] == "kill")) { if (DB != "" || $_GET["refresh"]) { restart_session(); set_session("dbs", null); } connect_error(); // separate function to catch SQLite error exit; } if (support("scheme") && DB != "" && $_GET["ns"] !== "") { if (!isset($_GET["ns"])) { redirect(preg_replace('~ns=[^&]*&~', '', ME) . "ns=" . get_schema()); } if (!set_schema($_GET["ns"])) { header("HTTP/1.1 404 Not Found"); page_header(lang('Schema') . ": " . h($_GET["ns"]), lang('Invalid schema.'), true); page_footer("ns"); exit; } }
public function teste() { $result = new stdClass(); $result->error = 0; $texto = 'Leticia'; //Carrega a classe de consulta no virtuoso $this->load->library('virtuoso_query'); //Carrega a classe para gerar consultas sparql $this->load->library('sparql'); //Montando a consulta SPARQL //Defini os prefixos que serão usados $this->sparql->prefix("foaf", "http://xmlns.com/foaf/0.1/"); $this->sparql->prefix("des", get_schema()); $fields = array('foaf:name' => 'nome', 'foaf:nick' => 'apelido', 'foaf:birthday' => 'data_nascimento', 'foaf:gender' => 'sexo', 'foaf:img' => 'imagem', 'foaf:age' => 'idade', 'des:cityDes' => 'cidade', 'des:stateDes' => 'estado', 'dbpprop:height' => 'altura', 'dbpprop:weight' => 'peso', 'des:skin' => 'pele', 'dbpprop:hairColor' => 'cor_cabelo', 'dbpprop:eyeColor' => 'cor_olho', 'des:moreCharacteristics' => 'mais_caracteristicas', 'des:disappearanceDate' => 'data_desaparecimento', 'des:disappearancePlace' => 'local_desaparecimento', 'des:circumstanceLocation' => 'circunstancia_desaparecimento', 'des:dateLocation' => 'data_localizacao', 'des:additionalData' => 'dados_adicionais', 'des:status' => 'situacao', 'des:source' => 'fonte'); //Defini os campos quer serão exibidos $this->sparql->select("?id"); $this->sparql->select("?nome"); $this->sparql->select("?situacao"); $this->sparql->select("?sexo"); //Tripla quer será retornada - Está condição deve ser satisfeita para retornar um resultado $this->sparql->new_ptrn("?recurso des:id ?id"); //Condições opcionais foreach ($fields as $key => $value) { $this->sparql->optional($this->sparql->new_ptrn("?recurso {$key} ?{$value}")); } if ($texto != '') { $this->sparql->new_ptrn('FILTER ( ' . $texto . ' ) '); //$this->sparql->new_ptrn('FILTER regex(?nome, "a", "i")'); } //Ordena por nome $this->sparql->order("?nome"); //processa a consulta echo $this->sparql->query(); }
$result = query($sql, "Unable to set group auth access."); if ($db->sql_affectedrows($result) <= 0) { print "<font color=\"red\">Group creation failed. Aborting creation of groups...</font><br>\n"; continue 2; } print "<span class=\"ok\"><b>OK</b></span><br />\n"; } // Add user to the group $user_id = $row['user_id']; $sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)\n\t\t\t\t\tVALUES ({$group_id}, {$user_id}, 0)"; query($sql, "Unable to add user_id {$user_id} to group_id {$group_id} <br>\n"); } end_step('update_schema'); case 'update_schema': $rename = array($table_prefix . "users" => array("user_interests" => "user_intrest", "user_allowsmile" => "user_desmile", "user_allowhtml" => "user_html", "user_allowbbcode" => "user_bbcode", "user_style" => "user_theme"), $table_prefix . "privmsgs" => array("privmsgs_id" => "msg_id", "privmsgs_from_userid" => "from_userid", "privmsgs_to_userid" => "to_userid", "privmsgs_date" => "msg_time", "privmsgs_ip" => "poster_ip", "privmsgs_type" => "msg_status"), $table_prefix . "smilies" => array("smilies_id" => "id")); $schema = get_schema(); $table_def = $schema['table_def']; $field_def = $schema['field_def']; // Loop tables in schema while (list($table, $table_def) = @each($field_def)) { // Loop fields in table print " * Updating table '{$table}' :: "; flush(); $sql = "SHOW FIELDS \n\t\t\t\t\tFROM {$table}"; $result = query($sql, "Can't get definition of current {$table} table"); while ($row = $db->sql_fetchrow($result)) { $current_fields[] = $row['Field']; } $alter_sql = "ALTER TABLE {$table} "; while (list($field, $definition) = each($table_def)) { if ($field == '') {
function generate_sql(&$lineg, $dbms) { global $phpbb_root_path, $phpEx; $dbms_type_map = array('mysql_41' => array('INT:' => 'int(%d)', 'BINT' => 'bigint(20)', 'UINT' => 'mediumint(8) UNSIGNED', 'UINT:' => 'int(%d) UNSIGNED', 'TINT:' => 'tinyint(%d)', 'USINT' => 'smallint(4) UNSIGNED', 'BOOL' => 'tinyint(1) UNSIGNED', 'VCHAR' => 'varchar(255)', 'VCHAR:' => 'varchar(%d)', 'CHAR:' => 'char(%d)', 'XSTEXT' => 'text', 'XSTEXT_UNI' => 'varchar(100)', 'STEXT' => 'text', 'STEXT_UNI' => 'varchar(255)', 'TEXT' => 'text', 'TEXT_UNI' => 'text', 'MTEXT' => 'mediumtext', 'MTEXT_UNI' => 'mediumtext', 'TIMESTAMP' => 'int(11) UNSIGNED', 'DECIMAL' => 'decimal(5,2)', 'DECIMAL:' => 'decimal(%d,2)', 'PDECIMAL' => 'decimal(6,3)', 'PDECIMAL:' => 'decimal(%d,3)', 'VCHAR_UNI' => 'varchar(255)', 'VCHAR_UNI:' => 'varchar(%d)', 'VCHAR_CI' => 'varchar(255)', 'VARBINARY' => 'varbinary(255)'), 'mysql_40' => array('INT:' => 'int(%d)', 'BINT' => 'bigint(20)', 'UINT' => 'mediumint(8) UNSIGNED', 'UINT:' => 'int(%d) UNSIGNED', 'TINT:' => 'tinyint(%d)', 'USINT' => 'smallint(4) UNSIGNED', 'BOOL' => 'tinyint(1) UNSIGNED', 'VCHAR' => 'varbinary(255)', 'VCHAR:' => 'varbinary(%d)', 'CHAR:' => 'binary(%d)', 'XSTEXT' => 'blob', 'XSTEXT_UNI' => 'blob', 'STEXT' => 'blob', 'STEXT_UNI' => 'blob', 'TEXT' => 'blob', 'TEXT_UNI' => 'blob', 'MTEXT' => 'mediumblob', 'MTEXT_UNI' => 'mediumblob', 'TIMESTAMP' => 'int(11) UNSIGNED', 'DECIMAL' => 'decimal(5,2)', 'DECIMAL:' => 'decimal(%d,2)', 'PDECIMAL' => 'decimal(6,3)', 'PDECIMAL:' => 'decimal(%d,3)', 'VCHAR_UNI' => 'blob', 'VCHAR_UNI:' => array('varbinary(%d)', 'limit' => array('mult', 3, 255, 'blob')), 'VCHAR_CI' => 'blob', 'VARBINARY' => 'varbinary(255)'), 'firebird' => array('INT:' => 'INTEGER', 'BINT' => 'DOUBLE PRECISION', 'UINT' => 'INTEGER', 'UINT:' => 'INTEGER', 'TINT:' => 'INTEGER', 'USINT' => 'INTEGER', 'BOOL' => 'INTEGER', 'VCHAR' => 'VARCHAR(255) CHARACTER SET NONE', 'VCHAR:' => 'VARCHAR(%d) CHARACTER SET NONE', 'CHAR:' => 'CHAR(%d) CHARACTER SET NONE', 'XSTEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', 'STEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', 'TEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', 'MTEXT' => 'BLOB SUB_TYPE TEXT CHARACTER SET NONE', 'XSTEXT_UNI' => 'VARCHAR(100) CHARACTER SET UTF8', 'STEXT_UNI' => 'VARCHAR(255) CHARACTER SET UTF8', 'TEXT_UNI' => 'BLOB SUB_TYPE TEXT CHARACTER SET UTF8', 'MTEXT_UNI' => 'BLOB SUB_TYPE TEXT CHARACTER SET UTF8', 'TIMESTAMP' => 'INTEGER', 'DECIMAL' => 'DOUBLE PRECISION', 'DECIMAL:' => 'DOUBLE PRECISION', 'PDECIMAL' => 'DOUBLE PRECISION', 'PDECIMAL:' => 'DOUBLE PRECISION', 'VCHAR_UNI' => 'VARCHAR(255) CHARACTER SET UTF8', 'VCHAR_UNI:' => 'VARCHAR(%d) CHARACTER SET UTF8', 'VCHAR_CI' => 'VARCHAR(255) CHARACTER SET UTF8', 'VARBINARY' => 'CHAR(255) CHARACTER SET NONE'), 'mssql' => array('INT:' => '[int]', 'BINT' => '[float]', 'UINT' => '[int]', 'UINT:' => '[int]', 'TINT:' => '[int]', 'USINT' => '[int]', 'BOOL' => '[int]', 'VCHAR' => '[varchar] (255)', 'VCHAR:' => '[varchar] (%d)', 'CHAR:' => '[char] (%d)', 'XSTEXT' => '[varchar] (1000)', 'STEXT' => '[varchar] (3000)', 'TEXT' => '[varchar] (8000)', 'MTEXT' => '[text]', 'XSTEXT_UNI' => '[varchar] (100)', 'STEXT_UNI' => '[varchar] (255)', 'TEXT_UNI' => '[varchar] (4000)', 'MTEXT_UNI' => '[text]', 'TIMESTAMP' => '[int]', 'DECIMAL' => '[float]', 'DECIMAL:' => '[float]', 'PDECIMAL' => '[float]', 'PDECIMAL:' => '[float]', 'VCHAR_UNI' => '[varchar] (255)', 'VCHAR_UNI:' => '[varchar] (%d)', 'VCHAR_CI' => '[varchar] (255)', 'VARBINARY' => '[varchar] (255)'), 'oracle' => array('INT:' => 'number(%d)', 'BINT' => 'number(20)', 'UINT' => 'number(8)', 'UINT:' => 'number(%d)', 'TINT:' => 'number(%d)', 'USINT' => 'number(4)', 'BOOL' => 'number(1)', 'VCHAR' => 'varchar2(255)', 'VCHAR:' => 'varchar2(%d)', 'CHAR:' => 'char(%d)', 'XSTEXT' => 'varchar2(1000)', 'STEXT' => 'varchar2(3000)', 'TEXT' => 'clob', 'MTEXT' => 'clob', 'XSTEXT_UNI' => 'varchar2(300)', 'STEXT_UNI' => 'varchar2(765)', 'TEXT_UNI' => 'clob', 'MTEXT_UNI' => 'clob', 'TIMESTAMP' => 'number(11)', 'DECIMAL' => 'number(5, 2)', 'DECIMAL:' => 'number(%d, 2)', 'PDECIMAL' => 'number(6, 3)', 'PDECIMAL:' => 'number(%d, 3)', 'VCHAR_UNI' => 'varchar2(765)', 'VCHAR_UNI:' => array('varchar2(%d)', 'limit' => array('mult', 3, 765, 'clob')), 'VCHAR_CI' => 'varchar2(255)', 'VARBINARY' => 'raw(255)'), 'sqlite' => array('INT:' => 'int(%d)', 'BINT' => 'bigint(20)', 'UINT' => 'INTEGER UNSIGNED', 'UINT:' => 'INTEGER UNSIGNED', 'TINT:' => 'tinyint(%d)', 'USINT' => 'INTEGER UNSIGNED', 'BOOL' => 'INTEGER UNSIGNED', 'VCHAR' => 'varchar(255)', 'VCHAR:' => 'varchar(%d)', 'CHAR:' => 'char(%d)', 'XSTEXT' => 'text(65535)', 'STEXT' => 'text(65535)', 'TEXT' => 'text(65535)', 'MTEXT' => 'mediumtext(16777215)', 'XSTEXT_UNI' => 'text(65535)', 'STEXT_UNI' => 'text(65535)', 'TEXT_UNI' => 'text(65535)', 'MTEXT_UNI' => 'mediumtext(16777215)', 'TIMESTAMP' => 'INTEGER UNSIGNED', 'DECIMAL' => 'decimal(5,2)', 'DECIMAL:' => 'decimal(%d,2)', 'PDECIMAL' => 'decimal(6,3)', 'PDECIMAL:' => 'decimal(%d,3)', 'VCHAR_UNI' => 'varchar(255)', 'VCHAR_UNI:' => 'varchar(%d)', 'VCHAR_CI' => 'varchar(255)', 'VARBINARY' => 'blob'), 'postgres' => array('INT:' => 'INT4', 'BINT' => 'INT8', 'UINT' => 'INT4', 'UINT:' => 'INT4', 'USINT' => 'INT2', 'BOOL' => 'INT2', 'TINT:' => 'INT2', 'VCHAR' => 'varchar(255)', 'VCHAR:' => 'varchar(%d)', 'CHAR:' => 'char(%d)', 'XSTEXT' => 'varchar(1000)', 'STEXT' => 'varchar(3000)', 'TEXT' => 'varchar(8000)', 'MTEXT' => 'TEXT', 'XSTEXT_UNI' => 'varchar(100)', 'STEXT_UNI' => 'varchar(255)', 'TEXT_UNI' => 'varchar(4000)', 'MTEXT_UNI' => 'TEXT', 'TIMESTAMP' => 'INT4', 'DECIMAL' => 'decimal(5,2)', 'DECIMAL:' => 'decimal(%d,2)', 'PDECIMAL' => 'decimal(6,3)', 'PDECIMAL:' => 'decimal(%d,3)', 'VCHAR_UNI' => 'varchar(255)', 'VCHAR_UNI:' => 'varchar(%d)', 'VCHAR_CI' => 'varchar_ci', 'VARBINARY' => 'bytea')); // A list of types being unsigned for better reference in some db's $unsigned_types = array('UINT', 'UINT:', 'USINT', 'BOOL', 'TIMESTAMP'); $supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', 'postgres', 'sqlite'); $schema_data = get_schema(); if ($dbms == 'mysqli' || $dbms == 'mysql4') { $dbms = 'mysql_41'; } else { if ($dbms == 'mysql') { $dbms = 'mysql_40'; } } if (in_array($dbms, $supported_dbms)) { $lineg = $line = ''; // Write Header switch ($dbms) { case 'mysql_40': case 'mysql_41': $line = "#\n# \$I" . "d: \$\n#\n\n"; break; case 'firebird': $line = "#\n# \$I" . "d: \$\n#\n\n"; $line .= custom_data('firebird') . "\n"; break; case 'sqlite': $line = "#\n# \$I" . "d: \$\n#\n\n"; $line .= "BEGIN TRANSACTION;\n\n"; break; case 'mssql': $line = "/*\n\n \$I" . "d: \$\n\n*/\n\n"; $line .= "BEGIN TRANSACTION\nGO\n\n"; break; case 'oracle': $line = "/*\n\n \$I" . "d: \$\n\n*/\n\n"; $line .= custom_data('oracle') . "\n"; break; case 'postgres': $line = "/*\n\n \$I" . "d: \$\n\n*/\n\n"; $line .= "BEGIN;\n\n"; $line .= custom_data('postgres') . "\n"; break; } $lineg .= $line; foreach ($schema_data as $table_name => $table_data) { // Write comment about table switch ($dbms) { case 'mysql_40': case 'mysql_41': case 'firebird': case 'sqlite': $lineg .= "# Table: '{$table_name}'\n"; break; case 'mssql': case 'oracle': case 'postgres': $lineg .= "/*\n\tTable: '{$table_name}'\n*/\n"; break; } // Create Table statement $generator = $textimage = false; $line = ''; switch ($dbms) { case 'mysql_40': case 'mysql_41': case 'firebird': case 'oracle': case 'sqlite': case 'postgres': $line = "CREATE TABLE {$table_name} (\n"; break; case 'mssql': $line = "CREATE TABLE [{$table_name}] (\n"; break; } // Table specific so we don't get overlap $modded_array = array(); // Write columns one by one... foreach ($table_data['COLUMNS'] as $column_name => $column_data) { // Get type if (strpos($column_data[0], ':') !== false) { list($orig_column_type, $column_length) = explode(':', $column_data[0]); if (!is_array($dbms_type_map[$dbms][$orig_column_type . ':'])) { $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'], $column_length); } else { if (isset($dbms_type_map[$dbms][$orig_column_type . ':']['rule'])) { switch ($dbms_type_map[$dbms][$orig_column_type . ':']['rule'][0]) { case 'div': $column_length /= $dbms_type_map[$dbms][$orig_column_type . ':']['rule'][1]; $column_length = ceil($column_length); $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'][0], $column_length); break; } } if (isset($dbms_type_map[$dbms][$orig_column_type . ':']['limit'])) { switch ($dbms_type_map[$dbms][$orig_column_type . ':']['limit'][0]) { case 'mult': $column_length *= $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][1]; if ($column_length > $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][2]) { $column_type = $dbms_type_map[$dbms][$orig_column_type . ':']['limit'][3]; $modded_array[$column_name] = $column_type; } else { $column_type = sprintf($dbms_type_map[$dbms][$orig_column_type . ':'][0], $column_length); } break; } } } $orig_column_type .= ':'; } else { $orig_column_type = $column_data[0]; $column_type = $dbms_type_map[$dbms][$column_data[0]]; if ($column_type == 'text' || $column_type == 'blob') { $modded_array[$column_name] = $column_type; } } // Adjust default value if db-dependant specified if (is_array($column_data[1])) { $column_data[1] = isset($column_data[1][$dbms]) ? $column_data[1][$dbms] : $column_data[1]['default']; } switch ($dbms) { case 'mysql_40': case 'mysql_41': $line .= "\t{$column_name} {$column_type} "; // For hexadecimal values do not use single quotes if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob') { $line .= strpos($column_data[1], '0x') === 0 ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' "; } $line .= 'NOT NULL'; if (isset($column_data[2])) { if ($column_data[2] == 'auto_increment') { $line .= ' auto_increment'; } else { if ($dbms === 'mysql_41' && $column_data[2] == 'true_sort') { $line .= ' COLLATE utf8_unicode_ci'; } } } $line .= ",\n"; break; case 'sqlite': if (isset($column_data[2]) && $column_data[2] == 'auto_increment') { $line .= "\t{$column_name} INTEGER PRIMARY KEY "; $generator = $column_name; } else { $line .= "\t{$column_name} {$column_type} "; } $line .= 'NOT NULL '; $line .= !is_null($column_data[1]) ? "DEFAULT '{$column_data[1]}'" : ''; $line .= ",\n"; break; case 'firebird': $line .= "\t{$column_name} {$column_type} "; if (!is_null($column_data[1])) { $line .= 'DEFAULT ' . (is_numeric($column_data[1]) ? $column_data[1] : "'{$column_data[1]}'") . ' '; } $line .= 'NOT NULL'; // This is a UNICODE column and thus should be given it's fair share if (preg_match('/^X?STEXT_UNI|VCHAR_(CI|UNI:?)/', $column_data[0])) { $line .= ' COLLATE UNICODE'; } $line .= ",\n"; if (isset($column_data[2]) && $column_data[2] == 'auto_increment') { $generator = $column_name; } break; case 'mssql': if ($column_type == '[text]') { $textimage = true; } $line .= "\t[{$column_name}] {$column_type} "; if (!is_null($column_data[1])) { // For hexadecimal values do not use single quotes if (strpos($column_data[1], '0x') === 0) { $line .= 'DEFAULT (' . $column_data[1] . ') '; } else { $line .= 'DEFAULT (' . (is_numeric($column_data[1]) ? $column_data[1] : "'{$column_data[1]}'") . ') '; } } if (isset($column_data[2]) && $column_data[2] == 'auto_increment') { $line .= 'IDENTITY (1, 1) '; } $line .= 'NOT NULL'; $line .= " ,\n"; break; case 'oracle': $line .= "\t{$column_name} {$column_type} "; $line .= !is_null($column_data[1]) ? "DEFAULT '{$column_data[1]}' " : ''; // In Oracle empty strings ('') are treated as NULL. // Therefore in oracle we allow NULL's for all DEFAULT '' entries $line .= $column_data[1] === '' ? ",\n" : "NOT NULL,\n"; if (isset($column_data[2]) && $column_data[2] == 'auto_increment') { $generator = $column_name; } break; case 'postgres': $line .= "\t{$column_name} {$column_type} "; if (isset($column_data[2]) && $column_data[2] == 'auto_increment') { $line .= "DEFAULT nextval('{$table_name}_seq'),\n"; // Make sure the sequence will be created before creating the table $line = "CREATE SEQUENCE {$table_name}_seq;\n\n" . $line; } else { $line .= !is_null($column_data[1]) ? "DEFAULT '{$column_data[1]}' " : ''; $line .= "NOT NULL"; // Unsigned? Then add a CHECK contraint if (in_array($orig_column_type, $unsigned_types)) { $line .= " CHECK ({$column_name} >= 0)"; } $line .= ",\n"; } break; } } switch ($dbms) { case 'firebird': // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n);;\n\n"; break; case 'mssql': $line = substr($line, 0, -2); $line .= "\n) ON [PRIMARY]" . ($textimage ? ' TEXTIMAGE_ON [PRIMARY]' : '') . "\n"; $line .= "GO\n\n"; break; } // Write primary key if (isset($table_data['PRIMARY_KEY'])) { if (!is_array($table_data['PRIMARY_KEY'])) { $table_data['PRIMARY_KEY'] = array($table_data['PRIMARY_KEY']); } switch ($dbms) { case 'mysql_40': case 'mysql_41': case 'postgres': $line .= "\tPRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; break; case 'firebird': $line .= "ALTER TABLE {$table_name} ADD PRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . ");;\n\n"; break; case 'sqlite': if ($generator === false || !in_array($generator, $table_data['PRIMARY_KEY'])) { $line .= "\tPRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; } break; case 'mssql': $line .= "ALTER TABLE [{$table_name}] WITH NOCHECK ADD \n"; $line .= "\tCONSTRAINT [PK_{$table_name}] PRIMARY KEY CLUSTERED \n"; $line .= "\t(\n"; $line .= "\t\t[" . implode("],\n\t\t[", $table_data['PRIMARY_KEY']) . "]\n"; $line .= "\t) ON [PRIMARY] \n"; $line .= "GO\n\n"; break; case 'oracle': $line .= "\tCONSTRAINT pk_{$table_name} PRIMARY KEY (" . implode(', ', $table_data['PRIMARY_KEY']) . "),\n"; break; } } switch ($dbms) { case 'oracle': // UNIQUE contrains to be added? if (isset($table_data['KEYS'])) { foreach ($table_data['KEYS'] as $key_name => $key_data) { if (!is_array($key_data[1])) { $key_data[1] = array($key_data[1]); } if ($key_data[0] == 'UNIQUE') { $line .= "\tCONSTRAINT u_phpbb_{$key_name} UNIQUE (" . implode(', ', $key_data[1]) . "),\n"; } } } // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n)\n/\n\n"; break; case 'postgres': // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n);\n\n"; break; case 'sqlite': // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n);\n\n"; break; } // Write Keys if (isset($table_data['KEYS'])) { foreach ($table_data['KEYS'] as $key_name => $key_data) { if (!is_array($key_data[1])) { $key_data[1] = array($key_data[1]); } switch ($dbms) { case 'mysql_40': case 'mysql_41': $line .= $key_data[0] == 'INDEX' ? "\tKEY" : ''; $line .= $key_data[0] == 'UNIQUE' ? "\tUNIQUE" : ''; foreach ($key_data[1] as $key => $col_name) { if (isset($modded_array[$col_name])) { switch ($modded_array[$col_name]) { case 'text': case 'blob': $key_data[1][$key] = $col_name . '(255)'; break; } } } $line .= ' ' . $key_name . ' (' . implode(', ', $key_data[1]) . "),\n"; break; case 'firebird': $line .= $key_data[0] == 'INDEX' ? 'CREATE INDEX' : ''; $line .= $key_data[0] == 'UNIQUE' ? 'CREATE UNIQUE INDEX' : ''; $line .= ' ' . $table_name . '_' . $key_name . ' ON ' . $table_name . '(' . implode(', ', $key_data[1]) . ");;\n"; break; case 'mssql': $line .= $key_data[0] == 'INDEX' ? 'CREATE INDEX' : ''; $line .= $key_data[0] == 'UNIQUE' ? 'CREATE UNIQUE INDEX' : ''; $line .= " [{$key_name}] ON [{$table_name}]([" . implode('], [', $key_data[1]) . "]) ON [PRIMARY]\n"; $line .= "GO\n\n"; break; case 'oracle': if ($key_data[0] == 'UNIQUE') { continue; } $line .= $key_data[0] == 'INDEX' ? 'CREATE INDEX' : ''; $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ")\n"; $line .= "/\n"; break; case 'sqlite': $line .= $key_data[0] == 'INDEX' ? 'CREATE INDEX' : ''; $line .= $key_data[0] == 'UNIQUE' ? 'CREATE UNIQUE INDEX' : ''; $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ");\n"; break; case 'postgres': $line .= $key_data[0] == 'INDEX' ? 'CREATE INDEX' : ''; $line .= $key_data[0] == 'UNIQUE' ? 'CREATE UNIQUE INDEX' : ''; $line .= " {$table_name}_{$key_name} ON {$table_name} (" . implode(', ', $key_data[1]) . ");\n"; break; } } } switch ($dbms) { case 'mysql_40': // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n);\n\n"; break; case 'mysql_41': // Remove last line delimiter... $line = substr($line, 0, -2); $line .= "\n) CHARACTER SET utf8 COLLATE utf8_bin;\n\n"; break; // Create Generator // Create Generator case 'firebird': if ($generator !== false) { $line .= "\nCREATE GENERATOR {$table_name}_gen;;\n"; $line .= 'SET GENERATOR ' . $table_name . "_gen TO 0;;\n\n"; $line .= 'CREATE TRIGGER t_' . $table_name . ' FOR ' . $table_name . "\n"; $line .= "BEFORE INSERT\nAS\nBEGIN\n"; $line .= "\tNEW.{$generator} = GEN_ID({$table_name}_gen, 1);\nEND;;\n\n"; } break; case 'oracle': if ($generator !== false) { $line .= "\nCREATE SEQUENCE {$table_name}_seq\n/\n\n"; $line .= "CREATE OR REPLACE TRIGGER t_{$table_name}\n"; $line .= "BEFORE INSERT ON {$table_name}\n"; $line .= "FOR EACH ROW WHEN (\n"; $line .= "\tnew.{$generator} IS NULL OR new.{$generator} = 0\n"; $line .= ")\nBEGIN\n"; $line .= "\tSELECT {$table_name}_seq.nextval\n"; $line .= "\tINTO :new.{$generator}\n"; $line .= "\tFROM dual;\nEND;\n/\n\n"; } break; } $lineg .= $line . "\n"; } $line = ''; // Write custom function at the end for some db's switch ($dbms) { case 'mssql': $line = "\nCOMMIT\nGO\n\n"; break; case 'sqlite': $line = "\nCOMMIT;"; break; case 'postgres': $line = "\nCOMMIT;"; break; } $lineg .= $line; return; } else { trigger_error('This error should also never happen'); } }
public function total_cadastros() { $this->load->library('virtuoso_query'); //Carrega a classe para gerar consultas sparql $this->load->library('sparql'); //Montando a consulta SPARQL //Defini os prefixos que serão usados $this->sparql->prefix("foaf", "http://xmlns.com/foaf/0.1/"); $this->sparql->prefix("des", get_schema()); //Defini os campos quer serão exibidos $this->sparql->select("?id"); $this->sparql->select("?nome"); $this->sparql->select("?situacao"); $this->sparql->select("?sexo"); //Tripla quer será retornada - Está condição deve ser satisfeita para retornar um resultado $this->sparql->new_ptrn("?recurso des:id ?id"); //Condições opcionais $this->sparql->optional($this->sparql->new_ptrn("?recurso foaf:name ?nome")); $this->sparql->optional($this->sparql->new_ptrn("?recurso des:status ?situacao")); $this->sparql->optional($this->sparql->new_ptrn("?recurso foaf:gender ?sexo")); //Ordena por nome $query = $this->sparql->query(); //Carregando os dados para consulta no virtuoso $dados = new Constant(); $this->virtuoso_query->load_sparql_http(getProperty($dados->DB_HOST)); //http://desaparecidos.ice.ufjf.br:8890/sparql/ //'http://localhost:10035/repositories/desaparecidos' $this->virtuoso_query->load_graph(get_graph()); $this->virtuoso_query->load_query_sparql($query); $this->virtuoso_query->load_format('application/sparql-results+json'); //Executa a query SPARQL $this->virtuoso_query->execute(); //Retorna o resultado no formato especificado //$obj_json = $this->virtuoso_query->get_result(); //Retorna como um objeto mais simples $desaparecidos = $this->virtuoso_query->convert_json_to_simple_object(); return sizeof($desaparecidos); }
function check_pathinfo() { $host = get_host(); $port = get_port(); $uri = strtolower(get_schema()) . '://' . get_host() . get_request_uri() . '/pathinfotest?check_path_info=1'; $content = ''; $host_addr_arr = array($host, '127.0.0.1', 'localhost'); foreach ($host_addr_arr as $host_addr) { $fp = @fsockopen($host_addr, $port, $errno, $errstr, 2); if ($fp) { $out = "GET " . $uri . " HTTP/1.1\r\n"; $out .= "Host: {$host}\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp) && strlen($content) < 512) { $content .= fgets($fp, 128); } fclose($fp); } $content = preg_split("\r?\n\r?\n", $content); if (strpos($content[1], 'SUPPORT_PATHINFO') !== false) { return true; } } if (function_exists('curl_init')) { ob_start(); $fp = curl_init($uri); curl_exec($fp); curl_close($fp); $str = ob_get_contents(); ob_end_clean(); return $str == 'SUPPORT_PATHINFO' ? true : false; } else { return false; } }