get_ActiveTypes(); for ($i = 0; $i < sizeof($types); $i++) { $myType = new $types[$i](); if (!$myType->supportsFileUpload()) { unset($types[$i]); } } $types = array_values($types); // check if account specific page should be shown if (isset($_POST['type'])) { // get selected type $scope = $_POST['type']; // get selected modules $selectedModules = array(); $checkedBoxes = array_keys($_POST, 'on'); for ($i = 0; $i < sizeof($checkedBoxes); $i++) { if (strpos($checkedBoxes[$i], $scope . '_') === 0) { $selectedModules[] = substr($checkedBoxes[$i], strlen($scope) + 1); } } $deps = getModulesDependencies($scope); $depErrors = check_module_depends($selectedModules, $deps); if (is_array($depErrors) && (sizeof($depErrors) > 0)) { for ($i = 0; $i < sizeof($depErrors); $i++) { StatusMessage('ERROR', _("Unsolved dependency:") . ' ' . getModuleAlias($depErrors[$i][0], $scope) . " (" . getModuleAlias($depErrors[$i][1], $scope) . ")"); } } else { showMainPage($scope, $selectedModules); exit; } } // show start page echo "
\n"; echo "
\n"; echo _("Here you can create multiple accounts by providing a CSV file."); echo "
\n"; echo "\n"; echo ''; echo "\n"; include 'main_footer.php'; /** * Displays the acount type specific main page of the upload. * * @param string $scope account type * @param array $selectedModules list of selected account modules */ function showMainPage($scope, $selectedModules) { echo "
\n";
echo _("Please provide a CSV formated file with your account data. The cells in the first row must be filled with the column identifiers. The following rows represent one account for each row.");
echo "
";
echo _("Check your input carefully. LAM will only do some basic checks on the upload data.");
echo "
";
echo _("Hint: Format all cells as text in your spreadsheet program and turn off auto correction.");
echo "
\n"; echo "\n"; echo "
\n"; echo _("Here is a list of possible columns. The red columns must be included in the CSV file and filled with data for all accounts."); echo "
" . _("Columns:") . "
\n"; // DN options echo "\n"; // print table example and build sample CSV $sampleCSV_head = array(); $sampleCSV_row = array(); echo "" . _("This is an example how it would look in your spreadsheet program before you convert to CSV:") . "
\n"; echo "dn_suffix"; echo " | \n"; echo "\n"; echo "dn_rdn"; echo " | \n"; // module attributes for ($m = 0; $m < sizeof($modules); $m++) { if (sizeof($columns[$modules[$m]]) < 1) continue; for ($i = 0; $i < sizeof($columns[$modules[$m]]); $i++) { $sampleCSV_head[] = "\"" . $columns[$modules[$m]][$i]['name'] . "\""; echo "\n"; echo $columns[$modules[$m]][$i]['name']; echo " | \n"; } } echo "
\n"; echo $_SESSION['config']->get_Suffix($scope); echo " | \n"; echo "\n"; echo $RDNs[0]; echo " | \n"; // module attributes for ($m = 0; $m < sizeof($modules); $m++) { if (sizeof($columns[$modules[$m]]) < 1) continue; for ($i = 0; $i < sizeof($columns[$modules[$m]]); $i++) { $sampleCSV_row[] = "\"" . $columns[$modules[$m]][$i]['example'] . "\""; echo "\n"; echo $columns[$modules[$m]][$i]['example']; echo " | \n"; } } echo "
\n";
echo "
\n";
echo "" . _("Download sample CSV file") . "\n";
echo "
\n";
include 'main_footer.php';
die;
}
/**
* Prints the properties of one input field.
*
* @param string $module account module name
* @param array $data field data from modules
* @param string $scope account type
*/
function showColumnData($module, $data, $scope) {
if (isset($data['required']) && ($data['required'] == true)) {
echo "\n";
echo $data['description'];
echo "\n";
}
else {
echo "\n";
echo $data['description'];
echo "\n";
}
// help link
echo " ";
printHelpLink(getHelp($module, $data['help'], $scope), $data['help'], $module, $scope);
echo "
\n";
echo "