Jump to content

Ryan Ashbrook

Invision Community Team
  • Posts

    12,669
  • Joined

  • Days Won

    13

 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 Ryan Ashbrook

  1. Brandon's answer was in response to question 5: 6 was added later and yes, you are correct.
  2. https://invisioncommunity.com/buy/self-hosted/
  3. Do you have any word or link filters set to moderate when posted?
  4. Any methods that alter the state of something. So, saving settings (which happens already if you are using \IPS\Helpers\Form), deleting, editing, etc. etc. So, for instance, on a delete button you would do: array( 'title' => 'delete', 'icon' => 'trash', 'link' => \IPS\Http\Url::internal( "app=myapp&module=mymodule&controller=mycontroller&do=delete" )->csrf(), 'data' => array( 'delete' => '' ) ) Then your delete method would do: public function delete() { \IPS\Request::i()->confirmedDelete(); // ... etc ... } For any other method, you would do: \IPS\Http\Url::internal( "app=myapp&module=mymodule&controller=mycontroller&do=somethingThatChangesSomething" )->csrf() Then: public function somethingThatChangesSomething() { \IPS\Session::i()->csrfCheck(); // ... etc ... } Most of the framework will largely handle this, however you should be mindful. A good example is flagging a member as a spammer in the admin members controller. This does not use a a form, or anything that would automatically apply a CSRF check, however it's an action that alters the state of the site (ban the user, hide their content, etc.). Therefore, it needs a CSRF check to make sure it was an action the administrator actually wanted to do.
  5. You need to ensure you are actively using the CSRF Key and checking it where appropriate, just like you would do on the front-end. Once done, then yes, you just add that property and it will whitelist the controller.
  6. That means the email couldn't be sent, but we cannot determine why. I would check with your host, and particularly make sure that the mail() function in PHP is enabled, or switch to SMTP or Sendgrid for email sending.
  7. Next to "Members can Choose?" click "Customize" and uncheck the grid option.
  8. It's a method in \IPS\Helpers\Form. /** * Add Button * * @param string $lang Language key * @param string $type 'link', 'button' or 'submit' * @param string $href If type is 'link', the target * @param string $class CSS class(es) to applys * @param array $attributes Attributes to apply * @return void */ public function addButton( $lang, $type, $href=NULL, $class='', $attributes=array() ) So, structurally, you would do: $form = new \IPS\Helpers\Form; // ... Add your other form elements here $form->addButton( 'lang_string', 'button', ... ); \IPS\Output::i()->output = (string) $form;
  9. You can do this when editing the blog itself on the front-end:
  10. There are two things here: Blog Categories - these are admin defined, and when a user creates a new Blog, they can choose from this list but not create a new one. Entry Categories - these are user defined, and are defined per Blog, rather than globally.
  11. Yes, more or less - they would need to either set a password before closing their Facebook account, or contact the administrator to have one set for them.
  12. No - when you use Social Sign-In's to register an account, that is the only way you can authenticate unless you go into your Account Settings and manually set a password to be used for local authentication. As such, there is no password to force to be reset.
  13. As far as I can tell, Apple Music does not actually support Oembed, so it doesn't seem possible until they do.
  14. It really depends on your server configuration - as long as specific folders are writable by PHP (you can use the support tool to check this - the install and upgrade processes also check on this before proceeding), your host can advise on the proper permissions for files and folders.
  15. Ever since Invision Community 4.0, there has been a huge focus on making communities multi-lingual by providing translation features inside the AdminCP. We have received a lot of feedback on our multi-lingual and translation tools over the past year, and we're happy to announce these new features coming to Invision Community 4.5. Pages Phrase Tools If you have the Pages application, you can also use these phrases in HTML pages and HTML Blocks without needing to visit the translation tools area. Simply use the tag editor in the sidebar when editing a page or block's contents. The new phrases sidebar options You can quickly create new multi-lingual phrases by clicking the + icon. The new add phrase dialog Additionally, WYSIWYG Blocks have now been made translatable, so you can now create WYSIWYG blocks that will display their content in specific languages. Translation Tools Language pack creators can now set a version update URL which is checked to notify admins within the AdminCP that an update available, just like the theme system. This is a great way to notify customers when fixes are available. Finally, you can now quickly add a new phrase from the Translation Tools page without the need to use the developer tools. The new "Add Phrase" option These little changes should make a huge difference in your workflow, and make it easier than ever to create fully multi-lingual pages throughout your site.
  16. In the event your server is ever compromised, the function can be used to execute arbitrary programs on the server, which is a security risk. https://www.php.net/manual/en/function.pcntl-exec
  17. Note, that depending on how large your site is, these processes can take a long time. This is why they are processed after - doing them during the conversion would add a considerable amount of time to a process that can already be lengthy. So, when the background tasks kick off, the site can be opened and used normally while they process, rather than having to wait the extra time. The only caveat being that some things from before the conversion may not appear quite right until they all finish.
  18. After you finalize the conversion, a series of tasks are launched which will gradually parse the posts. You can check their progress in your Admin CP Dashboard. Click the arrow on the Background Processes block, and it will show you the current progress of each individual task.
  19. There's nothing in the uploads/logs folder? If so, try looking in phpMyAdmin directly at the core_logs table, and see if anything is being logged there. It's possible the database is actually connecting, but some other error is occurring.
  20. How are you specifically posting it? I was able to just fine: https://take.ms/Z0CJB Note, that you should post the code exactly as-is, while also using the source button - note there's various slashes in your code that shouldn't be there: https://take.ms/VTrcL
  21. InnoDB is officially recommended, yes. In fact some places, like AWS, don't even support MyISAM anymore. Apache versus Nginx and MySQL vs MariaDB really depend on personal preference, though bear in mind our support team are mostly familiar with Apache and MySQL.
×
×
  • Create New...