<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 29 Apr 2012, at 18:32, Dave Burnett wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; "><div dir="ltr"><div class="ecxWordSection1"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Although I can see that requirement being a problem in some educational organisations but as you say the potential risks with still using PHP 4 arguably means that's a good thing!</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); ">Here's the response from my ISP for a php upgrade:</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size: 15px; "><br></span></font></div><pre style="line-height: 17px; white-space: normal; background-color: rgb(255, 255, 255); position: static; z-index: auto; "><font color="#953734">Dear Dave Burnett,<br><br>Thank you for using our service. Let me inform you that your current php version is PHP 4.4, if it is essential for your application to have PHP 5 support we may move your account to a new server with all new features.<br><br>Before we can perform a control panel migration for your account, there are several things we need to bring to your attention and require your confirmation. You must ensure you have a complete backup of all web related data which includes the following:<br><br>* All files you have uploaded<br>* Databases<br>* Email content<br><br><br>Once you have a backup of your content please let us know and we can continue with the migration. After the migration has been completed you will need to re-upload all content and recreate any databases and email accounts as well as pointing your domain nameservers to a new location.<br><br>Your old IP Address and hosting content will remain active for two weeks to avoid downtime due to the propagation of the new nameservers. After two weeks the content will be removed from the old control panel.<br><br>If you have Windows account and use ColdFusion please note that Coldfusion is not enabled on the new servers by default. You will have to enable this separately in Account Settings for extra cost $5/mo right after the move is completed. Coldfusion version will be upgraded to Coldfusion MX 7 (7.0.2.142559). We cannot proceed with platform switch if you do not agree with these conditions.</font><br><br></pre><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="line-height: 17px; color: rgb(42, 42, 42); font-size: 10pt; ">Not much to do there eh?</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="line-height: 17px; color: rgb(42, 42, 42); font-size: 10pt; ">So, sure, unilaterally go ahead and force a php upgrade.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="line-height: 17px; color: rgb(42, 42, 42); font-size: 10pt; ">It will satisfy the purists.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125); "><br></span></div></div></div></div></span></blockquote><div><br></div><div><br></div>Hi,</div><div><br></div><div>1. That's a strange "migration" if it means you actually have to re-upload everything. What exactly are they migrating for you? It doesn't sound like they're doing much.</div><div><br></div><div><br></div><div>2. I'd suggest you stick to using the last release; which presumably you've used with PHP4 and know it works? Just don't touch what's in trunk/svn or the next release - and change the database_library.php file to look like :</div><div><br></div><div><br></div><div><div><br></div><div>function db_query($sql, $params = array())</div><div>{</div><div>    $connection = database_connect('db_query ok', 'db_query fail');</div><div><br></div><div>    foreach ($params as $key => $value) {</div><div>        if (isset($value)) {</div><div>            if (get_magic_quotes_gpc()) {</div><div>                $value = stripslashes($value);</div><div>            }</div><div>            $value = "'" . mysql_real_escape_string($value) . "'";</div><div>        } else {</div><div>            $value = 'NULL';</div><div>        }</div><div>        // overwrite the $params data with the escaped stuff.</div><div>        $params[$key] = $value;</div><div>    }</div><div><br></div><div>    // following code taken from <a href="http://php.net/mysql_query">php.net/mysql_query</a> - axiak at mit dot edu - 24th october 2006</div><div>    $curpos = 0;</div><div>    $curph = count($params) - 1;</div><div>    // start at the end of the string and replace things backwards; this avoids us replacing a replacement</div><div>    for ($i = strlen($sql) - 1; $i > 0; $i--) {</div><div>        if ($sql[$i] !== '?') {</div><div>            continue;</div><div>        }</div><div>        if ($curph < 0) {</div><div>            $sql = substr_replace($sql, 'NULL', $i, 1);</div><div>        } else {</div><div>            $sql = substr_replace($sql, $params[$curph], $i, 1);</div><div>        }</div><div>        $curph--;</div><div>    }</div><div>    _debug("Running : $sql", 1);</div><div><br></div><div><br></div><div>    $result = mysql_query($sql, $connection);</div><div>    if (!$result) {</div><div>        _debug("Failed to execute query : $sql : " . mysql_error());</div><div>        return false;</div><div>    }</div><div>    if (preg_match("/^select/i", $sql)) {</div><div>        $rows = array();</div><div>        while ($row = mysql_fetch_assoc($result)) {</div><div>            $rows[] = $row;</div><div>        }</div><div>        return $rows;</div><div>    }</div><div>    return $result;</div><div>}</div><div><br></div><div><br></div><div><br></div><div><div><br></div><div>Which removes the '&' issue for you.</div><div><br></div></div><div><br></div><div>3. Sorry for being a purist…. </div><div><br></div><div><br></div><div>thanks</div><div>David.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Pale Purple Ltd.  (Company No: 5580814)</div><div>'Business Web Application Development and Training in PHP'</div><div><br></div><div><a href="http://www.palepurple.co.uk">http://www.palepurple.co.uk</a>   </div><div>Office: 0845 0046746     Mobile: 07792380669 </div><div><br></div><div>Follow us on Twitter: @PalePurpleLtd</div></div></span></div></span></div></span></span>
</div>
<br></body></html>