Jump to content


  • Posts

  • Joined

  • Last visited

 Content Type 



IPS4 Providers

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog



Everything posted by HelloWorld

  1. Thank you @Adriano Faria, I will give it a go and let you know. Edit: I finally managed to get things to work thanks to you and to the clear explanation provided by @CodingJungle. Many thanks to you. I had to look for all parent:: calls, something that I probably did not do very well in the first place, and replace them with conditional sets/returns based on the fact that the parent class exists (which should never be the case, right?). Now this works with PHP 8 ! πŸŽ‰
  2. Hello to both of you (and anyone reading), I am sorry, but I cannot seem to fix this issue I ran into, with the exact same error message that you encountered, which is: This happens after I upgraded my PHP version from 7.4 to 8.0, only if I activate a hook that I downloaded on a third-party website. This hook had been available on the marketplace for a few years (I do not know why it is not anymore) and should be compatible with IPB 4.6. With no hook activated, I have no issue at all ; whenever I activate this hook (the only one that I am using), I am getting a 500 error code on any front-end page. I cannot understand what I should be updating in order to get things working. Is it the XML file for the hook? where I can seem to find but surrounding it with the is_callable function gives no result? Or somewhere else? Thank you a lot for your help!
  3. Thank to both of you for your answers, I will submit a ticket. Have a nice day!
  4. Hi everyone, can someone please help with this request? Have a nice day!
  5. Hi everyone! I did setup Facebook Login for my community, and everything has been working fine so far. This week, in order to satisfy to a request from Facebook regarding compliance issues, I tried creating a new account using a Facebook account, and I was quite puzzled regarding the behaviour I experienced. I would like to hear from something with more experience whether this is the intended behaviour or whether I misconfigured something (I could not find out what). Only the step 3 (below) is an issue to me. I went here to access more information about Facebook login in IPB, but this page only mentions the configuration part, not how we should expect it to work live. Step 1 - Access my community login URL (https://xxx/login), click on "Login with Facebook" Step 2 - I am redirected to facebook.com/login.php?..., I enter the credentials I want to login with Step 3 - Login is successful, I am redirected to my community, where I am required to enter an email address (see below) My question is the following: is it mandatory that we require our users to enter an email address? I thought this piece of information would be among the Facebook data that we just retrieved at the time of the redirection? Or am I wrong? Thank you everyone and have a nice day.
  6. I am currently experiencing issues satisfying them, so I think this is legit. The sender's email address is ***@support.facebook.com, and I definitely do not think that their email servers + configuration would allow someone else sending emails using their domain name. Also, they include your app ID, something which is (I think) not included anywhere in my source code, which they would not know were they not Facebook guys. Also, they wrote to me using the contact email address I provided, which is different from my FB Developer account's email address. Finally, they do not request YOUR credentials, but test credentials that they can use in order to check everything is working as intended (for compliance reasons). From what they told me, you have to create a test user (see here), register it on your platform, and provide the credentials of this test user so that they can check they can access your platform the right way. I hope this helps!
  7. Hi @opentype, great! I never noticed this entry. Thank you for your help !
  8. Hi everyone, I quite cannot find how to easily ignore someone (hide his/her posts in the topics), especially on the mobile version. On the desktop version of IPB, hovering over the user's nickname displays a pop-in window, where I can find an option allowing me to ignore them. On the mobile version, on the other hand, I cannot figure out how, and did not find any documentation about this. I could not find an "Ignore" option directly on the user's profile, which would have been useful on the mobile version (Firefox / Chrome for Android). My IPB community is 4.5.3, and I did not turn off the option allowing members to ignore other members. Also, I use IPB's default theme, apart from the colors. Can you please help?
  9. Hi @Daniel F, thank you for your answer. I will do so.
  10. Dear community members and contributors, I hope that you will be able to help me, as I cannot seem to figure out where my issues comes from. I own an IPB 4.4 community with around 5000 topics (not sure whether this is relevant, though). As this is a french-speaking community, topics' titles may contain special characters. Database is on a MariaDB 10.2.6 container, with all varchar columns on a utf8mb4_unicode_ci character set. Issue #1 βœ… If I run the MySQL query below, it returns 12 results. select tid, title from ibf_forums_topics where title like '%Actualit%'; βœ… If I search topics with the characters "Actualit" in the title, it returns 12 results. For the full word "ActualitΓ©s", 9 results (which is correct). /search/?q=Actualit*&quick=1&type=forums_topic&search_in=titles ❌ If I search using the API, it returns 7 results, which is wrong. /api/core/search?q=Actualit*&type=forums_topic&search_in=titles&sortby=relevancy&key=XXXXX Issue #2 I have topics with very short words in their titles, and I wanted these words to be indexed for the search. For instance (this is a football-related board), "David de Gea" or "FA Cup". I did read a few things here and there, about the MySQL / MariaDB minimum length for fulltext searches for instance. I did make a change in the server configuration in order to allow shorter words to be indexed. The query below now returns 2, after I restarted the container hosting the MariaDB database. show variables like 'innodb_ft_min_token_size'; I did run the reindexation from within the AdminCP, and it seemed to complete without any issue. ❌ Still, appropriate results are not returned when I make a search. For instance, "FA Cup" is not returned when I look for "Cup", topics' titles only. Can you please help me find out what is wrong ? Did you experience anything similar, and what did you do that I probably did not in order to fix this ? Thank you in advance for your help !
  11. Update : it still does not work. @Tennman did you figure out how to solve your issue, please?
  12. Hi all, I just thought that I would add an answer on this, as @Nathan Explosion's answer helped me see things clearly, but MariaDB's documentation (in my case, Maria 10.2.6, InnoDB engine) did not. It states that (see that link) : Yet, on the page regarding the variable innodb_ft_min_token_size : 3 was the value of the innodb_ft_min_token_size variable configured on my server (no more, no less). Still, the search would not return topics such as "FA Cup" when I would search for "Cup" on topics' titles only. Neither would it return a topic named "David de Gea", for instance, when looking for "Gea" or "de Gea". I thought that maybe, innodb_ft_min_token_size was the maximum length of words not stored when building the index, rather than the minimum length of words stored? So I changed the value to 2 rather than 3, restarted MariaDB, and the index is now rebuilding (it took me some time to notice the "Rebuild search index" button in the top right corner of the IPB search settings page). I will let you know how it ends.
  13. I had a similar issue a few weeks ago. The issue was that between the time I downloaded the package from IPB website, and the time I uploaded it on my server, a new version had been released. It still had the same minor version number (4.3.2 for instance), but when I downloaded a new package from IPB website, the unzipped folder had a different name (the folder named ips_0c0f1, for instance). It might be worth a check, especially given that the files causing the issue on your side seem to be unrelated to each other (apart from the File folder), and not many of them. Might be a fix done by IPB a few hours back, for instance.
  14. PEBKAC? Not sure about why you write that. Seems like a display bug to me. If you do not want people to assume they can create bug reports using the Create menu, then don't add a "Bug" entry in this menu, or hide it when it is not relevant, or display a message when it should not be used. I will follow Joel and Adriano's instructions, but you should admit that this is not very intuitive, and also, it is very common nowadays to open bug trackers on a permanent basis, not just during betas.
  15. @Adriano Faria don't know how I did not think of this... Thank you for your (quick) answer :) @Daniel F I click on "Create" (top menu), then "Bug in IPS4 Bug Tracker". A pop-in appears, with a dropdown to select a category... but this dropdown is empty. As it is mandatory, I never seem to be able to get past this step.
  16. Same here. I would like to submit a bug regarding to this discussion (below), but cannot create a ticket for the same reason than Genestoy.
  17. I managed to get this to work – but I needed to make a few changes to IPB code, so I will submit that as a bug and let them decide whether this is one or not. In oauth/authorize/index.php: public function prompt( $requestedPromptType, $loggedIn ) { // ... $success->process(); // Add this $_SESSION['old_IPSSessionFront'] = \IPS\Session::i()->id; // ... } // Line ~375 $loggedIn = FALSE; if ( !isset( \IPS\Request::i()->client_id ) ) { try { // Add this if (isset($_SESSION['old_IPSSessionFront'])) { \IPS\Db::i()->update( 'core_oauth_authorize_prompts', array( 'session_id' => \IPS\Session::i()->id ), array( 'session_id=?', $_SESSION['old_IPSSessionFront'] ) ); unset($_SESSION['old_IPSSessionFront']); } // Existing code $row = \IPS\Db::i()->select( '*', 'core_oauth_authorize_prompts', array( 'session_id=?', \IPS\Session::i()->id ) )->first(); // ... } } @Staff : feel free to close if you want.
  18. I started "debugging" IPS OAuth code. I found something that may be relevant, in case someone stops by and wants to help! 1. I get to my website and click on the login link : www.xxx.com/login/ips4 β†’ Status code: redirect 302 β†’ To: https://forum.xxx.com/oauth/authorize/?response_type=code&client_id=(id)&scope=profile&redirect_uri=(uri) 2. This, in turn, redirects: β†’ Status code: redirect 301 β†’ To: https://forum.xxx.com/oauth/authorize/ At this stage, I thought: "How does IPB know the client ID, as it is not in the GET nor the POST parameters of this latest query?" In fact, before redirecting from step 1 to step 2, the client ID is saved in the database, in the table core_oauth_authorize_prompts, which primary key is the session ID. This session ID can be found in the ips4_IPSSessionFront cookie. So, at step 2, IPB gets the client ID from the database. 3. I am not logged in yet, so I fill and submit the login form, which redirects to https://forum.xxx.com/oauth/authorize/. 4. Now, I am supposed to view the screen that allows me to grant authorization to my website. One slight problem there: as I switched from non-logged in to logged in status, between steps 3 and 4, the ips4_IPSSessionFront cookie is reset with a new value... which means that at step 4, IPB cannot find the client ID in the query request, nor in the database, as my new session ID does not exist in the DB. This may be the issue for the "Invalid Client ID". What do you think? Could this be a bug? Or a bad configuration on my board / server? Please let me know what you think!
  19. Hi everyone, Noone with an idea on that matter? Thank you for your help :)
  20. Hello people, I am trying to setup OAuth right now, but having some trouble with it. My setup : One IPB forum, version 4.3, on the subdomain forum.xxx.com (with SSL). One Symfony website, on the subdomain www.xxx.com (with SSL). I want my users to be able to login on my Symfony website using their IPB credentials. So far, it was working seamlessly with IPSConnect. People could access a login page on the Symfony website, enter their IPB credentials there, and be logged in: everything was working fine. With OAuth, things are a bit different. When users click the login link, they are redirected to forum.xxx.com/oauth/authorize. This is OK for me. Now, there are two scenarii: It works when I am already logged in on forum.xxx.com. I get to the website on www.xxx.com. I click the login link. This redirects to forum.xxx.com/oauth/authorize, with the correct client ID and secret being transmitted (transparent for the user). I grant access to the website. I am redirected to the website. β†’ This worked, I am logged in and can see my nickname on the home page. It does not work when I am not already logged in on forum.xxx.com. I get to the website on www.xxx.com. I click the login link. This redirects to forum.xxx.com/oauth/authorize, with the correct client ID and secret being transmitted (transparent for the user). On this URL, I see the classic login form (nickname + password), which I fill and submit with correct credentials. There, I am redirected once again to forum.xxx.com/oauth/authorize, but the client ID seems to be missing. β†’ An error saying "Invalid Client ID" (code 3S361/1) is displayed. I would expect IPB, in the second scenario, to log me in on the forum, then allow me to grant access to the website. But it does not work that way. Is there something that I am doing wrong? Something is troubling me, in the second scenario. Between steps 2 and 3 (see above), when I click the login link, the website redirects (302) to https://forum.xxx.com/oauth/authorize/?response_type=code&amp;client_id=(clientid)&amp;scope=profile&amp;redirect_uri=(redirecturi), which in turns redirects (301) to forum.xxx.com/oauth/authorize. But between steps 4 and 5 (see above), when I submit the form, I am redirected straight to forum.xxx.com/oauth/authorize, as this is the action attribute of the form tag : <form accept-charset="utf-8" method="post" action="https://forum.xxx.com/oauth/authorize/" data-controller="core.global.core.login"> Could this, maybe, be of any relevance? If some of you managed to get this to work, I am all ears and begging for your help :) Thanks everyone!
  21. You are right Joel. I could have posted in "Feedback & Ideas", as this is more of a feedback topic. Maybe a moderator could move it to the right place?
  22. You can be sure that I am angry at myself rather than anyone else, but still, I beg you/IPS to learn from this as well. The release notes link that point to this blog post you shared read like that: Ability to join any OAuth service for login management. Invision Community can now be an OAuth endpoint. Wordpress OAuth login method built in. Which is why I did not find it necessary to read them, as for me, it did not imply an IPSConnect end of life. If anyone understands from the three bullet points above that IPSConnect is going to be removed in IPS 4.3, then they are really clever. I mean, this kind of important information should be written in a more explicit way, I am even surprised that this is not part of the highlights part at the start of the release note! Is this not as/more important than custom email footers? Do not misunderstand me, I like the product, I think that IPS does a great job, and the fact that you reacted in half an hour to my post shows that the contribution is a quality one. But I still think that you should take my remark into account for the future.
  23. Thank you Nathan. Please allow me to make a point then – this kind of information should really be in the release notes. I do not read IPS blog entries or forum topics, I spend enough time on my own community already. Before launching the upgrade, I made sure that I read the release notes, as always, in order to make sure that I would not be surprised (in a bad way) by this kind of misadventures. Still, it proved not to be enough in this case. My mistake – I did not take the time for a proper testing phase on my testing environment before upgrading my production environment. I will not make that mistake twice, believe me. But please, hear me when I tell you that this should definitely be included in the release notes, for the people who will come next.
  24. Hi Misi, Thank you for answering. I am not sure what you do mean by this post though – I understand that some people were aware that this was going to happen, but was an official announcement made, in a dedicated article or in the release notes? This is a quite important feature for some communities such as mine, so I guess that it deserves more than just a quote in some topic, in terms of communication.
  • Create New...