}
public boolean storeInNab(String mypicProfileUNID) {
try {
Database database = (Database) resolveVariable("database");
Document profile = database.getDocumentByUNID(mypicProfileUNID);
if (null != profile) {
Session session = (Session) resolveVariable("sessionAsSigner");
Database nab = session.getDatabase(this.NabServer, this.NabFilePath);
if (null != nab) {
String userAbbrev = session.createName(profile.getItemValueString("User")).getAbbreviated();
View VIMPeople = nab.getView("($VIMPeople)");
Document nabEntry = VIMPeople.getDocumentByKey(userAbbrev, true);
if (null != nabEntry) {
XSPContext context = (XSPContext) resolveVariable("context");
profile.replaceItemValue("PhotoURL",
context.getUrl().getScheme() + "://" + context.getUrl().getHost() + '/' + database.getFilePath() +
"/api.xsp?method=getmypic&id=" +
UNIDEncoder.encode(session.createName(profile.getItemValueString("User")).getCanonical()) + "&size=" +
this.DefaultSize + "&format=" + this.DefaultFormat);
if (this.StoreProfilesInNab == "Yes") {
// If we're synching w/ the NAB, Email Address should not be pushed to nab -- it should only get pulled
profile.replaceItemValue("InternetAddress", nabEntry.getItemValueString("InternetAddress"));
nabEntry.replaceItemValue("WebSite", profile.getItemValueString("WebSite"));
nabEntry.replaceItemValue("PhotoURL", profile.getItemValueString("PhotoURL"));
nabEntry.replaceItemValue("AboutMe", profile.getItemValueString("AboutMe"));
nabEntry.replaceItemValue("StreetAddress", profile.getItemValueString("StreetAddress"));
nabEntry.replaceItemValue("City", profile.getItemValueString("City"));
nabEntry.replaceItemValue("State", profile.getItemValueString("State"));
nabEntry.replaceItemValue("Zip", profile.getItemValueString("Zip"));
nabEntry.replaceItemValue("Country", profile.getItemValueString("Country"));
nabEntry.replaceItemValue("PhoneNumber", profile.getItemValueString("PhoneNumber"));
nabEntry.replaceItemValue("HomeFAXPhoneNumber", profile.getItemValueString("HomeFAXPhoneNumber"));
nabEntry.replaceItemValue("Spouse", profile.getItemValueString("Spouse"));
nabEntry.replaceItemValue("Children", profile.getItemValueString("Children"));
nabEntry.replaceItemValue("JobTitle", profile.getItemValueString("JobTitle"));
nabEntry.replaceItemValue("CompanyName", profile.getItemValueString("CompanyName"));
nabEntry.replaceItemValue("Dpartment", profile.getItemValueString("Dpartment"));
nabEntry.replaceItemValue("Employee", profile.getItemValueString("Employee"));
nabEntry.replaceItemValue("Location", profile.getItemValueString("Location"));
nabEntry.replaceItemValue("Manager", profile.getItemValueString("Manager"));
nabEntry.replaceItemValue("OfficePhoneNumber", profile.getItemValueString("OfficePhoneNumber"));
nabEntry.replaceItemValue("OfficeFAXPhoneNumber", profile.getItemValueString("OfficeFAXPhoneNumber"));
nabEntry.replaceItemValue("CellPhoneNumber", profile.getItemValueString("CellPhoneNumber"));
nabEntry.replaceItemValue("PhoneNumber_6", profile.getItemValueString("PhoneNumber_6"));
nabEntry.replaceItemValue("Assistant", profile.getItemValueString("Assistant"));
nabEntry.replaceItemValue("OfficeStreetAddress", profile.getItemValueString("OfficeStreetAddress"));
nabEntry.replaceItemValue("OfficeCity", profile.getItemValueString("OfficeCity"));
nabEntry.replaceItemValue("OfficeState", profile.getItemValueString("OfficeState"));
nabEntry.replaceItemValue("OfficeZip", profile.getItemValueString("OfficeZip"));
nabEntry.replaceItemValue("OfficeCountry", profile.getItemValueString("OfficeCountry"));
nabEntry.replaceItemValue("OfficeNumber", profile.getItemValueString("OfficeNumber"));
}
if (this.SaveUrlInNab == "Yes") {
nabEntry.replaceItemValue("PhotoURL", profile.getItemValueString("PhotoURL"));
}
if (nabEntry.save()) {
if (profile.save()) {
return true;
} else {
return false;
}