if ($contact->exists()) { $foundByEmail = 1; $contactId = $contact->id; } } if (!$foundByEmail) { $contact =& $repository->getObject($contactId); } if (!$contact) { raiseError("no_such_object", $contactId); } $smarty->assign('PAGETITLE', $contact->get('name')); $smarty->assign('CONTACT_ID', $contactId); $smarty->assign('CONTACT_NAME', $contact->get('name')); $smarty->assign('CONTACT_DATA', $contact->getAllWithIcon()); $numProgs = $contact->countProgrammes(); $progs = $page->getlocalizedWithParams('has_programs', $numProgs); $smarty->assign('PROGS', $progs); $smarty->assign('NUMPROGS', $numProgs); $refs = $contact->references(); while (list(, $row) = each($refs)) { $id = $row['object_id']; $role = $row['role_id']; if ($repository->getTable($id) != 'sotf_programmes') { $obj = $repository->getObject($id); if (!$obj) { logError("DB integrity error: role {$role} for {$id} which does not exist"); continue; } $class = get_class($obj); $data = array();