diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 7155e86835..e8a0053313 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -6742,4 +6742,48 @@ class CourseManager $courseFieldValue = new ExtraFieldValue('course'); $courseFieldValue->saveFieldValues($params); } + + /** + * @return int + */ + public static function getCountOpenCourses() + { + $visibility = [ + COURSE_VISIBILITY_REGISTERED, + COURSE_VISIBILITY_OPEN_PLATFORM, + COURSE_VISIBILITY_OPEN_WORLD, + ]; + + $table = Database::get_main_table(TABLE_MAIN_COURSE); + $sql = "SELECT count(id) count + FROM $table + WHERE visibility IN (".implode(',', $visibility).")"; + $result = Database::query($sql); + $row = Database::fetch_array($result); + + return (int) $row['count']; + } + + /** + * @return int + */ + public static function getCountExercisesFromOpenCourse() + { + $visibility = [ + COURSE_VISIBILITY_REGISTERED, + COURSE_VISIBILITY_OPEN_PLATFORM, + COURSE_VISIBILITY_OPEN_WORLD, + ]; + + $table = Database::get_main_table(TABLE_MAIN_COURSE); + $tableExercise = Database::get_course_table(TABLE_QUIZ_TEST); + $sql = "SELECT count(e.iid) count + FROM $table c INNER JOIN $tableExercise e + ON (c.id = e.c_id) + WHERE e.active <> -1 AND visibility IN (".implode(',', $visibility).")"; + $result = Database::query($sql); + $row = Database::fetch_array($result); + + return (int) $row['count']; + } } diff --git a/main/inc/lib/database.lib.php b/main/inc/lib/database.lib.php index d1e721dd2f..4225868cdd 100755 --- a/main/inc/lib/database.lib.php +++ b/main/inc/lib/database.lib.php @@ -743,8 +743,8 @@ class Database $path.'src/Chamilo/SkillBundle/Entity', $path.'src/Chamilo/PluginBundle/Entity', // ofaj - $path.'src/Chamilo/FaqBundle/Entity', - $path.'src/Chamilo/ContactBundle/Entity', + //$path.'src/Chamilo/FaqBundle/Entity', + //$path.'src/Chamilo/ContactBundle/Entity', //$path.'vendor/sonata-project/user-bundle/Entity', //$path.'vendor/sonata-project/user-bundle/Model', diff --git a/main/inc/lib/formvalidator/FormValidator.class.php b/main/inc/lib/formvalidator/FormValidator.class.php index 1cf79cbfda..a5ead59499 100755 --- a/main/inc/lib/formvalidator/FormValidator.class.php +++ b/main/inc/lib/formvalidator/FormValidator.class.php @@ -884,6 +884,46 @@ EOT; $this->addElement('html', $snippet); } + /** + * Draws a panel of options see the course_info/infocours.php page. + * + * @param string $name internal name + * @param string $title visible title + * @param array $groupList list of group or elements + */ + public function addPanelOption($name, $title, $groupList) + { + $this->addHtml('