7ccf89f50a
Credit: Alastair Pharo <alastair@catalyst.net.nz> Database -------- 1) This plugin previously only worked for students. I have made it so that you can _optionally_ specify a third column in your external database that contains some kind of role information (similar to the other two fields, you can choose any column in the mdl_role table to map to). If you do this, then the code loops over for each different kind of role and queries the external database. 2) There is a *slight* problem to be aware of, if a moodle configuration was upgraded to use the new role columns, then downgraded again, some roles might get left behind in the database when the large-scale sync thing goes through (that is, record pruning doesn't scale back quite properly). These would be cleaned away by setup_enrolments at login time, however, and the scenario was unlikely enough for me to decide to leave it for now. 3) If you don't have role columns there is a 'default role' setting that you can set (made by Martin D). This will only be obeyed when no role columns are specified. If this is set to 'default', then the course default role is used, on a per-course basis (which usually means student apparently). 4) From (3), my understanding is that if no config settings are changed, and the default role for all upgraded courses is student, that a smooth upgrade to 1.7 will occur for users of the database enrolment plugin.
214 lines
6.3 KiB
HTML
214 lines
6.3 KiB
HTML
<table cellspacing="0" cellpadding="5" border="0" align="center">
|
|
<tr>
|
|
<th colspan="2">
|
|
<?php print_string("server_settings", "enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbtype:</td>
|
|
<td>
|
|
<?php
|
|
$dbtypes = array("access","ado_access", "ado", "ado_mssql", "borland_ibase", "csv", "db2", "fbsql", "firebird", "ibase", "informix72", "informix", "mssql", "mysql", "mysqlt", "oci805", "oci8", "oci8po", "odbc", "odbc_mssql", "odbc_oracle", "oracle", "postgres64", "postgres7", "postgres", "proxy", "sqlanywhere", "sybase", "vfp");
|
|
foreach ($dbtypes as $dbtype) {
|
|
$dboptions[$dbtype] = $dbtype;
|
|
}
|
|
if (!isset($frm->enrol_dbtype)) {
|
|
$frm->enrol_dbtype = 'mysql';
|
|
}
|
|
choose_from_menu($dboptions, "enrol_dbtype", $frm->enrol_dbtype, '', '', '');
|
|
?>
|
|
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbtype","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbhost:</td>
|
|
<td>
|
|
<?php
|
|
if (!isset($frm->enrol_dbhost)) {
|
|
$frm->enrol_dbhost = '';
|
|
}
|
|
?>
|
|
<input size="15" type="text" name="enrol_dbhost" value="<?php p($frm->enrol_dbhost) ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbhost","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbuser:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_dbuser" value="<?php echo $frm->enrol_dbuser ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbuser","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbpass:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_dbpass" value="<?php echo $frm->enrol_dbpass ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbpass","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbname:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_dbname" value="<?php echo $frm->enrol_dbname ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbname","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_dbtable:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_dbtable" value="<?php echo $frm->enrol_dbtable ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("dbtable","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
<th colspan="2">
|
|
<?php print_string("field_mapping", "enrol_database") ?>
|
|
</td>
|
|
<tr valign="top">
|
|
<td align="right">enrol_localcoursefield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_localcoursefield" value="<?php echo $frm->enrol_localcoursefield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("localcoursefield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_localuserfield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_localuserfield" value="<?php echo $frm->enrol_localuserfield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("localuserfield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_localrolefield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_db_localrolefield" value="<?php echo $frm->enrol_db_localrolefield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("localrolefield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_remotecoursefield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_remotecoursefield" value="<?php echo $frm->enrol_remotecoursefield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("remotecoursefield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_remoteuserfield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_remoteuserfield" value="<?php echo $frm->enrol_remoteuserfield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("remoteuserfield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_remoterolefield:</td>
|
|
<td>
|
|
<input size="15" type="text" name="enrol_db_remoterolefield" value="<?php echo $frm->enrol_db_remoterolefield ?>" />
|
|
</td>
|
|
<td>
|
|
<?php print_string("remoterolefield","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th colspan="2">
|
|
<?php print_string('roles', 'role') ?>
|
|
</th>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_defaultcourseroleid:</td>
|
|
<td>
|
|
<?php
|
|
$sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
|
|
$assignableroles = get_assignable_roles($sitecontext);
|
|
$assignableroles = array('' => get_string('default')) + $assignableroles;
|
|
|
|
choose_from_menu($assignableroles, 'enrol_db_defaultcourseroleid', $frm->enrol_db_defaultcourseroleid, '');
|
|
if (isset($err['enrol_db_defaultcourseroleid'])) formerr($err['enrol_db_defaultcourseroleid']);
|
|
?>
|
|
</td>
|
|
<td>
|
|
<?php print_string("defaultcourseroleid","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th colspan="2">
|
|
<?php print_string("enrol_database_autocreation_settings", "enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_autocreate:</td>
|
|
<td>
|
|
<?php
|
|
choose_from_menu(array('0'=>'no','1'=>'yes'), "enrol_db_autocreate", $frm->enrol_db_autocreate, "");
|
|
if (isset($err["enrol_db_autocreate"])) formerr($err["enrol_db_autocreate"]);
|
|
?>
|
|
</td>
|
|
<td>
|
|
<?php print_string("autocreate","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_category:</td>
|
|
<td>
|
|
<?php
|
|
$displaylist = array();
|
|
$parentlist = array();
|
|
make_categories_list($displaylist, $parentlist);
|
|
choose_from_menu($displaylist, "enrol_db_category", $frm->enrol_db_category, "");
|
|
|
|
?>
|
|
<?php if (isset($err["enrol_db_category"])) formerr($err["enrol_db_category"]); ?>
|
|
</td><td>
|
|
<?php print_string("category","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr valign="top">
|
|
<td align="right">enrol_db_template:</td>
|
|
<td>
|
|
<input name="enrol_db_template" type="text" size="30" value="<?php echo $frm->enrol_db_template?>">
|
|
<?php if (isset($err["enrol_db_template"])) formerr($err["enrol_db_template"]); ?>
|
|
</td><td>
|
|
<?php print_string("template","enrol_database") ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<th colspan="2">
|
|
<?php print_string("general_options", "enrol_database") ?>
|
|
</td>
|
|
|
|
</table>
|