$_GET["PRIVS"] = $tpl->_ParsePrivieleges($_SESSION["privileges"]["ArticaGroupPrivileges"]); writequeries(); if (isset($_GET["delete_domain_confirm"])) { delete_domain_confirm(); exit; } if (isset($_GET["add_domain_entity"])) { add_domain_entity(); exit; } if (isset($_GET["ListDomainByEntity"])) { echo List_domains($_GET["ListDomainByEntity"]); exit; } if (isset($_GET["add_entity"])) { add_entity(); exit; } if (isset($_GET["Tree_Internet_domain_delete_transport"])) { Tree_Internet_domain_delete_transport(); exit; } if (isset($_GET["Tree_group_Add_New"])) { Tree_group_Add_New(); exit; } if (isset($_GET["Tree_group_edit1"])) { Tree_group_edit1(); exit; } if (isset($_GET["Tree_group_delete"])) {
function import_basisrooster($file_id, $tmp_name) { global $grp2ppl, $stamz; lock_renew_helper(1); $udmz = read_udmz_file($tmp_name); // a previous update may have gone wrong, cleanup just in case mdb2_exec("DELETE FROM files2lessen WHERE file_id = {$file_id}"); mdb2_exec("DELETE FROM grp2ppl WHERE file_id_basis = {$file_id}"); mdb2_exec("DELETE FROM grp2grp WHERE file_id_basis = {$file_id}"); // eerst lopen we alle leerlingen langs // dan alle docenten // dan alle groepen // en als laatste: alle lessen if (!checkset($udmz, 'udmz file', array('Groep', 'Leerling', 'Docent', 'Les'))) { return; } $leerlingen = 0; $categorieen_leerling = 0; foreach ($udmz['Leerling'] as $category => $value) { if (in_array($category, config('ZERMELO_CATEGORY_IGNORE'))) { continue; } $categorieen_leerling++; $leerlingen += count($value); } $docenten = count($udmz['Docent']); $groepen = 0; $categorieen_groep = 0; foreach ($udmz['Groep'] as $category => $value) { if (in_array($category, config('ZERMELO_CATEGORY_IGNORE'))) { continue; } $categorieen_groep++; foreach ($value as $id => $row) { if (in_array($id, config('ZERMELO_GROUP_IGNORE'))) { continue; } $groepen++; } } $lessen = count($udmz['Les']); /* logit('Categorieen leerling: '.$categorieen_leerling); logit('Leerlingen: '.$leerlingen); logit('Docenten: '.$docenten); logit('Categorieen groep: '.$categorieen_groep); logit('Groepen: '.$groepen); logit('Lessen: '.$lessen); */ $total = $categorieen_leerling + $leerlingen + $categorieen_groep + $groepen + $docenten + $lessen; $done = 0; lock_renew_helper(2, $done / $total); foreach ($udmz['Leerling'] as $category => $list) { if (in_array($category, config('ZERMELO_CATEGORY_IGNORE'))) { continue; } incdone($done, $total, 2); if (!($category_id = add_entity($category, CATEGORIE))) { return; } foreach ($list as $id => $row) { incdone($done, $total, 2); if (!checkset($row, "Leerling.{$category}", array('LASTNAME', 'FIRSTNAME', 'BETWEENNAME', 'BASICCLASS'))) { return; } if (!($leerling_id = add_entity($id, LEERLING))) { return; } insert_name($leerling_id, $row['FIRSTNAME'], $row['BETWEENNAME'], $row['LASTNAME']); if (!($lesgroep_id = add_entity($row['BASICCLASS'], STAMKLAS))) { return; } $stamz[$row['BASICCLASS']] = $category; add_basis_grp2ppl($lesgroep_id, $leerling_id, $file_id); add_basis_grp2ppl($category_id, $leerling_id, $file_id); } } lock_renew_helper(2, $done / $total); foreach ($udmz['Docent'] as $id => $row) { incdone($done, $total, 2); if (!checkset($row, 'Docent', array('Voornaam', 'Tussenvoegsel', 'Achternaam', 'e-mail'))) { continue; } if (!($docent_id = add_entity($id, DOCENT))) { return; } if ($row['Achternaam'] != '' && $row['Voornaam'] != '') { insert_name($docent_id, substr($row['Voornaam'], 0, 1) . '.', $row['Tussenvoegsel'], $row['Achternaam'], $row['e-mail']); } } lock_renew_helper(2, $done / $total); foreach ($udmz['Groep'] as $category => $list) { if (in_array($category, config('ZERMELO_CATEGORY_IGNORE'))) { continue; } incdone($done, $total, 2); if (!($category_id = add_entity($category, CATEGORIE))) { return; } foreach ($list as $id => $row) { if (in_array($id, config('ZERMELO_GROUP_IGNORE'))) { continue; } incdone($done, $total, 2); if (isset($stamz[$id])) { if ($stamz[$id] != $category) { logit('stamklas in andere categorie?!?!?'); } else { continue; } // doe niks, want stamklassen hebben we al } if (!checkset($row, "Groep.{$category}", array('SET'))) { return; } if (!($lesgroep_id = add_entity(config('IGNORE_BEFORE_DOT') ? $id : $category . '.' . $id, LESGROEP))) { return; } if ($row['SET'] == '') { continue; } // geen leerlingen in deze groep foreach (explode(',', $row['SET']) as $leerlingnummer) { if (!($leerling_id = add_entity($leerlingnummer, LEERLING))) { return; } add_basis_grp2ppl($lesgroep_id, $leerling_id, $file_id); } } } lock_renew_helper(2, $done / $total); mdb2_exec(<<<EOT INSERT INTO grp2grp ( lesgroep_id, lesgroep2_id, file_id_basis ) SELECT DISTINCT grp2ppl.lesgroep_id, grp2ppl2.lesgroep_id, grp2ppl.file_id_basis FROM grp2ppl JOIN grp2ppl AS grp2ppl2 ON grp2ppl.ppl_id = grp2ppl2.ppl_id AND grp2ppl.file_id_basis = grp2ppl2.file_id_basis WHERE grp2ppl.file_id_basis = {$file_id} EOT ); lock_renew_helper(2, $done / $total); foreach ($udmz['Les'] as $id => $row) { incdone($done, $total, 2); if (!checkset($row, 'Les', array('#WijzigComment', 'Dag', 'Uur', 'Vak', 'Grp', 'Doc', 'Lok'))) { return; } if (!($zermelo_id = add_zermelo_id($id))) { return; } insert_les(',', $zermelo_id, $row['Dag'], $row['Uur'], $row['Vak'], $row['Grp'], $row['Doc'], $row['Lok'], $file_id, $row['#WijzigComment']); } // als we hier zijn, dan is alles goed gegaan mdb2_exec("UPDATE files SET file_status = 1 WHERE file_id = {$file_id}"); lock_renew_helper(3, $done / $total); }