diff --git a/.codeclimate.yml b/.codeclimate.yml index ad8c945f65..1524ee7671 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -11,11 +11,14 @@ engines: enabled: true config: standard: "PSR1,PSR2" + checks: + PSR1 Classes ClassDeclaration MissingNamespace: + enabled: false + PSR1 Files SideEffects FoundWithSymbols: + enabled: false + duplication: - enabled: true - config: - languages: - - php + enabled: false ratings: paths: @@ -24,12 +27,16 @@ ratings: - '**.css' exclude_paths: +- cli-config.php - app/cache/ - app/logs/ +- app/config/ - app/Migrations/ - app/Resources/ - main/admin/db.php - main/auth/cas/lib/CAS/ +- main/auth/shibboleth +- main/auth/openid - main/inc/lib/browser/ - main/inc/lib/freemindflashbrowser/ - main/inc/lib/internationalization_database/ @@ -49,6 +56,11 @@ exclude_paths: - main/template/ - main/img/ - main/lang/ +- plugin/buycourses/src/Culqi/ +- plugin/buycourses/src/Requests/ +- plugin/kannelsms/vendor/ +- plugin/clockworksms/vendor/ +- plugin/pens/lib - tests/ - vendor/ - web/ \ No newline at end of file diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 54834d00a6..aed959b392 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -11,42 +11,6 @@ build: 'phar.readonly': false hosts: my.chamilodev.net: '127.0.0.1' -filter: - excluded_paths: - - 'app/cache/*' - - 'app/logs/*' - - 'documentation/*' - - 'app/Migrations/*' - - 'app/Resources/*' - - 'main/admin/db.php' - - 'main/auth/cas/lib/CAS/*' - - 'main/inc/lib/browser/*' - - 'main/inc/lib/freemindflashbrowser/*' - - 'main/inc/lib/internationalization_database/*' - - 'main/inc/lib/javascript/*' - - 'main/inc/lib/kses-0.2.2/*' - - 'main/inc/lib/mimetex/*' - - 'main/inc/lib/nanogong/*' - - 'main/inc/lib/nusoap/*' - - 'main/inc/lib/opengraph/*' - - 'main/inc/lib/ppt2png/*' - - 'main/inc/lib/phpseclib' - - 'main/inc/lib/pear/*' - - 'main/inc/lib/phpmailer/*' - - 'main/inc/lib/phpseclib/*' - - 'main/inc/lib/svg-edit/*' - - 'main/inc/lib/swfobject/*' - - 'main/inc/lib/wami-recorder/*' - - 'main/inc/lib/xajax/*' - - 'main/lp/packaging/*' - - 'main/template/*' - - 'main/img/*' - - 'main/lang/*' - - 'main/default_course_document' - - 'fonts' - - 'tests/*' - - 'vendor/*' - - 'web/*' checks: php: no_trailing_whitespace: true @@ -119,47 +83,87 @@ coding_style: constants: true_false_null: lower -tools: - php_mess_detector: - enabled: true - extensions: - - php - command: phpmd - filter: - paths: { } - excluded_paths: - - 'tests/*' - - 'vendor/*' - config: - rulesets: - - codesize +#tools: +# php_mess_detector: +# enabled: true +# extensions: +# - php +# command: phpmd +# config: +# rulesets: +# - codesize + +# php_analyzer: +# enabled: true +# filter: +# excluded_paths: +# - 'tests/*' +# extensions: +# - php +# php_code_sniffer: +# enabled: true +# config: +# standard: PSR2 +# extensions: +# - php +# command: phpcs +# filter: +# excluded_paths: +# - 'tests/*' +# sensiolabs_security_checker: +# enabled: true +# php_pdepend: +# command: pdepend +# configuration_file: ~ +# suffixes: +# - php +# excluded_dirs: +# - 'vendor' +# - 'tests/*' +# enabled: true +# php_code_coverage: true - php_analyzer: - enabled: true - filter: - excluded_paths: - - 'tests/*' - extensions: - - php - php_code_sniffer: - enabled: true - config: - standard: PSR2 - extensions: - - php - command: phpcs - filter: - excluded_paths: - - 'tests/*' - sensiolabs_security_checker: - enabled: true - php_pdepend: - command: pdepend - configuration_file: ~ - suffixes: - - php - excluded_dirs: - - 'vendor' - - 'tests/*' - enabled: true - php_code_coverage: true +filter: + excluded_paths: + - 'cli-config.php' + - 'app/cache/*' + - 'app/logs/*' + - 'app/config/*' + - 'documentation/*' + - 'app/Migrations/*' + - 'app/Resources/*' + - 'main/admin/db.php' + - 'main/auth/cas/lib/CAS/*' + - 'main/auth/shibboleth/*' + - 'main/auth/openid/*' + - 'main/inc/lib/browser/*' + - 'main/inc/lib/freemindflashbrowser/*' + - 'main/inc/lib/internationalization_database/*' + - 'main/inc/lib/javascript/*' + - 'main/inc/lib/kses-0.2.2/*' + - 'main/inc/lib/mimetex/*' + - 'main/inc/lib/nanogong/*' + - 'main/inc/lib/nusoap/*' + - 'main/inc/lib/opengraph/*' + - 'main/inc/lib/ppt2png/*' + - 'main/inc/lib/phpseclib' + - 'main/inc/lib/pear/*' + - 'main/inc/lib/phpmailer/*' + - 'main/inc/lib/phpseclib/*' + - 'main/inc/lib/svg-edit/*' + - 'main/inc/lib/swfobject/*' + - 'main/inc/lib/wami-recorder/*' + - 'main/inc/lib/xajax/*' + - 'main/lp/packaging/*' + - 'main/template/*' + - 'main/img/*' + - 'main/lang/*' + - 'main/default_course_document' + - 'plugin/buycourses/src/Culqi/*' + - 'plugin/buycourses/src/Requests/*' + - 'plugin/kannelsms/vendor/*' + - 'plugin/clockworksms/vendor/*' + - 'plugin/pens/lib/' + - 'tests/*' + - 'vendor/*' + - 'web/*' diff --git a/.styleci.yml b/.styleci.yml deleted file mode 100644 index 1c4558c962..0000000000 --- a/.styleci.yml +++ /dev/null @@ -1,48 +0,0 @@ -preset: symfony - -enabled: - - class_keyword_remove - - combine_consecutive_unsets - - long_array_syntax - - newline_after_open_tag - - no_php4_constructor - - no_useless_else - - ordered_class_elements - - ordered_use - -finder: - exclude: - - 'app/cache/*' - - 'app/logs/*' - - 'documentation/*' - - 'app/Migrations/*' - - 'app/Resources/*' - - 'main/admin/db.php' - - 'main/auth/cas/lib/CAS/*' - - 'main/inc/lib/browser/*' - - 'main/inc/lib/freemindflashbrowser/*' - - 'main/inc/lib/internationalization_database/*' - - 'main/inc/lib/javascript/*' - - 'main/inc/lib/kses-0.2.2/*' - - 'main/inc/lib/mimetex/*' - - 'main/inc/lib/nanogong/*' - - 'main/inc/lib/nusoap/*' - - 'main/inc/lib/opengraph/*' - - 'main/inc/lib/ppt2png/*' - - 'main/inc/lib/phpseclib' - - 'main/inc/lib/pear/*' - - 'main/inc/lib/phpmailer/*' - - 'main/inc/lib/phpseclib/*' - - 'main/inc/lib/svg-edit/*' - - 'main/inc/lib/swfobject/*' - - 'main/inc/lib/wami-recorder/*' - - 'main/inc/lib/xajax/*' - - 'main/lp/packaging/*' - - 'main/template/*' - - 'main/img/*' - - 'main/lang/*' - - 'main/default_course_document' - - 'fonts' - - 'tests/*' - - 'vendor/*' - - 'web/*' \ No newline at end of file diff --git a/404.php b/404.php deleted file mode 100755 index f53ea3a683..0000000000 --- a/404.php +++ /dev/null @@ -1,11 +0,0 @@ - -// ErrorDocument 404 /404/ -require_once '../main/inc/global.inc.php'; - -$msg = get_lang('FileNotFound'); -Display::display_header($msg); -Display::display_error_message($msg); -Display::display_footer(); - diff --git a/custompages/language.php b/custompages/language.php index 4bcb2a5187..cff015a6f0 100755 --- a/custompages/language.php +++ b/custompages/language.php @@ -23,8 +23,9 @@ $chamilo_langs = array( ); $lang_match = $chamilo_langs[get_preferred_language($available_langs)]; // recover previous value ... -if (isset($_SESSION['user_language_choice'])) +if (isset($_SESSION['user_language_choice'])) { $lang_match = $_SESSION['user_language_choice']; +} // Chamilo parameter, on logout if (isset($_REQUEST['language']) && !empty($_REQUEST['language']) && in_array($_REQUEST['language'], $chamilo_langs)) { diff --git a/license.txt b/license.txt index ebf52bd32f..be3ab6348e 100755 --- a/license.txt +++ b/license.txt @@ -1,11 +1,11 @@ Chamilo LMS - elearning and course management software -Copyright (c) 2008-2012 BeezNest Latino SAC, Peru & BeezNest Belgium SPRL, Belgium +Copyright (c) 2008-2017 BeezNest Latino SAC, Peru & BeezNest Belgium SPRL, Belgium Copyright (c) 2012 Université de Genève, Switzerland -Copyright (c) 2010-2012 Université de Grenoble, France +Copyright (c) 2010-2017 Université de Grenoble, France Copyright (c) 2011-2012 CBlue SPRL, Belgium -Copyright (c) Juan Carlos Raña (independent), Spain +Copyright (c) 2004-2012 Juan Carlos Raña (independent), Spain Copyright (c) 2004-2009 Dokeos SPRL, Belgium Copyright (c) 2003-2007 Ghent University (UGent) Copyright (c) 2001-2004 Universite catholique de Louvain (UCL) diff --git a/main/admin/access_url_add_usergroup_to_url.php b/main/admin/access_url_add_usergroup_to_url.php index 1b7ba022ce..3d836f5878 100755 --- a/main/admin/access_url_add_usergroup_to_url.php +++ b/main/admin/access_url_add_usergroup_to_url.php @@ -1,12 +1,12 @@ -*/ + * This script allows platform admins to add users to urls. + * It displays a list of users and a list of courses; + * you can select multiple users and courses and then click on + * @package chamilo.admin + * @author Julio Montoya + */ $cidReset = true; require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; @@ -18,7 +18,6 @@ if (!api_get_multiple_access_url()) { } $userGroup = new UserGroup(); - $form_sent = 0; $firstLetterUserGroup = null; $courses = array(); @@ -30,8 +29,8 @@ $tbl_user = Database:: get_main_table(TABLE_MAIN_USER); $tbl_course = Database:: get_main_table(TABLE_MAIN_COURSE); $tool_name = get_lang('AddUserGroupToURL'); -$interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); -$interbreadcrumb[] = array ('url' => 'access_urls.php', 'name' => get_lang('MultipleAccessURLs')); +$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); +$interbreadcrumb[] = array('url' => 'access_urls.php', 'name' => get_lang('MultipleAccessURLs')); Display::display_header($tool_name); @@ -46,8 +45,8 @@ api_display_tool_title($tool_name); if (isset($_POST['form_sent']) && $_POST['form_sent']) { $form_sent = $_POST['form_sent']; - $userGroups = is_array($_POST['user_group_list']) ? $_POST['user_group_list'] : array() ; - $urlList = is_array($_POST['url_list']) ? $_POST['url_list'] : array() ; + $userGroups = is_array($_POST['user_group_list']) ? $_POST['user_group_list'] : array(); + $urlList = is_array($_POST['url_list']) ? $_POST['url_list'] : array(); $firstLetterUserGroup = $_POST['first_letter_user_group']; if ($form_sent == 1) { @@ -84,10 +83,10 @@ $db_urls = Database::store_result($result); :   @@ -109,7 +108,7 @@ $db_urls = Database::store_result($result); - - diff --git a/main/admin/access_url_check_user_session.php b/main/admin/access_url_check_user_session.php index de09b076a5..cf08f8df7e 100755 --- a/main/admin/access_url_check_user_session.php +++ b/main/admin/access_url_check_user_session.php @@ -1,10 +1,10 @@ 'index.php','name' => get_lang('PlatformAdmin')); -$interbreadcrumb[]=array('url' => 'session_list.php','name' => get_lang('SessionList')); +$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); +$interbreadcrumb[] = array('url' => 'session_list.php', 'name' => get_lang('SessionList')); // Database Table Definitions -$tbl_user = Database::get_main_table(TABLE_MAIN_USER); -$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); -$table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); -$url_id = api_get_current_access_url_id(); +$tbl_user = Database::get_main_table(TABLE_MAIN_USER); +$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); +$table_access_url_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); +$url_id = api_get_current_access_url_id(); $action = $_GET['action']; -switch($action) { +switch ($action) { case 'add_user_to_url': $user_id = $_REQUEST['user_id']; $result = UrlManager::add_user_to_url($user_id, $url_id); $user_info = api_get_user_info($user_id); if ($result) { - $message = Display::return_message(get_lang('UserAdded').' '.api_get_person_name($user_info['firstname'], $user_info['lastname']), 'confirm'); + $message = Display::return_message( + get_lang('UserAdded').' '.api_get_person_name( + $user_info['firstname'], + $user_info['lastname'] + ), + 'confirm' + ); } break; } @@ -44,9 +49,7 @@ if (!empty($message)) { } $multiple_url_is_on = api_get_multiple_access_url(); - $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname' : ' ORDER BY lastname, firstname'; - $session_list = SessionManager::get_sessions_list(); $html = ''; @@ -57,11 +60,9 @@ if ($show_users_with_problems) { $html .= ''.get_lang('ShowUsersNotAddedInTheURL').''; } - -foreach($session_list as $session_item) { +foreach ($session_list as $session_item) { $session_id = $session_item['id']; $html .= '

