Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature-143+133+129 #159

Merged
merged 25 commits into from
Aug 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
62ba045
Added "inclusion mode" option in screening settings.
AbdelhamidRouatbi May 17, 2024
0b71be2
updated "include paper" form with inclusion mode logic
AbdelhamidRouatbi May 20, 2024
ddabded
fixed missing function returns
AbdelhamidRouatbi May 20, 2024
705f0f3
Added different UIs for each inclusion type
AbdelhamidRouatbi May 22, 2024
f5b415f
Fixed display of multi select field when including paper with the "An…
AbdelhamidRouatbi May 25, 2024
d540756
fixed 'All' inclusion mode ui.
AbdelhamidRouatbi May 28, 2024
80b3711
Handling inclusion mode conflict
AbdelhamidRouatbi Jun 4, 2024
a9d423d
fixed inclusion criteria display in screening progress and screened p…
AbdelhamidRouatbi Jun 9, 2024
e5987a1
updated database generation
AbdelhamidRouatbi Jun 11, 2024
64e35a1
fixed display of multiple inclusion criteria + other fixes.
AbdelhamidRouatbi Jun 13, 2024
edc7a10
bug fixes
AbdelhamidRouatbi Jun 21, 2024
dca9837
Added phase config table and function to get config elements accordin…
AbdelhamidRouatbi Jun 24, 2024
ac1b1d4
Completed covering of all possible conflict cases with custom screen …
AbdelhamidRouatbi Jul 3, 2024
a604567
fixed for tests using inclusion criteria from screen_paper table
AbdelhamidRouatbi Jul 3, 2024
db3c269
Wrote tests and fixed bugs for issue #133
AbdelhamidRouatbi Jul 10, 2024
ac22b00
fixed screening model + tests
AbdelhamidRouatbi Jul 18, 2024
a3e3a73
Tests + bug fixes for feature 143
AbdelhamidRouatbi Jul 18, 2024
8fb7150
Resolved conflicts
AbdelhamidRouatbi Jul 24, 2024
c46b979
Solved conflicts
AbdelhamidRouatbi Jul 24, 2024
b060d9c
Merge branch 'main' into feature-143
AbdelhamidRouatbi Jul 24, 2024
a2c87e1
Resolved conflicts
AbdelhamidRouatbi Jul 24, 2024
c5e2079
Added support for custom screen phase configs to all screening options.
AbdelhamidRouatbi Jul 26, 2024
2d6f8f5
bug fix
AbdelhamidRouatbi Jul 26, 2024
bcb586f
bug fixes
AbdelhamidRouatbi Jul 26, 2024
4d717ac
Merge branch 'main' into feature-143
esyriani Aug 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified cside/export_python/index.html
100755 → 100644
Empty file.
230 changes: 115 additions & 115 deletions relis_app/config/database.php
Original file line number Diff line number Diff line change
@@ -1,115 +1,115 @@
<?php
defined('BASEPATH') or exit('No direct script access allowed');
/* ReLiS - A Tool for conducting systematic literature reviews and mapping studies.
* Copyright (C) 2018 Eugene Syriani
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* --------------------------------------------------------------------------
*
* :Author: Brice Michel Bigendako
*/
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['encrypt'] Whether or not to use an encrypted connection.
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
| 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
|
| ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the main should fail.
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| NOTE: Disabling this will also effectively disable both
| $this->db->last_query() and profiling of DB queries.
| When you run a query, with this setting set to TRUE (default),
| CodeIgniter will store the SQL statement for debugging purposes.
| However, this may cause high memory usage, especially if you run
| a lot of SQL queries ... disable this to avoid that problem.
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
'dsn' => '',
'hostname' => 'db',
'username' => 'root',
'password' => '',
'database' => 'relis_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
<?php
defined('BASEPATH') or exit('No direct script access allowed');
/* ReLiS - A Tool for conducting systematic literature reviews and mapping studies.
* Copyright (C) 2018 Eugene Syriani
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* --------------------------------------------------------------------------
*
* :Author: Brice Michel Bigendako
*/
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['encrypt'] Whether or not to use an encrypted connection.
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
| 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
|
| ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the main should fail.
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| NOTE: Disabling this will also effectively disable both
| $this->db->last_query() and profiling of DB queries.
| When you run a query, with this setting set to TRUE (default),
| CodeIgniter will store the SQL statement for debugging purposes.
| However, this may cause high memory usage, especially if you run
| a lot of SQL queries ... disable this to avoid that problem.
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'db',
'username' => 'root',
'password' => '',
'database' => 'relis_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
44 changes: 24 additions & 20 deletions relis_app/controllers/Element.php
Original file line number Diff line number Diff line change
Expand Up @@ -1199,9 +1199,9 @@ public function entity_list($operation_name, $val = "_", $page = 0, $dynamic_tab
if ($field_det['input_select_source'] == 'array') {
//print_test($v);
$dropoboxes[$k_field] = $field_det['input_select_values'];
} elseif ($field_det['input_select_source'] == 'table') {
$dropoboxes[$k_field] = $this->manager_lib->get_reference_select_values($field_det['input_select_values']);
// print_test($v);
} elseif ($field_det['input_select_source'] == 'table') {
$dropoboxes[$k_field] = $this->manager_lib->get_reference_select_values($field_det['input_select_values']);
// print_test($v);
} elseif ($field_det['input_select_source'] == 'yes_no') {
$dropoboxes[$k_field] = array(
'0' => "No",
Expand Down Expand Up @@ -1263,6 +1263,11 @@ public function entity_list($operation_name, $val = "_", $page = 0, $dynamic_tab
}
break;
default:
if (!$is_guest) {
if (!empty($link['url'])) {
$push_link = true;
}
}
break;
}
if ($push_link and (!$project_published or $link_type == 'view'))
Expand Down Expand Up @@ -1296,47 +1301,46 @@ public function entity_list($operation_name, $val = "_", $page = 0, $dynamic_tab
$i = 1;
$list_to_display = array();
foreach ($data['list'] as $key => $value) {
//print_test($value);
$element_array = array();
$element_array['links'] = '';
foreach ($field_list as $key_field => $v_field) {
//print_test($v_field);
if (isset($value[$v_field])) {
if (isset($dropoboxes[$v_field][$value[$v_field]])) {
$element_array[$v_field] = $dropoboxes[$v_field][$value[$v_field]];
} elseif (empty($value[$v_field]) and empty($ref_table_config['fields'][$v_field]['display_null'])) {
$element_array[$v_field] = "";
} else {
} elseif (empty($value[$v_field]) and empty($ref_table_config['fields'][$v_field]['display_null'])) {
$element_array[$v_field] = "";
} else {
$element_array[$v_field] = $value[$v_field];
}

} else {
$element_array[$v_field] = "";
//print_test($ref_table_config); exit;
if (
(isset($ref_table_config['fields'][$v_field]['number_of_values']) and $ref_table_config['fields'][$v_field]['number_of_values'] != 1) or
(isset($ref_table_config['fields'][$v_field]['category_type']) and $ref_table_config['fields'][$v_field]['category_type'] == 'WithSubCategories')
) { //recuperation pour les multivalues et les champs avec subcategory
if (isset($ref_table_config['fields'][$v_field]['input_select_values']) and isset($ref_table_config['fields'][$v_field]['input_select_key_field'])) {
) { //recuperation pour les multivalues et les champs avec subcategory
if (isset($ref_table_config['fields'][$v_field]['input_select_values']) and isset($ref_table_config['fields'][$v_field]['input_select_key_field'])) {
// récuperations des valeurs de cet element
$M_values = $this->manager_lib->get_element_multi_values($ref_table_config['fields'][$v_field]['input_select_values'], $ref_table_config['fields'][$v_field]['input_select_key_field'], $data['list'][$key][$table_id]);
$S_values = "";
foreach ($M_values as $k_m => $v_m) {
if (isset($dropoboxes[$v_field][$v_m])) {
$M_values[$k_m] = $dropoboxes[$v_field][$v_m];
}
$S_values .= empty($S_values) ? $M_values[$k_m] : " | " . $M_values[$k_m];
}
$element_array[$v_field] = $S_values;
}
$S_values .= empty($S_values) ? $M_values[$k_m] : " | " . $M_values[$k_m];
}
$element_array[$v_field] = $S_values;
}
}
}
if (!empty($link_field_list[$v_field]))
$element_array[$v_field] = string_anchor(
$link_field_list[$v_field]['link']['url'] . $value[$link_field_list[$v_field]['link']['id_field']],
$element_array[$v_field],
$link_field_list[$v_field]['link']['trim']
);
$element_array[$v_field] = string_anchor(
$link_field_list[$v_field]['link']['url'] . $value[$link_field_list[$v_field]['link']['id_field']],
$element_array[$v_field],
$link_field_list[$v_field]['link']['trim']
);
}
//print_test($element_array);
/*
* Ajout des liens(links) sur la liste
* Adding links to the list
Expand Down
Loading
Loading