Hilfe bei allow_call_time_pass_reference has been removed ?

Hallo,

ich erhalte seit Update auf 2.5 die im Titel angegebene Fehlermeldung, die sich auf folgende zeile bezieht:

getDirectoryTree($actpath, &$playlist);

Kann mir jemnd sagen was ich ändern muss damit es wieder läuft.

Hatte bei G**gl* gefunden das ich das in der PHP ini erlauben muss, dass hat aber keine Änderung gebracht.

Das müsste es sein: http://www.ip-symcon.de/forum/144453-post2.html

paresy

Hi,

hatte ich im Beta Forum bereits mal erleutert
oder auch hier
http://www.ip-symcon.de/forum/f52/ip-symcon-2-5-funktioniert-ownet-php-mehr-16630/#post144445

Danke Brownson und paresy,

die Fehlermeldung ist weg, aber jetzt ist die Playlist leer.

Hier mal das ganze Script, falls ihr noch mehr helfen könnt :smiley:

<?

/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : AB_Abhoeren.ips.php
Trigger  : 
Interval : 
*/
//-- Configuration
include_once("GlobalDefines.ips.php");

// Hier gibt man den Ordner an, in dem die Musik-Dateien liegen:
$path='c:/Programme/ISDNCall/Incoming/'; //Keine Backslashes! Slash am Ende

$playlist = array();

// Diese Funktion durchsucht den Ordner und überprüft, dann ob es sich um
// einen Unterordner oder eine Datei handelt.
// Ist es ein Unterordner, so ruft sich die Funktion selbst wieder auf und prüft
// innerhalb von diesem weiter, ist das gefunden Objekt eine Datei, so wird
// geprüft, ob diese ein zugelassenes Dateiformat hat und fügt diese, sollte das
// der Fall sein in das Playlist-Array ein.
function getDirectoryTree($path, $playlist)
{
    $content = scandir($path);
    $maindata = array_diff($content, Array(".",".."));

    // Hier gibt man die Dateitypen an, welche in die Playlist eingelesen werden sollen:
    $allowed = Array("mp3", "wav");

    foreach($maindata as $d)
    {
        $actpath = $path . "//" . $d;
        if(is_dir($actpath))
        {
            getDirectoryTree($actpath, $playlist);
        }
        else
        {
            $ext = pathinfo($actpath, PATHINFO_EXTENSION);
            if(in_array(strtolower($ext), $allowed))
            {
                $playlist[] = $actpath;
            }
        }
    }
}

getDirectoryTree($path, $playlist);

$id = 24333/*Mediaplayer ID*/;

// Leeren der vorher bestehenden Playlist:
WAC_ClearPlaylist($id);

// Durchlaufen des Playlist-Arrays und anhängen an die Mediaplayer-Instanz-Playlist
foreach($playlist as $data)
{
        WAC_AddFile($id, $data);
}


WAC_Play($id);



?>

Das „&“ muss in die Funktion, so sollte es klappen:


<?

/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : AB_Abhoeren.ips.php
Trigger  : 
Interval : 
*/
//-- Configuration
include_once("GlobalDefines.ips.php");

// Hier gibt man den Ordner an, in dem die Musik-Dateien liegen:
$path='c:/Programme/ISDNCall/Incoming/'; //Keine Backslashes! Slash am Ende

$playlist = array();

// Diese Funktion durchsucht den Ordner und überprüft, dann ob es sich um
// einen Unterordner oder eine Datei handelt.
// Ist es ein Unterordner, so ruft sich die Funktion selbst wieder auf und prüft
// innerhalb von diesem weiter, ist das gefunden Objekt eine Datei, so wird
// geprüft, ob diese ein zugelassenes Dateiformat hat und fügt diese, sollte das
// der Fall sein in das Playlist-Array ein.
function getDirectoryTree($path, &$playlist)
{
    $content = scandir($path);
    $maindata = array_diff($content, Array(".",".."));

    // Hier gibt man die Dateitypen an, welche in die Playlist eingelesen werden sollen:
    $allowed = Array("mp3", "wav");

    foreach($maindata as $d)
    {
        $actpath = $path . "//" . $d;
        if(is_dir($actpath))
        {
            getDirectoryTree($actpath, $playlist);
        }
        else
        {
            $ext = pathinfo($actpath, PATHINFO_EXTENSION);
            if(in_array(strtolower($ext), $allowed))
            {
                $playlist[] = $actpath;
            }
        }
    }
}

getDirectoryTree($path, $playlist);

$id = 24333/*Mediaplayer ID*/;

// Leeren der vorher bestehenden Playlist:
WAC_ClearPlaylist($id);

// Durchlaufen des Playlist-Arrays und anhängen an die Mediaplayer-Instanz-Playlist
foreach($playlist as $data)
{
        WAC_AddFile($id, $data);
}


WAC_Play($id);



?> 

Danke Brownson

ich werd wohl nie so Fit in PHP :o Jetzt geht’s wieder :slight_smile: