Browse Source

Filtering forum categories in category list.

Julio Montoya 11 years ago
parent
commit
5c44fa72ee
1 changed files with 35 additions and 20 deletions
  1. 35 20
      main/forum/forumfunction.inc.php

+ 35 - 20
main/forum/forumfunction.inc.php

@@ -1119,7 +1119,7 @@ function get_forum_categories($id = '')
     $session_id = api_get_session_id();
     $course_id = api_get_course_int_id();
 
-    $condition_session = api_get_session_condition($session_id);
+    $condition_session = api_get_session_condition($session_id, true, true);
     $condition_session .= " AND forum_categories.c_id = $course_id AND item_properties.c_id = $course_id";
 
     if (empty($id)) {
@@ -1232,11 +1232,9 @@ function get_forums($id = '', $course_code = '', $includeGroupsForum = true)
     // GETTING ALL THE FORUMS
     // Condition for the session
     $session_id = api_get_session_id();
-    $condition_session = api_get_session_condition($session_id);
+    $condition_session = api_get_session_condition($session_id, true, true);
     $course_id = $course_info['real_id'];
-
     $forum_list = array();
-
     $includeGroupsForumSelect = "";
     if (!$includeGroupsForum) {
         $includeGroupsForumSelect = " AND forum_of_group = 0 ";
@@ -1386,7 +1384,8 @@ function get_forums($id = '', $course_code = '', $includeGroupsForum = true)
     $result3 = Database::query($sql3);
     while ($row3 = Database::fetch_array($result3)) {
         if ($id == '') {
-            if (array_key_exists($row3['forum_id'], $forum_list)) { // This is needed because sql3 takes also the deleted forums into account.
+            // This is needed because sql3 takes also the deleted forums into account.
+            if (array_key_exists($row3['forum_id'], $forum_list)) {
                 $forum_list[$row3['forum_id']]['number_of_posts'] = $row3['number_of_posts'];
             }
         } else {
@@ -1394,7 +1393,8 @@ function get_forums($id = '', $course_code = '', $includeGroupsForum = true)
         }
     }
 
-    // Finding the last post information (last_post_id, last_poster_id, last_post_date, last_poster_name, last_poster_lastname, last_poster_firstname).
+    /* Finding the last post information
+    (last_post_id, last_poster_id, last_post_date, last_poster_name, last_poster_lastname, last_poster_firstname)*/
     if ($id == '') {
         if (is_array($forum_list)) {
             foreach ($forum_list as $key => $value) {
@@ -1603,17 +1603,25 @@ function get_posts($thread_id)
 {
     $table_users = Database :: get_main_table(TABLE_MAIN_USER);
     $table_posts = Database :: get_course_table(TABLE_FORUM_POST);
+    //$tableItemProperty = Database :: get_course_table(TABLE_ITEM_PROPERTY);
 
     $course_id = api_get_course_int_id();
+    $sessionId = api_get_session_id();
 
     // note: change these SQL so that only the relevant fields of the user table are used
+    /*
+     * INNER JOIN $tableItemProperty i
+                ON i.ref = posts.post_id AND i.c_id = posts.c_id*
+     i.id_session = $sessionId
+     */
     if (api_is_allowed_to_edit(null, true)) {
         $sql = "SELECT * FROM $table_posts posts
-                LEFT JOIN  $table_users users
-                    ON posts.poster_id=users.user_id
+                LEFT JOIN $table_users users
+                    ON posts.poster_id = users.user_id
                 WHERE
-                c_id = $course_id AND
-                posts.thread_id='".Database::escape_string($thread_id)."'
+                    posts.c_id = $course_id AND
+                    posts.thread_id='".Database::escape_string($thread_id)."'
+
                 ORDER BY posts.post_id ASC";
     } else {
         // students can only se the posts that are approved (posts.visible='1')
@@ -1621,9 +1629,9 @@ function get_posts($thread_id)
                 LEFT JOIN  $table_users users
                     ON posts.poster_id=users.user_id
                 WHERE
-                c_id = $course_id AND
-                posts.thread_id='".Database::escape_string($thread_id)."'
-                AND posts.visible='1'
+                    posts.c_id = $course_id AND
+                    posts.thread_id = '".Database::escape_string($thread_id)."' AND
+                    posts.visible='1'
                 ORDER BY posts.post_id ASC";
     }
     $result = Database::query($sql);
@@ -2014,7 +2022,7 @@ function store_thread($values)
             "'".Database::escape_string($values['numeric_calification'])."',".
             "'".Database::escape_string($values['weight_calification'])."',".
             "'".api_get_session_id()."')";
-        $result = Database::query($sql);
+        Database::query($sql);
         $last_thread_id = Database::insert_id();
 
         // Add option gradebook qualify.
@@ -2028,7 +2036,18 @@ function store_thread($values)
             $maxqualify = $values['numeric_calification'];
             $weigthqualify = $values['weight_calification'];
             $resourcedescription = '';
-            add_resource_to_course_gradebook($values['category_id'], $coursecode, $resourcetype, $resourceid, $resourcename, $weigthqualify, $maxqualify, $resourcedescription, 0, api_get_session_id());
+            add_resource_to_course_gradebook(
+                $values['category_id'],
+                $coursecode,
+                $resourcetype,
+                $resourceid,
+                $resourcename,
+                $weigthqualify,
+                $maxqualify,
+                $resourcedescription,
+                0,
+                api_get_session_id()
+            );
         }
 
         if ($last_thread_id) {
@@ -2488,13 +2507,9 @@ function store_reply($values)
 {
     global $_course;
     global $current_forum;
-    global $origin;
 
-    $table_threads = Database :: get_course_table(TABLE_FORUM_THREAD);
     $forum_table_attachment = Database :: get_course_table(TABLE_FORUM_ATTACHMENT);
     $table_posts = Database :: get_course_table(TABLE_FORUM_POST);
-
-    $gradebook = Security::remove_XSS($_GET['gradebook']);
     $post_date = api_get_utc_datetime();
 
     if ($current_forum['approval_direct_post'] == '1' && !api_is_allowed_to_edit(null, true)) {
@@ -2554,7 +2569,7 @@ function store_reply($values)
                 if ($result) {
                     $sql = 'INSERT INTO '.$forum_table_attachment.'(c_id, filename,comment, path, post_id,size) '.
                         "VALUES (".api_get_course_int_id().", '".Database::escape_string($file_name)."', '".Database::escape_string($comment)."', '".Database::escape_string($new_file_name)."' , '".$new_post_id."', '".intval($_FILES['user_upload']['size'])."' )";
-                    $result = Database::query($sql);
+                    Database::query($sql);
                     $message .= ' / '.get_lang('FileUploadSucces');
                     $last_id = Database::insert_id();
                     api_item_property_update($_course, TOOL_FORUM_ATTACH, $last_id, 'ForumAttachmentAdded', api_get_user_id());