array_unique issue in PHP 5.2.9

Permalink
Guys...

I'm currently building Japanese package of concrete5.3.1.1.

And, so far, I've solved everything but this one problem....

PHP 5.2.9 issue for array_unique.

See the changelog of...
http://www.php.net/manual/en/function.array-unique.php...

So if someone installed concrete5 on PHP 5.2.9 environment, they will encounter some error due to the changes at PHP 5.2.9.

Tao, a Usagi Project member, came up with this attached patch.

So if a concrete5 is running under 5.2.9, it will add "SORT_STRING" to array_unique.

However, I don't know if I should use up the resource just for 5.2.9....

Should I ignore 5.2.9 users? or I will keep the patch just in case... but this patch will slow down the server.

Thaaaanks

1 Attachment

katz515
 
aeroclown replied on at Permalink Reply
aeroclown
Concrete is up to version 5.3.3.1, I don't know what is involved in updating the core code for you, but version 5.3.3 appears to work correctly up to 5.2.9. Maybe you could consider moving the new version of concrete 5.3.3.1 or take a look at the current 5.3.3.1 to see if there are some clues on how you can approach the patch of 5.3.1
katz515 replied on at Permalink Reply
katz515
I'm talking about PHP version 5.2.9.
katz515 replied on at Permalink Reply
katz515
Yeah... I know it's kinda confusing talk... since I'm talking about PHP 5.2.9 and concrete5.3.1.1....

So if your web server is running PHP 5.2.9, and installed concrete5.3.1.1... you will get the following error...

So far, the known issue is:

- Edit bar disappear if the page uses slideshow

And our further investigation... we found out the cause of this problem is because of the incompability of PHP 5.2.9 and the rest of PHP.

This problem won't happen if you are using earlier than 5.2.9, and later than 5.2.9. The problem is ONLY in PHP 5.2.9.

concrete5 uses the PHP function, called "array_unique" to output the unique array for various view, permission and file version management....

So any page uses library view, permission, and file version may result an error if you are running concrete5.3.3.1 over PHP 5.2.9.

So here is the question...

I am making the concrete5 package for Japanese users.

And should I bother to apply the patch that is not included in main version of concrete5.3.1.1...

Or I should consider to include for concrete5.3.1.1 Japanese package.
aeroclown replied on at Permalink Reply
aeroclown
I think you have mis-understood what I am saying, I am not confused ;). What I said was that concrete is up to version 5.3.3.1, This version of concrete is moving towards php 5.3. Concrete version 5.3.3.1 should work with php version 5.2.9. My host uses 5.2.11, I am not at home to verify it and test it personally, but I am pretty sure there are people on the board using php 5.3. As concrete 5.3.3.1 requires php 5.2 or greater. So what I am suggesting is that if concrete 5.3.3.1 works with php 5.3 maybe you should look at concrete version 5.3.3.1 and review your suggested patch for concrete version 5.3.1.1 which is not the latest version of concrete, unless you mean to say concrete 5.3.3.1, in which case I have no other input to offer, since php is not my field. It was only a suggestion for your to look at. Though it seems as though that isn't the case you referenced version 5.3.1.1 several times in the last few post.

So does that put us on the same page or no ? Like I said I am not a php programmer, so I can't comment directly on the patch, I was only suggesting that if you are trying to fix an older version of concrete, you might want to look at the current version and see what is different that allows it to work on 5.2.9 or think about updating to 5.3.3.1
katz515 replied on at Permalink Reply
katz515
OK..

I am only talking for PHP 5.2.9 users.

Nevermind.
aeroclown replied on at Permalink Reply
aeroclown
I think we are both misunderstanding each other. good luck.
andrew replied on at Permalink Reply
andrew
Let's keep the code the way it is. I think most webhosts are aware that this is a pretty big deal, so they're either going to be pre-5.2.9 or post-5.2.9
katz515 replied on at Permalink Reply
katz515
You got it.

Thanks.

I won't include the patch in our Japanese package.
RyujiS replied on at Permalink Reply
RyujiS
PHP5.2.9でConcrete5.3.3.1の英語版を使う場合に具体的にどこを修正するかを示すパッチはありますか?

(日本語対応などのコードを含まず、あくまでPHPのバージョン差異のみを吸収するパッチです)

私のホスティングのサポートが勝手に5.2.9にしてくれたので慌てて困っています。

よろしく!
RyujiS replied on at Permalink Reply
RyujiS
My hosting provider changed the system software versions unannounced and it now uses PHP5.2.9. My site using concrete5 is broken! (mediawiki seems okay.)

Their tech support is slow and inflexible. WHat is the best change I can make on my side to make the site back up again ASAP?

Thanks!!
Remo replied on at Permalink Reply
Remo
merge the patch which Katz attached on the first message..
RyujiS replied on at Permalink Reply
RyujiS
Thanks, I just tried it but it didn't seem to make difference... I'm using theme_featuring and a few modules (flash based image gallery, in particular) and they may need patch as well? I just grep'ed for array_unique but couldn't find anything...
Remo replied on at Permalink Reply
Remo
sorry, in this case I can't help you..

I'm not using 5.2.9 anymore, guess you have to update or debug this stuff on your own ):
katz515 replied on at Permalink Reply
katz515
The patch was created by Tao.
He had 5.2.9 environment.

But I don't have 5.2.9 environment either. So I cannot really check what's going on.

But the patch in my first message is all I got to sipport 5.2.9.

So probably... something to do with your flash script too.
Also try to clear the cache as well.

Good luck.
RyujiS replied on at Permalink Reply
RyujiS
Thanks guys, this case was finally resolved by updating the PHP to 5.2.11. But I think the real problem was because my Concrete5 site was hacked and some files were corrupted... which is a subject of another thread.