Jump to content



Invision Community Team
  • Content Count

  • Joined

  • Days Won


 Content Type 



IPS4 Documentation

IPS4 Providers

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog



Posts posted by Mark

  1. My understanding is that you cannot generate a client ID without a paid developer account and an iOS app in the App Store, and it would have to be unique to each site (i.e. our upcoming app which is used for every community won't be able to be used).

  2. When you select a reason for the warning, it will automatically set the number of points and the  amount of time before those points will be removed. Depending on what has been set up in AdminCP > Members > Warnings > Reasons the moderator may be able to override either of these decisions (the number of points and how long before they expire).

    If the new total number of points triggers an action to take (moderating content, restricting content or banning the member) this will also automatically be taken, including setting how long that punishment lasts. Again though, depending on what has been set up in AdminCP > Members > Warnings > Actions the moderator may be able to override the punishment.

    The points expiration is different to the punishment length, but something like what you're looking for can probably still be achieved by setting them the same.

    So you might do something quite complicated, like...

    • Set all reasons to be 1 point, points expire after 1 month
    • Have an action at 1 point that suspends the member for 1 day
    • Have an action at 2 points that suspends the member for 1 month

    Then the flow would be:

    1. Member is given their first warning and is suspended for 1 day
    2. After their 1 day suspension...
      1. If they commit no further infractions, their points drops back to 0 after 1 month, after which any subsequent warnings would start this process
      2. If they commit a further infraction within 1 month, they would be suspended for 1 month, after that they would be reset to 0 points because their points and the expiration would expire at the same time

    Or you could have something simpler, or leave it up to the moderator issuing the warning to make appropriate decisions.

  3. It should use whatever your browser has it's region set to, and if there is nothing there, not select anything as the default. Look here and see what your browser is reporting for "Language": https://www.whatsmybrowser.org

    Or, if you enable Google Maps autocomplete information and the user grants access, it will use your real location and autocomplete favouring addresses that are in the same city/etc as you

  4. It looks like (though I am still waiting for more details to emerge) that it can be done on standalone websites but you'd need to sign up for Apple's Developer Program, which costs $99/year. We can't create one thing and use it for all sites because each domain and email address you will send emails from to cloaked addresses has to be registered, and there's a limit of 10.

  5. For a straightforward total of all account credit:

    SELECT SUM( CAST( JSON_EXTRACT( cm_credits,'$.USD' ) AS DECIMAL(20,2) ) ) FROM core_members WHERE cm_credits IS NOT NULL

    To count only positive amounts (because people can have negative balances):

    SELECT SUM( GREATEST( CAST( JSON_EXTRACT( cm_credits,'$.USD' ) AS DECIMAL(20,2) ), 0 ) ) FROM core_members WHERE cm_credits IS NOT NULL;

    Requires MySQL 5.7 or higher. Replace "USD" with the currency code you're using.

  6. I think you may have misunderstood the way the header works.

    X-XSS-Protection basically provides a way to the browser "if anything on this page looks suspicious, don't run it" (either the whole page or just the bit that looks suspicious). It isn't supported by all browsers (Firefox, for example, doesn't support it).

    In theory it's a reasonable idea, although a pretty weak protection - it only benefits the users of those browsers from being victims of XSS attacks if your server has already been compromised. Web applications therefore need to take much more sensible measures against XSS protection such as ensuring proper escaping of output (to stop them happening at all), http-only cookies (so even if there is an XSS exploitation it can't access your cookies), etc. We do all of this.

    So in other words: all it provides is a very weak level of protection against something the backend already has much better protection for. And, as @Makoto points out, it kind of sucks at doing even that; it is known to have bugs and ironically, some of those bugs cause security issues themselves. Also, there are known ways to bypass it. That's probably why some browsers don't even support it.

    Normally, it would barely be worth any thought and we would leave it at the default value. But it was breaking things with false-positives (i.e. it was thinking that code we deliberately wanted to run was suspicious) so turned it off. Apparently we are not alone in going for this option: I just quickly checked Google and Facebook, and both have it turned off (full disclosure: the other two sites I checked, Twitter and Amazon, don't).

    You can turn it back online with a plugin or via your server configuration if you really want to, and it's also possible that the Content-Security-Policy header which we do have a setting for will override it (you'll have to check each browser), but we're not going to add a setting specifically for it.


    tldr: It's a thing that isn't supported by all browsers, with a much grander sounding name than it deserves, which is buggy, and was breaking things. You don't need it on.

  7. 39 minutes ago, All Astronauts said:

    Can we get some real clarity here? Is the intention that the IPS FTP routines are going to go away (5 series?) or are they going to remain available? There is plenty of 3rd-party stuff floating around out there (private mods) that use this stuff and knowing sooner rather than later would be preferable so we can start falling back now on the usual PHP code and route around the IPS methods.

    EDIT: I know this is all about the file storage option but still, just wanting to be sure these methods ain't getting ditched (you are using them for updating so prob not)

    We have no plans to remove the \IPS\Ftp classes, which are used by the upgrader. But the ability to set up the system to store uploaded files like attachments on an external FTP server was deprecated in 4.3.0 (i.e. 8 months ago).

  8. It's actually still there so people who were using it wouldn't suddenly end up with things broken. You could add a row to the table in the database where the configurations are stored if you really wanted to.... but I wouldn't recommend it.

    It was notorious for causing errors where the FTP server's flood protection or other limitations would suddenly block the connection and then suddenly the community would be unable to upload anything and have other issues caused by the communication not working.

    While some who knew what they were doing were able to configure the FTP server in a way that these issues wouldn't happen, it was used by such a small number of communities (like... less than 0.1%) and the percentage of those it caused irreparable issues to was so high, it just made sense to deprecate it. Especially in today's world where more robust solutions like Amazon S3 are available. Or, as you mention, a virtual drive on the webserver.

  9. To clarify since @Joel R mentioned me specifically... 😂

    We will be sticking with CKEditor 4 for a little while. While we will presumably move to CKEditor 5 some time in the future, it is currently still very new and maturing (when Joel asked me, it was before was released which is when they re-added paste from word). But most importantly, to move would require a lot of development time (to upgrade our custom plugins) for what will be, to the end-user, very little change. And since CKEditor plans to continue releasing updates to version 4 for the foreseeable future we're not missing out on bug fixes or security patches.

    Obviously if you're experiencing issues, please submit a support ticket and we can look into that - if you're not seeing the same problems on CKEditor's demo, the problem is likely our end and so it's probable that moving to CKEditor 5 wouldn't resolve it.

  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy