diff --git a/main/announcements/announcements.inc.php b/main/announcements/announcements.inc.php index 81f33af312..d4dd762cea 100755 --- a/main/announcements/announcements.inc.php +++ b/main/announcements/announcements.inc.php @@ -226,7 +226,7 @@ function construct_selected_select_form($group_list=null, $user_list=null,$to_al { foreach($ref_array_users as $key=>$value){ if($value['user_id']==$id){ - echo "\t\t"; + echo "\t\t"; break; } } @@ -622,7 +622,7 @@ function sent_to_form($sent_to_array) foreach ($sent_to_array['users'] as $user_id) { $user_info = api_get_user_info($user_id); - $output.="\t\n"; + $output.="\t\n"; } } } @@ -635,7 +635,7 @@ function sent_to_form($sent_to_array) if (isset($sent_to_array['users']) and is_array($sent_to_array['users'])) { $user_info = api_get_user_info($sent_to_array['users'][0]); - echo api_get_person_name($user_info['firstName'], $user_info['lastName']); + echo api_get_person_name($user_info['firstname'], $user_info['lastname']); } if (isset($sent_to_array['groups']) and is_array($sent_to_array['groups']) and $sent_to_array['groups'][0]!==0) { @@ -990,11 +990,11 @@ function send_announcement_email($user_list, $course_code, $_course, $mail_title $mail_body = '['.$_course['official_code'].'] - ['.$_course['name']."]\n"; $mail_body .= api_get_person_name($this_user['firstname'], $this_user['lastname'], null, PERSON_NAME_EMAIL_ADDRESS).' <'.$this_user["email"]."> \n\n".stripslashes($mail_title)."\n\n".trim(stripslashes(api_html_entity_decode(strip_tags(str_replace(array('

','

','
'),array('',"\n","\n"),$mail_content)), ENT_QUOTES, api_get_system_encoding())))." \n\n-- \n"; - $mail_body .= api_get_person_name($_user['firstName'], $_user['lastName'], null, PERSON_NAME_EMAIL_ADDRESS).' '; + $mail_body .= api_get_person_name($_user['firstname'], $_user['lastname'], null, PERSON_NAME_EMAIL_ADDRESS).' '; $mail_body .= '<'.$_user['mail'].">\n"; $mail_body .= $_course['official_code'].' '.$_course['name']; - @api_mail(api_get_person_name($this_user['firstname'], $this_user['lastname'], null, PERSON_NAME_EMAIL_ADDRESS), $this_user['email'], $mail_subject, $mail_body, api_get_person_name($_SESSION['_user']['firstName'], $_SESSION['_user']['lastName'], null, PERSON_NAME_EMAIL_ADDRESS), $_SESSION['_user']['mail']); + @api_mail(api_get_person_name($this_user['firstname'], $this_user['lastname'], null, PERSON_NAME_EMAIL_ADDRESS), $this_user['email'], $mail_subject, $mail_body, api_get_person_name($_SESSION['_user']['firstname'], $_SESSION['_user']['lastname'], null, PERSON_NAME_EMAIL_ADDRESS), $_SESSION['_user']['mail']); } } diff --git a/main/inc/lib/main_api.lib.php b/main/inc/lib/main_api.lib.php index 56b32278a2..1a121ff089 100755 --- a/main/inc/lib/main_api.lib.php +++ b/main/inc/lib/main_api.lib.php @@ -849,6 +849,8 @@ function api_get_user_info_from_username($username = '') { // following lines obsolete (and the code cleaner and slimmer !!! $user_info['firstName'] = $result_array['firstname']; $user_info['lastName'] = $result_array['lastname']; + $user_info['firstname'] = $result_array['firstname']; + $user_info['lastname'] = $result_array['lastname']; $user_info['mail'] = $result_array['email']; $user_info['picture_uri'] = $result_array['picture_uri']; $user_info['user_id'] = $result_array['user_id']; diff --git a/main/user/subscribe_user.php b/main/user/subscribe_user.php index a3e0e9d083..5c407a9bff 100755 --- a/main/user/subscribe_user.php +++ b/main/user/subscribe_user.php @@ -273,7 +273,7 @@ function get_number_of_users() { LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'"; // we change the SQL when we have a filter - if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -304,7 +304,7 @@ function get_number_of_users() { } // when there is a keyword then we are searching and we have to change the SQL statement - if (isset ($_REQUEST['keyword'])) { + if (isset ($_GET['keyword']) AND !empty($_GET['keyword'])) { $keyword = Database::escape_string(trim($_REQUEST['keyword'])); $sql .= " AND (firstname LIKE '%".$keyword."%' OR lastname LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR username LIKE '%".$keyword."%' OR official_code LIKE '%".$keyword."%')"; @@ -374,7 +374,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -402,7 +402,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'"; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -435,7 +435,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { INNER JOIN $tbl_url_rel_user as url_rel_user ON (url_rel_user.user_id = u.user_id) "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -467,7 +467,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { LEFT JOIN $tbl_session_rel_course_user cu on u.user_id = cu.id_user and course_code='".$_SESSION['_course']['id']."' AND id_session ='".$_SESSION["id_session"]."' "; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value'])){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -495,7 +495,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { LEFT JOIN $course_user_table cu on u.user_id = cu.user_id and course_code='".$_SESSION['_course']['id']."'"; // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value'])){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value'])){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -532,7 +532,7 @@ function get_user_data($from, $number_of_items, $column, $direction) { // applying the filter of the additional user profile fields - if (isset($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ + if (isset($_GET['subscribe_user_filter_value']) AND !empty($_GET['subscribe_user_filter_value']) AND api_get_setting('ProfilingFilterAddingUsers') == 'true'){ $field_identification = explode('*',$_GET['subscribe_user_filter_value']); $sql .= " LEFT JOIN $table_user_field_values field_values @@ -807,4 +807,4 @@ function debug($var) { echo '
';
 	print_r($var);
 	echo '
'; -} \ No newline at end of file +} diff --git a/tests/main/newscorm/learnpathItem.class.test.php b/tests/main/newscorm/learnpathItem.class.test.php new file mode 100644 index 0000000000..fc7c1a2dec --- /dev/null +++ b/tests/main/newscorm/learnpathItem.class.test.php @@ -0,0 +1,593 @@ +UnitTestCase('Test Scorm'); + } + + + public function __construct() { + // The constructor acts like a global setUp for the class + require_once api_get_path(SYS_TEST_PATH).'setup.inc.php'; + } + + + public function testAddLp() { + //ob_start(); + $course = 'COURSETEST'; + $name = 'Leccion'; + $description = 'Leccion'; + $learnpath = 'guess'; + $origin = 'zip'; + $zipname = ''; + $res = learnpath::add_lp($course, $name, $description, $learnpath, $origin, $zipname); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + + public function testAddChild() { + //ob_start(); + $res = learnpathItem::add_child($item = 1); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testAddInteraction() { + //ob_start(); + $res = learnpathItem::add_interaction($index = 1,$params = array()); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testAddObjective() { + //ob_start(); + $res = learnpathItem::add_objective($index = 1,$params = array()); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + /* + public function testClose() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->close(); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testDelete() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->delete(); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + */ + public function testDropChild() { + //ob_start(); + $res = learnpathItem::drop_child($item = 1); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetAttemptId() { + //ob_start(); + $res = learnpathItem::get_attempt_id(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetChildren() { + //ob_start(); + $res = learnpathItem::get_children(); + $this->assertTrue(is_array($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetCoreExit() { + //ob_start(); + $res = learnpathItem::get_core_exit(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetCurrentStartTime() { + //ob_start(); + $res = learnpathItem::get_current_start_time(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetDescription() { + //ob_start(); + $res = learnpathItem::get_description(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetFilePath() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->get_file_path($path_to_scorm_dir=''); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetId() { + //ob_start(); + $res = learnpathItem::get_id(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + /* + public function testLoadInteractions() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->load_interactions(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + */ + public function testGetInteractionsCount() { + //ob_start(); + $res = learnpathItem::get_interactions_count($checkdb=false); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetInteractionsJsArray() { + //ob_start(); + $res = learnpathItem::get_interactions_js_array($checkdb=false); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetObjectivesCount() { + //ob_start(); + $res = learnpathItem::get_objectives_count(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetLaunchData() { + //ob_start(); + $res = learnpathItem::get_launch_data(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetLessonLocation() { + //ob_start(); + $res = learnpathItem::get_lesson_location(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetLessonMode() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->get_lesson_mode(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetLevel() { + //ob_start(); + $res = learnpathItem::get_level(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetMasteryScore() { + //ob_start(); + $res = learnpathItem::get_mastery_score(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetMax() { + //ob_start(); + $res = learnpathItem::get_max(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetMaxTimeAllowed() { + //ob_start(); + $res = learnpathItem::get_max_time_allowed(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetMin() { + //ob_start(); + $res = learnpathItem::get_min(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetParent() { + //ob_start(); + $res = learnpathItem::get_parent(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetPath() { + //ob_start(); + $res = learnpathItem::get_path(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetPrereqString() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->get_prereq_string; + $this->assertTrue(is_null($res)); + //ob_end_clean(); + ///var_dump($res); + } + + public function testGetPreventReinit() { + //ob_start(); + $res = learnpathItem::get_prevent_reinit(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetRef() { + //ob_start(); + $res = learnpathItem::get_ref(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetResourcesFromSource() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->get_resources_from_source($type=null,$abs_path=null, $recursivity=1); + $this->assertTrue(is_array($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetScore() { + //ob_start(); + $res = learnpathItem::get_score(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetStatus() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->get_status($check_db=true,$update_local=false); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetSuspendData() { + //ob_start(); + $res = learnpathItem::get_suspend_data(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetScormTime() { + //ob_start(); + $res = learnpathItem::get_scorm_time($origin='php',$given_time=null); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetTerms() { + //ob_start(); + $res = learnpathItem::get_terms(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetTitle() { + //ob_start(); + $res = learnpathItem::get_title(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetTotalTime() { + //ob_start(); + $res = learnpathItem::get_total_time(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetType() { + //ob_start(); + $res = learnpathItem::get_type(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetViewCount() { + //ob_start(); + $res = learnpathItem::get_view_count(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testIsDone() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->is_done(); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testIsRestartAllowed() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->is_restart_allowed(); + $this->assertTrue(is_numeric($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testOpen() { + //ob_start(); + $res = learnpathItem::open($allow_new_attempt=false); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testOutput() { + //ob_start(); + $res = learnpathItem::output(); + $this->assertTrue(is_string($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testParsePrereq() { + //ob_start(); + $res = learnpathItem::parse_prereq($prereqs_string = '', $items = array(), $refs_list = array(),$user_id = 1); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + /* + public function testRestart() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->restart(); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSave() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->save($from_outside=true,$prereqs_complete=false); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + */ + public function testSetAttemptId() { + //ob_start(); + $res = learnpathItem::set_attempt_id($num = 1); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetCoreExit() { + //ob_start(); + $res = learnpathItem::set_core_exit($value = 1); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetDescription() { + //ob_start(); + $res = learnpathItem::set_description($string = ''); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetLessonLocation() { + //ob_start(); + $res = learnpathItem::set_lesson_location($location = ''); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetLevel() { + //ob_start(); + $res = learnpathItem::set_level($int=0); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetLpView() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->set_lp_view($lp_view_id = 1); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetPath() { + //ob_start(); + $res = learnpathItem::set_path($string=''); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetPreventReinit() { + //ob_start(); + $res = learnpathItem::set_prevent_reinit($prevent = 1); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetScore() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->set_score($score = 1.56); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetMaxScore() { + //ob_start(); + $res = learnpathItem::set_max_score($score = 1.56); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + /* + public function testSetStatus() { + //ob_start(); + $res = learnpathItem::set_status($status = ''); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + */ + public function testSetTerms() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->set_terms($terms = ''); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testGetSearchDid() { + //ob_start(); + $res = learnpathItem::get_search_did(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetTime() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->set_time($scorm_time = '',$format='scorm'); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetTitle() { + //ob_start(); + $res = learnpathItem::set_title($string=''); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testSetType() { + //ob_start(); + $res = learnpathItem::set_type($string=''); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testStatusIs() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->status_is($list=array()); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testUpdateTime() { + //ob_start(); + $res = learnpathItem::update_time($total_sec=0); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + + public function testWriteObjectivesToDb() { + //ob_start(); + $res = learnpathItem::write_objectives_to_db(); + $this->assertTrue(is_null($res)); + //ob_end_clean(); + //var_dump($res); + } + /* + public function testWriteToDb() { + //ob_start(); + $obj = new learnpathItem($db_id = 1, $user_id = 1); + $res = $obj->write_to_db(); + $this->assertTrue(is_bool($res)); + //ob_end_clean(); + //var_dump($res); + } + */ + public function __destruct() { + // The destructor acts like a global tearDown for the class + // require_once api_get_path(SYS_TEST_PATH).'teardown.inc.php'; + } +} \ No newline at end of file