Just keep in mind that v13 is using PHP 5.3, v14 is using PHP 5.6 and v15 will be at PHP 7.x. Certain commands and functions where deprecated between 5.3 and 5.6 along with pretty much all deprecated functions being removed from 7.x. On the flip side, new things have been added as well.
I’m not calling upon anything all that advanced that would change between PHP versions; everything I’m using are fairly basic functions, so I should be good there.
So if you take a module, like Core, and you do not look at the differences between the major version releases then you’re blindly assuming that nothing has changed. The fact is something might have either due to a function no longer being available or a new method/function was introduced and could handle it better.
In this case, the function still exists in the v14 code (as pointed out by @billsimon), but simply fails when called upon…which is what was tripping me up. I’m not the first to notice this, either…it was briefly mentioned by @lgaetz in his github about a year ago (github, which I only discovered recently while searching a cause for my issue). If the function has, in fact, been depreciated in FPBX v14, I’d like to think there are far more graceful ways of handling its demise than simply erroring out while the function still technically exists in the framework.
Also, at this point v13 is pretty much just there. It doesn’t get touched unless it absolutely has to be touched. Worrying about back porting things to versions that are either EOL or a dead man walking (like 13) may not be the most advised thing.
Trust me, I’m no more thrilled about continuing to support v13 than anyone else is…but there are still a LOT of v13 systems out there that I’m stuck consulting on and many are of the “if it ain’t broke don’t fix it” mentality about their PBX. In some regards, I can’t really blame them too much. They simply don’t want to give up their nearly EOL’d “stability” in favor of “headache-inducing bleeding edge” until they absolutely have to. That said, I do still have to keep supporting v13 systems in the meantime and, while I’m not adding anything in a backport to keep v13 working while still moving forward, I gotta at least be able to maintain the status quo in the interim.
I think I have what I need to get around this now. Thanks for the help!