Re: [ATrpms-users] MythTV 0.24 x86_64?

Jonathan Martens <[email protected]>
Newsgroups gmane.linux.redhat.rpm.atrpms.devel,gmane.linux.redhat.rpm.atrpms.general
Message-ID <[email protected]>
On 4-12-2010 10:01, Jonathan Martens wrote:
> I have been able to manually fix it with the work-around in attached
> patch. Any change that can be applied to the EL5 build?

Re-attaching the patch as some strange layout issues seem to appear in 
the previous one. This should be properly formatted.

Jonathan
mythweb-php-5.1.patch (text/plain, 2.4 KB)
Index: mythweb/includes/compat.php
===================================================================
--- mythweb/includes/compat.php	(revision 0)
+++ mythweb/includes/compat.php	(revision 0)
@@ -0,0 +1,49 @@
+<?php
+
+if ( !function_exists( 'get_called_class' ) ) {
+  function get_called_class( $bt = false, $l = 1 )
+  {
+    if ( !$bt ) $bt = debug_backtrace();
+    if ( !isset( $bt[$l] ) ) throw new Exception( "Cannot find called class -> stack level too deep." );
+    if ( !isset( $bt[$l]['type'] ) ) {
+      throw new Exception ( 'type not set' );
+    } else switch ( $bt[$l]['type'] ) {
+      case '::':
+        $lines = file( $bt[$l]['file'] );
+        $i = 0;
+        $callerLine = '';
+        do {
+          $i++;
+          $callerLine = $lines[$bt[$l]['line'] - $i] . $callerLine;
+        } while ( stripos( $callerLine, $bt[$l]['function'] ) === false
+);
+        preg_match( '/([a-zA-Z0-9\_]+)::' . $bt[$l]['function'] . '/',
+          $callerLine,
+          $matches );
+        if ( !isset( $matches[1] ) ) {
+          // must be an edge case.
+          throw new Exception ( "Could not find caller class: originating method call is obscured." );
+        }
+        switch ( $matches[1] ) {
+          case 'self':
+          case 'parent':
+            return get_called_class( $bt, $l + 1 );
+          default:
+            return $matches[1];
+        }
+        // won't get here.
+      case '->': switch ( $bt[$l]['function'] ) {
+          case '__get':
+            // edge case -> get class of calling object
+            if ( !is_object( $bt[$l]['object'] ) ) throw new
+              Exception ( "Edge case fail. __get called on non object.");
+            return get_class( $bt[$l]['object'] );
+          default: return $bt[$l]['class'];
+        }
+
+      default: throw new Exception ( "Unknown backtrace method type" );
+    }
+  }
+}
+
+?>
\ No newline at end of file
Index: mythweb/includes/php_version_check.php
===================================================================
--- mythweb/includes/php_version_check.php	(revision 27408)
+++ mythweb/includes/php_version_check.php	(working copy)
@@ -12,7 +12,7 @@
  * @package     MythWeb
  *
 /**/
-    define('PHP_MIN_VERSION', floatval(5.3));
+    define('PHP_MIN_VERSION', floatval(5.1));

 // Make sure we're running a new enough version of php
     if (floatval(substr(phpversion(), 0, 3)) < PHP_MIN_VERSION)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.