Jump to content

Daniel F

Invision Community Team
  • Posts

    6,574
  • Joined

  • Days Won

    37

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Everything posted by Daniel F

  1. You can do this inside the group permissions!
  2. A good start which can already be done, would be to ensure that existing MP rules are followed, for example that none of the core database table is changed. I've picked 3 random files from https://invisioncommunity.com/profile/114025-adriano-faria/content/?type=downloads_file and well... while other MP devs started to implement this change months ago to their existing apps, 2 of the 3 random apps which were recently upgraded, were still adding columns to core_members.
  3. I would suggest to use the MemberSync extension which will be called literally always when a member is created/edited/deleted
  4. It's coming with the first available release. It would be probably pointless to release such a topic ( or any of the new already prepared new dev resources) yet because things still change.
  5. You could use the group promotion system for this. Create a new group which is allowed to post in the forum and create a new group promotion rule to move members to this group after being registered for x days.
  6. It seems that strategem member sync extension is causing an infinite loop;) public function onDelete($member) { $m = Member::load($member->member_id); .. $m->delete(); }
  7. That's pointless with errors like https://invisioncommunity.com/forums/topic/451728-account-deactivation/?do=findComment&comment=2817404, they'll only appear once the task was executed by the CLI 😉 LOCATION_UNKNOWN #0 /path/to/html/root/system/Member/Member.php(154): IPS\_Session::I() ... #8 /path/to/html/root/applications/core/interface/task/task.php(56): IPS\_Task->runAndLog()
  8. What’s the link to your site to see if anything is overwriting it?
  9. My guess is that something is wrong with your menu links ( are they probably hardcoded??) but please just submit a ticket so that we can take a look at this.
  10. Please submit a ticket so that we can take a look at this.
  11. Yes, this is caused by your custom translation. Please review your translated strings and ensure that they have the same amount of variables as the original English string
  12. Well, while it's not the same, we have a similar system in the background already;) You can already define the base template ( 1,2,3 columns ) while creating a page.
  13. Something like this ? 🙂 It's not Elementor, but it heads to the right direction, or? 😉
  14. It gets the data automatically. The form field is just an additional way to reset the value.
  15. Daniel F

    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; /** * Return available options for a Form\Select * * @return array */ public function availableOptions() { } availableOptions allows you to specify the content type to import to. /** * Node selector options * * @param \IPS\core\Rss\Import|null $rss Existing RSS object if editing|NULL if not * @return array */ public function nodeSelectorOptions( $rss ) { } nodeSelectorOptions allows you to choose which container type to import items to as well as any conditions for the nodes available via the permissionCheck callback. /** * @param \IPS\core\Rss\Import $rss RSS object * @param array $article RSS feed article importing * @param \IPS\Node\Model $container Container object * @param string $content Post content with read more link if set * @return \IPS\Content */ public function create( \IPS\core\Rss\Import $rss, $article, \IPS\Node\Model $container, $content ) { } The create method accepts info on the RSS import object as well as the article from the feed being imported, the container selected by the administrator for the import and the article content. This method should be used to create the content item in your application from the RSS article. /** * Addition Form elements * * @param \IPS\Helpers\Form $form The form * @param \IPS\core\Rss\Import|null $rss Existing RSS object if editing|NULL if not * @return void */ public function form( &$form, $rss=NULL ) { } Aside from the container, you can also specify additional form options here. For example you could provide a form field for tags so the admin can specify which tags should be added to the application content item. /** * Process additional fields unique to this extension * * @param array $values Values from form * @param \IPS\core\Rss\Import $rss Existing RSS object * @return array */ public function saveForm( &$values, $rss ) { } The saveForm method can be used to perform additional processing on the values submitted in the form() method above.
  16. 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 blocks. * @return array */ public function getBlocks() { return array( 'reactions' ); } The getBlocks method returns an array with all available blocks. /** * Return block details (title and description) * * @param string|NULL $subBlock The subblock we are loading as returned by getBlocks() * @return array */ public function getBlockDetails( $subBlock = NULL ) { } The getBlockDetails method need to return an array with following keys: app - The app key for your application. (required) title - Language key for the title of the block. (required) description - A brief description of the data. (optional) refresh - Refresh rate of the statistics in seconds. form - Boolean value to specify if a node filter should be provided. /** * Return the block HTML to show * * @param array|NULL $dateRange NULL for all time, or an array with 'start' and 'end' \IPS\DateTime objects to restrict to * @param string|NULL $subBlock The subblock we are loading as returned by getBlocks() * @return string */ public function getBlock( $dateRange = NULL, $subBlock = NULL ) { } The getBlock method returns the rendered template from the block and can be filtered by date.
  17. This was implemented for 4.5
  18. Please submit a ticket, I’ll be more than happy to take a look at this.
  19. Yea, you can rebuild it via the ACP => System => search page
  20. I would also suggest to rebuild your search index once the query was run successful
  21. You can disallow guests to view profiles by removing their view permissions via the module permissions.
  22. Have you seen https://invisioncommunity.com/files/file/9143-sd-course-box/ ? It's amazing and already available in our marketplace , while LMS had to be removed from our MP for various reasons!
  23. We’re still investigating your issue
  24. This was a simple privat job, where I've set up the pages database and created 2 custom templates. Have you tried yourself to create such a database?
×
×
  • Create New...