
Everything posted by Mark
-
Hump Day: saying farewell to Invision Community OG, Rikki
End of an era ❤️
-
No need to use image for Google Login Handler
We all agree 😂 Unfortunately your mockup is pretty much exactly one of their "no, you can't do that" examples https://developers.google.com/identity/branding-guidelines
-
Settings for using SOCKS proxy for all CURL requests
Rather than make the change every new version, you might want to take a look at writing a plugin. This guide has a complete walkthrough but you can skip everything except steps 1, 6 and 8, because all you'll need is a code hook on that class with something like: public function __construct( $url, $timeout=5, $httpVersion=NULL, $followRedirects=TRUE, $allowedProtocols=NULL ) { parent::__construct( $url, $timeout, $httpVersion, $followRedirects, $allowedProtocols ); curl_setopt_array( $this->curl, [ CURLOPT_PROXY => "10.0.0.33", CURLOPT_PROXYPORT => "1080", CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5, CURLOPT_PROXYUSERPWD => "forum:password" ] ); }
-
flag \IPS\Db::SELECT_SQL_CALC_FOUND_ROWS not working
It's no longer supported. Do a separate count query: {{$total = \IPS\Db::i()->select( 'COUNT(*)', 'cms_custom_database_8', array( 'field_140=?', $record->primary_id_field ) )->first();}}
-
Stripe Auto-Capture?
AdminCP > Commerce > Payments > Settings > Payment Methods > Stripe. Sounds like the webhook isn't set up correctly.
-
Stripe Auto-Capture?
Invision Community should automatically capture the transaction once it has verified the transaction passes any anti-fraud rules you've set up (or void it if it doesn't). Check that you've got all the Stripe settings correct and then if you submit a support ticket we can take a look. To do this, go to the Support section of the AdminCP and choose "Something isn't working correctly" and then follow the instructions through until you get to the page to submit a support ticket.
-
Porn in stock photos?
Thanks for letting us know - we'll get that fixed 👍
-
Protecting the ACP Controllers
Correct
-
Protecting the ACP Controllers
The form helper already provides CSRF-protection if every change of state is contained within the if ( $values = $form->values() ) { ... }
-
4.5: Commerce Trials
One of the most popular requests we get for Commerce is for a free trial period for subscriptions. We've heard from many clients that wish to allow their members a free, or reduced cost trial period before auto-renewing the full price. I'm pleased to say that we've now added this functionality into Invision Community 4.5. Let us take a look at how it works. Initial Terms In 4.5 you can now specify an initial term that is different to the normal renewal term for any subscription plan or product. For example, you could make the initial term $0 for 1 week and the normal renewal term $10 per month which will allow you to create 1 week free trial. The initial term doesn't have to be $0, you can use any special price for the initial term you like. Subscription Plans showing Free Trials For developers creating their own applications with Commerce integration, this functionality is also available to you simply by passing a DateInterval object representing the initial term when creating the invoice. Collecting Payment Details for Free Trials Previously, if you were buying something that is free, the entire of the last step of the checkout would just be skipped and the invoice marked as paid. In 4.5, if: The user is purchasing something which has a free initial period, but also has a renewal term (i.e. is a free trial), and You have a payment method which can collect card details (Stripe, Braintree, etc) The user will be prompted to provide payment details that will not be charged until after the free trial. If the user already has a card on file they will not be prompted to provide the details again but will see a confirmation screen rather than the order just being marked paid immediately. Checkout Process for a Free Trial As you can see, allowing a free or reduced cost trial period has never been easier. We hope that you enjoy using this new feature of Invision Community 4.5.
-
Cannot change primary group
Specifically, in order to prevent you from locking yourself out of the AdminCP, you can't demote yourself from being an admin. You can move yourself into a different admin group if you have any (they must have the same level of restrictions - not greater or lesser than you have), and admins that have permission to demote other admins can do so, but you can't edit your own account in a way that would affect your admin restrictions.
-
4.5: Zapier Brings Integration with Over 2,000 Web Apps
Zapier is a service that allows you to connect over 2,000 web apps. In Invision Community 4.5 we are launching a beta service of Zapier integration for Invision Community in the Cloud. What does Zapier do? Zapier acts as a bridge between Invision Community and other apps, such as Google Docs, Twitter, Facebook, Slack, Trello, Facebook Ads, ActiveCampaign, Zendesk, Asana, Salesforce, Hubspot, Discord, Stripe and more. Zapier has over 2000 apps registered currently, and that number grows every single day. Let us look at a real life example. Right now, if you wanted to add a member to a Google Sheets document each time a new registration was completed, you'd need some fairly complex code to be written that was "triggered" by this registration event. This would take days to write at some cost. Zapier simplifies this by allowing you to connect Invision Community with Google Sheets without needing a single line of code. Zapier allows you to streamline your workflows in minutes. Zapier has two types of events, triggers and actions. Triggers When a certain thing happens on Invision Community, like a member registering or a topic being posted, a trigger can be sent to Zapier to then run actions in other apps. For example, you might create a zaps to... When a member registers, add their email to a Mailchimp list. When a moderator posts a topic in a news forum, share it on Facebook, Twitter and other social platforms. When a member posts something that requires moderator approval, send a message to a Slack channel for your moderators. Invision Community Integration with Mailchimp through Zapier Actions You can also set up Zaps so that when something happens in an external application, it triggers an action in your Invision Community. For example, you might create a zaps to... When you add an event in a Google Calendar, create a Calendar Event on your community. When you receive an email to a feedback email address, create a topic on your community in a forum for moderators. When you create a task in Trello, add a record to a Pages Database on your community. Invision Community Integration with Google Calendar through Zapier Self-Integration In addition to using Zapier to integrate with third party services, you can also connect an Invision Community trigger to an Invision Community action. For example: when a member registers, create a topic in a welcome forum. Self-Integration through Zapier Frequently Asked Questions What integrations are available? In the beta launching with Invision Community 4.5, Zapier will be able receive a trigger when a member account or content (forum post, gallery image, etc.) is created and send actions to create the same. More triggers and actions will be added over time. When will this integration be out of beta? Later this year. Will third party applications and plugins be able to create Zapier triggers and actions? Because the integration requires an app hosted with Zapier (which is written in Node.js) and this has to be submitted directly by the vendor, it will be difficult for third party applications and plugins to integrate with Zapier through Invision Community's integration. In the future we may be able to provide basic abstracted integrations for third party applications and plugins through an extension API. In the meantime, third party authors can of course write their own Zapier Apps if desired.
-
Sign In With Apple
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).
-
How to change billing default country?
Which of the devices you listed was your answer to question #4?
-
How to change billing default country?
@Gauravk Out of interest, can you tell me: Are you in the UAE or a different country? What country is selected by default for you? What language is your computer/browser set to? What does this tool say for "Your browser's Accept-Language header:"? Which OS and browser are you using? I am trying to improve the auto detection and understanding more details about anyone it's incorrect for will be very useful.
-
Post Before Registering - HUGE MISTAKE
And you definitely want to prevent sending out hidden posts, posts in any forums normal users can't see, etc. If you're using PHP, you can use the \IPS\forums\Topic\Post::getItemsWithPermission() function. Alternatively, use the REST API setting "hidden" to 0 and "forums" to the ones you want to include.
- 4.4.10
-
'tasks' on -TESTINSTALL installation
Yes. To put Stripe into test mode you need to use the test mode API keys from your Stripe account.
-
'tasks' on -TESTINSTALL installation
Just to note on the test gateways one: some providers (off the top of my head, I think Stripe is the only one) don't use that constant but give you different keys for test/live environments. Those two (emails and gateways) are the big ones, but there are probably quite a few others. For example, every now and again we get people who have managed to block themselves in our Spam Defense service by registering several accounts on a test site. Really you should avoid using any live data (like real people's emails) and disable all integrations with external sites/services on a test install.
-
Sign In With Apple
In order for a website to use Sign In With Apple, that website needs to be associated with an (individual) iOS app.
-
4.4.6
Version 4.4.6 is a maintenance update to fix issues reported since 4.4.5.
-
Sign in with Apple
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.
-
4.4: Recurring PayPal Payments and more with Braintree and Commerce
Braintree is a payment gateway provided by PayPal which provides some great additional features for PayPal transactions including a significantly improved recurring payments model. We are delighted to be bringing full support for Braintree for Commerce in Invision Community 4.4. What is Braintree? Braintree is a payment gateway provided by PayPal which supports taking payments by credit cards (including Apple Pay and Google Pay) and Venmo as well as PayPal, providing a good option for communities wanting to use a single payment gateway, and also brings improved functionality for recurring PayPal transactions. For PayPal transactions, there are no additional fees and the checkout experience uses the normal PayPal experience your customers are used to. Recurring PayPal Improvements Recurring payments / Billing Agreements in PayPal have up until now been initiated by PayPal. Invision Community tells PayPal what the renewal terms of a purchase are, but then it's up to PayPal to take that payment and notify your community when it succeeds (or fails). This comes with a number of limitations and problems. It makes it difficult for you as an admin to modify an existing purchase or for the customer to upgrade/downgrade. It also means the customer has to create separate Billing Agreements for each purchase. Most significantly though, it means if there is a delay in receiving the payment (such as an expired card) it is sometimes unclear what should happen on your community's end, and how it can be resolved if/when the payment is received. Other payment gateways work the other way around. When a customer pays by card, for example, they have the option of storing their card details. Later, if they make another purchase or a renewal invoice is generated, Invision Community can tell the gateway to recharge the same card - and if it fails, allow the customer to provide an alternative payment method. This allow both you and your customers to have much greater control, and is much more reliable. Braintree resolves this by allowing customers when paying with PayPal to save their PayPal account in the same way they would save a credit card on file. When paying with PayPal, users will see a simple checkbox which, if checked, will allow future payments to be taken with PayPal automatically. Storing PayPal Accounts for Recurring Payments Other Features In addition to an improved checkout experience, our integration with Braintree supports: Taking payments by Credit Card, including 3DSecure checking and the ability for customer to store card details on file. Braintree uses a fully PCI-compliant method of taking card details in a way that ensures the card information never reaches your server. Apple Pay and Google Pay Venmo, which also allows storing accounts in the same way as PayPal accounts. Offering PayPal Credit Handling chargebacks/disputes Support for Braintree's Advanced Fraud Tools A Disputed PayPal Transaction Existing Setups and Upgrading The existing PayPal gateway will continue to be available for basic PayPal integration, and your existing set up will continue to work exactly as it does now after upgrading. If you are using PayPal, especially if you are using Billing Agreements, we strongly recommend switching to Braintree after upgrading. While it isn't possible to convert existing Billing Agreements, you can allow existing ones to continue to work and use Braintree for new purchases. Please note that while existing setups will work fine, from 4.4 it will no longer be possible to set up a new PayPal method with either Billing Agreements, or to take payments by card, as PayPal has deprecated the API this was using in favour of Braintree and it can no longer be enabled on new accounts. As mentioned though, this does not affect any existing setups, which, if you do not switch to Braintree, will continue to work as they do now. This blog is about our upcoming release Invision Community 4.4.
-
CKEditor 5
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 5.11.2.0 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.
-
5.0 - A Discussion
We haven't used salted md5s since v4 😉 We use bcrypt.