arnecls / raidplaner

Packedpixel Raidplaner
31 stars 21 forks source link

Widget for Raidplanner 1.1.1 ( supporting 1.1.1 -> 1.1.4 ) #76

Open toniohc opened 10 years ago

toniohc commented 10 years ago

Hello,

i actually work with a friend of mine on a widget for the raidplanner. There is a preview. It's 100% Compatible with FFXIV ARR. For other Game, adjustement must be made. We use the apihub.php & feed.php. Basicly, you only need to edit the token & url of your raidplanner in the php code & voila ! I must clean the code & internationalize it ( comment & text are in french ). I think i'll release it this Sunday. ( sorry for my awful english, hope you understand me ;) ) captureparse

Eikju commented 10 years ago

That looks great. Hopefully you will give us the download code :)

toniohc commented 10 years ago

Sure :) I hope Arne will implement it in next version ;)

Eikju commented 10 years ago

Hey toniohc :)

Is your widget a html-code which you can post on any plattform which allows html-codes? That would be awesome!

toniohc commented 10 years ago

it's php code with css included
Actually, you can use an iframe to embed it in a forum or in a website. http://ks26865.kimsufi.com/forum/ if you want to see it in "action" & it's responsive ;) ( not very difficult in fact because the forum is already responsive ;) )

Eikju commented 10 years ago

That's also OK :)

toniohc commented 10 years ago

Sorry for the delay but there it is ;) https://www.dropbox.com/s/nqhjfaibehyi7xh/Raidplanner_Widget_V0.7C.zip Download it & upload it on a subdirectory of the raidplanner If your raidplanner is in /home/www/raidplanner you can upload all the file to /home/www/raidplanner/widget After this,

Nothing more to do, it's working. If you want to change the style of the display, you can modify CSS Classes directly in the top of the file.

Feel free to modify & change the texte if needed. I don't speak very well english so sorry for the bad translation term :/

If you change something, please Share with other people :)

Next update will be a better integration in the plugin directory of the raidplanner. I'll try to do this in a few day.

Eikju commented 10 years ago

Hell yeah :)

I will do the German translation so where should I upload these files? :)

toniohc commented 10 years ago

On dropbox ;) Good luck with the translation. If you understand the logic with translation fr & english, there will be no problem ( just add variables & modify the echo ;) )

Tell me if it's working for you.

Eikju commented 10 years ago

Okay. One question again: the parse_rss_int.php-file is the file which should be includes in iframe right?

EDIT

Yep, I see it :)

toniohc commented 10 years ago

Yes

<div id="raidplanner">
<iframe src="YOUR ADRESS TO THE PARSE_RSS_INT.PHP FILE" width="100%" height="135px"></iframe>
</div>
toniohc commented 10 years ago

I'll add a better language support on the next version. You'll only have to change the variables and there will be language.php file ( like Arne already do with the raidplanner ). It'll be easier for update & support.

  // What languages do we support
  $available_langs = array('en','fr','de');

  // Set our default language session
  $_SESSION['lang'] = 'en';   
Eikju commented 10 years ago

I allready did the translation. But it is nice to know that there will be language-files. :D

So here is the new file: http://pastebin.com/kXgcng3R

toniohc commented 10 years ago

Thanks for your help :) You had no problem with the iframe ?

Eikju commented 10 years ago

Not tested it yet, m8 :). I will do so after a phonecall but in my point of view there should be no problem to involve that plugin into a site.

Eikju commented 10 years ago

I tested it and it works. But is there any limitation of shown raids? Maybe a limitation of 6 raids for example?

toniohc commented 10 years ago

There is a 15 day limitation. This only show the raid who are planified for the next 2 week. Le 30 juin 2014 18:48, "Eikju" notifications@github.com a écrit :

I tested it and it works. But is there any limitation of shown raids? Maybe a limitation of 6 raids for example?

— Reply to this email directly or view it on GitHub https://github.com/arnecls/raidplaner/issues/76#issuecomment-47555609.

Maradeur commented 10 years ago

