$smarty->assign("ROLE_ID", $roleId); $smarty->assign('ROLE_LIST', $vocabularies->getRoles()); if (!$scope) { $scope = 1; } switch ($scope) { case 1: $contacts = sotf_Contact::listMyContactNames(); break; case 2: $contacts = array(); break; case 3: $contacts = sotf_Contact::listObjectContactNames($obj); break; case 4: $contacts = sotf_Contact::listLocalContactNames(); break; case 5: $contacts = sotf_Contact::listAllContactNames(); break; case 6: $contacts = sotf_Contact::searchContactNames(sotf_Utils::getParameter('pattern')); break; default: raiseError("unknown scope: {$scope}"); } $smarty->assign('SCOPE', $scope); $smarty->assign('PATTERN', $pattern); $smarty->assign('CONTACTS', $contacts); $page->sendPopup();
} else { $smarty->assign('NEW', 1); } if ($save) { if (!$roleSelected) { raiseError("No role selected!"); } // save if (is_object($role)) { $role->set('contact_id', $contactId); $role->set('role_id', $roleSelected); $role->update(); } else { if (sotf_ComplexNodeObject::findRole($objectId, $contactId, $roleSelected)) { // this role already exists $page->addStatusMsg("role_exists"); $page->redirectSelf(); } $role = new sotf_NodeObject("sotf_object_roles"); $role->set('object_id', $objectId); $role->set('contact_id', $contactId); $role->set('role_id', $roleSelected); $role->create(); } $page->redirect("closeAndRefresh.php?anchor=roles"); } // general data $smarty->assign("OBJECT_ID", $objectId); $smarty->assign('ROLE_LIST', $repository->getRoles()); $smarty->assign('CONTACTS', sotf_Contact::listLocalContactNames()); $page->sendPopup();