/** * delete disconnectable mappings * @param <type> $a_server_id * @param <type> $a_mid * @param <type> $a_tree_id */ public static function deleteDisconnectableMappings($a_server_id, $a_mid, $a_tree_id, $a_ref_id) { global $ilDB; include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsTree.php'; include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsData.php'; $toDelete = array(); foreach (self::lookupAssignmentsByRefId($a_server_id, $a_mid, $a_tree_id, $a_ref_id) as $assignment) { $status = ilECSCmsData::lookupStatusByCmsId($a_server_id, $a_mid, $a_tree_id, $assignment); switch ($status) { case ilECSCmsData::MAPPING_UNMAPPED: $toDelete[] = $assignment; break; case ilECSCmsData::MAPPING_PENDING_DISCONNECTABLE: $toDelete[] = $assignment; break; case ilECSCmsData::MAPPING_PENDING_NOT_DISCONNECTABLE: break; case ilECSCmsData::MAPPING_MAPPED: $toDelete[] = $assignment; break; case ilECSCmsData::MAPPING_DELETED: $toDelete[] = $assignment; break; } } self::deleteMappingsByCsId($a_server_id, $a_mid, $a_tree_id, $toDelete); }