/// <summary> /// Comprueba si el formulario tiene un captcha /// </summary> private bool CheckHasCaptcha(JabberForm objForm) { // Comprueba si el formulario tiene un captcha foreach (System.Collections.Generic.KeyValuePair<string, JabberFormItem> objFormItem in objForm.Items) if (objFormItem.Value.Name == "FORM_TYPE" && objFormItem.Value.FirstValue == "urn:xmpp:captcha") return true; // Devuelve el valor que indica si tiene un captcha return false; }
/// <summary> /// Convierte los datos de un formulario /// </summary> internal DataField[] Convert(JabberForm objForm) { List<DataField> objColResult = new List<DataField>(); // Convierte los resultados foreach (KeyValuePair<string, JabberFormItem> objKeyValue in objForm.Items) if (MustSend(objKeyValue.Value)) objColResult.Add(Convert(objKeyValue.Value)); // Devuelve los datos return objColResult.ToArray(); }
/// <summary> /// Convierte un DataForm de Xmpp en un formulario de la librería /// </summary> internal JabberForm Convert(DataForm objDataForm) { JabberForm objForm = new JabberForm(ConvertType(objDataForm.Type), objDataForm.Title, objDataForm.Instructions); // Convierte los tipos for (int intIndex = 0; intIndex < objDataForm.Fields.Count; intIndex++) { string strName = GetName(objDataForm.Fields[intIndex].Name, intIndex); // Añade el elemento convertido objForm.Items.Add(strName, ConvertField(objDataForm.Fields[intIndex], strName)); } // Comprueba si el formulario tiene un captcha objForm.HasCaptcha = CheckHasCaptcha(objForm); // Devuelve el formulario return objForm; }