'.$session_item['name'].'

'; - $access_where = "(access_url_id = $url_id OR access_url_id is null )"; if ($show_users_with_problems) { $access_where = "(access_url_id is null)"; @@ -89,7 +90,6 @@ foreach($session_list as $session_item) { } $link_to_add_user_in_url = ''; - if ($multiple_url_is_on) { if ($user['access_url_id'] != $url_id) { $user_link .= ' '.Display::return_icon('warning.png', get_lang('UserNotAddedInURL'), array(), ICON_SIZE_MEDIUM); diff --git a/main/admin/access_url_edit.php b/main/admin/access_url_edit.php index 12aed3cba4..8e546b58d0 100755 --- a/main/admin/access_url_edit.php +++ b/main/admin/access_url_edit.php @@ -1,8 +1,8 @@ + * @package chamilo.admin + * @author Julio Montoya */ $cidReset = true; require_once __DIR__.'/../inc/global.inc.php'; @@ -51,7 +51,8 @@ if ($form->validate()) { unlink($url_images_dir . $url_id . '_' . $image_field . '.png'); } move_uploaded_file( - $_FILES[$image_field]['tmp_name'], $url_images_dir . $url_id . '_' . $image_field . '.png' + $_FILES[$image_field]['tmp_name'], + $url_images_dir.$url_id.'_'.$image_field.'.png' ); } // else fail silently diff --git a/main/admin/access_url_edit_course_category_to_url.php b/main/admin/access_url_edit_course_category_to_url.php index f2174708a0..e6b805ee75 100755 --- a/main/admin/access_url_edit_course_category_to_url.php +++ b/main/admin/access_url_edit_course_category_to_url.php @@ -7,7 +7,6 @@ // resetting the course id $cidReset = true; - require_once __DIR__.'/../inc/global.inc.php'; $xajax = new xajax(); @@ -97,7 +96,6 @@ if (isset($_POST['form_sent']) && $_POST['form_sent']) { } Display::display_header($tool_name); - api_display_tool_title($tool_name); $noUserGroupList = $userGroupList = array(); diff --git a/main/admin/access_url_edit_courses_to_url.php b/main/admin/access_url_edit_courses_to_url.php index 16b741f519..d28994eaaf 100755 --- a/main/admin/access_url_edit_courses_to_url.php +++ b/main/admin/access_url_edit_courses_to_url.php @@ -35,13 +35,13 @@ $interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdm $interbreadcrumb[] = array('url' => 'access_urls.php', 'name' => get_lang('MultipleAccessURLs')); $add_type = 'multiple'; -if (isset($_REQUEST['add_type']) && $_REQUEST['add_type']!='') { - $add_type = Security::remove_XSS($_REQUEST['add_type']); +if (isset($_REQUEST['add_type']) && $_REQUEST['add_type'] != '') { + $add_type = Security::remove_XSS($_REQUEST['add_type']); } $access_url_id = 1; -if (isset($_REQUEST['access_url_id']) && $_REQUEST['access_url_id']!='') { - $access_url_id = Security::remove_XSS($_REQUEST['access_url_id']); +if (isset($_REQUEST['access_url_id']) && $_REQUEST['access_url_id'] != '') { + $access_url_id = Security::remove_XSS($_REQUEST['access_url_id']); } $xajax -> processRequests(); @@ -157,23 +157,23 @@ $url_list = UrlManager::get_url_data();  | 

