This section explains what plugins are and how to use the built-in IProperty plugin event triggers to extend with custom functionality

Plugins Overview

Plugins are used to extend the functionality of the base Intellectual Property product. There are several plugins included with the IProperty package, but if you need to add your own custom functionality, we have you covered.

IProperty uses custom plugin event triggers throughout the code, which allows you (as a developer), to extend functionality without modifying the core code. Using plugins is a safe way to add extra features and not worry about them being wiped out the next time your upgrade to a new release of IProperty! Below is a list of current plugin positions and the arguments they accept. If you have ideas for new positions, we’re happy to listen! Please post any thoughts in the support forums at http://extensions.thethinkery.net.

IProperty Plugin Triggers and Arguments

  • onAfterPropertyRequest( $propid , $userid , $post , $settings )
    Triggers event after property request form is submitted (send additional copies, store data, etc – CRM integration)

  • onAfterRenderAdmin( $user , $settings )
    Triggers event to append to admin IP control panel sidebar (perhaps a simple stats plugin or extended options)

  • onAfterRenderAdminTabs( $user, $settings, $pane )
    Creates a new tab in the admin Iproperty control panel tab pane

  • onAfterRenderFavorites( $user, $settings )
    Triggers event after user favorites display is rendered – user favorites toolbar example
    • Use plg_ip_favoritetools as example
  • onAfterRenderForms( $property , $settings , $pane , $sidecol )
    Creates a new tab in BOTTOM tabbed area of property layout near request form, send to friend, etc
    • Use education, fbcomment, gallery, jomcomment, or walkscore plugins as example
  • onAfterRenderMap( $property , $settings , $pane , $tabheight, $tabwidth, $secondary_accent )
    Creates a new tab in TOP tabbed area of property layout near the thumbnail, map, etc
    • Use currency, google directions, or streetview plugin as example
  • onAfterRenderProperty( $property , $settings )
    Triggers event after property details page is rendered
    • Use fblike or ipsocial plugin as example
  • onAfterRenderPropertyEdit( $property, $settings , $pane )
    Creates a new tab in admin property editing form (Ipreserve reservations tab example)

  • onAfterRenderStats( $user , $settings , $pane )
    Creates a new slider panel in admin IP control panel statistics tab

  • onAfterSaveFavorite( $propid, $user_id, $notes )
    Triggers event after a user saves property to their favorites

  • onAfterSavePropertyEdit( $prop_id, $isNew, $settings )
    Triggers when a property is edited or saved

  • onAfterSendFriend( $propid , $userid , $post , $settings )
    Triggers event after send to friend form is submitted (send additional copies, store data, etc)

  • onBeforeRenderProperty( $settings )
    Triggers event before the front-end property details page is rendered – addthis plugin example
    • Use addthis or google plus one plugin as example
  • onBeforeRenderToolbar( $settings )
    Triggers event before the front-end IP toolbar is rendered – additional toolbars example