Hi, after a working installation without any change we get this error after a few hours. any idea how we can fix that: http://www.bekindrewind.de/raid/widget/parse_rss_int.php

toniohc commented 10 years ago

You use it with a FFXIV ARR Raidplanner or another one ? Comment the line 138 & uncomment the line 140 & tell me if it's work. comment : $api = $site_raid."/lib/apihub.php?query=raid&raid=".$v->guid."&format=xml&full=false&full=true&attends=true&closed=true&canceled=true&token=".$token; & uncomment //$api = $site_raid."/lib/apihub.php?query=raid&raid=".$v->guid."&format=xml&full=false&attends=true&token=".$token;

if not, there is a problem during parsing the data change the line $new_api = new simpleXMLElement($contenu_new_api); by print_r($new_api = new simpleXMLElement($contenu_new_api)); and see where it's stop parsing. Find the RaidID SimpleXMLElement Object ( example : [RaidId] => 163 ) & Delete it in the raidplanner.

When this happens, it's because there is problem between attended & raidid in the RAIDID table. Don't know why this is happenning & don't have much time to investigate on this.

Maradeur commented 10 years ago

http://www.bekindrewind.de/raid/widget/parse_rss_int.php

we tried it, but still an error. should we try to delete the whole database and make a fresh reinstallation?

toniohc commented 10 years ago

You can but you'll lost all raid you make before. You can use repair function on the setup of the Raidplanner. What is the game on the Raidplanner ? This is a widget for FFXIV. If you use it with another game, I think it need adjustement. Le 4 juil. 2014 17:26, "Maradeur" notifications@github.com a écrit :

http://www.bekindrewind.de/raid/widget/parse_rss_int.php

we tried it, but still an error. should we try to delete the whole database and make a fresh reinstallation?

— Reply to this email directly or view it on GitHub https://github.com/arnecls/raidplaner/issues/76#issuecomment-48056027.

Eikju commented 10 years ago

Hey toniohc,

they are using the widget for the MMORPG "Wildstar" as we. I can say that there must be only minor changes like editing the path for the pictures. But there is no real code to change. All works very charming for us.

So I do not know why Maradeur has these Problems. Hmm...

Maradeur commented 10 years ago

Hi, we use the Theme Wildstar.

Thanks for your help, we discuss, if we reinstall or just working without the widget.

Eikju commented 10 years ago

Do you have entered the right API-key, Maradeur?

Maradeur commented 10 years ago

Yes, it works already for a few hours perfectly and without any change we get these errors

DiDzI commented 10 years ago

Hello,

Je réponds en français pour plus de facilité

La version 0.7C est la dernier ? Ou tu as mis à jour ton widget dernièrement ?

Je vais le tester pour WildStar

Merci

toniohc commented 10 years ago

Pour l'instant oui. Je vais la mettre à jour dans quelques semaines mais je n'ai malheureusement pas le temps actuellement. Le 15 juil. 2014 13:41, "DiDzI" notifications@github.com a écrit :

Hello,

Je réponds en français pour plus de facilité

La version 0.7C est la dernier ? Ou tu as mis à jour ton widget dernièrement ?

Je vais le tester pour WildStar

Merci

— Reply to this email directly or view it on GitHub https://github.com/arnecls/raidplaner/issues/76#issuecomment-49020357.

DiDzI commented 10 years ago

D'accord,

Je viens de mettre en place le fichier

Et j'ai un petit problème

http://www.azureal.eu/raidws/widget/parse_rss_int.php

toniohc commented 10 years ago

Tu as modifié qqchose au fichier mis à part l'URL du raid planner et le token ? C'est un serveur dédié ? As tu modifié le fichier sous Windows ? Si oui, as tu vérifié l'encodage du fichier ? Utilises notepad++ et vérifies l'affichage des caractères. Il semblerait que ce soit lié au fichier. Le widget supporte à 100% FFXIV mais il semble qu'il supporte aussi d'autres thème du raidplanner ( la même base ). http://www.bekindrewind.de/raid/widget/parse_rss_int.php : par exemple posté au dessus fonctionne très bien pour wildstar. Si tu n'as rien modifié au niveau du fichier mis à part le token & l'url, je t'invite à vérifier tes réglages serveur. Vérifies ta version de php & si le module CURL est bien activé. Un fichier phpinfo.php devrait t'aider à trouver si ce module est activé & la version de php.

