Jump to content

Developer Documentation


  1. core/OutputPlugins

    What it does OutputPlugins allow you to add additional template plugins that can be called from templates in order to perform an action. Examples of built in template plugins include {url="..."} and {lang="..."}. OutputPlugins can support an unlimited number of parameters. How to use The extension will be generated with one property and one method.     /**      * @brief    Can be used when compiling CSS      */     public static $canBeUsedInCss = FALSE; The $canBeU
  2. core/OverviewStatistics

    What it does Overview extensions allow your applications to provide none content related statistics data for the ACP - Statistics Pages. How to use This extension requires a defined $page variable, where you can define if the provided statics data should be shown on the User or Activity Statistics page.     /**      * Return the sub-block keys      *      * @note This is designed to allow one class to support multiple blocks, for instance using the ContentRouter to generate bl
  3. core/Permissions

    What it does The Permissions extension type allows your application to add permission settings (typically permission matrix instances) to the edit permissions form when viewing groups in the AdminCP. While administrators can visit each individual area presently to edit group permissions, they can also visit the Manage Groups page in the AdminCP and click the padlock icon next to a group to edit all of the group's permissions throughout the suite from one page. How to use The exten
  4. core/Profile

    What it is A Profile extension allows you to add a tab to user profiles on the front end. Blog and Gallery use this extension to show the user's blogs and the user's gallery albums, respectively, on separate tabs on the user's profile. How to use The extension defines 3 methods and a property by default     /**      * Member      */     protected $member;          /**      * Constructor      *      * @param    \IPS\Member    $member    Member whose profile we
  5. core/ProfileSteps

    What it is Invision Community 4.2 introduces a powerful profile completion feature which can guide users into completing additional parts of their user profile following their registration. Your application can add additional steps that the administrator can enable for profile completion as well. How to use Upon creating a ProfileSteps extension, the class template will contain 9 methods.     /**      * Available Actions to complete steps      *      * @return    array 
  6. core/RssImport

    What it does RssImport extensions allow your applications to create content from imported RSS Feeds. Administrators can set up RSS imports within the admin control panel from a central location and choose where the RSS items should be created. By adding an extension you can include your application content types in this list. How to use You will need the following 5 methods. For example usage please see /applications/forums/extensions/core/RssImport;     /**      * R
  7. core/Queue

    What it is Queue extensions allow your application to process certain functionality in the background. When deciding whether you need to use a task or a queue extension, your consideration should often come down to how much data needs to be processed. If you are running through 10 items on a regular schedule, you should use a task. If you need to loop through 50,000 items as quickly as possible, but this can be done in the background instead of immediately, you should use a Queue extension.
  8. core/Sitemap

    What it is A Sitemap extension allows your application to add content to the sitemap that the Invision Community software builds. Content items that are properly mapped in a ContentRouter extension will automatically be added, depending upon permissions, so you only need to add content not mapped through a content router extension. Member profiles are an example of non-content-item content added to the sitemap through a Sitemap extension. How to use When you generate the extension
  9. core/StreamItems

    What it is The StreamItems extension allows an application to add "extra items" to stream results. While content stored in the search index (which includes content item data) is automatically returned in activity streams, if you want to show other data such as users signing up in an application or users performing another action  in an application in activity streams, you will need to use a StreamItems extension to accomplish this. Calendar uses this functionality to show when a user h
  10. core/Uninstall

    What it is Uninstall extensions are executed when an application is uninstalled, allowing an application an opportunity to perform any necessary cleanup not automatically performed by Invision Community. Examples include deleting files that may have been stored special during installation, or pinging a remote API to disable the site. How to use The extension defines 3 methods (and a deprecated method left in place for backwards compatibility)     /**      * Code to execute
  11. core/Announcements

    What it does Announcement extensions allow your applications to show announcements in specific areas of the application, e.g. showing announcements in a specific category or section of your application. When the extension is available, while creating or editing announcements moderators will be able to configure the announcement based on your specifications (for instance, to select one or more categories). How to use Upon creating a new instance of this extension in the developer c
  12. core/BBCode

    What it is The BBCode extension allows your application to add additional BBCode tags to the parsing system within Invision Community. It should be noted that the preferred way of adding new editing capabilities is through CKEditor plugins (and custom editor plugins which can be created right from the AdminCP), however in some cases, particularly when an application has been upgraded from an older version of the software, you may wish to allow direct BBCode content to be translated during s
  13. nexus/Item

    What it is The nexus/Item extension allows your application to integrate with Commerce, supporting paid content within a third party application. Downloads uses this integration to better support paid files through Commerce, for instance. How to use The class template includes 4 properties, and various methods depending upon the class you are extending. By default the template is generated as so: class _{class} extends \IPS\nexus\Invoice\Item\Charge // or \IPS\nexus\Invoice\I
  14. core/Build

    What it does A 'Build' extension allows you to specify extra steps to take when your application is built. This may be necessary, for example, if any data must be compiled or otherwise modified, or if any data needs to be imported into the database during the application build process. Build extensions are used to compile CKEditor and to minify CodeMirror files, for example. How it works The extension supports two methods. The first method, build(), performs the actual processing
  15. core/BulkMail

    What it does The BulkMail extension allows you to define macros (replacement tags) available for use when a bulk mail is being created or edited. For example, your application may wish to allow tags to be used to insert certain statistics (number of records in the application) or certain member data (how many times a member has submitted to your application). How it works The extension defines two very simple methods. The first method is called to return an array of tags that are
  16. core/CommunityEnhancements

    What it does The CommunityEnhancements extension is designed to allow you to highlight third party integrations that users of your application can optionally take advantage of to further enhance their community. If your application requires a specific integration, then that integration is not strictly an "enhancement" and should not be highlighted in the Community Enhancements page. Extensions of this type will be shown under System > Community Enhancements and administrators will be abl
  17. core/ContactUs

    What it is A ContactUs extension is designed to allow you to handle contact form submissions in a special manner (based on the administrator configuration). For example, Commerce uses a ContactUs form extension to allow administrators to send contact form submissions to a support request (rather than emailing the administrator). How it works The extension has 3 methods defined.     /**      * Process Form      *      * @param    \IPS\Helpers\Form        $form        The
  18. core/ContentModeratorPermissions

    What it is ContentModeratorPermissions extensions allow your application to add new content item permission options to the moderator configuration area. This extension is very similar to the ModeratorPermissions extension, except that it is specifically designed to allow you to adjust content item permissions. How to use This type of extension will need to be created manually by creating the folder and the class within the folder in your application, rather than through the develo
  • Create New...