diff --git a/main/inc/lib/plugin.class.php b/main/inc/lib/plugin.class.php index ed05adcf18..f22d73b648 100644 --- a/main/inc/lib/plugin.class.php +++ b/main/inc/lib/plugin.class.php @@ -287,11 +287,29 @@ class Plugin { if (!empty($this->course_settings)) { foreach ($this->course_settings as $setting) { $variable = Database::escape_string($setting['name']); - $sql = "SELECT value FROM $t_course WHERE c_id = $course_id AND variable = '$variable' "; - $result = Database::query($sql); - if (!Database::num_rows($result)) { - $sql_course = "INSERT INTO $t_course (c_id, variable, value, category, subkey) VALUES ($course_id, '$variable','', 'plugins', '$plugin_name')"; - $r = Database::query($sql_course); + $value =''; + if (isset($setting['init_value'])) { + $value = Database::escape_string($setting['init_value']); + } + $type = 'textfield'; + if (isset($setting['type'])) { + $type = Database::escape_string($setting['type']); + } + if (isset($setting['group'])) { + $group = Database::escape_string($setting['group']); + $sql = "SELECT value FROM $t_course WHERE c_id = $course_id AND variable = '$group' AND subkey = '$variable' "; + $result = Database::query($sql); + if (!Database::num_rows($result)) { + $sql_course = "INSERT INTO $t_course (c_id, variable, subkey, value, category, type) VALUES ($course_id, '$group', '$variable', '$value', 'plugins', '$type')"; + $r = Database::query($sql_course); + } + } else { + $sql = "SELECT value FROM $t_course WHERE c_id = $course_id AND variable = '$variable' "; + $result = Database::query($sql); + if (!Database::num_rows($result)) { + $sql_course = "INSERT INTO $t_course (c_id, variable, value, category, subkey, type) VALUES ($course_id, '$variable','$value', 'plugins', '$plugin_name', '$type')"; + $r = Database::query($sql_course); + } } } } @@ -328,6 +346,9 @@ class Plugin { if (!empty($this->course_settings)) { foreach ($this->course_settings as $setting) { $variable = Database::escape_string($setting['name']); + if (!empty($setting['group'])) { + $variable = Database::escape_string($setting['group']); + } $sql_course = "DELETE FROM $t_course WHERE c_id = $course_id AND variable = '$variable'"; Database::query($sql_course); } diff --git a/main/inc/lib/plugin.lib.php b/main/inc/lib/plugin.lib.php index 36948341f1..34072f3507 100644 --- a/main/inc/lib/plugin.lib.php +++ b/main/inc/lib/plugin.lib.php @@ -332,8 +332,22 @@ class AppPlugin { //$icon = null; $form->addElement('html', '