Closed LostkingZ closed 4 years ago
I believe the issue is when the snapshot is taken the snapshot doesn't save the ID's of the groups so when they are pasted back in they are assigned new ID's which the application then re-links to "Unknown" or another group that randomly was given the same ID as a previous group originally.
[UPDATE] After deleting all the known group associations so the bot would stop spamming people with random groups in the TeamSpeak server when I go to create a new group association I am unable to click the "Save" button. any ideas? - http://prntscr.com/rwdc9v
Also tried removing the application and installing it from fresh but that seems to have had no effect, I'm still unable to click "Save" when I go to make a group association.
This sounds like it's an issue with TeamSpeak, but not with this integration. When taking a snapshot using TeamSpeak3, we simply use the SERVERSNAPSHOTCREATE
query command. (Documentation for this query command can be found here. Unfortunately, server snapshots don't retain group IDs. This means, you will have to re-do your group associations to have the new group IDs. Unfortunately, the integration is unable to compensate for this shortcoming in the official TeamSpeak software.
I will make an additional issue for adding a disclaimer to the snapshots section of the application to avoid this happening in the future.
ah ok cool, I have tried deleting the groups in the assiciation however when I come to re-make them it will not allow me to save them? any ideas?
Does it give any kind of error message or anything like that?
No, the "Save" button doesn't seem to work as it has no effect.
Now it sounds like an issue with IPS itself. Can you check the javascript console log for anything when you try to hit "Save"? Can you also try logging out and back in, and perhaps uninstalling / re-installing the TS3 application?
I have tried to re-install the application however it doesn't seem to have worked. I notice that the list of groups on the server is not being re-produced correctly if that's something to do with it. http://prntscr.com/rwfouq http://prntscr.com/rwfp03
I am unsure how I would go about checking the javascript console log.
I tried using google chrome and was able to view the error causing it from what I can gather. http://prntscr.com/rwuopc http://prntscr.com/rwupiu http://prntscr.com/rwuppz
Any ideas? @nathan-fiscaletti
I have tried to re-install the application however it doesn't seem to have worked. I notice that the list of groups on the server is not being re-produced correctly if that's something to do with it. http://prntscr.com/rwfouq http://prntscr.com/rwfp03
Which part is not being re-produced correctly? You might talk to IPS about why the button isn't submitting. There is nothing particularly wrong in the application. The logic behind that button is purely IPS's Forms system not functioning properly.
As a last resort, after uninstalling the application try completely removing the ts3integration
tables from your database (there are several). This will wipe ALL of your configuration for the TS3 application, however it may resolve your issue.
I have spoken to IPS support and they have given me the following responce - http://prntscr.com/rwz4s9
I have completely removed the application from the website and have looked in the database however there are no records visable for ts3integration
Which part is not being re-produced correctly?
The order of the group showing up was incorrect however I have resolved that by re-making the groups on the TeamSpeak.
I have had my in-house developer look into this issue and he has come to the conclusion that the error is with the form as the web page is saying that there are some input fields that are not filled out correctly, however, we have been able to bypass this error temporarily by using "novalidate" in the inspect element for the form so that the web page will allow you to click "Save".
it seems as though you might want to look into the required fields for the "Create New" in the Group Association section of the application to ensure that its infact working correctly and there is no code there that is causing the error preventing the user from saving the selection on the dropdown.
That section of the code is generated automatically by IPS' libraries, not by the TS3 integration application. So something seems off with your IPS installation. But i'm glad to hear you got it figured out on your end 👍
Hi the IPS team refuses to look into my IPS installation as they firmly believe that the error is being caused by the TeamSpeak Integrations Application, would you be able to look into the section of your application that I mentioned in my last message to ensure that everything on the app is in order or speak with the IPS team about this as they will not deal with me about this issue as I am not the creator of the application.
Would you be opposed to giving me ACP access to take a look myself at some point in the next few days? We can coordinate through PMs on the IPS forums if that works for you. I should be available Sunday April 12, from 11AM - 6PM CST, or we can find a time later in the week.
One thing you might try doing is changing the "Group / Profile Field" selection and seeing if it makes a difference. Just before we start diving too deep.
Specifically, the code that saves the group association is overriding an IPS specific method and doing the following:
public function saveForm( $values ) {
if ($values['ts3_association_pfield_type'] == 'profile_field') {
if (empty($values['ts3_association_selected_pfield'])) {
\IPS\Output::i()->redirect(
\IPS\Http\Url::internal(
'app=ts3integration'.
'&module=teamspeakranks'.
'&controller=RankConfiguration'.
'&do=addnew'.
'&error=Invalid profile field selected'
)
);
return;
}
$this->type = 'profile_field';
$this->group_id = null;
$this->pfield_id = $values['ts3_association_selected_pfield'];
$this->pfield_data = $values['core_pfield_'.$values['ts3_association_selected_pfield']];
$this->ts_server_group = $values['ts3_association_server_group_id_value'];
$this->save();
} else if ($values['ts3_association_pfield_type'] == 'group') {
if (empty($values['ts3_association_selected_group'])) {
\IPS\Output::i()->redirect(
\IPS\Http\Url::internal(
'app=ts3integration'.
'&module=teamspeakranks'.
'&controller=RankConfiguration'.
'&do=addnew'.
'&error=Invalid group selected'
)
);
return;
}
$this->type = 'group';
$this->group_id = $values['ts3_association_selected_group'];
$this->pfield_id = null;
$this->pfield_data = null;
$this->ts_server_group = $values['ts3_association_server_group_id_value'];
$this->save();
}
}
So the only think that could stop it from running is if $values['ts3_association_pfield_type']
is neither profile_field
or group
, which should be the ONLY two selectable values on the form.
However, if you are editing an existing one, it will read the value of the type
field from the database table. Meaning if it stores a value other than profile_field
or group
it will not work. Which is why manually changing it may take affect.
$select = new \IPS\Helpers\Form\Select('ts3_association_pfield_type', ($this->id) ? $this->type : 'group', TRUE, [ . . .
Would you be able to make this change to the application and push it out as a patch?
It's not a change, it's an explanation. But i can try to take a look at your instance if you don't mind giving me ACP access.
I have sent you a PM on Invision Community
Do you own the TS3 Integration application? https://invisioncommunity.com/profile/558110-lostking329/
Describe the bug Today my community moved the Teamspeak server from its host to a VPS box to manage it easily however upon linking the application back up to the new TeamSpeak and using the snapshot feature to paste the perms, channel etc the application did not keep the same ID's for the ranks so it began assigning random members random tags that the new ID's matched up with on mass.
you can see in the following screenshot that it looks to have corrupted the role sync completely and via the ACP you can't change the roles back as the save button doesn't seem to work on most of the ranks in the ACP.
Screenshots http://prntscr.com/rwcs7q
http://prntscr.com/rwcy3p
Desktop (please complete the following information):
Additional context N/A