Extension:Page Forms/Code structure

The following are the directories and files in the Semantic Forms extension:

/includes


 * SF_AutocompleteAPI.php - defines a class, SFAutocompleteAPI, that adds a new action, 'sfautocomplete', to the MediaWiki API, to enable remote setting of autocompletion values.
 * SF_AutoeditAPI.php - defines a class, SFAutoeditAPI, that adds the API action 'sfautoedit'.
 * SF_CreatePageJob.php - defines a 'job' class used by the 'CreateClass' page.
 * SF_Form.php - defines a class, SFForm, that holds information about a user-defined form.
 * SF_FormEditTab.php - a tab that shows up on data pages to let the user edit them with a form, if a default form for this page's category or namespace has been specified.
 * SF_FormField.php - defines a class, SFFormField, used in displaying user-created forms.
 * SF_FormLinker.php - utility functions for linking to pages and forms.
 * SF_FormPrinter.php - defines a class, SFFormPrinter, that handles the display and running of a user-created form.
 * SF_FormUtils.php - utility functions for displaying a form.
 * SF_GlobalFunctions.php - sets hooks and defines constants used by the rest of the Semantic Forms code.
 * SF_PageSchemas.php - defines functions to be used by the Page Schemas extension to define and generate forms.
 * SF_ParserFunctions.php - defines parser functions (currently five - 'forminput', 'formlink', 'autoedit', 'arraymap' and 'arraymaptemplate')
 * SF_Settings.php - various settings for Semantic Forms.
 * SF_TemplateField.php - defines a class, SFTemplateField, used in both creating templates and displaying user-created forms.
 * SF_TemplateInForm.php - defines a class, SFTemplateInForm, that holds information about the section of a form devoted to one template.
 * SF_Utils.php - general utility functions.

/includes/forminputs

...one file for each form input type...
 * SF_FormInputs.php - base class for each form input class

/languages


 * SF_Aliases.php - aliases for special-page names for all languages
 * SF_Language.php - parent class for all language files
 * ...various other language files...
 * SF_Messages.php - display messages for all languages

/libs


 * jquery.fancybox-1.3.1.js - the Fancybox Javascript library
 * SemanticForms.js - Javascript utility helper functions
 * SF_ajax_form_preview.js - functionality for preview button in forms
 * SF_autoedit.js - functionality for the #autoedit parser function
 * SF_autogrow.js - "autogrow" functionality for form textareas
 * SF_collapsible.js - "collapsing" functions, for use in special pages
 * SF_imagePreview.js - functionality for "image preview" parameter for uploadable fields
 * SF_popupform.js - functionality for popup forms
 * SF_submit.js - functionality for the "save and continue" button
 * SF_wikieditor.js - adds the WikiEditor

/skins

...various other image and CSS files...
 * SemanticForms.css - main CSS file for Semantic Forms
 * jquery.fancybox.css - CSS file for the Fancybox library

/specials


 * SF_CreateCategory.php - defines the 'CreateCategory' special page
 * SF_CreateClass.php - defines the 'CreateClass' special page
 * SF_CreateForm.php - defines the 'CreateForm' special page
 * SF_CreateTemplate.php - defines the 'CreateTemplate' special page
 * SF_CreateProperty.php - defines the 'CreateProperty' special page
 * SF_Forms.php - defines the 'Forms' special page
 * SF_FormEdit.php - defines the 'FormEdit' special page
 * SF_FormStart.php - defines the 'FormStart' special page
 * SF_Templates.php - defines the 'Templates' special page
 * SF_UploadWindow.php - defines the 'UploadWindow' special page