/**
  * Build the Surveys
  * @param int $session_id Internal session ID
  * @param int $courseId Internal course ID
  * @param bool $with_base_content Whether to include content from the course without session or not
  * @param array $id_list If you want to restrict the structure to only the given IDs
  */
 public function build_thematic($session_id = 0, $courseId = 0, $with_base_content = false, $id_list = array())
 {
     $table_thematic = Database::get_course_table(TABLE_THEMATIC);
     $table_thematic_advance = Database::get_course_table(TABLE_THEMATIC_ADVANCE);
     $table_thematic_plan = Database::get_course_table(TABLE_THEMATIC_PLAN);
     $session_id = intval($session_id);
     if ($with_base_content) {
         $session_condition = api_get_session_condition($session_id, true, true);
     } else {
         $session_condition = api_get_session_condition($session_id, true);
     }
     $sql = "SELECT * FROM {$table_thematic}\n                WHERE c_id = {$courseId} {$session_condition} ";
     $db_result = Database::query($sql);
     while ($row = Database::fetch_array($db_result, 'ASSOC')) {
         $thematic = new Thematic($row);
         $sql = 'SELECT * FROM ' . $table_thematic_advance . '
                 WHERE c_id = ' . $courseId . ' AND thematic_id = ' . $row['id'];
         $result = Database::query($sql);
         while ($sub_row = Database::fetch_array($result, 'ASSOC')) {
             $thematic->add_thematic_advance($sub_row);
         }
         $items = api_get_item_property_by_tool('thematic_plan', api_get_course_id(), $session_id);
         $thematic_plan_id_list = array();
         if (!empty($items)) {
             foreach ($items as $item) {
                 $thematic_plan_id_list[] = $item['ref'];
                 //$thematic_plan_complete_list[$item['ref']] = $item;
             }
         }
         if (count($thematic_plan_id_list) > 0) {
             $sql = "SELECT tp.*\n                        FROM {$table_thematic_plan} tp\n                            INNER JOIN {$table_thematic} t ON (t.id=tp.thematic_id)\n                        WHERE\n                            t.c_id = {$courseId} AND\n                            tp.c_id = {$courseId} AND\n                            thematic_id = {$row['id']}  AND\n                            tp.id IN (" . implode(', ', $thematic_plan_id_list) . ") ";
             $result = Database::query($sql);
             while ($sub_row = Database::fetch_array($result, 'ASSOC')) {
                 $thematic->add_thematic_plan($sub_row);
             }
         }
         $this->course->add_resource($thematic);
     }
 }