private ResponseEntry PrepareElementForResponseEntries(ConfigOpt configOpt, PwEntryDatabase entryDatabase) { var name = entryDatabase.entry.Strings.ReadSafe(PwDefs.TitleField); var loginpass = GetUserPass(entryDatabase); var login = loginpass[0]; var passwd = loginpass[1]; var uuid = entryDatabase.entry.Uuid.ToHexString(); List <ResponseStringField> fields = null; if (configOpt.ReturnStringFields) { fields = new List <ResponseStringField>(); foreach (var sf in entryDatabase.entry.Strings) { if (sf.Key.StartsWith("KPH: ")) { var sfValue = entryDatabase.entry.Strings.ReadSafe(sf.Key); fields.Add(new ResponseStringField(sf.Key.Substring(5), sfValue)); } } if (fields.Count > 0) { var fields2 = from e2 in fields orderby e2.Key ascending select e2; fields = fields2.ToList <ResponseStringField>(); } else { fields = null; } } return(new ResponseEntry(name, login, passwd, uuid, fields)); }
internal string[] GetUserPass(PwEntryDatabase entryDatabase) { // follow references SprContext ctx = new SprContext(entryDatabase.entry, entryDatabase.database, SprCompileFlags.All, false, false); string user = SprEngine.Compile( entryDatabase.entry.Strings.ReadSafe(PwDefs.UserNameField), ctx); string pass = SprEngine.Compile( entryDatabase.entry.Strings.ReadSafe(PwDefs.PasswordField), ctx); var f = (MethodInvoker) delegate { // apparently, SprEngine.Compile might modify the database host.MainWindow.UpdateUI(false, null, false, null, false, null, false); }; if (host.MainWindow.InvokeRequired) { host.MainWindow.Invoke(f); } else { f.Invoke(); } return(new string[] { user, pass }); }
internal string[] GetUserPass(PwEntryDatabase entryDatabase) { // follow references SprContext ctx = new SprContext(entryDatabase.entry, entryDatabase.database, SprCompileFlags.All, false, false); return(GetUserPass(entryDatabase, ctx)); }
private ResponseEntry PrepareElementForResponseEntries(ConfigOpt configOpt, PwEntryDatabase entryDatabase) { SprContext ctx = new SprContext(entryDatabase.entry, entryDatabase.database, SprCompileFlags.All, false, false); var name = entryDatabase.entry.Strings.ReadSafe(PwDefs.TitleField); var loginpass = GetUserPass(entryDatabase, ctx); var login = loginpass[0]; var passwd = loginpass[1]; var uuid = entryDatabase.entry.Uuid.ToHexString(); var group = new ResponseGroupField(entryDatabase.entry.ParentGroup.GetFullPath("/", true), entryDatabase.entry.ParentGroup.Uuid.ToHexString()); List <ResponseStringField> fields = null; if (configOpt.ReturnStringFields) { fields = new List <ResponseStringField>(); foreach (var sf in entryDatabase.entry.Strings) { var sfValue = entryDatabase.entry.Strings.ReadSafe(sf.Key); // follow references sfValue = SprEngine.Compile(sfValue, ctx); if (configOpt.ReturnStringFieldsWithKphOnly) { if (sf.Key.StartsWith("KPH: ")) { fields.Add(new ResponseStringField(sf.Key.Substring(5), sfValue)); } } else { fields.Add(new ResponseStringField(sf.Key, sfValue)); } } if (fields.Count > 0) { var fields2 = from e2 in fields orderby e2.Key ascending select e2; fields = fields2.ToList <ResponseStringField>(); } else { fields = null; } } return(new ResponseEntry(name, login, passwd, uuid, group, fields, IsEntryRecycled(entryDatabase.entry))); }
internal string[] GetUserPass(PwEntryDatabase entryDatabase) { // follow references SprContext ctx = new SprContext(entryDatabase.entry, entryDatabase.database, SprCompileFlags.All, false, false); string user = SprEngine.Compile( entryDatabase.entry.Strings.ReadSafe(PwDefs.UserNameField), ctx); string pass = SprEngine.Compile( entryDatabase.entry.Strings.ReadSafe(PwDefs.PasswordField), ctx); var f = (MethodInvoker)delegate { // apparently, SprEngine.Compile might modify the database host.MainWindow.UpdateUI(false, null, false, null, false, null, false); }; if (host.MainWindow.InvokeRequired) host.MainWindow.Invoke(f); else f.Invoke(); return new string[] { user, pass }; }
private ResponseEntry PrepareElementForResponseEntries(ConfigOpt configOpt, PwEntryDatabase entryDatabase) { var name = entryDatabase.entry.Strings.ReadSafe(PwDefs.TitleField); var loginpass = GetUserPass(entryDatabase); var login = loginpass[0]; var passwd = loginpass[1]; var uuid = entryDatabase.entry.Uuid.ToHexString(); List<ResponseStringField> fields = null; if (configOpt.ReturnStringFields) { fields = new List<ResponseStringField>(); foreach (var sf in entryDatabase.entry.Strings) { var sfValue = entryDatabase.entry.Strings.ReadSafe(sf.Key); if (configOpt.ReturnStringFieldsWithKphOnly) { if (sf.Key.StartsWith("KPH: ")) { fields.Add(new ResponseStringField(sf.Key.Substring(5), sfValue)); } } else { fields.Add(new ResponseStringField(sf.Key, sfValue)); } } if (fields.Count > 0) { var fields2 = from e2 in fields orderby e2.Key ascending select e2; fields = fields2.ToList<ResponseStringField>(); } else { fields = null; } } return new ResponseEntry(name, login, passwd, uuid, fields); }