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_CreatePageJob.php - defines a 'job' class used by the 'CreateClass' page
 * SF_FormClasses.inc - defines two classes, SFForm and SFTemplateInForm, that represent the components of a user-defined form, and handle the creation of a form definition file.
 * 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.inc = defines a class, SFFormField, used in displaying user-created forms
 * SF_FormInputs.inc - static functions for Semantic Forms' built-in form inputs.
 * SF_FormPrinter.inc - defines a class, SFFormPrinter, that handles the display and running of a user-created form.
 * SF_FormUtils.inc - utility functions for displaying a form.
 * SF_GlobalFunctions.php - sets hooks and defines constants used by the rest of the Semantic Forms code.
 * SF_LinkUtils.inc - utility functions for linking to pages and forms.
 * SF_ParserFunctions.php - defines parser functions (currently four - 'forminput', 'formlink', 'arraymap' and 'arraymaptemplate')
 * SF_Settings.php - various settings for Semantic Forms.
 * SF_TemplateField.inc - defines a class, SFTemplateField, used in both creating templates and displaying user-created forms.
 * SF_Utils.inc - general utility functions.

/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


 * floatbox.js - the Floatbox Javascript library
 * SF_yui_autocompletion.js - helper functions for autocompletion with the Yahoo! User Interface (YUI) library

/skins


 * close.png - "x" image to close the upload window
 * floatbox.css - CSS file for the Floatbox library
 * loading.gif - "window loading" image
 * SF_main.css - main CSS file for Semantic Forms
 * SF_yui_autocompletion.css - CSS file for YUI auto-completion

/specials


 * SF_AddData.php - defines the 'AddData' special page
 * SF_AddPage.php - defines the 'AddPage' special page
 * 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_EditData.php - defines the 'EditData' special page
 * SF_Forms.php - defines the 'Forms' special page
 * SF_Templates.php - defines the 'Templates' special page
 * SF_UploadWindow.php - defines the 'UploadWindow' special page