toniohc commented 10 years ago

Sinon, pourquoi utilises tu la version allemande ? Une raison particulière ?

DiDzI commented 10 years ago

J'avais repris le fichier modifié plus haut par notre ami Allemand

J'ai remis ton fichier en place, cela fonctionne a part qu'il est en anglais normal ?

toniohc commented 10 years ago

Oui, pour passer en français, tu commentes la partie UK et tu décommentes la partie FR. Tout est indiqué dans le fichier.

Décommentes les lignes 187/188/189 & commentes les lignes 191/192/193. Pour commenter tu mets // devant. Pour décommenter, tu supprimes les //

DiDzI commented 10 years ago

Faut vraiment que je lise correctement les indications.

Super, je te remercie, cela fonctionne super bien !!!

toniohc commented 10 years ago

Content que ça fonctionne pour toi :) Bon amusement.

toniohc commented 10 years ago

FYI, last update from 2 day ago of ArneCL seems to have solved the issue with parsing raid using the widget. Update your raidplanner with the last version if you encounter problem with the widget

arnecls commented 10 years ago

To be a little bit more precise about what seems to be the issue. There seem to be situations where an attendance does not have a role set. This is always true for attendances that are set to "unavailable", but not for every other attendance type. So it's one of these "that should never happen" things.

If anybody does still have this issue with 1.1.2b or later, please go to the file lib/private/api_raid.php. Starting at line 311 there are several lines out-commented lines (up to line 326). Remove the comments, try to reproduce the problem and send me the contents of the "error" tags at the start of the XML result.

This will help me getting a better picture of what is actually going wrong.

Eikju commented 10 years ago

To bad, that this widget won't work with 1.1.3 :-(

toniohc commented 10 years ago

It work with 1.1.2 Did you try with 1.1.3 ? Le 14 sept. 2014 15:32, "Eikju" notifications@github.com a écrit :

To bad, that this widget won't work with 1.1.3 :-(

— Reply to this email directly or view it on GitHub https://github.com/arnecls/raidplaner/issues/76#issuecomment-55525630.

Eikju commented 10 years ago

Yeah. I tried it with 1.1.3.

If you want, I can post you the error message :)

Edit

Warning: SimpleXMLElement::__construct(): Entity: line 2: parser error : Start tag expected, '<' not found in parse_rss_int.php on line 158

Warning: SimpleXMLElement::__construct(): {"error":["PHP Error 8 in file api_raid.php(319):\n","Undefined index: ","\n\ in parse_rss_int.php on line 158

Warning: SimpleXMLElement::__construct(): ^ in parse_rss_int.php on line 158

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in parse_rss_int.php:158 Stack trace: #0 parse_rss_int.php(158): SimpleXMLElement->__construct('<?xml version="...') #1 {main} thrown in parse_rss_int.php on line 158

toniohc commented 10 years ago

Yes please, I'll check it next week Le 14 sept. 2014 15:37, "Eikju" notifications@github.com a écrit :

Yeah. I try it with 1.1.3.

If you want, I can post you the error message :)

— Reply to this email directly or view it on GitHub https://github.com/arnecls/raidplaner/issues/76#issuecomment-55525783.

Eikju commented 10 years ago

I edited my upper post with the error messages :)

toniohc commented 10 years ago

I just installed raidplanenr 1.1.3 and i have no problem parsing information. Did you try what Arnecls told before ?

To be a little bit more precise about what seems to be the issue.
There seem to be situations where an attendance does not have a role set. 
This is always true for attendances that are set to "unavailable", but not for every other attendance type.
So it's one of these "that should never happen" things.

If anybody does still have this issue with 1.1.2b or later, please go to the file lib/private/api_raid.php.
Starting at line 311 there are several lines out-commented lines (up to line 326).
Remove the comments, try to reproduce the problem and send me the contents of the "error" tags at the start of the XML result.

