} $c->save(); echo "Category: {$c->getName()}\n"; } // Now that we've got People and Categories in the database, // Link the Departments with their Categories and Default Person $result = $mongo->departments->find(); foreach ($result as $r) { $d = new Department($r['name']); if (!empty($r['defaultPerson']['_id'])) { $id = getPersonIdFromCrosswalk($r['defaultPerson']['_id']); $d->setDefaultPerson_id($id); } if (!empty($r['categories'])) { $ids = array(); foreach ($r['categories'] as $c) { try { $category = new Category($c['name']); $ids[] = $category->getId(); } catch (Exception $e) { // Departments may have old categories we have deleted // Just ignore them } } $d->setCategories($ids); } $d->save(); $p = $d->getDefaultPerson(); $p = $p ? $p->getFullname() : ''; echo "Department: {$d->getName()} Person: {$p}\n"; }
} } if (!$ticket->getEnteredByPerson()) { $ticket->setEnteredByPerson('unknown'); } if (isset($row['assigned_to']) && $row['assigned_to']) { try { list($username, $fullname) = explode(':', $row['assigned_to']); $person = new Person($username); $ticket->setAssignedPerson($person); } catch (Exception $e) { } } elseif (isset($row['dept'])) { try { $department = new Department($row['dept']); $ticket->setAssignedPerson($department->getDefaultPerson()); } catch (Exception $e) { } } // Check the location against Master Address // Master Address data should overwrite information from ReqPro $row['street_num'] = preg_replace('/[^a-zA-Z0-9\\-\\&\\s\'\\/]/', '', $row['street_num']); if ($row['street_num']) { $query = preg_match('/[a-zA-Z]/', $row['street_num']) ? $row['street_num'] : "{$row['street_num']} {$row['street_dir']} {$row['street_name']} {$row['street_type']} {$row['sud_type']} {$row['sud_num']}"; $data = AddressService::getLocationData($query); echo $query . ' ==> '; if (count($data)) { $ticket->setAddressServiceData($data); } else { if (is_numeric($row['street_num'])) { $location = "{$row['street_num']} {$row['street_dir']} {$row['street_name']} {$row['street_type']} {$row['sud_type']} {$row['sud_num']}";