Jump to content


  • Posts

  • Joined

  • Days Won


 Content Type 


Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory


Release Notes v5





Everything posted by teraßyte

  1. Topics have no custom fields. If you have the Pages/CMS application you can use a custom database instead:
  2. On another note, the preSave function is not even included in the file added by the developer center when you add the extension from ACP. That's another thing that should be double-checked: update example files with all available functions and clearly indicate which ones are required. EDIT Nevermind, I actually mixed up ModeratorPermissions with ContentModeratorPermissions (that doesn't support preSave). It's still something that should be double-checked for all extensions anyway.
  3. They'll break it again in a few days. It's been like that for a long while now. They constantly change things and the user experience has taken a nosedive. I've given up on Twitter/X. 😋
  4. In case you don't want to put the whole site offline but only a specific application, for example only Calendar/Events, you can put it offline by going to ACP > System > SITE FEATURES > Applications > Events > Lock Icon (on the right).
  5. I figured I'd bump this one as a reminder for v5. 😛 I use attributes in several custom applications, and I always have to remember to add spaces for them to work. 🙄
  6. Please keep the extension's behavior consistent across all the functions. Some extensions first check if the extension implements a certain function before calling it, while others expect the function to exist at all times and throw errors if they're missing. For example, the core/ModeratorPermissions currently has 4 functions available (preSave, getPermissions, onChange, onDelete) but only preSave checks if the function is available before calling it: /* Allow extensions an opportunity to inspect the values and make adjustments */ foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { if( method_exists( $ext, 'preSave' ) ) { $ext->preSave( $values ); } } The other functions instead are called without any check: foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE, 'core' ) as $k => $ext ) { foreach( $ext->getPermissions( array() ) as $name => $data ) { // ... } } === foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { $ext->onChange( $current, $changed ); } === foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { $ext->onDelete( $current ); } While I understand that getPermission() must be always implemented (the extension would have no meaning otherwise), the other 2 functions onChange() and onDelete() are completely optional and cause empty functions to be left around. For example, this code below comes from the Blog's extension: /** * After change * * @param array $moderator The moderator * @param array $changed Values that were changed * @return void */ public function onChange( $moderator, $changed ) { } /** * After delete * * @param array $moderator The moderator * @return void */ public function onDelete( $moderator ) { }
  7. That is most likely a modification that shows the group icon for secondary groups: https://www.invisioneer.org/files/file/350-axen-secondary-groups-indicator/
  8. No, there is no equivalent you can use in IF checks. What IPS does is include the multiple HTML blocks in the page output and then show/hide them with the CSS classes: With outputting all of them, it won't matter even if the size changes. For example, the browser's window can be resized on desktop, or you can use the web developer tools to emulate a phone/table.
  9. The only "built-in solution" I can think of would be to change the constant to send notifications in the background even when there's only 1 (the default is 5). That way you can bypass the delay. However, if your site is very active, you'll end up with a huge list of background processes in ACP, though. Not really ideal... 🙄 This is the constant you need to add to your file in case you want to give it a try: \define( 'NOTIFICATION_BACKGROUND_THRESHOLD', 0 ); Here's the guide on how to use the constants.php file if you've never used it:
  10. I don't remember any such existing modification that does this, but it would be a quick one to write.
  11. Have you cleared the site cache in ACP after updating the conf_global.php file? Or did you clear only your browser cache? This guide is about changing the site from HTTP to HTTPS, but adding the www part is basically the same:
  12. Reddit recently banned a huge batch of IP ranges. If you try to view that link in your screenshot directly from your server's IP you'll probably get a message like this: This is actually the message I'm getting right now with my current IP. The funny thing is that if I try to view the link using the old version (old.reddit.com) instead of the new one (www.reddit.com) there is no such error message. They're blocking the IPs only on the new UI. 😅
  13. I don't think there are any significant changes between 4.7.12 and 4.7.14 that would break the application. Or have you already tried a test upgrade in another location and verified it doesn't work?
  14. The option is available in your account settings: https://invisioncommunity.com/settings/links/
  15. As Adriano mentioned above, you're better off doing something like this at the server level. It's possible to write a custom modification for it, but the user would still hit the server, start a request on Invision Community, run queries, use more server resources, etc. If you handle it at the server level they'll be blocked much faster and use fewer resources overall.
  16. There is no tool in Invision Community to do what you're asking for. That's why you require a separate custom modification.
  17. You should contact the developer who made it for you. We have no way of knowing how it was coded, how it's integrated, or how it's supposed to work based on your post.
  18. Looks like the problem is coming from the Clubs Enhancements application. Check with the author if they have an update available that fixes it, and If they don't, you'll have to disable it until it's fixed. There's also the option of manually fixing the hook since you have access to the files on the server, but the best option is to upgrade the application since there might be other errors.
  19. The problem is that that link redirects to https://imgur.com/6PA1B1b to ask if you're over 18 to see it. Since the code doesn't get back the expected headers for a video, it doesn't auto-embed.
  20. Oh, okay. If you need those additional filters then it's not possible because secondary groups are not listed in the advanced search form as you've already seen. You either need to manually run queries on the database to update the group value, or you can use the core/members REST API: https://invisioncommunity.com/developers/rest-api?endpoint=core/members/GETindex With the API you'll have to load all members with a specific group, then manually check their secondary groups, and update them based on the filters you mentioned.
  21. Even if you uploaded a new theme, you probably have an old plugin/application that isn't compatible with PHP 8. Their templates are added and parsed for all themes regardless.
  22. Here's also a link to the guide with some more detailed info: https://invisioncommunity.com/4guides/advanced-options/server-management/install-and-upgrade-r259/#manualupgrade
  23. Here you go: Go to the members list in ACP. Click on the gear icon in the search field at the top-right of the list to open the advanced search form. Select the group from the dropdown menu and click search at the bottom of the form. At the top of the list of members from the search you'll find 3 options: View Full List? Prune Members Found Move Members Found You need to click on the 3rd option Move Members Found. Select the new group on the page that loads and click Save. You're done. 🙂
  24. A 500 error is very generic. It's like a "check engine" light on your car. It does not say what the problem is just that something went wrong. Check your server logs for the real error behind it. Without it, it's hard to say what the issue is and how you can resolve it.
  • Create New...