This will help me getting a better picture of what is actually going wrong.

Post it here, maybe we can help figure what the problem is.

Sorry for the closed/open issue, my mistake :hamster:

toniohc commented 10 years ago

I update the raidplanner widget. Better support of german language ( there was a bug ) CSS file in separate file Image in different directory Use of simplexml_load_string

https://www.dropbox.com/s/5affhcvri6zrk5s/Raidplanner_Widget_V0.8.zip?dl=0

Extract Upload the widget_ext directory in the raidplanner directory on your server Change the adress & token parameter.

You can choose english (default) / french / german. Comment/Uncomment the one you need.

Hope you like it.

Eikju commented 10 years ago

I still got errors with 1.1.3 but on other lines :)

Warning: simplexml_load_string(): Entity: line 2: parser error : Start tag expected, '<' not found in parse_rss_int.php on line 97

Warning: simplexml_load_string(): {"error":["PHP Error 8 in file api_raid.php(322):\n","Undefined index: ","\n\ in parse_rss_int.php on line 97

Warning: simplexml_load_string(): ^ in parse_rss_int.php on line 97

//EDIT//

I tried what Arnecls told before but in my file there are no outcommented lines between 311 and 326. Just two lines which describes the following code.

toniohc commented 10 years ago

Did you try enabling debug mode like Arne told before ? Paste the result here. EDIT : ok you try & don't find the line like me.

FYI it's a specific raid in Raidplanner who make the problem occur. Does the same problem appear with the other widget from AtheneGenesis ?

toniohc commented 10 years ago

I just check the file api_raid.php and there is no debug section. Strange. In index.php, there is a debug mode you can activate but don't know if it works

define("LOCALE_MAIN", true);
define("STYLE_DEBUG", false);
define("SCRIPT_DEBUG", false);

Arnecls, did you remove the line you're talking about in api_raid.php ?

toniohc commented 10 years ago

News about the problem. It's occur when player are in green in the raid member list. If the player are not in green ( not selected ), the problem disappear. I unselect & select them all again and the problem disappear.

[Wed Oct 08 17:04:38 2014] [error] [client XXXXXX] PHP Notice: Undefined index: in /home/www/raidV1.1.0/lib/private/api_raid.php on line 319 [Wed Oct 08 17:04:38 2014] [error] [client XXXXXX] PHP Notice: Undefined index: in /home/www/raidV1.1.0/lib/private/api_raid.php on line 322

Really strange behavior. Maybe it is linked with default class selected when you create the raid and add player ?

arnecls commented 10 years ago

I just uploaded a little "symtomatic" patch that might prevent the issue but if it does a player will be missing from the returned result. The problem shows to me as follows:

So there seems to be some "path" in UI that creates an attendance with no role set that has a status != unavailable. Maybe someone having the bug could try the following SQL statement in phpmyadmin:

SELECT * FROM raids_Attendance WHERE status != "unavailable" AND role = ""

If my assumptions are correct some rows should be returned. To know who is linked to the attendance please try this one:

SELECT * FROM raids_Attendance LEFT JOIN raids_Character USING(CharacterId) WHERE status != "unavailable" AND role = ""

Maybe this helps to reconstruct the origin of this.

toniohc commented 10 years ago

I'll try this next time a bug occurs. For the moment, there is no problem anymore.

toniohc commented 10 years ago

Ok so i've got the bug and use the sql request. Here is the result. capture On the raidplanner, i unselect/select again the player and the error disappears. FYI, in the screenshot the first raid doesn't even exist in the raidplanner anymore. It has been deleted but the character appears.

arnecls commented 10 years ago

Ah - there we have it. So the character is not linked - this is definitely a bug from user interaction. This here will give you the users to that two attendances:

SELECT * FROM raids_Attendance LEFT JOIN raids_User USING(UserId) WHERE status != "unavailable" AND role = ""

Do you remember anything special about their setup? Did they change their character list or something like this?