/**
  * 
  * 
  * @param string $where Where filter to apply
  * @return array 
  */
 public function find($where)
 {
     $table_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);
     $table = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
     $tool = TOOL_COURSE_DESCRIPTION;
     $sql = "SELECT des.*,         \n                       prop.id AS property_id, \n                       prop.tool, \n                       prop.insert_user_id,\n                       prop.insert_date,\n                       prop.lastedit_date,\n                       prop.ref,\n                       prop.lastedit_type,\n                       prop.lastedit_user_id,\n                       prop.to_group_id, \n                       prop.to_user_id, \n                       prop.visibility, \n                       prop.start_visible, \n                       prop.end_visible, \n                       prop.id_session\n                FROM \n                    {$table} AS des, \n                    {$table_item_property} AS prop\n                WHERE \n                    (des.id = prop.ref AND\n                     des.c_id = prop.c_id AND\n                     prop.tool = '{$tool}')";
     $sql .= $where ? "AND ({$where})" : '';
     $rs = Database::query($sql);
     while ($data = Database::fetch_object($rs)) {
         $result[] = CourseDescription::create($data);
     }
     return $result;
     //$result = new ResultSet($sql);
     //return $result->return_type(__CLASS__);
 }
 public function export_csv()
 {
     $c_id = Request::get_c_id();
     $session_id = Request::get_session_id();
     $course = (object) array();
     $course->c_id = $c_id;
     $course->session_id = $session_id;
     $descriptions = CourseDescription::repository()->find_by_course($course);
     $writer = new CsvWriter();
     $writer->add($descriptions);
     $path = $writer->get_path();
     \DocumentManager::file_send_for_download($path, true, get_lang('CourseDescriptions') . '.csv');
 }
 /**
  *
  */
 public function delete_by_course()
 {
     if (!$this->is_allowed_to_edit()) {
         $this->forbidden();
         return;
     }
     $course = (object) array();
     $course->c_id = Request::get_c_id();
     $course->session_id = Request::get_session_id();
     $success = CourseDescription::repository()->remove_by_course($course);
     $this->response($success);
 }