diff --git a/main/inc/lib/AnnouncementManager.php b/main/inc/lib/AnnouncementManager.php index 99ef443e78..f37f991ac0 100755 --- a/main/inc/lib/AnnouncementManager.php +++ b/main/inc/lib/AnnouncementManager.php @@ -194,52 +194,52 @@ class AnnouncementManager $course_id = api_get_course_int_id(); if (api_is_allowed_to_edit(false, true) || (api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())) { - $sql_query = " SELECT announcement.*, toolitemproperties.* - FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties - WHERE - announcement.id = toolitemproperties.ref AND - announcement.id = '$announcement_id' AND - toolitemproperties.tool='announcement' AND - announcement.c_id = $course_id AND - toolitemproperties.c_id = $course_id - ORDER BY display_order DESC"; + $sql = "SELECT announcement.*, toolitemproperties.* + FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties + WHERE + announcement.id = toolitemproperties.ref AND + announcement.id = '$announcement_id' AND + toolitemproperties.tool='announcement' AND + announcement.c_id = $course_id AND + toolitemproperties.c_id = $course_id + ORDER BY display_order DESC"; } else { $group_list = GroupManager::get_group_ids($course_id, api_get_user_id()); if (empty($group_list)) { $group_list[] = 0; } if (api_get_user_id() != 0) { - $sql_query = " SELECT announcement.*, toolitemproperties.* - FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties - WHERE - announcement.id = toolitemproperties.ref AND - announcement.id = '$announcement_id' AND - toolitemproperties.tool='announcement' AND - ( - toolitemproperties.to_user_id='" . api_get_user_id() . "' OR - toolitemproperties.to_group_id IN ('0', '" . implode("', '", $group_list) . "') OR - toolitemproperties.to_group_id IS NULL - ) AND - toolitemproperties.visibility='1' AND - announcement.c_id = $course_id AND - toolitemproperties.c_id = $course_id - ORDER BY display_order DESC"; + $sql = "SELECT announcement.*, toolitemproperties.* + FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties + WHERE + announcement.id = toolitemproperties.ref AND + announcement.id = '$announcement_id' AND + toolitemproperties.tool='announcement' AND + ( + toolitemproperties.to_user_id='" . api_get_user_id() . "' OR + toolitemproperties.to_group_id IN ('0', '" . implode("', '", $group_list) . "') OR + toolitemproperties.to_group_id IS NULL + ) AND + toolitemproperties.visibility='1' AND + announcement.c_id = $course_id AND + toolitemproperties.c_id = $course_id + ORDER BY display_order DESC"; } else { - $sql_query = " SELECT announcement.*, toolitemproperties.* - FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties - WHERE - announcement.id = toolitemproperties.ref AND - announcement.id = '$announcement_id' AND - toolitemproperties.tool='announcement' AND - (toolitemproperties.to_group_id='0' OR toolitemproperties.to_group_id IS NULL) AND - toolitemproperties.visibility='1' AND - announcement.c_id = $course_id AND - toolitemproperties.c_id = $course_id - "; + $sql = "SELECT announcement.*, toolitemproperties.* + FROM $tbl_announcement announcement, $tbl_item_property toolitemproperties + WHERE + announcement.id = toolitemproperties.ref AND + announcement.id = '$announcement_id' AND + toolitemproperties.tool='announcement' AND + (toolitemproperties.to_group_id='0' OR toolitemproperties.to_group_id IS NULL) AND + toolitemproperties.visibility='1' AND + announcement.c_id = $course_id AND + toolitemproperties.c_id = $course_id + "; } } - $sql_result = Database::query($sql_query); + $sql_result = Database::query($sql); $html = null; if (Database::num_rows($sql_result) > 0) { $result = Database::fetch_array($sql_result, 'ASSOC'); @@ -312,6 +312,7 @@ class AnnouncementManager $html .= ''; } $html .= ""; + return $html; } diff --git a/main/inc/lib/agenda.lib.php b/main/inc/lib/agenda.lib.php index fdf54657e4..4cdb6f8b50 100644 --- a/main/inc/lib/agenda.lib.php +++ b/main/inc/lib/agenda.lib.php @@ -522,7 +522,8 @@ class Agenda // Get the agenda item. $item_id = intval($item_id); - $sql = "SELECT * FROM $table_agenda WHERE c_id = $course_id AND id = ".$item_id; + $sql = "SELECT * FROM $table_agenda + WHERE c_id = $course_id AND id = ".$item_id; $res = Database::query($sql); if (Database::num_rows($res) > 0) { @@ -538,9 +539,11 @@ class Agenda $row['end_date'] ); AnnouncementManager::send_email($id); + + return $id; } - return $id; } + return -1; } @@ -1088,17 +1091,20 @@ class Agenda if (!empty($event)) { switch ($this->type) { case 'personal': - $sql = "UPDATE $this->tbl_personal_agenda SET all_day = 0, enddate = DATE_ADD(enddate, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_personal_agenda SET + all_day = 0, enddate = DATE_ADD(enddate, INTERVAL $delta MINUTE) WHERE id=".intval($id); Database::query($sql); break; case 'course': - $sql = "UPDATE $this->tbl_course_agenda SET all_day = 0, end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_course_agenda SET + all_day = 0, end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) WHERE c_id = ".$this->course['real_id']." AND id=".intval($id); Database::query($sql); break; case 'admin': - $sql = "UPDATE $this->tbl_global_agenda SET all_day = 0, end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_global_agenda SET + all_day = 0, end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) WHERE id=".intval($id); Database::query($sql); break; @@ -1129,19 +1135,26 @@ class Agenda if (!empty($event)) { switch ($this->type) { case 'personal': - $sql = "UPDATE $this->tbl_personal_agenda SET all_day = $allDay, date = DATE_ADD(date, INTERVAL $delta MINUTE), enddate = DATE_ADD(enddate, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_personal_agenda SET + all_day = $allDay, date = DATE_ADD(date, INTERVAL $delta MINUTE), + enddate = DATE_ADD(enddate, INTERVAL $delta MINUTE) WHERE id=".intval($id); - $result = Database::query($sql); + Database::query($sql); break; case 'course': - $sql = "UPDATE $this->tbl_course_agenda SET all_day = $allDay, start_date = DATE_ADD(start_date,INTERVAL $delta MINUTE), end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_course_agenda SET + all_day = $allDay, start_date = DATE_ADD(start_date,INTERVAL $delta MINUTE), + end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) WHERE c_id = ".$this->course['real_id']." AND id=".intval($id); - $result = Database::query($sql); + Database::query($sql); break; case 'admin': - $sql = "UPDATE $this->tbl_global_agenda SET all_day = $allDay, start_date = DATE_ADD(start_date,INTERVAL $delta MINUTE), end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) + $sql = "UPDATE $this->tbl_global_agenda SET + all_day = $allDay, + start_date = DATE_ADD(start_date,INTERVAL $delta MINUTE), + end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE) WHERE id=".intval($id); - $result = Database::query($sql); + Database::query($sql); break; } } @@ -2542,19 +2555,24 @@ class Agenda //$form->addButtonFilter(get_lang('Filter')); //$renderer = $form->defaultRenderer(); //$renderer->setCustomElementTemplate('
{element}
'); - + $form->addButtonReset(get_lang('Reset')); $form = $form->returnForm(); } } } - + $actionsRight = ''; if ($view == 'calendar') { $actionsRight .= $form; } - - $toolbar = Display::toolbarAction('toolbar-agenda', array( 0 => $actionsLeft, 1 => $actionsRight), 2, false); + + $toolbar = Display::toolbarAction( + 'toolbar-agenda', + array(0 => $actionsLeft, 1 => $actionsRight), + 2, + false + ); return $toolbar; } diff --git a/main/inc/lib/attendance.lib.php b/main/inc/lib/attendance.lib.php index a521d54721..7341c73979 100755 --- a/main/inc/lib/attendance.lib.php +++ b/main/inc/lib/attendance.lib.php @@ -56,40 +56,39 @@ class Attendance return $obj->total_number_of_items; } - /** - * Get attendance list only the id, name and attendance_qualify_max fields - * @param string course db name (optional) - * @param int session id (optional) - * @return array attendances list - */ - public function get_attendances_list($course_id = '', $session_id = null) - { - // Initializing database table and variables - $tbl_attendance = Database :: get_course_table(TABLE_ATTENDANCE); - $data = array(); - - if (empty($course_id)) { - $course_id = api_get_course_int_id(); - } else { - $course_id = intval($course_id); - } + /** + * Get attendance list only the id, name and attendance_qualify_max fields + * @param string course db name (optional) + * @param int session id (optional) + * @return array attendances list + */ + public function get_attendances_list($course_id = '', $session_id = null) + { + $tbl_attendance = Database :: get_course_table(TABLE_ATTENDANCE); + $data = array(); - $session_id = isset($session_id)?intval($session_id):api_get_session_id(); - $condition_session = api_get_session_condition($session_id); + if (empty($course_id)) { + $course_id = api_get_course_int_id(); + } else { + $course_id = intval($course_id); + } - // Get attendance data - $sql = "SELECT id, name, attendance_qualify_max - FROM $tbl_attendance - WHERE c_id = $course_id AND active = 1 $condition_session "; - $rs = Database::query($sql); - if (Database::num_rows($rs) > 0) { - while ($row = Database::fetch_array($rs,'ASSOC')) { - $data[$row['id']] = $row; - } - } + $session_id = isset($session_id)?intval($session_id):api_get_session_id(); + $condition_session = api_get_session_condition($session_id); + + // Get attendance data + $sql = "SELECT id, name, attendance_qualify_max + FROM $tbl_attendance + WHERE c_id = $course_id AND active = 1 $condition_session "; + $rs = Database::query($sql); + if (Database::num_rows($rs) > 0) { + while ($row = Database::fetch_array($rs,'ASSOC')) { + $data[$row['id']] = $row; + } + } - return $data; - } + return $data; + } /** * Get the attendaces to display on the current page (fill the sortable-table) @@ -849,7 +848,6 @@ class Attendance } // get count of presences by users inside current attendance and save like results - $count_presences = 0; if (count($user_ids) > 0) { foreach ($user_ids as $uid) { $count_presences = 0; diff --git a/main/inc/lib/auth.lib.php b/main/inc/lib/auth.lib.php index 837de68876..1ebb7d9359 100755 --- a/main/inc/lib/auth.lib.php +++ b/main/inc/lib/auth.lib.php @@ -102,7 +102,9 @@ class Auth { $user_id = api_get_user_id(); $table_category = Database::get_main_table(TABLE_USER_COURSE_CATEGORY); - $sql = "SELECT * FROM " . $table_category . " WHERE user_id=$user_id ORDER BY sort ASC"; + $sql = "SELECT * FROM " . $table_category . " + WHERE user_id=$user_id + ORDER BY sort ASC"; $result = Database::query($sql); $output = array(); while ($row = Database::fetch_array($result)) { diff --git a/main/inc/lib/blog.lib.php b/main/inc/lib/blog.lib.php index e57e80988a..e26c181602 100755 --- a/main/inc/lib/blog.lib.php +++ b/main/inc/lib/blog.lib.php @@ -124,10 +124,15 @@ class Blog if ($info_count == 0) { // Create the blog - $sql = "INSERT INTO $tbl_blogs (c_id, blog_name, blog_subtitle, date_creation, visibility, session_id ) - VALUES ($course_id, '".Database::escape_string($title)."', '".Database::escape_string($subtitle)."', '".$current_date."', '1', '$session_id');"; - Database::query($sql); - $this_blog_id = Database::insert_id(); + $params = [ + 'c_id' => $course_id, + 'blog_name' => $title, + 'blog_subtitle' => $subtitle, + 'date_creation' => $current_date, + 'visibility' => 1 , + 'session_id' => $session_id, + ]; + $this_blog_id = Database::insert($tbl_blogs, $params); if ($this_blog_id > 0) { @@ -145,10 +150,16 @@ class Blog } // Make first post. :) - $sql = "INSERT INTO $tbl_blogs_posts (c_id, title, full_text, date_creation, blog_id, author_id) - VALUES ($course_id, '".get_lang("Welcome")."', '" . get_lang('FirstPostText')."','".$current_date."', '".Database::escape_string((int)$this_blog_id)."', '".Database::escape_string((int)$_user['user_id'])."');"; - Database::query($sql); - $postId = Database::insert_id(); + + $params = [ + 'c_id' => $course_id, + 'title' => get_lang("Welcome"), + 'full_text' => get_lang('FirstPostText'), + 'date_creation' => $current_date, + 'blog_id' => $this_blog_id, + 'author_id' => $_user['user_id'], + ]; + $postId = Database::insert($tbl_blogs_posts, $params); if ($postId) { $sql = "UPDATE $tbl_blogs_posts SET post_id = iid WHERE iid = $postId"; Database::query($sql); @@ -165,7 +176,6 @@ class Blog Database::query($sql); } - // Subscribe the teacher to this blog Blog::set_user_subscribed($this_blog_id, $_user['user_id']); } @@ -180,8 +190,6 @@ class Blog */ public static function edit_blog($blog_id, $title, $subtitle) { - $_user = api_get_user_info(); - // Table definitions $tbl_blogs = Database::get_course_table(TABLE_BLOGS); $tbl_tool = Database::get_course_table(TABLE_TOOL_LIST); @@ -197,7 +205,6 @@ class Blog blog_id ='".Database::escape_string((int)$blog_id)."' LIMIT 1"; Database::query($sql); - $this_blog_id = Database::insert_id(); //update item_property (update) api_item_property_update( @@ -211,7 +218,7 @@ class Blog // Update course homepage link $sql = "UPDATE $tbl_tool SET name = '".Database::escape_string($title)."' - WHERE c_id = $course_id AND link = 'blog/blog.php?blog_id=".Database::escape_string((int)$blog_id)."' LIMIT 1"; + WHERE c_id = $course_id AND link = 'blog/blog.php?blog_id=".(int)$blog_id."' LIMIT 1"; Database::query($sql); } @@ -357,7 +364,6 @@ class Blog */ public static function edit_post($post_id, $title, $full_text, $blog_id) { - // Init $tbl_blogs_posts = Database::get_course_table(TABLE_BLOGS_POSTS); $course_id = api_get_course_int_id(); @@ -420,7 +426,7 @@ class Blog $upload_ok = true; $has_attachment = false; - $current_date = date('Y-m-d H:i:s', time()); + $current_date = api_get_utc_datetime(); $course_id = api_get_course_int_id(); if (!empty($_FILES['user_upload']['name'])) { @@ -732,7 +738,6 @@ class Blog { $_user = api_get_user_info(); - // Init $tbl_blogs = Database::get_course_table(TABLE_BLOGS); $tbl_blogs_tasks_rel_user = Database::get_course_table(TABLE_BLOGS_TASKS_REL_USER); $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); @@ -741,16 +746,18 @@ class Blog if ($_user['user_id']) { $sql = "SELECT task_rel_user.*, task.title, blog.blog_name - FROM $tbl_blogs_tasks_rel_user task_rel_user - INNER JOIN $tbl_blogs_tasks task ON task_rel_user.task_id = task.task_id - INNER JOIN $tbl_blogs blog ON task_rel_user.blog_id = blog.blog_id - AND blog.blog_id = ".intval($_GET['blog_id'])." - WHERE - task.c_id = $course_id AND - blog.c_id = $course_id AND - task_rel_user.c_id = $course_id AND - task_rel_user.user_id = ".(int)$_user['user_id']." - ORDER BY target_date ASC"; + FROM $tbl_blogs_tasks_rel_user task_rel_user + INNER JOIN $tbl_blogs_tasks task + ON task_rel_user.task_id = task.task_id + INNER JOIN $tbl_blogs blog + ON task_rel_user.blog_id = blog.blog_id + AND blog.blog_id = ".intval($_GET['blog_id'])." + WHERE + task.c_id = $course_id AND + blog.c_id = $course_id AND + task_rel_user.c_id = $course_id AND + task_rel_user.user_id = ".(int)$_user['user_id']." + ORDER BY target_date ASC"; $result = Database::query($sql); @@ -791,11 +798,11 @@ class Blog // Change visibility state, remove from course home. $sql = "UPDATE $tbl_blogs SET visibility = '0' WHERE c_id = $course_id AND blog_id ='".(int)$blog_id."' LIMIT 1"; - $result = Database::query($sql); + Database::query($sql); $sql = "DELETE FROM $tbl_tool WHERE c_id = $course_id AND name = '".Database::escape_string($title)."' LIMIT 1"; - $result = Database::query($sql); + Database::query($sql); } else { // Change visibility state, add to course home. $sql = "UPDATE $tbl_blogs SET visibility = '1' @@ -826,7 +833,6 @@ class Blog $tbl_blogs_posts = Database::get_course_table(TABLE_BLOGS_POSTS); $tbl_blogs_comments = Database::get_course_table(TABLE_BLOGS_COMMENTS); $tbl_users = Database::get_main_table(TABLE_MAIN_USER); - global $dateFormatLong; $course_id = api_get_course_int_id(); @@ -844,11 +850,14 @@ class Blog // Display if(Database::num_rows($result) > 0) { $limit = 200; - while($blog_post = Database::fetch_array($result)) { + while ($blog_post = Database::fetch_array($result)) { // Get number of comments $sql = "SELECT COUNT(1) as number_of_comments FROM $tbl_blogs_comments - WHERE c_id = $course_id AND blog_id = '".(int)$blog_id."' AND post_id = '" . (int)$blog_post['post_id']."'"; + WHERE + c_id = $course_id AND + blog_id = '".(int)$blog_id."' AND + post_id = '" . (int)$blog_post['post_id']."'"; $tmp = Database::query($sql); $blog_post_comments = Database::fetch_array($tmp); @@ -931,7 +940,6 @@ class Blog */ public static function display_day_results($blog_id, $query_string) { - // Init $date_output = $query_string; $date = explode('-',$query_string); $query_string = ' DAYOFMONTH(date_creation) =' . intval($date[2]) . ' AND MONTH(date_creation) =' . intval($date[1]) . ' AND YEAR(date_creation) =' . intval($date[0]); @@ -952,7 +960,6 @@ class Blog */ public static function display_post($blog_id, $post_id) { - // Init $tbl_blogs_posts = Database::get_course_table(TABLE_BLOGS_POSTS); $tbl_blogs_comments = Database::get_course_table(TABLE_BLOGS_COMMENTS); $tbl_users = Database::get_main_table(TABLE_MAIN_USER); @@ -961,20 +968,22 @@ class Blog $course_id = api_get_course_int_id(); - // Get posts and author - $sql = "SELECT post.*, user.lastname, user.firstname, user.username FROM $tbl_blogs_posts post - INNER JOIN $tbl_users user ON post.author_id = user.user_id - WHERE - post.c_id = $course_id AND - post.blog_id = '".(int)$blog_id."' AND - post.post_id = '".(int)$post_id."' - ORDER BY post_id DESC"; + $sql = "SELECT post.*, user.lastname, user.firstname, user.username + FROM $tbl_blogs_posts post + INNER JOIN $tbl_users user + ON post.author_id = user.user_id + WHERE + post.c_id = $course_id AND + post.blog_id = '".(int)$blog_id."' AND + post.post_id = '".(int)$post_id."' + ORDER BY post_id DESC"; $result = Database::query($sql); $blog_post = Database::fetch_array($result); // Get number of comments - $sql = "SELECT COUNT(1) as number_of_comments FROM $tbl_blogs_comments + $sql = "SELECT COUNT(1) as number_of_comments + FROM $tbl_blogs_comments WHERE c_id = $course_id AND blog_id = '".(int)$blog_id."' AND post_id = '".(int)$post_id."'"; $result = Database::query($sql); $blog_post_comments = Database::fetch_array($result); @@ -1057,18 +1066,19 @@ class Blog // Check if the user has already rated this post/comment $sql = "SELECT rating_id FROM $tbl_blogs_rating - WHERE c_id = $course_id AND - blog_id = '".(int)$blog_id."' - AND item_id = '".(int)$item_id."' - AND rating_type = '".Database::escape_string($type)."' - AND user_id = '".(int)$_user['user_id']."'"; + WHERE + c_id = $course_id AND + blog_id = '".(int)$blog_id."' AND + item_id = '".(int)$item_id."' AND + rating_type = '".Database::escape_string($type)."' AND + user_id = '".(int)$_user['user_id']."'"; $result = Database::query($sql); // Add rating if (Database::num_rows($result) == 0) { $sql = "INSERT INTO $tbl_blogs_rating (c_id, blog_id, rating_type, item_id, user_id, rating ) VALUES ($course_id, '".(int)$blog_id."', '".Database::escape_string($type)."', '".(int)$item_id."', '".(int)$_user['user_id']."', '".Database::escape_string($rating)."')"; - $result = Database::query($sql); + Database::query($sql); $id = Database::insert_id(); if ($id) { @@ -1168,30 +1178,34 @@ class Blog */ public static function get_threaded_comments($current = 0, $current_level = 0, $blog_id, $post_id, $task_id = 0) { - // Init - $tbl_blogs_comments = Database::get_course_table(TABLE_BLOGS_COMMENTS); - $tbl_users = Database::get_main_table(TABLE_MAIN_USER); - $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); - global $charset,$dateFormatLong; + $tbl_blogs_comments = Database::get_course_table(TABLE_BLOGS_COMMENTS); + $tbl_users = Database::get_main_table(TABLE_MAIN_USER); + $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); + global $charset; $course_id = api_get_course_int_id(); // Select top level comments $next_level = $current_level + 1; $sql = "SELECT comments.*, user.lastname, user.firstname, user.username, task.color - FROM $tbl_blogs_comments comments - INNER JOIN $tbl_users user ON comments.author_id = user.user_id - LEFT JOIN $tbl_blogs_tasks task ON comments.task_id = task.task_id AND task.c_id = $course_id - WHERE comments.c_id = $course_id AND - parent_comment_id = $current AND - comments.blog_id = '".(int)$blog_id."' AND - comments.post_id = '".(int)$post_id."'"; + FROM $tbl_blogs_comments comments + INNER JOIN $tbl_users user + ON comments.author_id = user.user_id + LEFT JOIN $tbl_blogs_tasks task + ON comments.task_id = task.task_id AND task.c_id = $course_id + WHERE + comments.c_id = $course_id AND + parent_comment_id = $current AND + comments.blog_id = '".(int)$blog_id."' AND + comments.post_id = '".(int)$post_id."'"; $result = Database::query($sql); while($comment = Database::fetch_array($result)) { // Select the children recursivly - $tmp = "SELECT comments.*, user.lastname, user.firstname, user.username FROM $tbl_blogs_comments comments - INNER JOIN $tbl_users user ON comments.author_id = user.user_id + $tmp = "SELECT comments.*, user.lastname, user.firstname, user.username + FROM $tbl_blogs_comments comments + INNER JOIN $tbl_users user + ON comments.author_id = user.user_id WHERE comments.c_id = $course_id AND comment_id = $current @@ -1213,7 +1227,7 @@ class Blog $border_color = ' border-left: 3px solid #' . $comment['color']; } - $comment_text=stripslashes($comment_text); + $comment_text = stripslashes($comment_text); // Output... $margin = $current_level * 30; @@ -1306,7 +1320,6 @@ class Blog $blog_post = Database::fetch_array($result); // Form - $form = new FormValidator( 'edit_post', 'post', @@ -1343,7 +1356,6 @@ class Blog $course_id = api_get_course_int_id(); if (api_is_allowed('BLOG_' . $blog_id, 'article_add')) { - // Init $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); $counter = 0; global $color2; @@ -1367,16 +1379,16 @@ class Blog $sql = " SELECT - blog_id, - task_id, - blog_id, - title, - description, - color, - system_task - FROM " . $tbl_blogs_tasks . " - WHERE c_id = $course_id AND blog_id = " . (int)$blog_id . " - ORDER BY system_task, title"; + blog_id, + task_id, + blog_id, + title, + description, + color, + system_task + FROM " . $tbl_blogs_tasks . " + WHERE c_id = $course_id AND blog_id = " . (int)$blog_id . " + ORDER BY system_task, title"; $result = Database::query($sql); @@ -1438,9 +1450,10 @@ class Blog FROM $tbl_blogs_tasks_rel_user task_rel_user INNER JOIN $tbl_blogs_tasks task ON task_rel_user.task_id = task.task_id INNER JOIN $tbl_users user ON task_rel_user.user_id = user.user_id - WHERE task_rel_user.c_id = $course_id AND - task.c_id = $course_id AND - task_rel_user.blog_id = '".(int)$blog_id."' + WHERE + task_rel_user.c_id = $course_id AND + task.c_id = $course_id AND + task_rel_user.blog_id = '".(int)$blog_id."' ORDER BY target_date ASC"; $result = Database::query($sql); @@ -1531,22 +1544,22 @@ class Blog ' . get_lang('TaskManager') . '
'; - echo "\t\t\t" . ''; - echo "\t\t\t\t" . ''; - echo ''; - echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t\t" . ''; - echo ''; - echo ''; - echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t\t" . ''; - echo ''; - echo ''; - echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t" . '
' . get_lang('ArticleManager') . '' . get_lang('CommentManager') . '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
' . get_lang('ArticleManager') . '' . get_lang('CommentManager') . '
'; echo '
'; @@ -1557,13 +1570,12 @@ class Blog ' . get_lang('Color') . '
'; - echo ' '; + echo ''; echo '
'; @@ -1575,7 +1587,6 @@ class Blog '; - echo ''; echo '
'; @@ -1622,39 +1633,38 @@ class Blog while ($row = Database::fetch_array($result)) $arrPermissions[] = $row['action']; - echo "\t" . ''; - echo "\t\t" . '' . get_lang('TaskManager') . ':  '; - echo "\t\t" . ''; - echo "\t\t\t" . ''; - echo "\t\t\t\t" . ''; + echo ''; + echo ''; + echo ''; - echo "\t" . ''; + echo ''; + echo '
' . get_lang('TaskManager') . ':  '; + echo ''; + echo ''; echo ''; echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t\t" . ''; + echo ''; + echo ''; echo ''; echo ''; echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t\t" . ''; + echo ''; + echo ''; echo ''; echo ''; echo ''; - echo "\t\t\t\t" . ''; - echo "\t\t\t" . '
' . get_lang('ArticleManager') . '' . get_lang('CommentManager') . '
'; - echo "\t\t" . '
'; + echo ''; + echo ''; /* end of edit */ echo ' ' . get_lang('Color') . ':   @@ -1676,7 +1686,6 @@ class Blog */ public static function getTaskForm($blog_id) { - // Init $tbl_users = Database::get_main_table(TABLE_MAIN_USER); $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER); $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); @@ -1692,7 +1701,6 @@ class Blog $options = array(); while ($user = Database::fetch_array($result)) { - $username = api_htmlentities(sprintf(get_lang('LoginX'), $user['username']), ENT_QUOTES); $options[$user['user_id']] = api_get_person_name($user['firstname'], $user['lastname']); } @@ -1706,7 +1714,7 @@ class Blog description, color, system_task - FROM " . $tbl_blogs_tasks . " + FROM $tbl_blogs_tasks WHERE c_id = $course_id AND blog_id = " . (int)$blog_id . " ORDER BY system_task, title"; $result = Database::query($sql); @@ -1731,6 +1739,7 @@ class Blog $form->addHidden('action', ''); $form->addButtonSave(get_lang('Ok')); + return $form; } @@ -1754,9 +1763,6 @@ class Blog */ public static function display_edit_assigned_task_form($blog_id, $task_id, $user_id) { - $tbl_users = Database::get_main_table(TABLE_MAIN_USER); - $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER); - $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); $tbl_blogs_tasks_rel_user = Database::get_course_table(TABLE_BLOGS_TASKS_REL_USER); $course_id = api_get_course_int_id(); @@ -1829,7 +1835,7 @@ class Blog '" . Database::escape_string($target_date) . "' )"; - $result = Database::query($sql); + Database::query($sql); } } @@ -1881,8 +1887,7 @@ class Blog task_id = " . (int)$old_task_id . " AND target_date = '" . Database::escape_string($old_target_date) . "' "; - - $result = @Database::query($sql); + Database::query($sql); } } @@ -1894,7 +1899,6 @@ class Blog */ public static function display_select_task_post($blog_id, $task_id) { - // Init $tbl_blogs_tasks = Database::get_course_table(TABLE_BLOGS_TASKS); $tbl_blogs_posts = Database::get_course_table(TABLE_BLOGS_POSTS); $tbl_users = Database::get_main_table(TABLE_MAIN_USER); @@ -1947,12 +1951,12 @@ class Blog // Subscribe the user $sql = "INSERT INTO $tbl_blogs_rel_user (c_id, blog_id, user_id ) VALUES ($course_id, '".(int)$blog_id."', '".(int)$user_id."');"; - $result = Database::query($sql); + Database::query($sql); // Give this user basic rights $sql = "INSERT INTO $tbl_user_permissions (c_id, user_id,tool,action) VALUES ($course_id, '".(int)$user_id."','BLOG_" . (int)$blog_id."','article_add')"; - $result = Database::query($sql); + Database::query($sql); $id = Database::insert_id(); if ($id) { @@ -1962,7 +1966,7 @@ class Blog $sql = "INSERT INTO $tbl_user_permissions (c_id, user_id,tool,action) VALUES ($course_id, '".(int)$user_id."','BLOG_" . (int)$blog_id."','article_comments_add')"; - $result = Database::query($sql); + Database::query($sql); $id = Database::insert_id(); if ($id) { @@ -1988,12 +1992,12 @@ class Blog // Unsubscribe the user $sql = "DELETE FROM $tbl_blogs_rel_user WHERE blog_id = '".(int)$blog_id."' AND user_id = '".(int)$user_id."'"; - $result = Database::query($sql); + Database::query($sql); // Remove this user's permissions. $sql = "DELETE FROM $tbl_user_permissions WHERE user_id = '".(int)$user_id."'"; - $result = Database::query($sql); + Database::query($sql); } /** @@ -2115,7 +2119,7 @@ class Blog $is_western_name_order = api_is_western_name_order(); // Init - $tbl_users = Database::get_main_table(TABLE_MAIN_USER); + $tbl_users = Database::get_main_table(TABLE_MAIN_USER); $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER); echo ''.get_lang('UnsubscribeMembers').''; @@ -2214,11 +2218,8 @@ class Blog * * @param Integer $blog_id */ - public static function display_form_user_rights ($blog_id) { - // Init - $tbl_users = Database::get_main_table(TABLE_MAIN_USER); - $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER); - + public static function display_form_user_rights ($blog_id) + { echo ''.get_lang('RightsManager').''; echo '
'; @@ -2461,14 +2462,16 @@ class Blog $blog_id= intval($blog_id); $tbl_blogs = Database::get_course_table(TABLE_BLOGS); - $sql = "SELECT blog_id, blog_name, blog_subtitle FROM $tbl_blogs WHERE c_id = $course_id AND blog_id = '".$blog_id."'"; + $sql = "SELECT blog_id, blog_name, blog_subtitle + FROM $tbl_blogs + WHERE c_id = $course_id AND blog_id = '".$blog_id."'"; $result = Database::query($sql); $blog = Database::fetch_array($result); // the form contained errors but we do not want to lose the changes the user already did if ($_POST) { - $blog['blog_name'] = Security::remove_XSS($_POST['blog_name']); - $blog['blog_subtitle'] = Security::remove_XSS($_POST['blog_subtitle']); + $blog['blog_name'] = Security::remove_XSS($_POST['blog_name']); + $blog['blog_subtitle'] = Security::remove_XSS($_POST['blog_subtitle']); } $form = new FormValidator('edit_blog', 'post','blog_admin.php?action=edit&blog_id='.intval($_GET['blog_id'])); @@ -2490,12 +2493,11 @@ class Blog /** * Blog admin | Returns table with blogs in this course */ - public static function display_blog_list () { + public static function display_blog_list() + { global $charset; $_user = api_get_user_info(); $course_id = api_get_course_int_id(); - // Init - $counter = 0; $tbl_blogs = Database::get_course_table(TABLE_BLOGS); @@ -2516,7 +2518,6 @@ class Blog $list_content_blog = array(); $list_body_blog = array(); - $_user = api_get_user_info(); if (is_array($list_info)) { foreach ($list_info as $key => $info_log) { @@ -2599,7 +2600,8 @@ function get_blog_attachment($blog_id, $post_id=null,$comment_id=null) $course_id = api_get_course_int_id(); - $sql = 'SELECT path, filename, comment FROM '. $blog_table_attachment.' WHERE c_id = '.$course_id.' AND blog_id ="'.intval($blog_id).'" '.$where; + $sql = 'SELECT path, filename, comment FROM '. $blog_table_attachment.' + WHERE c_id = '.$course_id.' AND blog_id ="'.intval($blog_id).'" '.$where; $result=Database::query($sql); if (Database::num_rows($result)!=0) { @@ -2629,19 +2631,16 @@ function delete_all_blog_attachment($blog_id,$post_id=null,$comment_id=null) $where = null; // delete files in DB - if (!empty ($post_id) && is_numeric($post_id) ) - { - $where.=' AND post_id ="'.$post_id.'" '; - } + if (!empty ($post_id) && is_numeric($post_id)) { + $where .= ' AND post_id ="'.$post_id.'" '; + } - if (!empty ($comment_id) && is_numeric($comment_id) ) - { - if (!empty ($post_id) ) - { - $where.= ' AND '; - } - $where.=' comment_id ="'.$comment_id.'" '; - } + if (!empty ($comment_id) && is_numeric($comment_id)) { + if (!empty ($post_id)) { + $where .= ' AND '; + } + $where .= ' comment_id ="'.$comment_id.'" '; + } // delete all files in directory $courseDir = $_course['path'].'/upload/blog'; @@ -2659,7 +2658,8 @@ function delete_all_blog_attachment($blog_id,$post_id=null,$comment_id=null) @ unlink($file); } } - $sql = 'DELETE FROM '. $blog_table_attachment.' WHERE c_id = '.$course_id.' AND blog_id ="'.intval($blog_id).'" '.$where; + $sql = 'DELETE FROM '. $blog_table_attachment.' + WHERE c_id = '.$course_id.' AND blog_id ="'.intval($blog_id).'" '.$where; Database::query($sql); } @@ -2676,7 +2676,8 @@ function get_blog_post_from_user($course_code, $user_id) $course_id = $course_info['real_id']; $sql = "SELECT DISTINCT blog.blog_id, post_id, title, full_text, post.date_creation - FROM $tbl_blogs blog INNER JOIN $tbl_blog_post post + FROM $tbl_blogs blog + INNER JOIN $tbl_blog_post post ON (blog.blog_id = post.blog_id) WHERE blog.c_id = $course_id AND @@ -2705,12 +2706,12 @@ function get_blog_post_from_user($course_code, $user_id) */ function get_blog_comment_from_user($course_code, $user_id) { - $tbl_blogs = Database::get_course_table(TABLE_BLOGS); - $tbl_blog_comment = Database::get_course_table(TABLE_BLOGS_COMMENTS); - $user_id = intval($user_id); + $tbl_blogs = Database::get_course_table(TABLE_BLOGS); + $tbl_blog_comment = Database::get_course_table(TABLE_BLOGS_COMMENTS); + $user_id = intval($user_id); - $course_info = api_get_course_info($course_code); - $course_id = $course_info['real_id']; + $course_info = api_get_course_info($course_code); + $course_id = $course_info['real_id']; $sql = "SELECT DISTINCT blog.blog_id, comment_id, title, comment, comment.date_creation FROM $tbl_blogs blog INNER JOIN $tbl_blog_comment comment diff --git a/main/inc/lib/certificate.lib.php b/main/inc/lib/certificate.lib.php index 4dc7a3a1f0..b54f8fbcae 100755 --- a/main/inc/lib/certificate.lib.php +++ b/main/inc/lib/certificate.lib.php @@ -323,7 +323,6 @@ class Certificate extends Model */ public function parse_certificate_variables($array) { - $text = ''; $headers = $array[0]; $content = $array[1]; $final_content = array(); @@ -361,6 +360,7 @@ class Certificate extends Model get_lang('Date'). ': '.$final_content['date_certificate'].$break_space. get_lang('Score'). ': '.$final_content['gradebook_grade'].$break_space. 'URL'. ': '.$final_content['certificate_link']; + return $text; } diff --git a/main/inc/lib/course_description.lib.php b/main/inc/lib/course_description.lib.php index 8b1e861f34..5231d35575 100755 --- a/main/inc/lib/course_description.lib.php +++ b/main/inc/lib/course_description.lib.php @@ -339,7 +339,8 @@ class CourseDescription /** * Get description id by description type - * @param int description type + * @param int $description_type + * * @return int description id */ public function get_id_by_description_type($description_type) diff --git a/main/inc/lib/course_home.lib.php b/main/inc/lib/course_home.lib.php index 6d6f4b048c..09e22b1d95 100755 --- a/main/inc/lib/course_home.lib.php +++ b/main/inc/lib/course_home.lib.php @@ -994,8 +994,6 @@ class CourseHome */ public static function show_session_data($id_session) { - $session_table = Database::get_main_table(TABLE_MAIN_SESSION); - $user_table = Database::get_main_table(TABLE_MAIN_USER); $session_category_table = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY); $sessionInfo = api_get_session_info($id_session); @@ -1332,9 +1330,7 @@ class CourseHome /** * @param int $id - * @param int $courseId - * @param int $sessionId - * @param $values + * @param array $values */ public static function updateTool($id, $values) { diff --git a/main/inc/lib/course_request.lib.php b/main/inc/lib/course_request.lib.php index 030cb96f25..04efb761f1 100755 --- a/main/inc/lib/course_request.lib.php +++ b/main/inc/lib/course_request.lib.php @@ -37,6 +37,7 @@ class CourseRequestManager $wanted_course_code ); $result = Database::fetch_array(Database::query($sql)); + return $result['number'] > 0; } @@ -349,7 +350,8 @@ class CourseRequestManager public static function delete_course_request($id) { $id = (int)$id; - $sql = "DELETE FROM ".Database :: get_main_table(TABLE_MAIN_COURSE_REQUEST)." WHERE id = ".$id; + $sql = "DELETE FROM ".Database :: get_main_table(TABLE_MAIN_COURSE_REQUEST)." + WHERE id = ".$id; $result = Database::query($sql); return $result !== false; } @@ -365,7 +367,8 @@ class CourseRequestManager $sql = "SELECT COUNT(id) AS number FROM ".$course_table; } else { $status = (int)$status; - $sql = "SELECT COUNT(id) AS number FROM ".$course_table." WHERE status = ".$status; + $sql = "SELECT COUNT(id) AS number FROM ".$course_table." + WHERE status = ".$status; } $result = Database::fetch_array(Database::query($sql)); if (is_array($result)) { diff --git a/main/inc/lib/dashboard.lib.php b/main/inc/lib/dashboard.lib.php index 75688d7256..008ce57d8e 100755 --- a/main/inc/lib/dashboard.lib.php +++ b/main/inc/lib/dashboard.lib.php @@ -21,237 +21,237 @@ class DashboardManager */ public static function handle_dashboard_plugins() { - $token = Security::get_existing_token(); - $tokenCondition = '&sec_token='.$token; - - /* We scan the plugin directory. Each folder is a potential plugin. */ - $dashboard_pluginpath = api_get_path(SYS_PLUGIN_PATH).'dashboard/'; - $possibleplugins = self::get_posible_dashboard_plugins_path(); - - $table_cols = array('name', 'version', 'description'); - echo Display::page_subheader(get_lang('DashboardPlugins')); - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - $disabled_blocks_data = self::get_block_data_without_plugin(); - - // We display all the possible enabled or disabled plugins - foreach ($possibleplugins as $testplugin) { - $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info"; - if (file_exists($plugin_info_file) && is_readable($plugin_info_file)) { - $plugin_info = parse_info_file($plugin_info_file); - - // change index to lower case - $plugin_info = array_change_key_case($plugin_info); - - echo ''; - self::display_dashboard_plugin_checkboxes($testplugin); - for ($i = 0 ; $i < count($table_cols); $i++) { - if (isset($plugin_info[strtolower($table_cols[$i])])) { - echo ''; - } else { - echo ''; - } - } - echo ''; - } else { - if ($testplugin != 'css') { - echo Display::tag( - 'tr', - Display::tag('td', - get_lang('CheckFilePermissions') . ' ' . Security::remove_XSS($plugin_info_file), - array('colspan' => '3')) - ); - } - } - } - - // display all disabled block data - if (count($disabled_blocks_data) > 0) { - foreach ($disabled_blocks_data as $disabled_block) { - echo ''; - echo ''; - } else { - echo ''; - } - } else { - echo ''; - } - } - echo ''; - } - } - - echo '
'.get_lang('Enabled').''.get_lang('Name').''.get_lang('Version').''.get_lang('Description').'
'; - echo $plugin_info[$table_cols[$i]]; - echo '
'; - for ($j = 0 ; $j < count($table_cols); $j++) { - if (isset($disabled_block[strtolower($table_cols[$j])])) { - if ($j == 2) { - echo '
'; - echo ''.$disabled_block[$table_cols[$j]].'
'; - echo ''.get_lang('ThisPluginHasbeenDeletedFromDashboardPluginDirectory').''; - echo '
'; - echo ''.$disabled_block[$table_cols[$j]].''; - echo ' 
'; - echo '
'; - echo '
'; - } - - /** - * display checkboxes for dashboard plugin list - * @param string plugin path - * @return void - */ - public static function display_dashboard_plugin_checkboxes($plugin_path) { - - $tbl_block = Database::get_main_table(TABLE_MAIN_BLOCK); - - $sql = "SELECT * FROM $tbl_block - WHERE path = '".Database::escape_string($plugin_path)."' AND active = 1"; - $rs = Database::query($sql); - - $checked = ''; - if (Database::num_rows($rs) > 0) { - $checked = "checked"; - } - - echo ""; - echo ''; - echo ""; - } - - /** - * This function allows easy activating and inactivating - * of plugins and save them inside db - * @param array $plugin_paths dashboard plugin paths - * return int affected rows - */ - public static function store_dashboard_plugins($plugin_paths) - { - $tbl_block = Database :: get_main_table(TABLE_MAIN_BLOCK); - $affected_rows = 0; - - // get all plugins path inside plugin directory - $dashboard_pluginpath = api_get_path(SYS_PLUGIN_PATH).'dashboard/'; - $possibleplugins = self::get_posible_dashboard_plugins_path(); - - if (count($possibleplugins) > 0) { - - $selected_plugins = array_intersect(array_keys($plugin_paths), $possibleplugins); - $not_selected_plugins = array_diff($possibleplugins, array_keys($plugin_paths)); - - // get blocks id from not selected path - $not_selected_blocks_id = array(); - foreach ($not_selected_plugins as $plugin) { - $block_data = self::get_enabled_dashboard_blocks($plugin); - if (!empty($block_data[$plugin])) { - $not_selected_blocks_id[] = $block_data[$plugin]['id']; - } - } - - /* clean not selected plugins for extra user data and block data */ - // clean from extra user data - $field_variable = 'dashboard'; - $extra_user_data = UserManager::get_extra_user_data_by_field_variable($field_variable); - foreach ($extra_user_data as $key => $user_data) { - $user_id = $key; - $user_block_data = self::get_user_block_data($user_id); - $user_block_id = array_keys($user_block_data); - - // clean disabled block data - foreach ($user_block_id as $block_id) { - if (in_array($block_id, $not_selected_blocks_id)) { - unset($user_block_data[$block_id]); - } - } - - // get columns and blocks id for updating extra user data - $columns = array(); - $user_blocks_id = array(); - foreach ($user_block_data as $data) { - $user_blocks_id[$data['block_id']] = true; - $columns[$data['block_id']] = $data['column']; - } - - // update extra user blocks data - $upd_extra_field = self::store_user_blocks($user_id, $user_blocks_id, $columns); - } - - // clean from block data - if (!empty($not_selected_blocks_id)) { - $sql_check = "SELECT id FROM $tbl_block WHERE id IN(".implode(',',$not_selected_blocks_id).")"; - $rs_check = Database::query($sql_check); - if (Database::num_rows($rs_check) > 0) { - $del = "DELETE FROM $tbl_block WHERE id IN(".implode(',',$not_selected_blocks_id).")"; - Database::query($del); - } - } - - // store selected plugins - foreach ($selected_plugins as $testplugin) { - $selected_path = Database::escape_string($testplugin); - - // check if the path already stored inside block table for updating or adding it - $sql = "SELECT path FROM $tbl_block WHERE path = '$selected_path'"; - $rs = Database::query($sql); - if (Database::num_rows($rs) > 0) { - // update - $upd = "UPDATE $tbl_block SET active = 1 WHERE path = '$selected_path'"; - $result = Database::query($upd); - $affected_rows = Database::affected_rows($result); - } else { - // insert - $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info"; - $plugin_info = array(); - if (file_exists($plugin_info_file)) { - $plugin_info = parse_info_file($plugin_info_file); - } - - // change keys to lower case - $plugin_info = array_change_key_case($plugin_info); - - // setting variables - $plugin_name = $testplugin; - $plugin_description = ''; - $plugin_controller = ''; - $plugin_path = $testplugin; - - if (isset($plugin_info['name'])) { - $plugin_name = Database::escape_string($plugin_info['name']); - } - if (isset($plugin_info['description'])) { - $plugin_description = Database::escape_string($plugin_info['description']); - } - if (isset($plugin_info['controller'])) { - $plugin_controller = Database::escape_string($plugin_info['controller']); - } - - $ins = "INSERT INTO $tbl_block(name, description, path, controller) - VALUES ('$plugin_name', '$plugin_description', '$plugin_path', '$plugin_controller')"; - $result = Database::query($ins); - $affected_rows = Database::affected_rows($result); - } - - } - - } - - return $affected_rows; - } + $token = Security::get_existing_token(); + $tokenCondition = '&sec_token='.$token; + + /* We scan the plugin directory. Each folder is a potential plugin. */ + $dashboard_pluginpath = api_get_path(SYS_PLUGIN_PATH).'dashboard/'; + $possibleplugins = self::getPossibleDashboardPluginsPath(); + + $table_cols = array('name', 'version', 'description'); + echo Display::page_subheader(get_lang('DashboardPlugins')); + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + $disabled_blocks_data = self::get_block_data_without_plugin(); + + // We display all the possible enabled or disabled plugins + foreach ($possibleplugins as $testplugin) { + $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info"; + if (file_exists($plugin_info_file) && is_readable($plugin_info_file)) { + $plugin_info = parse_info_file($plugin_info_file); + + // change index to lower case + $plugin_info = array_change_key_case($plugin_info); + + echo ''; + self::display_dashboard_plugin_checkboxes($testplugin); + for ($i = 0 ; $i < count($table_cols); $i++) { + if (isset($plugin_info[strtolower($table_cols[$i])])) { + echo ''; + } else { + echo ''; + } + } + echo ''; + } else { + if ($testplugin != 'css') { + echo Display::tag( + 'tr', + Display::tag('td', + get_lang('CheckFilePermissions') . ' ' . Security::remove_XSS($plugin_info_file), + array('colspan' => '3')) + ); + } + } + } + + // display all disabled block data + if (count($disabled_blocks_data) > 0) { + foreach ($disabled_blocks_data as $disabled_block) { + echo ''; + echo ''; + } else { + echo ''; + } + } else { + echo ''; + } + } + echo ''; + } + } + + echo '
'.get_lang('Enabled').''.get_lang('Name').''.get_lang('Version').''.get_lang('Description').'
'; + echo $plugin_info[$table_cols[$i]]; + echo '
'; + for ($j = 0 ; $j < count($table_cols); $j++) { + if (isset($disabled_block[strtolower($table_cols[$j])])) { + if ($j == 2) { + echo '
'; + echo ''.$disabled_block[$table_cols[$j]].'
'; + echo ''.get_lang('ThisPluginHasbeenDeletedFromDashboardPluginDirectory').''; + echo '
'; + echo ''.$disabled_block[$table_cols[$j]].''; + echo ' 
'; + echo '
'; + echo '
'; + } + + /** + * display checkboxes for dashboard plugin list + * @param string plugin path + * @return void + */ + public static function display_dashboard_plugin_checkboxes($plugin_path) { + + $tbl_block = Database::get_main_table(TABLE_MAIN_BLOCK); + + $sql = "SELECT * FROM $tbl_block + WHERE path = '".Database::escape_string($plugin_path)."' AND active = 1"; + $rs = Database::query($sql); + + $checked = ''; + if (Database::num_rows($rs) > 0) { + $checked = "checked"; + } + + echo ""; + echo ''; + echo ""; + } + + /** + * This function allows easy activating and inactivating + * of plugins and save them inside db + * @param array $plugin_paths dashboard plugin paths + * return int affected rows + */ + public static function store_dashboard_plugins($plugin_paths) + { + $tbl_block = Database :: get_main_table(TABLE_MAIN_BLOCK); + $affected_rows = 0; + + // get all plugins path inside plugin directory + $dashboard_pluginpath = api_get_path(SYS_PLUGIN_PATH).'dashboard/'; + $possibleplugins = self::getPossibleDashboardPluginsPath(); + + if (count($possibleplugins) > 0) { + + $selected_plugins = array_intersect(array_keys($plugin_paths), $possibleplugins); + $not_selected_plugins = array_diff($possibleplugins, array_keys($plugin_paths)); + + // get blocks id from not selected path + $not_selected_blocks_id = array(); + foreach ($not_selected_plugins as $plugin) { + $block_data = self::get_enabled_dashboard_blocks($plugin); + if (!empty($block_data[$plugin])) { + $not_selected_blocks_id[] = $block_data[$plugin]['id']; + } + } + + /* clean not selected plugins for extra user data and block data */ + // clean from extra user data + $field_variable = 'dashboard'; + $extra_user_data = UserManager::get_extra_user_data_by_field_variable($field_variable); + foreach ($extra_user_data as $key => $user_data) { + $user_id = $key; + $user_block_data = self::get_user_block_data($user_id); + $user_block_id = array_keys($user_block_data); + + // clean disabled block data + foreach ($user_block_id as $block_id) { + if (in_array($block_id, $not_selected_blocks_id)) { + unset($user_block_data[$block_id]); + } + } + + // get columns and blocks id for updating extra user data + $columns = array(); + $user_blocks_id = array(); + foreach ($user_block_data as $data) { + $user_blocks_id[$data['block_id']] = true; + $columns[$data['block_id']] = $data['column']; + } + + // update extra user blocks data + $upd_extra_field = self::store_user_blocks($user_id, $user_blocks_id, $columns); + } + + // clean from block data + if (!empty($not_selected_blocks_id)) { + $sql_check = "SELECT id FROM $tbl_block WHERE id IN(".implode(',',$not_selected_blocks_id).")"; + $rs_check = Database::query($sql_check); + if (Database::num_rows($rs_check) > 0) { + $del = "DELETE FROM $tbl_block WHERE id IN(".implode(',',$not_selected_blocks_id).")"; + Database::query($del); + } + } + + // store selected plugins + foreach ($selected_plugins as $testplugin) { + $selected_path = Database::escape_string($testplugin); + + // check if the path already stored inside block table for updating or adding it + $sql = "SELECT path FROM $tbl_block WHERE path = '$selected_path'"; + $rs = Database::query($sql); + if (Database::num_rows($rs) > 0) { + // update + $upd = "UPDATE $tbl_block SET active = 1 WHERE path = '$selected_path'"; + $result = Database::query($upd); + $affected_rows = Database::affected_rows($result); + } else { + // insert + $plugin_info_file = $dashboard_pluginpath.$testplugin."/$testplugin.info"; + $plugin_info = array(); + if (file_exists($plugin_info_file)) { + $plugin_info = parse_info_file($plugin_info_file); + } + + // change keys to lower case + $plugin_info = array_change_key_case($plugin_info); + + // setting variables + $plugin_name = $testplugin; + $plugin_description = ''; + $plugin_controller = ''; + $plugin_path = $testplugin; + + if (isset($plugin_info['name'])) { + $plugin_name = Database::escape_string($plugin_info['name']); + } + if (isset($plugin_info['description'])) { + $plugin_description = Database::escape_string($plugin_info['description']); + } + if (isset($plugin_info['controller'])) { + $plugin_controller = Database::escape_string($plugin_info['controller']); + } + + $ins = "INSERT INTO $tbl_block(name, description, path, controller) + VALUES ('$plugin_name', '$plugin_description', '$plugin_path', '$plugin_controller')"; + $result = Database::query($ins); + $affected_rows = Database::affected_rows($result); + } + + } + + } + + return $affected_rows; + } /** * Get all plugins path inside dashboard directory * @return array name plugins directories */ - public static function get_posible_dashboard_plugins_path() { + public static function getPossibleDashboardPluginsPath() { // get all plugins path inside plugin directory /* We scan the plugin directory. Each folder is a potential plugin. */ @@ -274,7 +274,7 @@ class DashboardManager public static function get_block_data_without_plugin() { $tbl_block = Database :: get_main_table(TABLE_MAIN_BLOCK); - $possibleplugins = self::get_posible_dashboard_plugins_path(); + $possibleplugins = self::getPossibleDashboardPluginsPath(); // We check if plugin exists inside directory for updating active field $sql = "SELECT * FROM $tbl_block"; @@ -311,7 +311,8 @@ class DashboardManager * @param string plugin path * @return array data */ - public static function get_enabled_dashboard_blocks($path = '') { + public static function get_enabled_dashboard_blocks($path = '') + { $tbl_block = Database :: get_main_table(TABLE_MAIN_BLOCK); $condition_path = ''; if (!empty($path)) { @@ -505,7 +506,6 @@ class DashboardManager $upd_extra_field = self::store_user_blocks($user_id, $user_blocks_id, $columns); return $upd_extra_field; - } /** diff --git a/main/inc/lib/event_email_template.class.php b/main/inc/lib/event_email_template.class.php index a3c85e698e..3bcbd3b81f 100755 --- a/main/inc/lib/event_email_template.class.php +++ b/main/inc/lib/event_email_template.class.php @@ -1,10 +1,5 @@ addRule('name', get_lang('ThisFieldIsRequired'), 'required'); + return $form; } diff --git a/main/inc/lib/exercise_show_functions.lib.php b/main/inc/lib/exercise_show_functions.lib.php index 60a30e292a..46f3fdd492 100755 --- a/main/inc/lib/exercise_show_functions.lib.php +++ b/main/inc/lib/exercise_show_functions.lib.php @@ -114,37 +114,37 @@ class ExerciseShowFunctions static function display_oral_expression_answer($feedback_type, $answer, $id, $questionId, $nano = null) { - if (isset($nano)) { - echo $nano->show_audio_file(); - } + if (isset($nano)) { + echo $nano->show_audio_file(); + } - if (empty($id)) { - echo ''; - echo Display::tag('td', nl2br(Security::remove_XSS($answer)), array('width'=>'55%')); - echo ''; - if ($feedback_type != EXERCISE_FEEDBACK_TYPE_EXAM) { - echo ''; - echo Display::tag('td',get_lang('notCorrectedYet'), array('width'=>'45%')); - echo ''; - } else { - echo ' '; - } - } else { - echo ''; - echo ''; - if (!empty($answer)) { - echo nl2br(Security::remove_XSS($answer)); - } - echo ''; + if (empty($id)) { + echo ''; + echo Display::tag('td', nl2br(Security::remove_XSS($answer)), array('width'=>'55%')); + echo ''; + if ($feedback_type != EXERCISE_FEEDBACK_TYPE_EXAM) { + echo ''; + echo Display::tag('td',get_lang('notCorrectedYet'), array('width'=>'45%')); + echo ''; + } else { + echo ' '; + } + } else { + echo ''; + echo ''; + if (!empty($answer)) { + echo nl2br(Security::remove_XSS($answer)); + } + echo ''; - if (!api_is_allowed_to_edit(null,true) && $feedback_type != EXERCISE_FEEDBACK_TYPE_EXAM) { - echo ''; - $comm = Event::get_comments($id,$questionId); - echo ''; - } - echo ''; - } - } + if (!api_is_allowed_to_edit(null,true) && $feedback_type != EXERCISE_FEEDBACK_TYPE_EXAM) { + echo ''; + $comm = Event::get_comments($id,$questionId); + echo ''; + } + echo ''; + } + } /** * Displays the answer to a hotspot question diff --git a/main/inc/lib/export.lib.inc.php b/main/inc/lib/export.lib.inc.php index fb8a9d8c86..0286c51d25 100755 --- a/main/inc/lib/export.lib.inc.php +++ b/main/inc/lib/export.lib.inc.php @@ -29,16 +29,16 @@ class Export /** * Constructor */ - private function __construct() + public function __construct() { - } + } - /** - * Export tabular data to CSV-file - * @param array $data - * @param string $filename - */ - public static function arrayToCsv($data, $filename = 'export') + /** + * Export tabular data to CSV-file + * @param array $data + * @param string $filename + */ + public static function arrayToCsv($data, $filename = 'export') { if (empty($data)) { return false; @@ -126,27 +126,27 @@ class Export $wrapper_tagname = null, $encoding = null ) { - if (empty($encoding)) { - $encoding = api_get_system_encoding(); - } - $file = api_get_path(SYS_ARCHIVE_PATH).'/'.uniqid('').'.xml'; - $handle = fopen($file, 'a+'); - fwrite($handle, ''."\n"); - if (!is_null($wrapper_tagname)) { - fwrite($handle, "\t".'<'.$wrapper_tagname.'>'."\n"); - } - foreach ($data as $row) { - fwrite($handle, '<'.$item_tagname.'>'."\n"); - foreach ($row as $key => $value) { - fwrite($handle, "\t\t".'<'.$key.'>'.$value.''."\n"); - } - fwrite($handle, "\t".''."\n"); - } - if (!is_null($wrapper_tagname)) { - fwrite($handle, ''."\n"); - } - fclose($handle); - DocumentManager :: file_send_for_download($file, true, $filename.'.xml'); + if (empty($encoding)) { + $encoding = api_get_system_encoding(); + } + $file = api_get_path(SYS_ARCHIVE_PATH).'/'.uniqid('').'.xml'; + $handle = fopen($file, 'a+'); + fwrite($handle, ''."\n"); + if (!is_null($wrapper_tagname)) { + fwrite($handle, "\t".'<'.$wrapper_tagname.'>'."\n"); + } + foreach ($data as $row) { + fwrite($handle, '<'.$item_tagname.'>'."\n"); + foreach ($row as $key => $value) { + fwrite($handle, "\t\t".'<'.$key.'>'.$value.''."\n"); + } + fwrite($handle, "\t".''."\n"); + } + if (!is_null($wrapper_tagname)) { + fwrite($handle, ''."\n"); + } + fclose($handle); + DocumentManager :: file_send_for_download($file, true, $filename.'.xml'); exit; } diff --git a/main/inc/lib/redirect.class.php b/main/inc/lib/redirect.class.php index b9ab1f9d4b..58e947f093 100755 --- a/main/inc/lib/redirect.class.php +++ b/main/inc/lib/redirect.class.php @@ -140,7 +140,7 @@ class Redirect */ protected static function navigate($url) { - session_write_close(); //should not be neeeded + session_write_close(); //should not be needed header("Location: $url"); exit; } diff --git a/main/newscorm/learnpath.class.php b/main/newscorm/learnpath.class.php index 6c23a5d347..8aebb62f6b 100755 --- a/main/newscorm/learnpath.class.php +++ b/main/newscorm/learnpath.class.php @@ -7914,8 +7914,8 @@ class learnpath $return .= ''; $return .= ''; $return .= ''; - $return .= "\t\t\t\t" . ''; + $return .= ''; $arrHide = array ( $id @@ -7979,35 +7979,14 @@ class learnpath } } - - // Commented the prerequisites, only visible in edit (work). - /* - $return .= ''; - $return .= ''; - $return .= '"; - */ $return .= ''; } $return .= ''; if ($action == 'add') { - $return .= ' '; + $return .= ' '; } else { - $return .= ' '; + $return .= ' '; } $return .= ''; $return .= ''; diff --git a/main/permissions/blog_permissions.inc.php b/main/permissions/blog_permissions.inc.php index 8a4ec5e48a..32e352806b 100755 --- a/main/permissions/blog_permissions.inc.php +++ b/main/permissions/blog_permissions.inc.php @@ -9,9 +9,31 @@ /** * Init */ -$rights_full=array("article_add","article_delete","article_edit","article_rate","article_comments_add","article_comments_delete","article_comments_rate","task_management","member_management","role_management"); -$rights_limited=array("Add","Edit","Delete"); -$rights_blog=array("article_add","article_delete","article_edit","article_rate","article_comments_add","article_comments_delete","article_comments_rate","task_management","member_management","role_management"); +$rights_full = array( + "article_add", + "article_delete", + "article_edit", + "article_rate", + "article_comments_add", + "article_comments_delete", + "article_comments_rate", + "task_management", + "member_management", + "role_management", +); +$rights_limited = array("Add", "Edit", "Delete"); +$rights_blog = array( + "article_add", + "article_delete", + "article_edit", + "article_rate", + "article_comments_add", + "article_comments_delete", + "article_comments_rate", + "task_management", + "member_management", + "role_management", +); $course_tool_table = Database::get_course_table(TABLE_TOOL_LIST); // Get all user @@ -31,32 +53,32 @@ while ($user = Database::fetch_assoc($result)) { } //$user_id=$userIdViewed; -if ($mainUserInfo['status']==1) -{ - $course_admin=1; +if ($mainUserInfo['status'] == 1) { + $course_admin = 1; } include_once('permissions_functions.inc.php'); -include_once(api_get_path(LIBRARY_PATH) . "/groupmanager.lib.php"); // ACTIONS -if (isset($_GET['do'])) -{ - if ( isset($_GET['permission']) AND isset($_GET['tool']) AND ($_GET['do']=='grant' OR $_GET['do']=='revoke')) - { - $result_message=store_one_permission('user', $_GET['do'], $_GET['user_id'], $_GET['tool'], $_GET['permission']); - } - if (isset($_GET['role']) AND ($_GET['do']=='grant' OR $_GET['do']=='revoke')) - { - $result_message=assign_role('user', $_GET['do'], $user_id, $_GET['role'], $_GET['scope']); - } +if (isset($_GET['do'])) { + if (isset($_GET['permission']) AND isset($_GET['tool']) AND ($_GET['do'] == 'grant' OR $_GET['do'] == 'revoke')) { + $result_message = store_one_permission( + 'user', + $_GET['do'], + $_GET['user_id'], + $_GET['tool'], + $_GET['permission'] + ); + } + if (isset($_GET['role']) AND ($_GET['do'] == 'grant' OR $_GET['do'] == 'revoke')) { + $result_message = assign_role( + 'user', + $_GET['do'], + $user_id, + $_GET['role'], + $_GET['scope'] + ); + } } -/* -if (isset($result_message)) -{ - Display::display_normal_message($result_message); -} -*/ - // ------------------------------------------------------------------ // RETRIEVING THE PERMISSIONS OF THE ROLES OF THE USER @@ -80,17 +102,14 @@ if (api_get_setting('user_roles')=='true') { // ------------------------------------------------------------------ // RETRIEVING THE PERMISSIONS OF THE ROLES OF THE GROUPS OF THE USER // ------------------------------------------------------------------ -if (api_get_setting('group_roles')=='true') -{ +if (api_get_setting('group_roles')=='true') { // NOTE: DIT MOET NOG VERDER UITGEWERKT WORDEN - foreach ($groups_of_user as $group) - { + foreach ($groups_of_user as $group) { $this_current_group_role_permissions_of_user=get_roles_permissions('user',$user_id); //$inherited_permissions[$tool][]=$permission; } } - echo "
"; // ---------------------------------------------------