-
> + >
@@ -205,7 +205,7 @@ $url_list = UrlManager::get_url_data(); ?> @@ -258,7 +258,7 @@ $url_list = UrlManager::get_url_data();
'.get_lang('AddCoursesToURL').''; else echo ''; @@ -325,7 +325,6 @@ $url_list = UrlManager::get_url_data(); nosessionClasses = makepost(document.getElementById('origin_classes')); sessionClasses = makepost(document.getElementById('destination_classes')); xhr_object.send("nosessionusers="+nosessionUsers+"&sessionusers="+sessionUsers+"&nosessionclasses="+nosessionClasses+"&sessionclasses="+sessionClasses); - xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { document.getElementById('content_source').innerHTML = result = xhr_object.responseText; diff --git a/main/admin/access_url_edit_usergroup_to_url.php b/main/admin/access_url_edit_usergroup_to_url.php index 3fc35e9b38..2b194774ab 100755 --- a/main/admin/access_url_edit_usergroup_to_url.php +++ b/main/admin/access_url_edit_usergroup_to_url.php @@ -45,10 +45,8 @@ $htmlHeadXtra[] = ' function add_user_to_url(code, content) { document.getElementById("course_to_add").value = ""; document.getElementById("ajax_list_courses").innerHTML = ""; - destination = document.getElementById("destination_users"); destination.options[destination.length] = new Option(content,code); - destination.selectedIndex = -1; sortOptions(destination.options); } diff --git a/main/admin/access_url_edit_users_to_url.php b/main/admin/access_url_edit_users_to_url.php index 7874b839f8..51e959c8d5 100755 --- a/main/admin/access_url_edit_users_to_url.php +++ b/main/admin/access_url_edit_users_to_url.php @@ -1,8 +1,8 @@ + * @package chamilo.admin + * @author Julio Montoya */ // resetting the course id $cidReset = true; @@ -48,10 +48,8 @@ $htmlHeadXtra[] = ''; -$form_sent = 0; -$errorMsg = ''; -$users =$sessions=array(); +$form_sent = 0; +$errorMsg = ''; +$users = $sessions = array(); $promotion = new Promotion(); $id = intval($_GET['id']); if (isset($_POST['form_sent']) && $_POST['form_sent']) { @@ -86,7 +86,7 @@ if (isset($_POST['form_sent']) && $_POST['form_sent']) { $promotion_data = $promotion->get($id); $session_list = SessionManager::get_sessions_list(array(), array('name')); -$session_not_in_promotion = $session_in_promotion= array(); +$session_not_in_promotion = $session_in_promotion = array(); if (!empty($session_list)) { foreach ($session_list as $session) { diff --git a/main/admin/add_sessions_to_usergroup.php b/main/admin/add_sessions_to_usergroup.php index bb3d308e3a..c4b5855dab 100755 --- a/main/admin/add_sessions_to_usergroup.php +++ b/main/admin/add_sessions_to_usergroup.php @@ -98,15 +98,13 @@ if (isset($_POST['form_sent']) && $_POST['form_sent']) { exit; } } -$data = $usergroup->get($id); -$session_list_in = $usergroup->get_sessions_by_usergroup($id); -$session_list = SessionManager::get_sessions_list(array(), array('name')); - -//api_display_tool_title($tool_name.' ('.$session_info['name'].')'); -$elements_not_in = $elements_in= array(); +$data = $usergroup->get($id); +$session_list_in = $usergroup->get_sessions_by_usergroup($id); +$session_list = SessionManager::get_sessions_list(array(), array('name')); +$elements_not_in = $elements_in = array(); if (!empty($session_list)) { - foreach($session_list as $session) { + foreach ($session_list as $session) { if (in_array($session['id'], $session_list_in)) { $elements_in[$session['id']] = $session['name']; } else { @@ -134,17 +132,19 @@ function search_usergroup_sessions($needle,$type) { array('s.name' => array('operator' => 'LIKE', 'value' => "$needle%")) ); } - $i=0; if ($type != 'single') { $return .= ''; - $xajax_response -> addAssign('ajax_list_multiple','innerHTML',api_utf8_encode($return)); + $xajax_response->addAssign( + 'ajax_list_multiple', + 'innerHTML', + api_utf8_encode($return) + ); } } @@ -176,10 +176,10 @@ echo '